Let's Make Robots!

Prototype robot car

Navigate by sudden deceleration (collision sensing)

This is a prototype of a robot car I am designing for the classroom. The idea is to create a kit, cheap and simple enough for the classroom with enough educational value to challenge students for a semester.

Most robots use a differential skid steer system, I decided to use a car chassis which provides the additional challenge of 3 point turns.

The steering is driven by a DC motor with a potentiometer providing feedback. This allows the steering to be precisely controlled with suitable code.

The car is 75mm wide, 150mm long and about 60mm high. The large flat area at the front is ideal for adding a small breadboard.

Bumper switches have been replaced by the 3-axis accelerometer which can detect the magnitude and direction of a collision or impact when hit by another robot.

Using the accelerometer provides a number of challenges. Firstly the results must be filtered to reduce noise. Secondly I found that when the car does collide the body vibrates for a short period. This vibration must also be filtered in order to get an accurate reading.The accelerometer is also useful for detecting inclines and determining if the car is in danger of tipping over.

Four IR LEDs and phototransitors are mounted on the sensor PCB at the front of the car. These allow the car to follow a line and detect edges.

The body is made from laser cut acrylic panels and the aluminium chassis is from a previously discontinued solar car. The heart of the car is DAGU's new Micro Magician robot controller which has a dual 1A FET "H" bridge and the 3-axis accelerometer built in.

Currently I am learning to create libraries for Arduino so I can make some features easier to use. I have also had 1 teacher request the inclusion of an encoder.

I would love to put a mouse sensor underneath as this would measure distance, speed and direction (for steering calibration). The big problem is that the mouse sensor needs to be very close to the ground which limits ground clearance considerably.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Congratulations, this is really a great project! The parts used are from toys or other purchases? Because I'd like to at least the mechanical parts (wheels, motors) mounted somewhere out. Is there any idea where? LEGO toy or some other reason?

This is a kit you can buy from DAGU. There are some online stores that stock it as well.



into a lot of robots. There's a lot packed into a tiny board there. I can't off hand think of any boards offering the controller, h-bridge and an accelerometer all in one. Is dagu planning to offer the board alone?

Yes, currently it is Chinese new year holidays and I am testing the controller. They should be in the shops in about 4-6 weeks.

Nice clean well thought out design-as usual from the Oddbot. I got to tell you though, you have NO idea how bad I want to build a body for that thing..........

I'm not surprised. As I said this body is intended to be cheap.

Nice Vehicle and a real novel way of detect and turn....

.... your Steering servo mech caught my eye though (very neat and i would like to try this out)....

It leads me to impulse you with :-

Strong Branded Servos are expensive for what they actually are - your steering Servo could be easily scaled up for real high power work (not just for steering) , i can see that using a potentiometer is ok provided you dont go past the end stops , you can put mechnical end stops however when the servo motor hits one it goes into stall situation and currents can go high....... How could you prevent this or better limit/control the holding current ?.....

G'day Gareth, perhaps the best way when using big motors Is to have a secondary control circuit. Either limit switches or relays and limit sensors that will prevent a motor from running in one direction when the limit is reached but still allow the motor to run in the opposite direction. Think of a microswitch with a diode in parallel. When the switch is closed current flows in both directions. When the switch opens the diode limits current flow to one direction only. This circuit is completely independant from processor control.

Very convienent bridge & motor connectors.  I really like the split of some of the data-pins with the 3 prong & some with the bi-gender header (very experimenter freindly).  The IR reciever looks like it would have "fun" potential too.  I'm a little suprised you put a USB connector vs FDTI (or other cable solution) if space was at a premium, but this was probably a convienence over space decision? All rails are 3v?  Is there a strategy for handling 5v sensors?

I have an aunt who drives like that.. maybe she needs more sensors..

The design is aimed at small robots but not at the cost of convenience. I wanted a USB interface and the ability to drive servos directly from the controller. I could have used a much smaller USB interface IC that did not require a huge crystal but the software for this interface IC is easier to install and the chip is slightly cheaper. If you are using 4x 1.2V NiMh batteries for power then 5V sensors are pretty simple to interface. Most 5V digital devices work fine with 3.3V inputs. A 4K7 resistor placed between a 5V digital output and a 3.3V input will limit current so as not to damage the MCU's clamping diodes. 5V analog outputs require a simple voltage divider made of a 2K and 3K3 resistor. When I write the manual I will include this information with schematics.