You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For ROS 2 users to easily work with [RDK](https://github.com/flexivrobotics/flexiv_rdk), the APIs of RDK are wrapped into ROS packages in `flexiv_ros2`. Key functionalities like real-time joint torque and position control are supported, and the integration with `ros2_control` framework and MoveIt! 2 is also implemented.
5
+
For ROS 2 users to easily work with [RDK](https://github.com/flexivrobotics/flexiv_rdk), the APIs of RDK are wrapped into ROS packages in `flexiv_ros2`. Key functionalities like realtime and non-realtime joint torque and position control are supported, and the integration with `ros2_control` framework and MoveIt! 2 is also implemented.
6
6
7
7
## References
8
8
@@ -12,41 +12,40 @@ For ROS 2 users to easily work with [RDK](https://github.com/flexivrobotics/flex
This project was developed for ROS 2 Foxy (Ubuntu 20.04) and Humble (Ubuntu 22.04). Other versions of Ubuntu and ROS 2 may work, but are not officially supported.
27
+
This project was developed for ROS 2 Humble (Ubuntu 22.04) and Jazzy (Ubuntu 24.04). Other versions of Ubuntu and ROS 2 may work, but are not officially supported.
28
28
29
-
1. Install [ROS 2 Humble via Debian Packages](https://docs.ros.org/en/humble/Installation/Ubuntu-Install-Debians.html)
29
+
1. Install [ROS 2 Jazzy via Debian Packages](https://docs.ros.org/en/jazzy/Installation/Ubuntu-Install-Debians.html)
30
30
31
31
2. Install `colcon` and additional ROS packages:
32
32
33
33
```bash
34
34
sudo apt install -y \
35
35
python3-colcon-common-extensions \
36
-
python3-rosdep2 \
37
36
libeigen3-dev \
38
-
ros-humble-xacro \
39
-
ros-humble-tinyxml2-vendor \
40
-
ros-humble-ros2-control \
41
-
ros-humble-realtime-tools \
42
-
ros-humble-control-toolbox \
43
-
ros-humble-moveit \
44
-
ros-humble-ros2-controllers \
45
-
ros-humble-test-msgs \
46
-
ros-humble-joint-state-publisher \
47
-
ros-humble-joint-state-publisher-gui \
48
-
ros-humble-robot-state-publisher \
49
-
ros-humble-rviz2
37
+
ros-jazzy-xacro \
38
+
ros-jazzy-tinyxml2-vendor \
39
+
ros-jazzy-ros2-control \
40
+
ros-jazzy-realtime-tools \
41
+
ros-jazzy-control-toolbox \
42
+
ros-jazzy-moveit \
43
+
ros-jazzy-ros2-controllers \
44
+
ros-jazzy-test-msgs \
45
+
ros-jazzy-joint-state-publisher \
46
+
ros-jazzy-joint-state-publisher-gui \
47
+
ros-jazzy-robot-state-publisher \
48
+
ros-jazzy-rviz2
50
49
```
51
50
52
51
3. Setup workspace:
@@ -64,41 +63,33 @@ This project was developed for ROS 2 Foxy (Ubuntu 20.04) and Humble (Ubuntu 22.0
> Skip step 5 and 6 if you have compile and install [flexiv_rdk](https://github.com/flexivrobotics/flexiv_rdk).
72
-
73
-
5. Choose a directory for installing `flexiv_rdk` library and all its dependencies. For example, a new folder named `rdk_install` under the home directory: `~/rdk_install`. Compile and install to the installation directory:
5. Choose a directory for installing `flexiv_rdk` library. For example, a new folder named `rdk_install` under the home directory: `~/rdk_install`. NOTE: Do NOT run `rdk/thirdparty/build_and_install_dependencies.sh`, but proceed to the next step directly.
> Remember to source the setup file and the workspace whenever a new terminal is opened:
100
91
> ```bash
101
-
>source /opt/ros/humble/setup.bash
92
+
>source /opt/ros/jazzy/setup.bash
102
93
>source~/flexiv_ros2_ws/install/setup.bash
103
94
>```
104
95
@@ -113,11 +104,12 @@ The main launch file to start the robot driver is the `rizon.launch.py` - it loa
113
104
114
105
- `robot_sn` (*required*) - Serial number of the robot to connect to. Remove any space, for example: Rizon4s-123456
115
106
- `rizon_type` (default: *Rizon4*) - type of the Flexiv Rizon robot. (Rizon4, Rizon4M, Rizon4R, Rizon4s, Rizon10 or Rizon10s)
107
+
- `rdk_control_mode` (default: *joint_position*) - Flexiv RDK control mode for ROS 2 joint position and velocity interfaces. Options: *joint_position* or *joint_impedance*
116
108
- `load_gripper` (default: *false*) - loads the Flexiv Grav gripper as the end-effector of the robot and the gripper control node.
117
109
- `use_fake_hardware` (default: *false*) - starts `FakeSystem` instead of real hardware. This is a simple simulation that mimics joint command to their states.
118
110
- `start_rviz` (deafult: *true*) - starts RViz automatically with the launch file.
119
111
- `fake_sensor_commands` (default: *false*) - enables fake command interfaces for sensors used for simulations. Used only if`use_fake_hardware` parameter is true.
120
-
- `robot_controller` (default: *rizon_arm_controller*) - robot controller to start. Available controllers: *forward_position_controller*, *rizon_arm_controller*, *joint_impedance_controller*.
112
+
- `robot_controller` (default: *rizon_arm_controller*) - robot controller to start. Available controllers: *rizon_arm_controller*
121
113
122
114
*(Details about other launch files can be found in [`flexiv_bringup`](/flexiv_bringup))*
123
115
@@ -149,25 +141,6 @@ The main launch file to start the robot driver is the `rizon.launch.py` - it loa
149
141
```
150
142
151
143
The joint position goals can be changed in`flexiv_bringup/config/joint_trajectory_position_publisher.yaml`
152
-
- To test another controller, define it using the `robot_controller` launch argument, for example the `joint_impedance_controller`:
The robot should run a sine-sweep motion with joint impedance control.
165
-
166
-
> [!NOTE]
167
-
> The command starts the robot in the joint torque mode. In this mode, gravity and friction are compensated **only**for the robot **without** any attached objects (e.g. the gripper, camera).
168
-
169
-
> [!NOTE]
170
-
> Joint impedance control is not supported in fake/simulated hardware.
Copy file name to clipboardExpand all lines: flexiv_bringup/README.md
-2Lines changed: 0 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -5,7 +5,5 @@ This package contains launch files: the main driver launcher, the MoveIt launch
5
5
-`rizon.launch.py` - the main launcher: starts *ros2_control* node including hardware interface, runs joint states, Flexiv robot states broadcaster, and a controller, and visualizes the current robot pose in RViZ. The default controller is `rizon_arm_controller`, a joint trajectory controller.
6
6
-`rizon_moveit.launch.py` - runs MoveIt together with the main driver. The controller for robot joints started in this launch file is *rizon_arm_controller*.
7
7
-`test_joint_trajectory_controller.launch` - sends joint trajectory goals to the *rizon_arm_controller*.
8
-
-`sine_sweep_position.launch.py` - gets current joint states and then performs a sine-sweep motion with *forward_position_controller*.
9
-
-`sine_sweep_impedance.launch.py` - gets current joint states and then performs a sine-sweep motion with *joint_impedance_controller*.
10
8
11
9
**NOTE**: The example launch files run the demo nodes from the `flexiv_test_nodes` package, with the parameters defined in `/config`.
0 commit comments