Programming a self-driving car
Abstract
Self-driving cars are autonomous vehicles that can drive through traffic all by themselves. As unbelievable or far-fetched as it may sound, it may just be the greatest technological revolution of the near future. It involves the use of Mechatronics and Artificial Intelligence (AI) to control the vehicle, thereby taking the responsibilities of the driver, providing a more manageable control over it. And a swarm of autonomous vehicles could just be the solution to our traffic problems; no traffic jam, no road accidents, no delayed journey; life would be so much easier. As part of my thesis, I am programming a self-driving miniature robot car, as the unit of the swarm of self-driving cars. There are several technologies that can be used to develop these autonomous vehicles- laser, lidar, radar, ultrasonic sensors, GPS, image processing, computer vision, machine vision etc. Since I am programming for a miniature size robot car, I have chosen to use smaller and easily available technologies. The processing unit of my robotic car is an Android Phone, which is already equipped with GPS, Gyroscope and other sensors. Other devices I am using are Raspberry Pi & Sonar sensors that work together to detect obstacles. My goal is to program the car to be able to navigate its way from one point to another on a given driving environment avoiding any obstacle on the way. In the future I would like to implement my car’s AI on a swarm of robot cars, having them operate on the same environment and follow real life traffic rules and guidelines, and developing swarm intelligence.