Let's Make Robots!

Router Controlled Mobile Robot


My robot is based on (quite out-of-date) Tamyia RC car in 1:10 scale. All electronics is placed inside plastic box ont the top of the car. The brain is made of Edimax BR-6104KP router, which has got two USB ports, two UARTs, some GPIOs (under desoldered LEDS - it can be used for I2C, tact-switches, buzzer and so) and some LAN ports, of course. The box is transparent, which is good for 16x2 character LCD mounted under the cover. LCD is connected to router's UART and is used for simple menu (program select, sensor test, shutdown system :-), ...)

cely4.jpg

Sunspot's page really helped me with the router hacking. Thanks to Linux running on the router I write some programs in C (sensors & actutators handling through the I2C made from desoldered LEDs) and glue them with Perl - lightweight interpreted language, so the algorithms can be easily and quickly modified and loaded to FTP. Linux distribution and all programs and files are stored on small USB flash stick.

Now it is only able to run some easy algorithms (stupid avoiding obstacles with ultrasonic sonar and infrared ranger), but it should be able to go thgough defined track (thanks to odometry and digital compass), I am now playing with remote control and trying to draw tracks - for example, this was circle:

 circle

Remote control application is written in Delphi and communicates wireless because of WiFi AP mounted on robot's back. I have made also control through web interface (there's a webserver running on the hacked router), but response time was too long - about nearly a second per command. Good for home automation, not for robot controlling :-)

Using I2C as main robot's bus wasn't good idea. I have servo control board (ATmega8 - it handles incremental wheel encoder as well), analog sensor board (ATmega8, IT handles IR rangefinder mounted on a 2ervo), ultrasonic rangefinder (SRF02) and a digital compass connected to I2C on quite long cables and the communication sometimes fails. It can be big problem, because I don't want to destroy my robot by colision with a car or wall, so in my next project I will use another bus (CAN maybe).

Block scheme

Robot has got it's own page at knowhow.adamh.cz/robot2, but it is written in Czech (as well as the picture above) - here you can find it translated by Google translate. Maybe I'll write about my next projects in English next time :-)

Comment viewing options

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

I know I'm gonna break some common courtesy laws by asking this but my curiosity won't let me sleep. So ere it is: how much have you spent in order to build this? Besides that, how much time have you spent working on it? And let's say someone offers to buy it from you, how much would you ask for it?

___________

Admin Edit: Please do not post links to non robotics sites or products. This is considered spam and your account will be disabled.

I actually don't want to sell my robot and don't know its price, but it could be counted from prices of userd parts - SRF02, CMPS03, GP2D120, servos, motor regulator, motor, chasis, ... I don't know the time spent on it, but it isn't too much, just few weekends (you only have to build some boards, plug everything together and write programs :-) ).
Awesome thing... You work very good

That is the most sophisticated lunchbox I've ever seen :P

I'd like to see video.

One day, the worl will not be controlled by R2D2's, Terminator's, Matrix, HAL 9000 or so - there will be very sofisticated lunchboxes :-)

eerrhm...

I have a sophisticated lunchbox that looks like R2D2, does that make me king of the world? -Or just another fanboy/nerd...?

Hi,

Did you use pullup resistors on the i2c bus? I'm asking because I'm having my own project using i2c  and so far communication seems fine with one master and three slaves. I used 4k7 pullups on every slave. It also looks like i2c is not working so great with twisted wires I had better results with normal flat cable.

Nice bot you have there :)

I think that twisted pairs are better for differetial buses, such as RS485, CAN or Ethernet. I also think that pull-ups only on master are enough. On the robot's board with I2C connecotrs are used 4k7 resistors pulled to 3V3 on it (and with zener diode - router has 3V3 logic levels) as on scheme from sunspot's page linked above in article:

adm5120-i2c.JPG

Well done, very clean construction and well designed. Any video?
Thanks. I havent't done video of this version yet (but there are some older previous design's (router, breadboard and ps/2 mouse on wheels) videos at http://www.youtube.com/watch?v=M2MpZ4HWOpo and http://www.youtube.com/watch?v=6MaBeaM4cDA when I wanted to prticipate in Eurobot - it was quite bad design for Eurobot type contest :-) ), I didn't have time to do it - but there will be some video when it will have some smarter inteligence...