ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim saye_bringup saye_control saye_description saye_localization saye_msgs

Repository Summary

Description This repository includes the simulation of a vehicle with an Ackermann drive system in ROS2 and Gazebo Sim Harmonic, utilizing the Nav2 package for autonomous navigation.
Checkout URI https://github.com/alitekes1/ros2-ackermann-vehicle-gz-sim-harmonic-nav2.git
VCS Type git
VCS Version main
Last Updated 2025-04-27
Dev Status UNKNOWN
CI status No Continuous Integration
Released UNRELEASED
Tags gazebo ros2 nav2 ackerman-steering gzsim
Contributing Help Wanted (0)
Good First Issues (0)
Pull Requests to Review (0)

Packages

Name Version
saye_bringup 0.0.0
saye_control 0.0.0
saye_description 0.0.0
saye_localization 0.0.0
saye_msgs 0.0.0

README

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.

Features

1. Ackermann Steering

  • A custom vehicle model built with realistic Ackermann steering dynamics for accurate maneuverability.

2. ROS2 Communication

  • All sensor data and control signals are fully integrated into the ROS2 ecosystem for seamless interoperability.

3. Sensors

  • IMU: Provides orientation and angular velocity.
  • Odometry: Ensures accurate vehicle state feedback.
  • LiDAR: Mounted for obstacle detection and environmental scanning.
  • Cameras:
    • Front-facing
    • Rear-facing
    • Left-side
    • Right-side

4. Navigation

  • Integrated with the Nav2 stack for autonomous navigation.
  • AMCL (Adaptive Monte Carlo Localization) for improved positional accuracy.
  • SLAM techniques implemented for real-time mapping and understanding of the environment.
  • Fine-tuned parameters for optimized navigation performance.

5. Manual Control (with external joystick)

  • Added support for joystick-based manual control in the simulation environment, enabling users to test vehicle movement interactively.

6. Visualization

  • Full model and sensor data visualization in RViz2, providing insights into robot states and environmental feedback.

Requirements

  • ROS2 (Humble)
  • Gazebo Sim Harmonic
  • RViz2
  • Nav2

Installation and Usage

Run the following commands to set up and launch the simulation:

  1. Your need to sure that installation of Gazebo Harmonic and ROS (ros_gz):
    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
  2. Clone the repository:
    mkdir -p ackermann_sim/src && cd ackermann_sim/src
    git clone https://github.com/alitekes1/ros2-ackermann-vehicle-gz-sim-harmonic-nav2
    cd ros2-ackermann-vehicle-gz-sim-harmonic-nav2/
  3. Build the project: colcon build && source install/setup.bash
  4. Set environment variables:
    1. export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:/your/path/ackermann_sim/src/ros2-ackermann-vehicle-gz-sim-harmonic-nav2/
    2. export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/your/path/ackermann_sim/src/ros2-ackermann-vehicle-gz-sim-harmonic-nav2/
  5. Launch the simulation: ros2 launch saye_bringup saye_spawn.launch.py
  6. Control car: ros2 run teleop_twist_keyboard teleop_twist_keyboard

Future Work

  1. Deep Reinforcement Learning (DRL):
    • Train the vehicle to handle complex scenarios autonomously using advanced DRL algorithms.
  2. Enhanced Features:
    • Explore additional sensor configurations and navigation strategies.

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

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

Star History

Star History Chart

CONTRIBUTING

No CONTRIBUTING.md found.

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim

ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repository

gazebo ros2 nav2 ackerman-steering gzsim