Self Driving Robot
  • Home
  • Project
  • Blog/Progress
  • About
  • Downloads

Self Driving Robot

Project Goal and Initial Impression:

​The scope of the project is to build a program for the provided "Auto Car" that will allow it to smoothly navigate "roads." This ideally will include the detection and avoidance of unknown objects in real-time. Additionally, (and again, ideally) this program will allow for communication with the Auto Car's sister robot, built and programmed by my peer. This communication would entail some sort of proximity-based behavior or collaborative exploration.

The challenges are many, the first of which is, of course, to assemble the robot without breaking anything. This will likely be an ongoing construction as new sensors and other hardware may be affixed.  The programming is the heart of this project, and as such this will constitute the majority of its challenges. Starting simple is the key here--the first step is to gain an understanding of basic interface with the robot, followed by basic detection of objects.  Eventually, I will design its intelligence around the use of interrupts and priority-sorted checks to facilitate real-time behavior changes. As the program evolves, the final hope is to establish communication between the robots with use of a Wifi module.

Parallax:
​

Parallax is the company that the robot, "Activity Bot" was purchased from. As such, their website and documentation was integral in the selection and acquisition of the sensors used for this project. Alongside the robot itself, Parallax provides an integrated development environment, "SimpleIDE," for the development of programs. Within this environment a version of C, "Propeller C," was employed. Naturally, the IDE makes it quite simple to load the actual program onto the robot proper.

Sensors Used: 

"QTI" infrared emitter/receiver. Used to navigate a "road" of black electrical tape affixed to a white surface. The QTIs function by emitting an infrared pulse, which is the then reflected by the surface below. By testing the state of the QTI after a (very) short delay, we are able to understand whether or not the surface was black or white, as there will be a greater degree of reflection (and therefore greater duration of charge)​ from the black surface.

"PING" ultrasonic distance sensor. Used to detect and avoid objects. The PING functions by emitting an ultrasonic "chirp" and awaiting the resulting reflection. By comparing the time of emission and reception against the speed of sound, we are able to ascertain the distance between the sensor and an object.
​
​"ColorPal" simple color detection camera. Used to detect colored patches adjacent to the road, triggering special behaviors. ColorPal functions by using an LED to shed red, blue, and green light over a surface; the reflected light is measured via a light-to-voltage converter. By considering the values of red, blue, and green reflected we can differentiate the color of surfaces.

Breadboard Layout​:
​

Below is a diagram of the electrical connections made on the Robot's breadboard, since an actual picture would be entirely unhelpful. Note the orientation of Black/White connections.
Picture
Create a free web site with Weebly
  • Home
  • Project
  • Blog/Progress
  • About
  • Downloads