A Gazebo simulation environment for testing and developing Deep Reinforcement Learning (DRL) navigation algorithms for the RoboCon robot, optimized for ROS 2 Jazzy on Ubuntu 24.04.
This package provides a complete simulation environment for:
- Testing RoboCon robot navigation algorithms
- Developing DRL-based navigation solutions
- Simulating robot behavior in custom environments
- Bridging ROS 2 and Gazebo topics for seamless integration
- Ubuntu 24.04
- ROS 2 Jazzy Jalisco
- Gazebo Harmonic (recommended) or Gazebo Fortress
# ROS 2 Jazzy
sudo apt update
sudo apt install ros-jazzy-desktop
# Gazebo Sim for ROS 2 Jazzy
sudo apt install ros-jazzy-ros-gz
# Additional ROS 2 tools
sudo apt install python3-colcon-common-extensions
sudo apt install python3-rosdep2
sudo apt install python3-pip
# Optional: Additional useful tools
sudo apt install git wget curl build-essentialmkdir -p ~/gz_ws/src
cd ~/gz_ws/srcgit clone https://github.com/fuseai-fellowship/DRL-for-Mobile-Robot-Navigation.gitsudo rosdep init
rosdep updatecd ~/gz_ws
rosdep install --from-paths src --ignore-src -r -ycolcon buildsource ~/gz_ws/install/setup.bashTip: Add this to your
.bashrcfor permanent sourcing:echo "source ~/gz_ws/install/setup.bash" >> ~/.bashrc
ros2 launch ros_gz_sim_demos gazebo_launch.xml# Launch with specific Gazebo version
ros2 launch ros_gz_sim_demos robocon_robot_test.launch.py gz_version:=harmonic
# Launch with verbose output
ros2 launch ros_gz_sim_demos robocon_robot_test.launch.py --verbose- Gazebo Sim with a custom world environment
- RoboCon robot model with sensors and controllers
- ROS-Gazebo bridge for topic communication
- Essential topic bridges for DRL navigation
/cmd_vel(geometry_msgs/msg/Twist) — Velocity commands for robot control
/scan(sensor_msgs/msg/LaserScan) — Laser scan data from robot/odom(nav_msgs/msg/Odometry) — Robot odometry information/camera/image_raw(sensor_msgs/msg/Image) — Camera feed/imu(sensor_msgs/msg/Imu) — IMU data (if configured)