Robot: Dohn Joe

(Sub-section )

Back(02)
Index ...
Next(04)

... Electronics/Sensors ...

The previous page outlines a massive amount of electronics & sensors that need to be crammed into this small robot only the size of a jar of peanut butter. What does this gear look like? The gallery below hilights some of this.

ColdFire Processor:

This design will be used for general vision processing & navigation. This vision processing is different from that done in the laser range finder below. Eventually I'll be doing blob detection and the 90 dhrystone mips will lend the processing power required for this task. This design is truely astounding, read more about it in the controllers section of this web site.

Of course, if you've had the chance to read the preceeding page and see the vision system prototype, and also the alternate ColdFire processor design, you'll know that this board although fun in the prototyping, has been designed out and replaced with a 3.3v much higher powered big brother.

This is the custom high current motor driver I've been working on. The entire design is single sided and surface mount (where posssible) to facilitate oven assembly. The design uses surface mounted MOSFET's with current feedback sensing. With logic level startup lockout protection, shoot through & ground bounce protection, this design is modestly advanced. To read more about it, scan through the controllers part of this web site.

Motor Driver:

Click Link for Details:

The intended result of this development project is to arive at an eventual end of a self contained 3.8" QVGA level monitor that attaches directly to the top of the robot. In developing the project pictured here, many lessons were learned. The eventual product shares almost nothing in common with this early prototype, and yet, it was a fun learning project in the making.

Sonar rear view:

These images show one of the sonar units I'll be using on this robot. It measures 1.5" x .75". In these photo's you can see the four test leads leading from the image that define the only electrical connections to get this system up and running.

Sonar front view:

This image to the righ is a snap shot of my oscilloscope screen (sorry for the image quality) with the test circuit up and running. The top trace at a 2v vertical scale shows the pules that I'm feeding into the board from an external function generator to activate the key line. The bottom trace also at 2v per division depicts the returned signal that is width proportional to the time of flight. Since these are TTLlevel inputs and outputs a simple CPLD state machine will keep up with the minimum timing requirements and make the data at the highest possible timing rate available to the processor bus. This is important considering how slow sonar is and the large variation between long time of flight measurements and those taken on close objects.

Sonar in action:

In the image below the reader can see how the sonar sensors (and the IR sensors below) are mounted to the robot. Also visible in this photo, the reader can see how each sensor has been mounted with a slight upward angle. This is done to help the problem with interferance between the effective cone of sensing and its intersection with the floor generating returns.

Sonar and IR sensors closeup...  Photo by: Rik Lambey
This image is an infra-red distance ranging module. I've choosen one with an analog output so that I can interface it to the AtoD converters on my controller board without needing to worry about wasting processor time serially shifting in digital information in the background.

Infra Red:

Image of advanced vision sys:

The laser and video camera go to the vision system I've been working on developing off and on for some time now. I have one proto-type up and running now and am working on the final version. This system is driven completely by a CPLD and sits on the processor bus. It places the results in memory and triggers and IRQ when finshed. The processor can then read the results directly from RAM. For more information on this system refer to the controllers section of this web site specifically the advanced vision systems prototype.

Laser Range Finder:

Read More:Laser Range find Article.

Without giving away too much detail about the final implementation of the robot... There are three camera systems on Dohn Joe. Two of them will be shown on the next page. The first of these, however can be seen in the image, below. Also visible are the tilt sensor the compass module, and in the upper right, one of the gyro boards. Notice, in the photo the camera used, is a slightly different model than the one pictured, above.

camera mounting close up... Photo by: Rik Lambey

Color Vision System:

This link will take the reader to the controllers section where you can see the latest work on the real time color vision system. This system will interface 4 color NTSC video cameras into an FPGA for real time multiquadrant blob detection.
This little board is the compass module I'll be using. It's smaller than most of the rest out there. I purchased it as a completed subassembly, made by dinsmore. The compass module has two discrete interfaces. It supports both I2C and additionally PWM output. In my system, with the FPGA as the primary sensor module interface both are equally simple to implement. I2C can be accomplished by merely implementing an additional master module. PWM is a simple matter of a counter and small state machine to track it's function. Outside of both are few discrettes for starting the calibration and finishing it up.

Compass Module:

radio and helical antenna installed... Photo by: Rik Lambey The image here is of the 33.6 K-baud radio module I'm going to be using on this robot. This to is an off the shelf purchased part These radio modules are really an excellent deal. The biggest drawback is that there is a 5ms lockout during the radio portions TX to RX switching time. This has to do with the transmitters power down phase. The module is a TR-900-SC-TR produced by Linx Technologies. The unit operates with a center frequency (pre-modulation) of 916.48MHz.

A number of years later, I have gone back and used this same radio transciever in another robot, ProtoBot. In that implemenation, I have used a large full wave antenna, an exteranl high gain wide band antenna and a 4-pole filter. To read more on that implementation the reader can refer to Electronics Section 71 of this web site...

Radio Module:

Tilt Module:

In order to achieve stable inverted pendulum ballancing, it is helpful to not only have gyro's (that suffer horribly from drift) but also a firts order term to feed into the equation that is "absolute". Absolute is somewhat misleading as there is error and drift in these readings as well. A direct tilt sensor reads the angle into the equation. This module is about 1&1/8" square and will do the job nicely. The issues here are those of bandwidth, rate, drift & accuracy.

GPS Module:

I've been ready to take the plunge into GPS for quite some time now. I've been lucky enough to stumble across this module while doing other research. The choice of this unit is (unfortunatly) based largely on it's packaging/size. Due to the magnitude of this project, I'm building in the hardware interface now and like some other portions of this project come back and integrate the functionality later.

In addition to this piece there are some additional specialized controlled impedance transmission connections (RF) and an antenna.

Ahh, check out these wonderfull tiny beasties. These are the micromachined Pezio rotational gyros. These gyro's are made by Tokin. To give an idea for size,they are about 1/4" x 3/4". This is only approximate.

One of the tougher issues in working with these rate gyros is that they can handle a maximum of only 300g's. That is so low that if you drop one from 4" above a hard table surface then the device is broken. These units will be mounted in an ultra low durometer rubber casting frame around the PCB to absorb shock/vibration on the robot.

Gyro Module:

Gyro mounted to top of amplifier CCA

Encoder mounting close up... Photo by: Rik Lambey The encoders are 256 line units. The gearing gear trane linkage between the motor and the encoder is 1:1, however the linkage between the encoder and the wheel is 7:1. Using quaderature encoder interperative techniques, discussed in a few of my seattle robotics society articles (left), This will result in 7168 counts per revolution. This of course is well more than I require for the job at hand, but I do not suffer a processor hit due to the embedded TPU functions.

Encoders:

PIR Module:

This is the PIR sensor. This sensor is specifically designed to vibrate/react to the radiation spectrum generated by the human body.
IR sensor in the upper left corner... Photo by: Rik Lambey This board mounts up near the top of the robot in the upper left corner of the photo snippet. It isn't really required, but it will be handy to reach over with an IR remote control and drive the robot back to the testing area without needing to walk back over and re-start the thing. I imagen this feature won't get much use after the system (as a whole) is up and running.

IR Module:

A late addition to the robot, this blue tooth module is a life saver. While continuing to rely on the main radio module for processor comunication. This radio module will interface directly through a soft UART in the FPGA to move data directly to image processing software as a fun side project and also for later sofware development. :)

Blue_Tooth:


Because there is so much circuitry to test and it was just getting all strung out all over the work bench with the distinct likely hood of shorting out the inverter or other circuitry of mixed voltages, I've taken some time out to build a robot simulator.

This acrylic monstrosity allows me to strap down and test all of the boards in a safe environment.

For additional resource information, or help on trying to locate components, electrical or mechanical, refer to the Links section of this page, left.
Back(02)
Index ...
Next(04)