RoverBot

This is my Roverbot. He is a very simple robot, all he does is basically what the "Start Here" robot does, but with a casca tankbot chassis, an arduino, and a custom motor/servo driver board.

There is also 1 tiny innovation in his code, I made a very small circular buffer to record his last 10 decisions, which I use to prevent him from oscillating back and forth when he drives into a narrow dead end (he will instead just turn around ~180).

Also, I built his gearbox with the really high ratio so he is super slow, so I might rebuild it with the lower ratio to make him faster.

Code is attached for your downloading pleasure...

Update - 12/18/2008

Roverbot had his gearbox rebuilt with the lower ratio, so he is faster now, but I need to update his timing constant in the code to make him not run into stuff as much. Also, I have had some breakage issues with his chassis, the acrylic is very brittle, I wish it were lexan instead, that stuff is nearly unbreakable. Will post a new vid soon-ish once I update his code...

Navigate around via ultrasound

  • Actuators / output devices: Tamiya 70097 gearbox, Hitec HS-422 servo
  • CPU: Arduino
  • Power source: 9v 6xAA
  • Sensors / input devices: Parallax Ping)))
  • Target environment: indoors

This is a companion discussion topic for the original entry at https://community.robotshop.com/robots/show/roverbot

Looks pretty slick!
Well thought out program, does a good check over obstacles.

your comment made me want to

your comment made me want to take a look at the code…and when looking at it I found this…

//this should NEVER happen

<code>

I don’t know how many times I"ve put something similar in mine…

I had to lol…

 

heh yeh i wrote that code

heh yeh i wrote that code pretty quickly, having looked over similar code and considered the logic of what I wanted it to do, I iterated on a it a little bit, just to iron out some of the bugs, but didn’t clean it up or refactor it much, i’m usually just so tired after coding all day at work! Many of the constants still aren’t quite right, but I think the basic behaviors are there…

:slight_smile:

what motor driver are you using ?
what motor driver are you using ? ~Matt

My motor driver for this bot

My motor driver for this bot is a custom board I made using an SN754410, which is an L293-compatible chip. In this case the motor driver board also acts as a power bus for my 5v-based accessories, such as my servo and PING sensor.

:slight_smile:

I’m new to this
I downloaded the code and when I try to compile it, I get this 25 error: ServoTimere1.h:No such file or directory. How would I solve that problem?

is ServoTimere1.h
is ServoTimere1.h misspelled? May it is ServoTimer1.h?

need the servotimer lib for arduino

the servotimer library for arduino does not come with the stock arduino software. You have to install it. you can fgind it here:

http://www.arduino.cc/playground/ComponentLib/Servotimer1

:slight_smile:

Diagram
Do you have the diagram of the custom board that you build using a SN754410, which is an L293-compatible chip?

I am trying to figure out

I am trying to figure out your code, i am very new at this, but when i put it into the ide i get an error:

error:redefinition of ‘long insigned int echo’ in fuction ‘void setup()’: in function “void loop()”:

any ideas?

 

don’t matter, i got the

don’t matter, i got the general idea from your work, and mated it with my ada fruit motor shield…

now to figureout why one side will go in reverse but the other will not.

maybei built it badly or something. :slight_smile:

you should really consider
you should really consider using geared motors from pololu because tamiya is just too slow

When i was at engineering
When i was at engineering camp we made a program similar where, when it runs into an obstical it will look left and right and compare the 2 distances and depending on which ones closer it will either turn left or right…not bad for someone who learned (Some) C language in 1 day!