No version for distro humble. Known supported distros are highlighted in the buttons above.
No version for distro jazzy. Known supported distros are highlighted in the buttons above.
No version for distro rolling. Known supported distros are highlighted in the buttons above.
![]() |
ros2-ackermann-vehicle-gz-sim-harmonic-nav2 repositorygazebo 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:
- Clone the repository:
git clone https://github.com/alitekes1/ros2-ackermann-vehicle-gz-sim-harmonic-nav2 cd ros2-ackermann-vehicle-gz-sim-harmonic-nav2/
- Build the project:
colcon build && source install/setup.bash
- 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
- Launch the simulation:
ros2 launch saye_bringup saye_spawn.launch.py
- Control car:
ros2 run teleop_twist_keyboard teleop_twist_keyboard
Future Work
-
Deep Reinforcement Learning (DRL):
- Train the vehicle to handle complex scenarios autonomously using advanced DRL algorithms.
-
Enhanced Features:
- Explore additional sensor configurations and navigation strategies.
Gallery
|Gazebo Sim Harmonic|RViz2|
|—|—|
||
|
|
|
|
|
—
Star History
CONTRIBUTING
No CONTRIBUTING.md found.
No version for distro noetic. Known supported distros are highlighted in the buttons above.
No version for distro ardent. Known supported distros are highlighted in the buttons above.
No version for distro bouncy. Known supported distros are highlighted in the buttons above.
No version for distro crystal. Known supported distros are highlighted in the buttons above.
No version for distro eloquent. Known supported distros are highlighted in the buttons above.
No version for distro dashing. Known supported distros are highlighted in the buttons above.
No version for distro galactic. Known supported distros are highlighted in the buttons above.
No version for distro foxy. Known supported distros are highlighted in the buttons above.
No version for distro iron. Known supported distros are highlighted in the buttons above.
No version for distro lunar. Known supported distros are highlighted in the buttons above.
No version for distro jade. Known supported distros are highlighted in the buttons above.
No version for distro indigo. Known supported distros are highlighted in the buttons above.
No version for distro hydro. Known supported distros are highlighted in the buttons above.
No version for distro kinetic. Known supported distros are highlighted in the buttons above.
No version for distro melodic. Known supported distros are highlighted in the buttons above.