Skip to content

mcity/autoware

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Autoware

This is the Mcity-adapted version of Autoware Universe, based on the October 2023 release and extensively modified. If you are looking for the most up-to-date Autoware Universe, please check out the official Documentation.

Prerequisites

  • Hardware: A CPU based on Intel x86 architecture with at least 16 cores, at least 16 GB of system memory, and a dedicated GPU with at least 8 GB of VRAM.

  • System: Ubuntu 22.04 (native system installation rather than a virtual machine or Windows Subsystem for Linux)

  • Software: Follow the official instructions to install ROS Humble Desktop.

Installation

Install dependencies

sudo apt-get install libhiredis-dev libgeographic-dev ccache python3-rosdep2 python3-colcon-common-extensions ros-humble-rmw-cyclonedds-cpp

Clone the repository

git clone https://github.com/michigan-traffic-lab/autoware.git

Navigate to the Autoware directory

cd autoware

Source the ROS distribution

source /opt/ros/humble/setup.bash

Initialize rosdep

rosdep init
rosdep update

Open a new terminal and install ROS 2 package dependencies

rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO

Build the workspace

# This may take 2–4 hours depending on hardware. You can limit the number of parallel build jobs based on your available CPU cores and memory.
colcon build --symlink-install --cmake-args -DCMAKE_BUILD_TYPE=Release --parallel-workers 8

Post Installation Instructions

We recommend running the following to automatically configure your environment each time a new terminal is opened. This ensures that ROS Humble, Autoware, and Cyclone DDS are properly sourced and available by default.

# Source ROS Humble setup
echo "source /opt/ros/humble/setup.bash" >> ~/.bashrc

# Source Autoware workspace setup
echo "source ~/autoware/install/setup.bash" >> ~/.bashrc

# Set Cyclone DDS as the default RMW implementation
echo "export RMW_IMPLEMENTATION=rmw_cyclonedds_cpp" >> ~/.bashrc

Run Autoware

Planning Simulator

ros2 launch autoware_launch planning_simulator.launch.xml map_path:=$HOME/autoware/map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit lanelet2_map_file:=lanelet2_mcity.osm

To run a quick startup demonstration, first initialize the ego vehicle's state by selecting "2D Pose Estimate" at the top of the RViz panel, then set the destination using "2D Goal Pose". Finally, click "Auto" on the Operation Mode panel to start the vehicle. If Autoware consistently fails to plan a trajectory, See Troubleshooting for a potential fix.

tutorial

Alternatively, to automate the pose initialization, goal selection, and engagement process when launching the Autoware stack, run the provided Mcity route script. The source code is available at src/mcity/mcity_route and can be customized as needed.

route

Real-Car Stack

ros2 launch autoware_launch autoware.launch.xml map_path:=$HOME/autoware/map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit lanelet2_map_file:=lanelet2_mcity.osm

We provide a co-simulation interface that integrates the Autoware real-car stack with the high-fidelity CARLA simulator and the traffic generation platform TeraSim. For detailed setup and usage instructions, refer to the Terasim repository.

cosim

Autoware ROS Bag Replay

ros2 launch autoware_launch logging_simulator.launch.xml map_path:=$HOME/autoware/map vehicle_model:=sample_vehicle sensor_model:=sample_sensor_kit lanelet2_map_file:=lanelet2_mcity.osm

Troubleshooting

If Autoware fails to plan a trajectory after setting a "2D Goal Pose", open a new terminal, run the following command, then relaunch Autoware and try again:

ros2 run autoware_cosim autoware_dummy_grid

About

This repo contains the mcity adapted version of autoware universe

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • C++ 92.6%
  • Python 5.5%
  • CMake 1.7%
  • Cuda 0.2%
  • Shell 0.0%
  • JavaScript 0.0%