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-09
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. Clone the repository: git clone https://github.com/alitekes1/ros2-ackermann-vehicle-gz-sim-harmonic-nav2 cd ros2-ackermann-vehicle-gz-sim-harmonic-nav2/
  2. Build the project: colcon build && source install/setup.bash
  3. Set environment variables: -export GZ_SIM_RESOURCE_PATH=$GZ_SIM_RESOURCE_PATH:/your/path/ros2-ackermann-vehicle-gz-sim-harmonic-nav2/src
    • export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:/your/path/ros2-ackermann-vehicle-gz-sim-harmonic-nav2/src
  4. Launch the simulation: ros2 launch saye_bringup saye_spawn.launch.py
  5. 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