Skip to content

Commit

Permalink
humble -> rolling, ubuntu 22.04 -> 24.04 (#180)
Browse files Browse the repository at this point in the history
  • Loading branch information
mhubii committed Oct 19, 2024
1 parent cca24ae commit 03cd753
Show file tree
Hide file tree
Showing 27 changed files with 118 additions and 129 deletions.
2 changes: 1 addition & 1 deletion .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Contributions are vital to this project. If you want to contribute a feature / f

1. Open an issue:
- Explain the issue and your solution
- Request a new branch: `dev-<ros_version>-<feature>`, e.g. `dev-humble-my-new-demo`
- Request a new branch: `dev-<ros_version>-<feature>`, e.g. `dev-rolling-my-new-demo`
2. Fork this repository
3. Create a [pull request](https://github.com/lbr-stack/lbr_fri_ros2_stack/pulls) against `dev-<ros_version>-<feature>`

Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: build-ubuntu-22.04-fri-1.11
name: ubuntu-24.04-fri-1.11
on:
pull_request:
branches:
- humble
- rolling
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand All @@ -11,5 +11,5 @@ jobs:
build:
uses: ./.github/workflows/build.yml
with:
os: ubuntu-22.04
os: ubuntu-24.04
fri_version: 1.11
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: build-ubuntu-22.04-fri-1.14
name: ubuntu-24.04-fri-1.14
on:
pull_request:
branches:
- humble
- rolling
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand All @@ -11,5 +11,5 @@ jobs:
build:
uses: ./.github/workflows/build.yml
with:
os: ubuntu-22.04
os: ubuntu-24.04
fri_version: 1.14
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: build-ubuntu-22.04-fri-1.15
name: ubuntu-24.04-fri-1.15
on:
pull_request:
branches:
- humble
- rolling
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand All @@ -11,5 +11,5 @@ jobs:
build:
uses: ./.github/workflows/build.yml
with:
os: ubuntu-22.04
os: ubuntu-24.04
fri_version: 1.15
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: build-ubuntu-22.04-fri-1.16
name: ubuntu-24.04-fri-1.16
on:
pull_request:
branches:
- humble
- rolling
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand All @@ -11,5 +11,5 @@ jobs:
build:
uses: ./.github/workflows/build.yml
with:
os: ubuntu-22.04
os: ubuntu-24.04
fri_version: 1.16
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: build-ubuntu-22.04-fri-2.5
name: ubuntu-24.04-fri-2.5
on:
pull_request:
branches:
- humble
- rolling
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand All @@ -11,5 +11,5 @@ jobs:
build:
uses: ./.github/workflows/build.yml
with:
os: ubuntu-22.04
os: ubuntu-24.04
fri_version: 2.5
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
name: build-ubuntu-22.04-fri-2.7
name: ubuntu-24.04-fri-2.7
on:
pull_request:
branches:
- humble
- rolling
workflow_dispatch:
schedule:
- cron: "0 0 * * 0"
Expand All @@ -11,5 +11,5 @@ jobs:
build:
uses: ./.github/workflows/build.yml
with:
os: ubuntu-22.04
os: ubuntu-24.04
fri_version: 2.7
4 changes: 2 additions & 2 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,5 +20,5 @@ jobs:
- uses: ros-tooling/action-ros-ci@v0.2
with:
package-name: lbr_fri_ros2_stack
target-ros2-distro: humble
vcs-repo-file-url: https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/humble/lbr_fri_ros2_stack/repos-fri-${{ inputs.fri_version }}.yaml
target-ros2-distro: rolling
vcs-repo-file-url: https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/repos-fri-${{ inputs.fri_version }}.yaml
26 changes: 13 additions & 13 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# lbr_fri_ros2_stack
[![License](https://img.shields.io/github/license/lbr-stack/lbr_fri_ros2_stack)](https://github.com/lbr-stack/lbr_fri_ros2_stack/tree/humble?tab=Apache-2.0-1-ov-file#readme)
[![License](https://img.shields.io/github/license/lbr-stack/lbr_fri_ros2_stack)](https://github.com/lbr-stack/lbr_fri_ros2_stack/tree/rolling?tab=Apache-2.0-1-ov-file#readme)
[![Documentation Status](https://readthedocs.org/projects/lbr-stack/badge/?version=latest)](https://lbr-stack.readthedocs.io/en/latest/?badge=latest)
[![JOSS](https://joss.theoj.org/papers/c43c82bed833c02503dd47f2637192ef/status.svg)](https://joss.theoj.org/papers/c43c82bed833c02503dd47f2637192ef)
[![Code Style: Black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/black)
Expand All @@ -15,23 +15,23 @@ ROS 2 packages for the KUKA LBR, including communication to the real robot via t
<th align="left" width="25%">LBR Med 14 R820</th>
</tr>
<tr>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/humble/lbr_fri_ros2_stack/doc/img/foxglove/iiwa7_r800.png" alt="LBR IIWA 7 R800"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/humble/lbr_fri_ros2_stack/doc/img/foxglove/iiwa14_r820.png" alt="LBR IIWA 14 R820"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/humble/lbr_fri_ros2_stack/doc/img/foxglove/med7_r800.png" alt="LBR Med 7 R800"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/humble/lbr_fri_ros2_stack/doc/img/foxglove/med14_r820.png" alt="LBR Med 14 R820"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/doc/img/foxglove/iiwa7_r800.png" alt="LBR IIWA 7 R800"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/doc/img/foxglove/iiwa14_r820.png" alt="LBR IIWA 14 R820"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/doc/img/foxglove/med7_r800.png" alt="LBR Med 7 R800"></td>
<td align="center"><img src="https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/doc/img/foxglove/med14_r820.png" alt="LBR Med 14 R820"></td>
</tr>
</table>
</body>

## Status
| OS | ROS Distribution | FRI Version | Build Status |
| :------------- | :--------------- | :---------- | :----------- |
| `Ubuntu-22.04` | `humble` | `1.11` | [![build-ubuntu-22.04-fri-1.11](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-1.11.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-1.11.yml) |
| `Ubuntu-22.04` | `humble` | `1.14` | [![build-ubuntu-22.04-fri-1.14](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-1.14.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-1.14.yml) |
| `Ubuntu-22.04` | `humble` | `1.15` | [![build-ubuntu-22.04-fri-1.15](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-1.15.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-1.15.yml) |
| `Ubuntu-22.04` | `humble` | `1.16` | [![build-ubuntu-22.04-fri-1.16](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-1.16.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-1.16.yml) |
| `Ubuntu-22.04` | `humble` | `2.5` | [![build-ubuntu-22.04-fri-2.5](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-2.5.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-2.5.yml) |
| `Ubuntu-22.04` | `humble` | `2.7` | [![build-ubuntu-22.04-fri-2.7](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-2.7.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-22.04-fri-2.7.yml) |
| `Ubuntu-24.04` | `rolling` | `1.11` | [![ubuntu-24.04-fri-1.11](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.11.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.11.yml) |
| `Ubuntu-24.04` | `rolling` | `1.14` | [![ubuntu-24.04-fri-1.14](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.14.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.14.yml) |
| `Ubuntu-24.04` | `rolling` | `1.15` | [![ubuntu-24.04-fri-1.15](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.15.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.15.yml) |
| `Ubuntu-24.04` | `rolling` | `1.16` | [![ubuntu-24.04-fri-1.16](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.16.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-1.16.yml) |
| `Ubuntu-24.04` | `rolling` | `2.5` | [![ubuntu-24.04-fri-2.5](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.5.yml) |
| `Ubuntu-24.04` | `rolling` | `2.7` | [![ubuntu-24.04-fri-2.7](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.7.yml/badge.svg)](https://github.com/lbr-stack/lbr_fri_ros2_stack/actions/workflows/build-ubuntu-24.04-fri-2.7.yml) |

## Documentation
Full documentation available on [Read the Docs](https://lbr-stack.readthedocs.io/en/latest).
Expand All @@ -46,10 +46,10 @@ Full documentation available on [Read the Docs](https://lbr-stack.readthedocs.io
2. Create a workspace, clone, and install dependencies

```shell
source /opt/ros/humble/setup.bash
source /opt/ros/rolling/setup.bash
export FRI_CLIENT_VERSION=1.15
mkdir -p lbr-stack/src && cd lbr-stack
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/humble/lbr_fri_ros2_stack/repos-fri-${FRI_CLIENT_VERSION}.yaml
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/repos-fri-${FRI_CLIENT_VERSION}.yaml
rosdep install --from-paths src -i -r -y
```

Expand Down
2 changes: 1 addition & 1 deletion docker/Dockerfile
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
FROM ros:humble-ros-base-jammy
FROM ros:rolling-ros-base-jammy

# change default shell to bash
SHELL ["/bin/bash", "-c"]
Expand Down
2 changes: 1 addition & 1 deletion docker/doc/docker.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ To run the ``lbr_fri_ros2_stack`` in a Docker container, follow the instructions
export FRI_CLIENT_VERSION=1.15 # replace by your FRI client version
mkdir -p lbr-stack/src && cd lbr-stack
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/humble/lbr_fri_ros2_stack/repos-fri-${FRI_CLIENT_VERSION}.yaml
vcs import src --input https://raw.githubusercontent.com/lbr-stack/lbr_fri_ros2_stack/rolling/lbr_fri_ros2_stack/repos-fri-${FRI_CLIENT_VERSION}.yaml
#. Install `Docker <https://docs.docker.com/engine/install/>`_:octicon:`link-external`.

Expand Down
41 changes: 15 additions & 26 deletions lbr_bringup/config/moveit_servo.yaml
Original file line number Diff line number Diff line change
@@ -1,25 +1,21 @@
# Please do e.g. refer to
# - https://github.com/moveit/moveit2/blob/humble/moveit_ros/moveit_servo/config/panda_simulated_config.yaml
# - https://github.com/moveit/moveit2/blob/humble/moveit_ros/moveit_servo/config/panda_simulated_config_pose_tracking.yaml
# - https://github.com/moveit/moveit2/blob/main/moveit_ros/moveit_servo/config/test_config_panda.yaml
# - https://github.com/moveit/moveit2/blob/main/moveit_ros/moveit_servo/config/panda_simulated_config.yaml
/**/servo_node:
ros__parameters:
moveit_servo:
## Properties of incoming commands
command_in_type: "unitless" # "unitless"> in the range [-1:1], as if from joystick. "speed_units"> cmds are in m/s and rad/s
## Properties of outgoing commands
publish_period: 0.005 # 1/controller manager update rate [seconds]

incoming_command_timeout: 0.5 # seconds
command_in_type: "unitless" # "unitless" in the range [-1:1], as if from joystick. "speed_units" cmds are in m/s and rad/s
scale:
# Scale parameters are only used if command_in_type=="unitless"
linear: 0.4 # Max linear velocity. Unit is [m/s]. Only used for Cartesian commands.
rotational: 0.8 # Max angular velocity. Unit is [rad/s]. Only used for Cartesian commands.
linear: 0.2 # Max linear velocity. Unit is [m/s]. Only used for Cartesian commands.
rotational: 0.2 # Max angular velocity. Unit is [rad/s]. Only used for Cartesian commands.
# Max joint angular/linear velocity. Only used for joint commands on joint_command_in_topic.
joint: 0.5

# Optionally override Servo's internal velocity scaling when near singularity or collision (0.0 = use internal velocity scaling)
# override_velocity_scaling_factor = 0.0 # valid range [0.0:1.0]

## Properties of outgoing commands
publish_period: 0.005 # #1/controller manager update rate [seconds]
low_latency_mode: false # Set this to true to publish as soon as an incoming Twist command is received (publish_period is ignored)

# What type of topic does your robot driver expect?
# Currently supported are std_msgs/Float64MultiArray or trajectory_msgs/JointTrajectory
command_out_type: std_msgs/Float64MultiArray
Expand All @@ -30,6 +26,7 @@
publish_joint_accelerations: false

## Plugins for smoothing outgoing commands
use_smoothing: true
smoothing_filter_plugin_name: "online_signal_smoothing::ButterworthFilterPlugin"

# If is_primary_planning_scene_monitor is set to true, the Servo server's PlanningScene advertises the /get_planning_scene service,
Expand All @@ -40,23 +37,15 @@

## MoveIt properties
move_group_name: arm # Often 'manipulator' or 'arm'
planning_frame: link_0 # The MoveIt planning frame. Often 'base_link' or 'world'

## Other frames
ee_frame_name: link_ee # The name of the end effector link, used to return the EE pose
robot_link_command_frame: link_0 # commands must be given in the frame of a robot link. Usually either the base or end effector

## Stopping behaviour
incoming_command_timeout: 0.1 # Stop servoing if X seconds elapse without a new command
# If 0, republish commands forever even if the robot is stationary. Otherwise, specify num. to publish.
# Important because ROS may drop some messages and we need the robot to halt reliably.
num_outgoing_halt_msgs_to_publish: 4

## Configure handling of singularities and joint limits
lower_singularity_threshold: 17.0 # Start decelerating when the condition number hits this (close to singularity)
hard_stop_singularity_threshold: 30.0 # Stop when the condition number hits this
joint_limit_margin: 0.1 # added as a buffer to joint limits [radians]. If moving quickly, make this larger.
leaving_singularity_threshold_multiplier: 2.0 # Multiply the hard stop limit by this when leaving singularity (see https://github.com/ros-planning/moveit2/pull/620)
leaving_singularity_threshold_multiplier: 2.0 # Multiply the hard stop limit by this when leaving singularity (see https://github.com/moveit/moveit2/pull/620)
# Added as a buffer to joint variable position bounds [in that joint variable's respective units].
# Can be of size 1, which applies the margin to all joints, or the same size as the number of degrees of freedom of the active joint group.
# If moving quickly, make these values larger.
joint_limit_margins: [0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1]

## Topic names
cartesian_command_in_topic: ~/delta_twist_cmds # Topic for incoming Cartesian twist commands
Expand Down
12 changes: 6 additions & 6 deletions lbr_bringup/doc/lbr_bringup.rst
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Launch Files
------------
Mock Setup
~~~~~~~~~~
Useful for running a physics-free simulation of the system. This launch file will (see `mock.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/humble/lbr_bringup/launch/mock.launch.py>`_:octicon:`link-external`):
Useful for running a physics-free simulation of the system. This launch file will (see `mock.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/rolling/lbr_bringup/launch/mock.launch.py>`_:octicon:`link-external`):

#. Run the ``robot_state_publisher``
#. Run the ``ros2_control_node`` with mock components as loaded from ``robot_description``
Expand All @@ -52,7 +52,7 @@ Useful for running a physics-free simulation of the system. This launch file wil

Gazebo Simulation
~~~~~~~~~~~~~~~~~
Useful for running a physics simulation the the system. This launch file will will (see `gazebo.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/humble/lbr_bringup/launch/gazebo.launch.py>`_:octicon:`link-external`):
Useful for running a physics simulation the the system. This launch file will will (see `gazebo.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/rolling/lbr_bringup/launch/gazebo.launch.py>`_:octicon:`link-external`):

#. Start the ``robot_state_publisher``
#. Start the ``Gazebo`` simulation
Expand Down Expand Up @@ -90,7 +90,7 @@ Hardware

#. Launch file:

This launch file will (see `hardware.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/humble/lbr_bringup/launch/hardware.launch.py>`_:octicon:`link-external`):
This launch file will (see `hardware.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/rolling/lbr_bringup/launch/hardware.launch.py>`_:octicon:`link-external`):

#. Run the ``robot_state_publisher``
#. Run the ``ros2_control_node`` with the ``lbr_fri_ros2::SystemInterface`` plugin from :doc:`lbr_ros2_control <../../lbr_ros2_control/doc/lbr_ros2_control>` as loaded from ``robot_description`` (which will attempt to establish a connection to the real robot).
Expand All @@ -106,7 +106,7 @@ Hardware

RViz
~~~~
This launch file will spin up ``RViz`` for visualization. It will (see `rviz.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/humble/lbr_bringup/launch/rviz.launch.py>`_:octicon:`link-external`):
This launch file will spin up ``RViz`` for visualization. It will (see `rviz.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/rolling/lbr_bringup/launch/rviz.launch.py>`_:octicon:`link-external`):

#. Read ``RViz`` configurations.
#. Run ``RViz``.
Expand Down Expand Up @@ -144,7 +144,7 @@ Mixins
------
The ``lbr_bringup`` package makes heavy use of mixins. Mixins are simply state-free classes with static methods. They are a convenient way of writing launch files.

The below shows an example of the `rviz.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/humble/lbr_bringup/launch/rviz.launch.py>`_:octicon:`link-external` file:
The below shows an example of the `rviz.launch.py <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/rolling/lbr_bringup/launch/rviz.launch.py>`_:octicon:`link-external` file:

.. code:: python
Expand Down Expand Up @@ -183,5 +183,5 @@ Troubleshooting
---------------
Noisy Execution
~~~~~~~~~~~~~~~
- Frequency: Make sure the ``ros2_control_node`` frequency and the ``FRI send period`` are compatible, consider changing ``update_rate`` in `lbr_controllers.yaml <https://github.com/lbr-stack/lbr_fri_ros2_stack/tree/humble/lbr_ros2_control/config/lbr_controllers.yaml>`_:octicon:`link-external`.
- Frequency: Make sure the ``ros2_control_node`` frequency and the ``FRI send period`` are compatible, consider changing ``update_rate`` in `lbr_controllers.yaml <https://github.com/lbr-stack/lbr_fri_ros2_stack/blob/rolling/lbr_ros2_control/config/lbr_controllers.yaml>`_:octicon:`link-external`.
- Realtime priority: Set real time priority in ``code /etc/security/limits.conf``, add the line: ``user - rtprio 99``, where user is your username.
Loading

0 comments on commit 03cd753

Please sign in to comment.