Goal:
Building a pathfinding rover with an onboard computer. Tell it to go to x, y, and it will get there. Also being able to control the bot wirelessly from another computer. Aiming for a range of a few hundred yards. Possibly IR beacon seeking as well.
Why:
I am a senior in Computer Science with a focus in Real Time and Embedded systems. For my senior research / independent study I have elected to build a pathfinding robot, much like the recent DARPA challenge, but on a much smaller scale. I will be sticking with Ada for almost all the forseeable uses in this project. (unfortunately free compliers are not available for some architectures, like Arm).
The parts:]Chassis: Aluminum 4WD1 Rover Kit (not yet purchased)/:m]
]Motor controller: Sabertooth 2X10 R/C (not yet purchased)/:m]
]Batteries: ?
/:m]
]Main computer: Advantech PCM-3353F PC/104 (purchased, in transit) cost: $270.00/:m]
]RAM: Crucial 1GB 200-Pin DDR SO-DIMM DDR 333 (purchased, in transit) Cost: $49.99/:m]
]Storage: Old laptop HDDs laying around (possibly replaced with flash someday)/:m]
]DIO: WinSystems PCM-UIO48A 48 Bidirectional lines with Input, Output or Output with Readback (purchased, in transit) Cost: $19.00/:m]
]Counter/Timer: WinSystems PCM-CTC six 16 bit counter/timers (purchased, in transit) Cost: $19.99/:m]
]Enclosure: Tri-M Can-Tainer (candidate)/:m]
]Power supply: picoPSU-60WI 60w output (80w peak), 6v to 26v wide input DC-DC (candidate)/:m]
Not 100% sure if these things will be onboard or necessary:
]Analog IO: Technologic TS-9700 8 12-bit ADC, 4 12-bit DAC optional (might want different voltage ranges than this provides)/:m]
]Wireless communication: ? (zigbee + IP over serial seems like a good idea)/:m]
]GPS: ?/:m]
]Camera: ?/:m]
]Additional computers: Winsystems PCM-SX (33 Mhz 386 with 8 Mb of RAM) (Running MaRTE, communication done by serial or by standard networking (RPC or sockets))/:m]
Threads / Tasks:
]left motor control/:m]
]right motor control/:m]
]heading / steering/:m]
]guidance/:m]
]rotary encoder monitors/:m]
]sensors (maybe more than 1)/:m]
]others embedded in drivers/:m]I’m still working through my UML diagrams. Once I have them more finalized I’ll share them with you. And I’ll try to adhere to the Ravenscar profile. I’m not used to things with this few threads…
I could probably do all this (except the networking) in MaRTE running on a 386 class processor. Eventually I’d like to get into more complex mapping and pathfinding that will require the faster Geode processor. That and a full fledged Linux distro will have TextToSpeech programs (Festival) so I can easily make a speaking robot with some shell scripts is always a plus.
I’m currently waiting on shipping for the computer hardware so I can start writing drivers. Once that is done and all looks good I’ll start ordering the sensors and getting things calibrated.
Three things that I have been wondering about:
I’d like at least one IR sensor to face forward and down. I don’t want $600 worth of hardware to try and walk down stairs. Is one enough or should I have one at each front corner? (thinking if the bot approaches at an angle…)
Answered! Going to include one of these on each front corner. these look like the right connectors. Should be easy enough to hook one up to an IRQ.
Rangefinders… I’d like something that pans, (easy enough to do via servo) but any suggestions beyond the IR / sonar setup and taking measurements every few degrees?
Is 5v & 12 ma enough to simulate PWM RC signals for the Sabertooth or should I go with another option? (finaggling the voltage or going with serial)