How do Self-Driving Cars Respond to Obstacles in their Path

For my self-driving car, I will use a Logitech webcam. The robot uses IR sensors to go around the given path. If a webcam detects a human face on the path, the robot car stops. If they face is removed from webcam’s sight, the robot moves again. If oth
Mansukh Virdi
Grade 7

Problem

In my project, the problem I am trying to solve is creating a self driving car that is relatively cheep but safe at same time for people in and around the car.

Method

In this project, I am further developing my line following robot from last year.  The way I have done this is by using IR sensors, webcam, power bank, LCD and AA batteries.  The robot does not reply on external power supply connected to it.  The LCD is used to turn the robot on/off using Python scrip and for live face detection.  I am using 2 different codes for my robot car; the first being face detection code running on Raspberry Pi 4 Model B.  The second code is for the line following and motor control.  This is running on the Arduino Uno R3 board.

Analysis

There were many iterations and different designs that were implemented during the testing phase of my car. The first car was created using a robot building kit from Amazon, which had a caster wheel on the front and two motors on the back.  The camera was connecting using long printer cable to the computer.  This prototype was good, but it was not strong enough to pull the long cables connected to my computer and did not move fast or at all at times. In the second prototype, I switched to using 4 motors instead of using 2 motors.  The problem for this design was there was not enough space on the car for all the elections and motors. So, I decided to create a 2-layer design.  This was created using an acrylic sheet cut into 2 equal size rectangles for top and bottom layers.  This made the car very tall and unstable.  In the final prototype, I switched back to 2 motors design with 2 layers.  This design finally worked.  I also had many problems with low power supply during these iterations and I had to play around with number of batteries to get the motors to work properly.  Initially, I tried 2 large lipo batteries, followed by 3 AA, 4 AA, 5AA and finally 6 AA batteries.  During all these trial and errors, there was lots of learning involved and researching. 

Conclusion

Overall, my robot works very well.  It can recognize facial images and based on that, it knows what to do.  However, there can be many improvements made to my robot.  The current configuration drains the batteries very fast, and they do not last long.  There has to be ways to make this more efficient so the batteries last longer.  The wiring is quite messy.  If a person is trying to follow the wiring, they can have a difficult time understanding the wiring.  Sometimes when the person is right beside the truing radius, the webcam is too slow to recognize the facial image and runs the person over.  To address this issue, I need a better webcam with higher speed.  I believe “Go Pro” may work better but I do not know because I did not have one to test it.  The turning radius of the car is very large.  If the robot needs to turn quickly, it struggles.  I believe for this, I may have to use stepper motors because for these motors you can control speed.  They are not just on/off. 

Acknowledgement

I would like to thank my teachers and STEM IA for giving me is opportunity to do this project.  My school helped me cut the acrylic sheets for the chassis.  I would also like to thank Active Electronics for giving me advice on the power issue I was having. My family has also helped me in getting parts I needed and giving me support and encouraging me when I thought my car would not work.