|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange
|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange
|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange
|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange
|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange
|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange
|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange
|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |
System Dependencies
Dependant Packages
Launch files
Messages
Services
Plugins
Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange
|
ur_ros_rtde_tutorials package from ur_ros_rtde reposimple_ur10e_description simple_ur10e_moveit_config ur_ros_rtde ur_ros_rtde_gripper_commands ur_ros_rtde_msgs ur_ros_rtde_simple_clients ur_ros_rtde_tutorials |
ROS Distro
|
Package Summary
| Version | 0.0.0 |
| License | BSD-3-Clause |
| Build type | AMENT_CMAKE |
| Use | RECOMMENDED |
Repository Summary
| Description | |
| Checkout URI | https://github.com/superdiodo/ur_ros_rtde.git |
| VCS Type | git |
| VCS Version | main |
| Last Updated | 2026-04-02 |
| Dev Status | UNKNOWN |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Package Description
Maintainers
- Alessio Saccuti
Authors
Tutorials for ur_ros_rtde
The proposed software is composed of three ROS2 nodes:
-
RobotStateReceiver ) provides robot data through topics and services (reference file:
ur_ros_rtde/launch/robot_state_receiver.launch.py). -
CommandServer ) discovers and loads
ur_ros_rtde_commandsandur_ros_rtde_extensionplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files: -
DashboardServer ) discovers and loads
ur_ros_rtde_dashboard_commandsplugins available in the ROS2 workspace. Each plugin starts a ROS2 action server. Reference files:
Examples below demonstrate how to use these nodes and plugins to interact with the robot. This package includes several ready-to-run examples; most can be executed directly from a terminal.
Alternatively, similar examples are provided as scripts using the helper headers in ur_ros_rtde_simple_clients.
Note that these scripts require the ur_ros_rtde_tutorials package to be compiled before execution.
Example A: Retrieve robot state
To retrieve the robot state RobotStateReceiver must be used.
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip
- set ip address with
- Launch robot_state_receiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
At this point, the robot state can be accessed using topics and services.
- Print joint states:
# type in a new terminal
ros2 topic echo /joint_states
Example B: Visualize the robot in RViz
RobotStateReceiver does not require any URDF of the robot, but URDF files are required to visualize the robot in tools like RViz. If a ROS2 description package of a UR robot is already available, skip to step 2 and use that package instead of simple_ur10e_description.
- In
simple_ur10e_descriptiongenerate UR10e URDF file from xacro files.
# generate ur10e urdf
cd ~/your_path/simple_ur10e_description/urdf
sh generate_urdf.sh ur10e.xacro ur10e.urdf
# build again the package to make the urdf visible
cd <ros_workspace_path>
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --packages-up-to simple_ur10e_description
- Configure
robot_state_receiver.launch.py:- set ip address with
robot_ip - set
robot_description_package = "simple_ur10e_description" - set
urdf_file_name = "urdf/ur10e.urdf" - set
launch_rviz = True
- set ip address with
When setting launch_rviz to True a robot state publisher node is started which will publish TF for each robot link based on the joint states.
- Launch RobotStateReceiver:
# type in a new terminal
ros2 launch ur_ros_rtde robot_state_receiver.launch.py
The first time RViz will be empty. To show the robot:
1. Add a robot model: `Displays\Add\RobotModel`
2. Set `world` in `Fixed Frame`
3. Set `/robot_description` in `RobotModel\Description Topic`
4. Click on `File\Save config` to save the actual configuration of RViz
Example C: move the robot by using the available action servers
In ur_ros_rtde commands are defined as plugins and exposed as action servers. To make available these action servers the CommandServer must be started:
-
Configure
command_server.launch.pysetting ip address withrobot_ip -
Launch CommandServer:
# type in a new terminal
ros2 launch ur_ros_rtde command_server.launch.py
- List the available commands (more info at ur_ros_rtde):
# type in a new terminal
ros2 action list
The file command_server.launch.py can also be used to define a blacklist of plugins which must not be loaded. By default, the plugins implemented in ur_ros_rtde_gripper_commands are disabled, since they rely on the presence of specific hardware.
The action servers initialized by the command server can be used to interact with the robot by sending goals to them. A goal can be sent to an action server by using the terminal or by script, in this example we both cover them.
-
Execute a waypoint-based trajectory:
In
trajectory_executionthere is an example in which a trajectory is sent to the robot. The robot (oriented towards Y-axis) will move as shown in the animated image.
File truncated at 100 lines see the full file
Package Dependencies
| Deps | Name |
|---|---|
| ur_ros_rtde | |
| ament_cmake_ros | |
| rosidl_default_generators | |
| rosidl_default_runtime | |
| ament_lint_auto | |
| ament_lint_common | |
| ur_ros_rtde_msgs |