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.
sudo apt install docker.io
)git clone git@github.com:Monash-Connected-Autonomous-Vehicle/mcav_autonomy.git
cd mcav_autonomy
docker/run.sh
mkdir -p ~/mcav_ws/src && cd ~/mcav_ws/src
sudo apt install python3-vcstool
or pip3 install vcstool
git clone git@github.com:Monash-Connected-Autonomous-Vehicle/mcav_autonomy.git
cd mcav_autonomy
mkdir external/
vcs import external/ < ros.repos
cd ~/mcav_ws
rosdep install --from-paths src -i -r -y
colcon build --symlink-install
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.
This project relies on:
Terminal 1 (Launch CARLA server):
/opt/carla-simulator/CarlaUE4.sh
Terminal 2 (Launch CARLA ros-bridge):
cd ~/mcav_ws && source install/setup.bash
ros2 launch carla_ros_bridge carla_ros_bridge.launch.py
Terminal 3 (Launch autonomy stack):
cd ~/mcav_ws && source install/setup.bash
ros2 launch autonomy_launch carla.launch.py waypoints_file:=/home/mcav/Sheng/control_ws/town01_path1.csv
Setup CAN and enter Docker container:
./main_launch.sh
Launch the stack:
src
ros2 launch autonomy_launch streetdrone.launch.xml