This chapter was an in-depth discussion of self-driving cars and their implementation. This chapter started by discussing the basics of self-driving car technology and its history. After that, we discussed the core blocks of a typical self-driving car. We also discussed the concept of autonomy levels in self-driving cars. Then, we took a look at different sensors and components commonly used in a self-driving car.
We discussed how to simulate such a car in Gazebo and interfacing it with ROS. After discussing all sensors, we looked at an open source self-driving car project that incorporated all sensors and simulated the car model itself in Gazebo. We visualized its sensor data and moved the robot using a teleoperation node. We also mapped the environment using hector SLAM. The next project was from Dataspeed Inc., in which we saw how to interface a real DBW-compatible...