Let's Make Robots!

Tiny Tim 2


Let's face it, I've been a total slacker when it comes to building robots (I can hear the distant voice of fritsl mumbling something about never finishing my robot projects and yada yada :-)). Well this robot has - despite some design flaws - landed pretty well on its feet and is on the way to becoming a contestant in the annual DTU Robocup robot competition which was the event that inspired me to build robots in the first place. I've competed in this event before but with robots suffering from either my lack of electronics wisdom or from my slacking. This year the competition will take place in late March so no time for slacking.

For now the robot doesn't really do anything that would captivate an audience (only when it's driving towards the cat), so I've deferred from uploading any video for now, but here's a description and some images of it so far:

  • Body is built from LEGO Technic using two powerful motors from the 8287-1 set and using two quadrature encoders from the Robotics Invention System period of LEGO MINDSTORMS.
  • Power source is a 7.2 V Li-ION 1100 mAh battery.
  • PCB is homemade and designed using CadSoft's Eagle software and using iron-on transfering to the copper and etching in Ferric chloride.
  • The two H-bridges used in the design are of this design.
  • A Sharp distance sensor is used for measuring distance to obstacles in front of the robot.
  • There are two Atmel tiny26 micro-controllers on the board: one is for measuring analog values related to line detection and distance and the other is for behaviour control and motor control (including reading of encoders).
  • The software for both the tiny26 chips is written in C using vim and avr-gcc.

At this moment the robot can measure its speed and regulate its motors to keep a desired speed. This means that when the robot goes uphill (as it will have to in the competition) it will recognise that its speed has dropped and will increase motor power and vice versa when it goes downhill. The regulation is currently nothing more than: if speed is faster than desired then decrease motor power with a constant amount. This works well enough for the competion but eventually it would be more desirable to have something like PID-regulation on the speed.

Currently I'm working on getting the I2C communication between the two micro-controllers working. The tiny26 hardware support for I2C is limited so it will be a mix of using the universal serial interface that it has and handling the protocol in software.

Originally I was planning for the PCB on the robot to contain two I2C slaves (motor driver and sensor reader) and then adding another PCB containing the I2C master that would be working as a controller and putting up a UI to interact with, but that will have to wait to until after this year's competition.

Some images:

Close-up of PCB

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Wow! Nice combination of Lego and custom electronics! I know how frustrating the limitations of the RIS are and I've done some miniature robot controllers for Lego bots in the past, but I never tackled the high power motors. As for the competition, it looks very interesting and I wish I could afford to attend. Perhaps in a few years, if it will still be available... I will follow your progress with this one for sure! Congrats!

You inspired me! As soon as i'm done with my endless electronic project I'll be back to making bots like you jip! 

Nice work on the bot, looks so neat! And the integration of electronics+lego is great!! Yay!

Thanks tuna! Hmm... as soon as you're done with your endless project? That won't be anytime soon then ;-) Well good to hear that you're going back to building bots - looking forward to seeing them!
It's kind of endless yeah....i started it after i made my first robot and now i'm stuck on it. But I'll post it as soon as i get something!

Hey dude,

Good to see you around again. Its funny --I was looking at your post about IO expanders just last night! I needed the pinout and it is more easily found here than via the googles.

Word.

Thanks Chris,

You know I used to have problems transferring the PCB layout onto the copper until I applied your two fine tips - thanks! As you can see in the pictures it works nicely now.

Funny about the IO expanders... but don't expect me to post a new robot every time you look at that component ;-)

Cheers

Allow me to say "yada yada" :D

Cool one, Jippiboy, We should make an LMR locals fangroup to come and cheer for you!

Can we come? For the public record; I live just a nice drive away. When would it be best that we came, how far do you expect to go? (I an see that it lasts several days, I'd hate to show up to the final and you not being there ;)

Of course you can come, old man! I'll buy you a cup of coffee or a beer or whatever you drink. You should bring a camera though!

Based on my robot's current status and the past years of Robocup I would expect to reach the finals but one never knows how strong the competition will be - or how the robot will behave when exposed to a crowd. I will give you a status report some time in March (or maybe you'll se an update here on LMR) and then we can make an educated guess on how far I will go.

...there is beer very close to the competition area (which is mainly the reason why I participate!). If I recall correctly some of the roboteers go there after the finals and spend all their prize money on beer (which is a wise choice) - very cozy.

Cool!

Make sure to announce as much as possible as soon s possible, could be fun if we could team up a couple of LMRians :D With stickers and all :D

(and best of luck, you appear optimistic this season ;)

Great looking robot jip, the lego frame reminds me of when i was younger. I was wondering how you got the silk screen on top of the pcb board?