https://github.com/alitekes1/ros2-ackermann-vehicle-gz-sim-harmonic-nav2
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.
https://github.com/alitekes1/ros2-ackermann-vehicle-gz-sim-harmonic-nav2
ackerman-steering gazebo gzsim nav2 ros2
Last synced: 2 months ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/alitekes1/ros2-ackermann-vehicle-gz-sim-harmonic-nav2
- Owner: alitekes1
- Created: 2024-09-19T14:38:12.000Z (9 months ago)
- Default Branch: main
- Last Pushed: 2025-04-09T12:03:51.000Z (2 months ago)
- Last Synced: 2025-04-12T16:14:46.075Z (2 months ago)
- Topics: ackerman-steering, gazebo, gzsim, nav2, ros2
- Language: C++
- Homepage:
- Size: 31.6 MB
- Stars: 24
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
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`
5. Launch the simulation:
`ros2 launch saye_bringup saye_spawn.launch.py`
6. Control car:
`ros2 run teleop_twist_keyboard teleop_twist_keyboard`
## Future Work1. **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.## Gallery

|**Gazebo Sim Harmonic**|**RViz2**|
|---|---|
|||
|||
 | 
---
## Star History[](https://www.star-history.com/#alitekes1/ros2-ackermann-vehicle-gz-sim-harmonic-nav2&Date)