/Autoware

Open-source software for urban self-driving mobility

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Branch Status
Master Build Status
Develop Build Status

Autoware

Open-source software for urban autonomous driving, maintained by Tier IV. The following functions are supported:

  • 3D Localization
  • 3D Mapping
  • Path Planning
  • Path Following
  • Accel/Brake/Steering Control
  • Data Logging
  • Car/Pedestrian/Object Detection
  • Traffic Signal Detection
  • Traffic Light Recognition
  • Lane Detection
  • Object Tracking
  • Sensor Calibration
  • Sensor Fusion
  • Cloud-oriented Maps
  • Connected Automation
  • Smartphone Navigation
  • Software Simulation
  • Virtual Reality

Autoware is protected by the BSD License. Please use it at your own discretion. For safe use, we provide a ROSBAG-based simulation method for those who do not own real autonomous vehicles. If you plan to use Autoware with real autonomous vehicles, please formulate safety measures and assessment of risk before field testing.

Manuals and Documents

Free manuals can be found at https://github.com/CPFL/Autoware-Manuals. You are encouraged to contribute to the maintenance of these manuals. Thank you for your cooperation!

If you have a question please check the Wiki, and the FAQ, FAQ (JP).

License

  • New BSD License
    • See LICENSE

Recommended Minimum System Specifications

  • Number of CPU cores: 8
  • RAM size: 32GB
  • Storage size: 30GB

Requirements

  • ROS indigo (Ubuntu 14.04) or ROS jade (Ubuntu 15.04) or ROS kinetic (Ubuntu 16.04)
  • OpenCV 2.4.10 or higher
  • Qt 5.2.1 or higher
  • CUDA (optional)
  • FlyCapture2 (optional)
  • Armadillo (optional)

Please use checkout a revision before 2015/OCT/21 if you want to use Autoware on ROS Hydro or Ubuntu 13.04, 13.10.

Install system dependencies for Ubuntu 14.04 Indigo

% sudo apt-get install -y  python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin
% sudo add-apt-repository ppa:mosquitto-dev/mosquitto-ppa
% sudo apt-get update
% sudo apt-get install libmosquitto-dev

NOTE: Please do not install ros-indigo-velodyne-pointcloud package. If it is already installed, please uninstall.

Install system dependencies for Ubuntu 16.04 Kinetic

% sudo apt-get update
% sudo apt-get install -y python-catkin-pkg python-rosdep python-wstool ros-$ROS_DISTRO-catkin libmosquitto-dev

NOTE: Following packages are not supported in ROS Kinetic.

  • gazebo
  • orb slam
  • dpm ocv

How to Build

  1. Clone the repository
$ cd $HOME
$ git clone https://github.com/CPFL/Autoware.git --recurse-submodules

or if you already have a copy of the repo, run $ git submodule update --init --recursive.

  1. Initialize the workspace, let rosdep to install the missing dependencies and compile.
$ cd ~/Autoware/ros/src
$ catkin_init_workspace
$ cd ../
$ rosdep install -y --from-paths src --ignore-src --rosdistro $ROS_DISTRO
$ ./catkin_make_release

###Caffe based object detectors CV based detectors RCNN and SSD nodes are not automatically built.

To build these nodes please follow the respective node's README SSD RCNN Yolo2 Yolo3

How to Start

$ cd $HOME/Autoware/ros
$ ./run

For Developers

Be careful when changing files under ros/src/sensing/drivers/lidar/packages/velodyne. There is subtree. The original repository is here. If you change those files from this repository, you must use git subtree push. (Please never change and push code if you don't understand git subtree well).

GitFlow, the git branching model, is used in the Autoware repository.

  • When adding new features, you can branch off your feature branch from develop.
    You can use the following command.
    $ git checkout -b feature/[your_branch_name] develop
  • When you find bugs in master, you can branch off your hotfix branch from master.
    You can use the following command.
    $ git checkout -b hotfix/[your_branch_name] master

See also branching_model for tips on Autoware development, including the coding style and branching model.

More details here

Main Packages

Localization

  • ndt_localizer
  • icp_localizer

Detection

  • lidar_tracker
  • cv_tracker
  • trafficlight_recognizer

Mission (Global) Planning

  • lane_planner
  • way_planner
  • freespace_planner

Motion (Local) Planning

  • astar_planner
  • lattice_planner
  • dp_planner

Vehicle Control

  • waypoint_follower
  • waypoint_maker

Research Papers for Citation

  1. S. Kato, S. Tokunaga, Y. Maruyama, S. Maeda, M. Hirabayashi, Y. Kitsukawa, A. Monrroy, T. Ando, Y. Fujii, and T. Azumi,``Autoware on Board: Enabling Autonomous Vehicles with Embedded Systems,'' In Proceedings of the 9th ACM/IEEE International Conference on Cyber-Physical Systems (ICCPS2018), Porto (aka Oporto), Portugal, Apr. 2018.

  2. S. Kato, E. Takeuchi, Y. Ishiguro, Y. Ninomiya, K. Takeda, and T. Hamada. "An Open Approach to Autonomous Vehicles", IEEE Micro, Vol. 35, No. 6, pp. 60-69, 2015. Link

Demo Videos

Public Road Demonstration

Public Road Demonstration

Test Field Demonstration

Test Field Demonstration

Instructional Videos

Quick Start

Quick Start

Loading Map Data

Loading Map Data

Localization with GNSS

Localization with GNSS

Localization without GNSS

Localization without GNSS

Mapping

Mapping

Detection with SSD

SSD

Detection with Yolo2

Yolo2

Detection with Yolo3

Yolo v3 Autoware

Detection with DPM

DPM

Detection with Euclidean Clustering

Clustering

Traffic Light Recognition

Traffic Light Recognition

Planning with ROSBAG

Planning with ROSBAG

Planning with wf_simulator

Planning with wf_simulator

Planning with Hybrid State A*

Planning with wf_simulator

Calibration Toolkit

Calibration Toolkit

See https://github.com/CPFL/Autoware/wiki/Calibration(EN)

Camera-LiDAR Calibration

See Autoware Camera-LiDAR Calibration

Multi-LiDAR Calibration

See Autoware Multi-LiDAR Calibration

Data Processor for Bag File

Data Processor

Ftrace

Ftrace

Sample Data

Moriyama demo

ROSBAG data for calibration test

ROSBAG data for IROS 2016

ROSBAG STORE

You can download many ROSBAG files for research and development of self-driving technology using Autoware. https://rosbag.tier4.jp

Contact

Autoware Developers (autoware@googlegroups.com)

Autoware Developers Slack Team (https://autoware.herokuapp.com/)

To subscribe to the Autoware Developers mailing list,