Ever since I saw videos of robots at Boston Dynamics, I became fascinated by robots and their vast capabilities. I grew more and more curious about the components and workings of robots, and wanted to understand how it was that they could make something move. Recently, I become interested in self-driving cars (especially the control systems they use), which is why I wanted to build an autonomous model car to explore the concept further. Having never built any sort of robot before, I wanted to test my craftsmanship to its limits and decided to take on the challenge.
It was only once starting out, that I realised how much more difficult it was to learn about the different tools, parts and recognition systems that are used in robotics. In researching how the different parts worked physically (wheels, steering etc.), I slowly came to understand what tools and equipment I would need. I decided to build the robot car using an Arduino micro controller as its control system. In combination with an ultrasonic sensor, I had to electrically link a servo motor, motor driver and the dc motors with a soldering iron. Before starting the project, I decided to make a cardboard prototype that would allow me to experiment with the different electrical components, so that any mistakes would still be easily remedied. Surprisingly, it was the construction and assembly of the final components and chassis that were the simplest as I found that having any issues present themselves physically, such as a broken wire, were much easier to fix as I could see the problem straight away. However, this was only a small part of the project, still having to learn how to program the Arduino to control the ultrasonic sensor, servo motor and wheels. The car used two DC motors to drive forwards the wheels, with the ultrasonic sensor sending information to the micro controller on the closeness of obstacles around the car. With this knowledge, the car could then stop, turn, and find an obstacle-free pathway to move in.
Figuring out not only what it was that an Arduino could do, but also how to use it, was by far the greatest challenge I had to overcome. I had never used Arduino before and didn’t know anything about what programming inputs it used or the syntax of its programs. After extensive research, I decided to write a step-by-step plan of what I wanted the robot to do, which I would then transfer into the appropriate programming terms. At this stage, the physical robot had already been built so I deemed this to be the final step of the process. When what I had programmed didn’t work, I had to individually test the components of the robot to make sure they weren’t broken. Everything seemed in working order by my program still didn’t work! After much research and frustration, trying a wide array of methods to discover the issue at hand, it turned out that I had only connected some of the wires in the wrong order!
Though many such obstacles were faced during this project, I believe it has turned out to be incredibly rewarding and a great learning experience. I developed practical skills using soldering irons, learnt about a field completely new to me, and most importantly, developed a will to persevere when faced with seemingly impossible challenges. I am tremendously grateful for this opportunity and would like to thank the Mark Evison Foundation for allowing me to broaden my knowledge and fulfil my desire to build an autonomous robot car.