The robot build is going okay. It is quickly becoming apparent that all the grand plan of complex drawing aren’t going to happen.
Simply, the sensors aren’t as good as we thought they were. The ir sensor only has a range of 7-33cm. We have to draw in a space that is a 6ft square.
We are also having trouble using both encoders at the same time one encodes works good by itself once we add the other one it misreads. I think this has to do with the speed of the arduino.
A two wheel design will defiantly be a better state
Atmel AVR processors uses a variation of the RISC architecture, which stands for Reduced Instruction Set Computing. This is the same architecture that is used today in most of the smart phones and tablets, although ARM is the company that provides the processor for these applications. The competing architecture is x86 or x 64 which was develop by Intel.
The feature that separates RISC and x86 is that a processor that uses RISC architecture only knows a few types of instructions so this means it can cycle through each set of instructions faster. Also since the processor is less complicated, the the amount of transistors on it can be reduced and thus a processor using RISC architecture will draw less power.
Assuming that you already know what we would like to accomplish, I’ll jump right into it.
Among the many problems we must overcome, the problem that I fell that I could be most help is tracking the robots movement. There are many ways you could approach this problem; you could measure wheel rotation through a device like a rotary encoder or a pot, you could use some type of triangulation method, you could use distance sensors or you can use any other technique that comes to mind.
However there are some problems with each. If you choose to measure the wheel rotation and equate this to position, then if the wheel slips your reading and calculation would be off. If you use triangulation, in order for you to get precise readings around the magnitude of inches this would require some complicated piece of technology along with a good understanding of wave propagation theory. The use of a distance sensor would be the simplest of the bunch but when you have multiple robots your reading would be constantly throw off by their presence.
The way that I am proposing will take advantage of the unique feature of a chess board, namely the white and black squares. We could place 4 simple light sensors on each side of the robot that can detect the brightness of its surroundings and angle them in such a way so they are just inside the border of a single square. The feedback of these senors will be of a higher degree then rotation tracking so it will be able to overcome more disturbance. Also any lighting issues can be overcome by a start up calibration.
The next post will go into details about this technique: