Let's Make Robots!


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.

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. :)


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.