Let's Make Robots!

QuickStart

 
A general purpose platform

This is essentially the QuickStart robot from the Lego Mindstorms nxt kit without the grabber and with a wider front bumper. It took about 15 minutes to build and about three days to program.

It can complete the LMR Chair Challenge (see video) by using rotation encoders to follow a preset path - which I feel is a bit of a cheat. However, it fails much more often than it succeeds because it wanders off line and crashes into a chair leg. There seems to be a known problem with the accuracy of the encoders when using one "motor block" to control two motors. I tried to correct this by using the front bumper, but have yet to find a way to create and trap an interrupt from the touch switch whilst the motors are carrying out an instruction to rotate a certain number of degrees. I can generate an interrupt when rotating an unlimited number of turns, but then the distatnce encoders don't seem to work. I have also found that the accuracy of the encoders improves the faster the robot moves, which seems counter-intuative.

If you max the volume on the video you may be able to hear the robot announcing its intentions before each move. I should have increased the volume but my daughter was trying to sleep in the next room.

Although this robot is essentially finished - I have videoed the chair challenge - I want to improve its reliability by using some sensor (touch or sonar) to detect that it is off-course and to attempt a correction.


09 January 2009

Here's another video. I've got some more of the sensors working, so this time the 'bot wanders around until it finds a dark place to curl up and go to sleep. If it hits an obstacle it backs up in a random direction before setting off again.

You may notice that I redesigned the "nose cone" slightly to give the bumper a better chance of hitting the obstacle before the sonar gets tangled up. Whilst trying the chair challenge I had noted the 'bot had a tendancy to drift to the right. I swapped over the motor connections - so the right motor output now drives the left motor and vice versa - and the 'bot now drifts to the left. So either the nxt brick drives the motors differently, or a difference in the motor leads is having a significant impact.

Comment viewing options

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

I't's hard to get identical motors so you'll always get some drift unless you use encoders to correct. Another thing is that small DC motors tend to go in one direction better than the other.

One trick I used to do as a kid with round motors was to undo the crimps holding the endcap of the motor and twist it. Twisting the endcap changed the position of the brushes on the commutator relative to the magnets. This made the motor faster (and draw more power) in one direction while being slower and weaker in the other.

You probably can't do this with the lego motors but it may come in handy some time with another robot and the right kind of motors.

I didn't swap the motors over, only the signal to the motors. The motors are receiving different signals.

Mike

Thanks for entering the challenge, mike, and sorry mike, you did not pass ;P

The last / first leg was not completed!

Come again :)

It did a complete circle of each leg. Looking from the start point it did top right, top left, bottom left and finally bottom right. If it had trailed a bit of string, it would be looped round each chair leg by the end. The rules say that the legs can be circled in any order; and don't say that the robot has to return to the start

 I think it passes. :)

Mike

Oops, you are actually right! :) Sorry, it's the last one that got me, sorry, my bad, hats off, you win, shame on me, Mike 1 - Frits 0, touche, I'm a looooser!

 No worries ;)

 As I said, I think using distance encoders is a bit of a cheat. Especially as it only "pases" the test maybe one time in five. I'll keep working on a version that has at least a limited ability to recover from errors. Even a line following robot would be smarter than this one.

Mike

I think you got one of the best Xmas presents. It's funny the quirks these little robots develop such as your encoders being more accurate at higher speeds. I find the X1 picaxes have a lot of servo jitter problems that shouldn't exist but can be fixed in part by code yet the 08M never gave me any trouble and worked the way it should.

Let's see it write LMR :)

Thanks, you are very kind.

I had thought of attaching a pen to trace its path through the chair challenge. Writing LMR may be a better challenge though.

Mike