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. Use RoboStack to install humble and Gazebo, for example in a conda env.
-
Clone this repository in the source folder of your workspace, e.g. <ros2_ws/src>.
-
Install with conda:
cd ~/ros2_ws/src/manipulator_gz_sim conda install --file conda_env.yml
-
Use colcon to build.
cd ~/ros2_ws colcon build
-
In all the terminals activate the conda environement and source ROS2
conda activate humble 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