Building an autonomous Ackermann vehicle software stack using ROS 2 Jazzy and Gazebo Harmonic.
- Project Goals
- Software Architecture
- Repository Analysis
- Startup Sequence Analysis
- Launch System Design
- autonomous_bringup
src/ ├── layer_1_platform ├── lane_detection ├── race_controller ├── performance └── visualization
- Modular ROS 2 Architecture
- Professional Workspace Layout
- Custom Launch Framework
- Reference Repository Analysis
- Independent Development Strategy
- Gazebo Integration
- Vehicle Spawn
- ROS-Gazebo Bridge
- Robot State Publisher
- Custom Controllers
ros2_autonomous_racing_ws/
│
├── src/
│ │
│ ├── layer_1_platform/
│ │ │
│ │ ├── autonomous_bringup/
│ │ │ ├── launch/
│ │ │ │ └── autonomous_sim.launch.py
│ │ │ ├── package.xml
│ │ │ ├── setup.py
│ │ │ └── setup.cfg
│ │ │
│ │ ├── autonomous_description/
│ │ │ ├── launch/
│ │ │ │ └── display.launch.py
│ │ │ ├── models/
│ │ │ │ ├── autonomous_vehicle/
│ │ │ │ ├── A_letter/
│ │ │ │ ├── I_letter/
│ │ │ │ └── L_letter/
│ │ │ ├── rviz/
│ │ │ │ └── vehicle.rviz
│ │ │ ├── urdf/
│ │ │ │ ├── chassis.xacro
│ │ │ │ ├── materials.xacro
│ │ │ │ ├── sensors.xacro
│ │ │ │ ├── vehicle.urdf.xacro
│ │ │ │ └── wheels.xacro
│ │ │ └── worlds/
│ │ │ ├── race_world.sdf
│ │ │ └── warehouse/
│ │ │
│ │ ├── autonomous_interfaces/
│ │ │ └── msg/
│ │ │ ├── VehicleCommand.msg
│ │ │ └── VehicleState.msg
│ │ │
│ │ └── vehicle_interface/
│ │ ├── config/
│ │ │ └── vehicle.yaml
│ │ ├── launch/
│ │ │ └── vehicle_interface.launch.py
│ │ └── vehicle_interface/
│ │ └── vehicle_driver.py
│ │
│ ├── lane_detection/
│ ├── race_controller/
│ ├── performance/
│ └── visualization/
│
├── README.md
└── .gitignore
vehicle.urdf.xacro
│
├── chassis.xacro
├── wheels.xacro
├── sensors.xacro
└── materials.xacro
The Gazebo simulation currently includes:
- Ground plane
- Warehouse environment
- Autonomous vehicle
- Additional environment models
- Lighting
- Physics
- Sensor simulation
Simulation assets are packaged inside the autonomous_description package and exposed through the Gazebo resource path.
Autonomous Racing Platform
│
▼
ROS 2 Application
│
┌───────────────────────┼───────────────────────┐
│ │ │
Interfaces Controllers Sensors
│ │ │
└───────────────────────┼───────────────────────┘
│
▼
ROS 2 ↔ Gazebo Bridge
│
▼
Gazebo Sim
│
┌───────────────────┼───────────────────┐
│ │ │
Vehicle IMU LiDAR
│ │ │
▼ ▼ ▼
Dynamics /imu /scan
│ │
▼ ▼
Odometry Point Cloud
│
▼
ROS 2