Skip to content

Latest commit

 

History

History
159 lines (137 loc) · 4.93 KB

File metadata and controls

159 lines (137 loc) · 4.93 KB

Autonomous Robotics

Building an autonomous Ackermann vehicle software stack using ROS 2 Jazzy and Gazebo Harmonic.

Current Progress

Documentation

  • Project Goals
  • Software Architecture
  • Repository Analysis
  • Startup Sequence Analysis
  • Launch System Design

ROS 2 Packages

  • autonomous_bringup

Workspace Structure

src/ ├── layer_1_platform ├── lane_detection ├── race_controller ├── performance └── visualization

Current Features

  • Modular ROS 2 Architecture
  • Professional Workspace Layout
  • Custom Launch Framework
  • Reference Repository Analysis
  • Independent Development Strategy

Next Milestone

  • Gazebo Integration
  • Vehicle Spawn
  • ROS-Gazebo Bridge
  • Robot State Publisher
  • Custom Controllers

Repository Structure

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

Robot Description

vehicle.urdf.xacro
        │
        ├── chassis.xacro
        ├── wheels.xacro
        ├── sensors.xacro
        └── materials.xacro

Simulation Environment

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.

System Architecture

                         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