A project simulating a Robot Manipulator Arm using ros2-control
and Gazebo.
-
manipulator_description
- holds the sdf description of the simulated system and any other assets. -
manipulator_gazebo
- holds gazebo specific code and configurations. Namely this is where systems end up. -
manipulator_application
- holds ros2 specific code and configurations. -
manipulator_bringup
- holds launch files and high level utilities.
The code requires a ROS2 Humble installation and the suggested Gazebo Fortress. Currently it supports only installations on Ubuntu 22.04.
-
Install ROS2 Humble and Gazebo Fortress.
-
Install necessary tools
sudo apt install python3-vcstool python3-colcon-common-extensions git wget
-
Clone this repository in the source folder of your workspace, e.g. <ros2_ws/src>.
-
Use rosdep to install the dependencies.
cd ~/ros2_ws source /opt/ros/humble/setup.bash sudo rosdep init rosdep update rosdep install --from-paths src --ignore-src -r -i -y --rosdistro humble
-
Use colcon to build.
cd ~/ros2_ws colcon build
-
In all the terminals source ROS2 and the workspace
source /opt/ros/humble/setup.bash source ~/ros2_ws/install/setup.sh
-
Launch the Gazebo model in one terminal:
ros2 launch manipulator_bringup manipulator_setup.launch.py
-
Launch the trajectory generator node in another terminal:
ros2 run manipulator_application reference_generator