# Howto Guides

## Build
- [How to build and release](how_to_build_and_release.md)
- [How to launch and run Apollo](how_to_launch_Apollo.md)
- [How to build your own kernel](how_to_build_your_own_kernel.md)
- [How to install apollo kernel](how_to_install_apollo_kernel.md)
- [How to save and load docker image locally](how_to_save_load_docker_image_locally.md)
- [How to build Apollo using Ubuntu 16(Apollo 2.5)](how_to_run_apollo_2.5_with_ubuntu16.md)
- [How to build and debug using VSCode](how_to_build_and_debug_using_vscode.md)
- [How to build Apollo using Ubuntu 16(Apollo 3.0)](how_to_run_apollo_3.0_with_ubuntu16.md)

#### Chinese versions
- [How to build and debug using VSCode](how_to_build_and_debug_apollo_in_vscode_cn.md)
- [How to install apollo kernel](how_to_install_apollo_kernel_cn.md)
- [How to build Apollo using Ubuntu 16(Apollo 3.0)](how_to_run_apollo_3.0_with_ubuntu16_cn.md)

## Contribution
- [How to document code](how_to_document_code.md)
- [How to style check your code contribution](how_to_style_check_to_one_dir.md)
- [How to create a pull request](how_to_create_a_pull.md)
- [How to migrate to the updated apollo master from previous versions.md](how_to_migrate_to_the_updated_apollo_master_from_old_versions.md)

### Chinese versions
- [How to style check your code contribution](how_to_style_check_to_one_dir_cn.md)

## Debugging and troubleshooting
- [How to debug dreamview start problem](how_to_debug_dreamview_start_problem.md)
- [How to troubleshoot your ESD CAN device](how_to_troubleshoot_esdcan.md)

### Chinese versions
- [How to debug dreamview start problem](how_to_debug_dreamview_start_problem_cn.md)
- [How to troubleshoot your ESD CAN device](how_to_troubleshoot_esdcan_cn.md)

## Extended modules
- [How to add a gps receiver](how_to_add_a_gps_receiver.md)
- [How to add a new CAN card](how_to_add_a_new_can_card.md)
- [How to add a new control algorithm](how_to_add_a_new_control_algorithm.md)
- [How to add a new evaluator in prediction module](how_to_add_a_new_evaluator_in_prediction_module.md)
- [How to add a new predictor in prediction module](how_to_add_a_new_predictor_in_prediction_module.md)
- [How to add a new vehicle](how_to_add_a_new_vehicle.md)
- [How to add an external dependency](how_to_add_an_external_dependency.md)
- [How to Run MSF Localization Module On Your Local Computer](how_to_run_MSF_localization_module_on_your_local_computer.md)
- [How to train Prediction's MLP model](how_to_train_prediction_mlp_model.md)
- [How to use the navigation mode of Apollo 2.5](how_to_use_apollo_2.5_navigation_mode.md)
- [How to setup Dual IPCs for Apollo 3.5](how_to_setup_dual_ipc.md)

### Chinese versions

- [How to add a gps receiver](how_to_add_a_gps_receiver_cn.md)
- [How to add a new CAN card](how_to_add_a_new_can_card_cn.md)
- [How to add a new control algorithm](how_to_add_a_new_control_algorithm_cn.md)
- [How to add a new evaluator in prediction module](how_to_add_a_new_evaluator_in_prediction_module_cn.md)
- [How to add a new predictor in prediction module](how_to_add_a_new_predictor_in_prediction_module_cn.md)
- [How to add a new vehicle](how_to_add_a_new_vehicle_cn.md)
- [How to add an external dependency](how_to_add_an_external_dependency_cn.md)
- [How to Run MSF Localization Module On Your Local Computer](how_to_run_MSF_localization_module_on_your_local_computer_cn.md)
- [How to train Prediction's MLP model](how_to_train_prediction_mlp_model_cn.md)
- [How to use the navigation mode of Apollo 2.5 cn](how_to_use_apollo_2.5_navigation_mode_cn.md)


## Preparing the environment and porting to other distros
- [How to set up a network](how_to_set_up_a_network.md)
- [How to prepare Centos based GPU enabled image for ROS perception module](how_to_prepare_centosbased_gpu_enabled_image_for_ROS_perception_module.md)

## Architecture
- [How to understand Apollo's core architecture and workflow](how_to_understand_architecture_and_workflow.md)

## Helper tools and optimization
- [How to run the Map Data Verification Tool](how_to_run_map_verification_tool.md)
- [How to run offline perception visualizer](how_to_run_offline_perception_visualizer.md)
- [How to run offline sequential obstacle perception visualizer](how_to_run_offline_sequential_obstacle_perception_visualizer.md)
- [How to run perception module on your local computer](how_to_run_perception_module_on_your_local_computer.md)
- [How to tune control parameters](how_to_tune_control_parameters.md)
- [How to update vehicle calibration](how_to_update_vehicle_calibration.md)
- [How to do performance profiling](how_to_do_performance_profiling.md)
- [How to run Offline Perception Visualizer for Apollo 2.5](how_to_run_apollo_2.5_perception_visualizer.md)
- [How to use Common Cyber Commands - Basic guide](how_to_use_cyber_commands.md)

### Chinese versions
- [How to run offline perception visualizer](how_to_run_offline_perception_visualizer_cn.md)
- [How to run offline sequential obstacle perception visualizer](how_to_run_offline_sequential_obstacle_perception_visualizer_cn.md)
- [How to tune control parameters](how_to_tune_control_parameters_cn.md)
- [How to update vehicle calibration](how_to_update_vehicle_calibration_cn.md)

## Others
- [How to install ubuntu](how_to_install_ubuntu.md)
- [How to use IRC client on ubuntu](how_to_use_IRC_client_on_ubuntu.md)
- [How to generate and push images into Docker](how_to_generate_and_push_docker_images.md)
- [How to add a different vehicle](how_to_use_a_different_vehicle.md)

### Chinese versions

- [How to generate and push images into Docker](how_to_generate_and_push_docker_images_cn.md)
- [How to install ubuntu](how_to_install_ubuntu_cn.md)
- [How to solve slow pull from cn](how_to_solve_slow_pull_from_cn.md)