Package for an industrial robot manipulator in ROS2 Humble.
This package provides tools and interfaces to control an industrial robot manipulator using ROS2 Humble. It includes terminal-based control, launch files for teleoperation, and integration with various devices such as SpaceMouse, joystick, and Xbox controllers. The toolkit is designed to simplify robot manipulator operation while offering flexibility for customization.
-
Terminal Control:
- Direct control of robot joints, tools, and movements through a terminal-based interface.
- Teach and move to waypoints with simple commands.
-
Teleoperation:
- Integration with SpaceMouse and joystick devices.
- Xbox controller support for intuitive robot control.
-
ROS2 Launch Files:
- Pre-configured launch files for teleoperation and direct control.
- Dynamic frame selection and servo configuration.
-
Service-Based Architecture:
- Provides ROS2 services for robot alignment, tool selection, waypoint teaching, and movement.
- ROS2 Humble installed on your system.
- Required packages:
moveit_configs_utils
robot_teleoperation_interface
joy
spacenav
-
Clone the repository into your ROS2 workspace:
cd ~/ros2_ws/src git clone <repository_url>
-
Build the workspace:
cd ~/ros2_ws colcon build --packages-select ros2_robot_manipulator_toolkit
-
Source the workspace:
source ~/ros2_ws/install/setup.bash
Run the terminal-based control node:
ros2 run ros2_robot_manipulator_toolkit direct_movement_node
- Align the TCP:
align
- Select a Tool:
select <tool_id>
- Teach a Waypoint:
teach <waypoint_name>
- Move the Robot:
- In joint space:
move joint J1 90 J2 45
- In world coordinates:
move world X 100 Y 200 Z 300 RX 0 RY 0 RZ 90
- In tool coordinates:
move tool X 50 Y 100 Z 150
- In joint space:
- Navigate to a Waypoint:
point <waypoint_name>
- Exit:
exit
Launch teleoperation with SpaceMouse and joystick support:
ros2 launch ros2_robot_manipulator_toolkit teleoperation.launch.py
Launch direct control with the terminal interface:
ros2 launch ros2_robot_manipulator_toolkit direct_control.launch.py
This package depends on the following:
- ROS2 Humble
- MoveIt
robot_teleoperation_interface
joy
spacenav
This package is licensed under the MIT License. See the LICENSE
file for details.
Felix Pfeifer
Email: [email protected]