Monash-Connected-Autonomous-Vehicle / mcav_autonomy

Autonomous driving software stack of the Monash Connected Autonomous Vehicle student team
https://monashcav.com
4 stars 0 forks source link
autonomous-driving ros

πŸ’» mcav_autonomy

The urban-driving autonomous stack of the Monash Connected Autonomous Vehicles team. Designed to run on a StreetDrone Twizy and in the CARLA simulation environment.

Installation - Using Docker (recommended)

Requirements

Installation

Installation - From Source

Requirements

Installation

Project Structure

This should result in a directory structure similar to the following:

mcav_ws/                                                     
β”œβ”€β”€ build
β”œβ”€β”€ install
└── src
    └── mcav_autonomy
        β”œβ”€β”€ autonomy_launch         # Launch files for entire stack
        β”œβ”€β”€ data
        β”‚Β Β  β”œβ”€β”€ pointclouds         # Pointcloud map files (.pcd)
        β”‚Β Β  β”œβ”€β”€ rosbags             # Recorded rosbags
        β”‚Β Β  └── waypoints           # Global waypoints (.csv) 
        β”œβ”€β”€ data_recording          # Launch files for creating rosbags
        β”œβ”€β”€ docker                  # Dockerfiles and run scripts
        β”œβ”€β”€ external                # External dependencies that come in source code form
        β”‚   β”œβ”€β”€ SD-VehicleInterface # Sends actuation commands, reads GPS/IMU and speedometer
        β”‚   └── kiss-icp            # Performs lidar-based odometry (see github.com/PRBonn/kiss-icp)
        β”œβ”€β”€ mcav_interfaces         # Shared ROS Message and Service definitions
        β”œβ”€β”€ project_tracker         # Object detection and tracking
        β”œβ”€β”€ pure_pursuit            # Control system
        β”œβ”€β”€ sensors_launch          # Launch files for the sensors
        β”œβ”€β”€ simulation              # CARLA & simple kinematics simulation setups
        β”œβ”€β”€ velocity_planner        # Local planner
        └── visualisation
            └── vehicle_model       # 3D vehicle models for visualisation 

Pointcloud maps, rosbags, waypoints and other files that are data, not code, should be stored in data/pointclouds, data/rosbags, data/waypoints etc.

External Dependencies

This project relies on:

Running

How to run in CARLA

Terminal 1 (Launch CARLA server):

Terminal 2 (Launch CARLA ros-bridge):

Terminal 3 (Launch autonomy stack):

How to run on Alienware

Setup CAN and enter Docker container:

./main_launch.sh

Launch the stack:

src
ros2 launch autonomy_launch streetdrone.launch.xml