# Apollo 3.0 Technical Tutorial

## Overview

Learn Apollo basic concepts and Apollo 3.0 quick start

* [Apollo 3.0 quick start](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/quickstart/apollo_3_0_quick_start.md)

## Hardware system installation

Learn the procedure of Apollo 3.0 hardware system installation

* [Apollo 3.0 Hardware System Installation guide](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/quickstart/apollo_3_0_hardware_system_installation_guide.md)

## Calibration

Learn the process of the calibration service

* [Calibration guide between LiDAR and INS](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/apollo_lidar_imu_calibration_guide.md)
* [Guide for Camera-to-Camera calibration, Camera-to-LiDAR calibration, Radar-to-Camera calibration, IMU-to-Vehicle calibration](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/quickstart/apollo_2_0_sensor_calibration_guide.md)
* [Multiple-LiDAR GNSS calibration guide](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/quickstart/multiple_lidar_gnss_calibration_guide.md)
* [Apollo Coordinate System](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/coordination.pdf)


## Software installation

Learn the procedure of Apollo 3.0 software system installation

* [Apollo software installation guide](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/quickstart/apollo_software_installation_guide.md)
* [How to Debug a Dreamview Start Problem](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_debug_dreamview_start_problem.md)
* [Run offline demo](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/demo_guide/README.md)


## Software architecture and principles

Learn Apollo software architecture and principles of core modules

* [Apollo software architecture](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/Apollo_3.0_Software_Architecture.md "Apollo software architecture")
* [3D Obstacle Perception](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/3d_obstacle_perception.md)
* [Apollo 3.0 Perception](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/perception/README.md)
* [QP-Spline-Path Optimizer](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/qp_spline_path_optimizer.md)
* [QP-Spline-ST-Speed Optimizer](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/qp_spline_st_speed_optimizer.md)
* [Reference Line Smoother](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/reference_line_smoother.md)
* [Traffic Light Perception](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/traffic_light.md)


## Software modules and extension

Learn Apollo software modules and extension

* [Canbus module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/canbus/README.md)
* [Common module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/common/README.md)
* [Control module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/control/README.md)
* [Data module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/data/README.md)
* [Localization module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/localization/README.md)
* [Perception module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/perception/README.md)
* [Planning module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/planning/README.md)
* [Prediction module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/prediction/README.md)
* [Routing module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/modules/routing/README.md)

* [How to Add a New GPS Receiver](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_add_a_gps_receiver.md)
* [How to Add a New CAN Card](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_add_a_new_can_card.md )
* [How to Add a New Control Algorithm](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_add_a_new_control_algorithm.md)
* [How to Add a New Evaluator in Prediction Module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_add_a_new_evaluator_in_prediction_module.md)
* [How to Add a New Predictor in Prediction Module](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_add_a_new_predictor_in_prediction_module.md)
* [How to Add a New Vehicle](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_add_a_new_vehicle.md)
* [How to Add a New External Dependency](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_add_an_external_dependency.md)


## Developer-Friendliness

Learn Apollo developer tools

* [How  to build and debug Apollo in VSCode](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/howto/how_to_build_and_debug_apollo_in_vscode_cn.md "How  to build and debug Apollo in VSCode")
* [Introduction of Dreamview](https://github.com/ApolloAuto/apollo/blob/r3.0.0/docs/specs/dreamview_usage_table.md)