Autonomous Car
Mansukh Virdi
STEM Innovation Academy Jr. High N.W. Campus
Grade 8
Presentation
No video provided
Problem
The problem that I wanted to solve in this project was how to design and build a robot that can safely move from one location to another while detecting objects and avoiding obstacles, like a real self-driving car. This is because many self driving cars have 10 of millions of dollars of funding if not more and still can fail so how effective can a self driving car made using open-source python libraries and around $1000 dollars worth of funding.
Method
The methodology used in this project first started with designing the robot before construction, and programming of an autonomous robot. The programming languages used include Python and Arduino IDE. Initial design, of the robot used four DC motors but due to too much friction the final design was switched to a two DC motors design and one castor wheel. To control the motors a L298N Motor Driver was added to allow the robot to move around. The motor driver was the connected to an Arduino Uno R3. An HC SR04 was also connected to the Arduino to allow it to sense how far away obstacles are. To align the robot properly at the yaw of 0 ° a MPU6050 gyro was added. A Raspberry Pi 4 was connected to the Arduino and the laptop to allow the laptop to send signals to the Raspberry Pi and the Arduino how to move the motors. A Logitech C270 was also connected to the laptop via a wireless port to allow the robot to perform object. The entire robot system was tested multiple times on different surfaces, and adjustments were made to improve turning accuracy, distance measurement, and obstacle avoidance.
Analysis
Object Detection: • Works reliably when using laptop-based image processing • Detects cones, signs, and people with good accuracy Obstacle Avoidance: • Ultrasonic sensor prevents the robot from hitting cones • Robot successfully performs bypass maneuvers when distance is too small Navigation Performance: • Robot follows X→Y or Y→X paths correctly • Turning is mostly accurate but still varies slightly based on floor and battery level • Alignment improves significantly with the gyro, though drift still happens Communication System: • Wireless link between PC and Raspberry Pi is stable • Commands are delivered quickly and reliably • Robot responds to instructions without major delays Mechanical Stability: • Two‑wheel + castor design is much more effective than earlier 4‑wheel versions • Still sensitive to surface types (tile vs carpet vs gym floor) Summary: The robot performs its required tasks well and shows strong engineering design. With improvements to turning accuracy, surface calibration, and path optimization, its performance could reach near professional levels.
Conclusion
Conclusion
The autonomous robot successfully works and can: • Detect objects • Avoid cones • Follow programmed paths • Communication between a laptop, Raspberry Pi, and Arduino • Use sensors (gyro and ultrasonic) to stay aligned and avoid collisions Even though the robot works, there are still some small bugs, such as: • Turning accuracy • Sensitivity to floor surfaces • Dependence on battery voltage • Occasional drift or slow reaction times • Slowing down for yield and school zones For a Grade 8 student, the progress is still extremely good. The project uses multiple programming languages. • Combines software + hardware + electronics + AI concepts • Involving real engineering problem solving skills With some guidance from an adult or an experienced programmer, future improvements can make the robot: • Faster • More accurate • More reliable Final Thought: Due to the large scale of this project and me not being the best programmer the outcome is still very good. The robot may not be perfect yet, but the foundation is excellent and sets the stage for advancements through future work.
Citations
Acknowledging AI Support • AI was used as a learning tool, not to replace real work • It helped explain many concepts and gave debugging ideas • AI when used properly, it becomes: • A very helpful tutor • A way to learn faster
Acknowledgement
Acknowledgment & References
• https://forum.pololu.com/t/line-follower-code-and-circuit-diagram/20273 • https://www.electronicsforu.com/technology-trends/learn-electronics/ir-led-infrared-sensor-basics • https://docs.arduino.cc/hardware/uno-rev3 • https://deeplift.blogspot.com/2021/01/how-to-make-line-follower-using-three-irsensor.html • https://forum.arduino.cc/t/line-following-robot-coding/894820/24 • https://www.circuitgeeks.com/hc-sr04-ultrasonic-sensor-with-arduino/ • https://projecthub.arduino.cc/hibit/how-to-use-the-l298n-motor-driver-module-0bb697 • http://www.geology.smu.edu/~dpa-www/robo/trux/index.html • https://codeandlife.com/2012/07/29/arduino-and-raspberry-pi-serial-communication/ • https://www.penguintutor.com/electronics/rpi-arduino-spi#google_vignette • https://www.instructables.com/Raspberry-Pi-Arduino-Serial-Communication/ • https://gemini.google.com/app • https://chatgpt.com/ • https://copilot.microsoft.com/
