The DuckieBot is a self-driving robot that can navigate through a small scale town. Inspired by self-driving cars that are already on the market, the DuckieBot is a mechanically simple robot that drives and records video that the onboard Raspberry PI can process to steer the robot. A camera sends information to the computer, which identifies lanes and directs the robot to move around them according to the rules of the road.
When making this project, I have gained a lot of insight into how self-driving cars work and how difficult they are to engineer. It's actually relatively easy to make a robot that can drive around in a perfect world. The hard part of making self-driving cars is actually implementing all the tiny possibility edge cases in which something unexpected happens. For example, what if something that looks like a lane to a robot falls onto the track? The robot would begin tracking this instead of the actual lanes. To make a safe self-driving car, all of these low-probability events need to be accounted for.