Web Analytics

ackermann-vehicle-gzsim-ros2

⭐ 164 stars English by alitekes1

Ackermann Steering Vehicle Simulation in ROS2 with Gazebo Sim Harmonic

This project features the simulation of a custom vehicle with Ackermann steering capabilities, developed using ROS2 and the Gazebo Sim Harmonic environment. The model integrates a variety of sensors and navigation tools for autonomous operation, making it one of the first implementations of an Ackermann steering vehicle in this simulation framework.

| 3D LiDAR Point Cloud Visualization | Warehouse Environment Model | | ----- | ----- | | 3D Point Cloud | Warehouse Model |

If you like this project, consider giving it a ⭐ to show your support!

Table of Contents

Features

1. Ackermann Steering

2. ROS2 Communication

3. Sensors

> Note: By default, only the front camera is bridged to ROS 2.If you want to use all cameras (left, right, rear) in ROS 2,remove the # at the beginning of the relevant camera sections in saye_bringup/config/ros_gz_bridge.yaml to activate them (e.g., /camera/left_raw, /camera/right_raw, /camera/rear_raw).

4. Navigation

5. Manual Control (with external joystick)

6. Visualization

Requirements

Local Installation

sudo apt-get install ros-${ROS_DISTRO}-ros-gz
sudo apt-get install ros-humble-ros-gzharmonic (Only Humble version)
More details about installation Gazebo and ROS: Link mkdir -p ackermann_sim/src && cd ackermann_sim/src
git clone https://github.com/alitekes1/ackermann-vehicle-gzsim-ros2
cd .. colcon build && source install/setup.bash ``bash # Set environment variables for current session export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/ export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/ `

For Permanent Setup: To make these environment variables permanent, add them to your .bashrc file: `bash # Add environment variables to .bashrc echo 'export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/' >> ~/.bashrc echo 'export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/your/path/ackermann_sim/src/ackermann-vehicle-gzsim-ros2/' >> ~/.bashrc # Apply changes source ~/.bashrc `

> Note: Replace /your/path/ with your actual installation path.

Docker Installation

You can also run the simulation using Docker, which ensures a consistent environment across different systems.

Prerequisites

  • Docker
  • NVIDIA Container Toolkit (for GPU support)

Steps to Run with Docker

  • Clone the repository:
`bash mkdir -p ackermann_sim/src && cd ackermann_sim/src git clone https://github.com/alitekes1/ackermann-vehicle-gzsim-ros2 cd ackermann-vehicle-gzsim-ros2 `

  • Build and run the Docker container:
`bash docker run -it \ --name ackermann_sim \ --hostname ackermann_sim \ --env="DISPLAY=$DISPLAY" \ --env="QT_X11_NO_MITSHM=1" \ --volume="/tmp/.X11-unix:/tmp/.X11-unix:rw" \ --privileged alitekes1/ackermann_sim:latest `
  • If you want an additional terminal for the same container
`bash docker exec -it ackermann_sim bash `
Note: Inside the container, you can run the simulation commands as normal.

Usage

1. Basic Simulation and Manual Control

  • Launch the simulation:
`bash ros2 launch saye_bringup saye_spawn.launch.py `
  • Control car:
`bash ros2 run teleop_twist_keyboard teleop_twist_keyboard `

2. SLAM (Simultaneous Localization and Mapping)

  • To run SLAM Toolbox for mapping, launch the following after starting the simulation:
`bash ros2 launch saye_bringup slam.launch.py ` SLAM- Youtube

3. Navigation with Nav2

  • To run the simulation with the Nav2 stack for autonomous navigation, launch the following after starting the simulation:
`bash ros2 launch saye_bringup navigation_bringup.launch.py `` Autonomus Navigation - Youtube

Note: The YouTube videos above are played at 4x speed. You can reach the videos by click on the images.

Future Work

Gallery

Screenshot from 2024-09-23 00-09-48.png

3D LiDAR Point Cloud & Environment

| 3D LiDAR Point Cloud Visualization | Warehouse Environment Model | | ----------------------------------------------------------------- | ----------------------------------------------------------------- | | 3D Point Cloud | Warehouse Model |

Vehicle & Navigation

| Gazebo Sim Harmonic | RViz2 | | --------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------- | | Screenshot from 2024-09-23 00-13-03.png | Screenshot from 2024-09-23 00-09-04.png | | Screenshot from 2024-09-23 00-12-13.png | Screenshot from 2024-09-23 00-15-04.png | | alt text | alt text |

TF Tree

TF Tree


Star History

Star History Chart

--- Tranlated By Open Ai Tx | Last indexed: 2026-05-13 ---