No version for distro humble showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange

No version for distro jazzy showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange

No version for distro kilted showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange

No version for distro rolling showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange

No version for distro galactic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange

No version for distro iron showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange

No version for distro melodic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange

No version for distro noetic showing github. Known supported distros are highlighted in the buttons above.

Package Summary

Tags No category tags.
Version 0.0.0
License BSD-3-Clause
Build type AMENT_CMAKE
Use RECOMMENDED

Repository Summary

Description ROS2 Interface for Universal Robots CoBots based on ur_rtde (Python, C++)
Checkout URI https://github.com/superdiodo/ur_ros_rtde.git
VCS Type git
VCS Version main
Last Updated 2025-03-27
Dev Status UNKNOWN
Released UNRELEASED
Tags python cpp python3 ros universal-robots ros2 moveit2 rtde rviz2 ros2-humble
Contributing Help Wanted (-)
Good First Issues (-)
Pull Requests to Review (-)

Package Description

ur_ros_rtde tutorials

Additional Links

No additional links.

Maintainers

  • Alessio Saccuti

Authors

No additional authors.

Tutorials for ur_ros_rtde

The proposed software is composed of three ROS2 nodes:

You can easily interact with ROS2 services and actions using header files provided in ur_ros_rtde_simple_clients. For further details and documentation, please visit ur_ros_rtde.

Run examples

Ensure that the ur_ros_rtde_tutorials package is compiled.

Retrieve robot state

To retrieve the robot state RobotStateReceiver must be used.

  1. Configure robot_state_receiver.launch.py:
    • set ip address with robot_ip
  2. 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.

  1. Print joint states:
    # type in a new terminal
    ros2 topic echo /joint_states
    

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.

  1. In simple_ur10e_description generate 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
    
  1. 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

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.

  1. 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

Activate robot commands

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:

  1. Configure command_server.launch.py setting ip address with robot_ip

  2. Launch CommandServer:

    # type in a new terminal
    ros2 launch ur_ros_rtde command_server.launch.py
    
  1. 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.

Move the robot

In this tutorial package are provided 3 examples which can be used to move the robot:

File truncated at 100 lines see the full file

CHANGELOG
No CHANGELOG found.

Dependant Packages

No known dependants.

Launch files

No launch files found

Messages

No message files found.

Services

No service files found

Plugins

No plugins found.

Recent questions tagged ur_ros_rtde_tutorials at Robotics Stack Exchange