3 Simple Ways to
Share What You Make

With Instructables you can share what you make with the world — and tap into an ever-growing community of creative experts.

PhotosPhotos

Share one or more photos of a project, recipe, or whatever you've made, quickly and easily.

Step by StepStep-By-Step

Share your step-by-step photos with text instructions of what you made so others can do it too!

VideoVideo

Share your how-to video. You'll need your embed code from a video site such as YouTube.

ArduRoller balance bot

ArduRoller balance bot
This instructable shows how to build my ArduRoller balance bot. It balances quite well on the spot and responds to most knocks pretty quickly but sometimes giving it a more gentle push sends it gliding across the room at a constant speed. I'm still working on that.

There's a video of the bot in action at http://www.flickr.com/photos/fasaxc/5944650602/.
 
Remove these adsRemove these ads by Signing Up
 

Step 1Parts

Parts
«
  • DSC_5539.JPG
  • DSC_5540.JPG
  • DSC_5547.JPG
  • DSC_5548.JPG
Here are the parts I used:

1 x Arduino Uno
1 x Sparkfun Ardumoto motor driver shield
1 x Sparkfun BlueSmirf Bluetooth modem
1 x 150 degree/s gyro
1 x 1.7g Accelerometer
2 x Arduino header kits
2 x screw terminals
2 x 24:1 gear motor
1 x set of 70mm wheels
2 x JST connectors
2 x LiPo batteries
1 x basic LiPo charger
3 x Multi-turn 10k potentiometers
1 x SPST switch (Radioshack)
1 x Laser-cut bamboo chassis via Ponoko  (link should allow you to make one from my shared design)
1 x LED
1 x Normally-open push switch
1 x packet of Sugru to make the bumber
Assorted M2-04 machine screws (6mm - 16mm) (found on Amazon)
M2-04 nuts to match machine screws above
Assorted straight and right-angle break-away headers
Assorted jumper wires
Solid core wire
Stranded core wire
Instamorph (aka Polymorph) low-melt-point thermoplastic

Notes:

Chassis: the motors didn't quite fit the mounts I made so I had to sand them down and rebuild them with instamorph.  I think the sensor bundle suffers from too much vibration, it might have been better to make it more solid rather than sticking out as it does.

Accelerometer: I originally tried building the bot with only an accelerometer for tilt sensing and no gyro.  It turns out that approach is a non-starter -- the accelerometer gets overwhelmed by the acceleration due to the motors so it can't be used to estimate tilt while the bot is accelerating.  OTOH, using only a gyro would make the bot susceptible to drift over time so you really need both.

Gyro: I used a 150 degree/s rate gyro.  From looking at the telemetry from my bot, I'm pretty sure it sometimes clip if you give the bot a knocks so if I was starting over I'd probably look for a 300 degree/s model.  

Wheels: the wheels are a little fragile, after a few knocks I noticed cracks around the axle so I strengthened them with instamorph.

Motors: I also tried sparkfun's 100:1 gear motors but they weren't fast enough.  The 24:1 versions have plenty of torque and speed.

Bluetooth: I use the bluetooth modem for telemetry right now but I'm also planning to use it for remote control from my Android phone.  If you omit it then the robot will still work but tuning it will be harder.

Pots: I added 3 10k multi-turn pots to the design to allow me to easily tweak internal values.  Using 3 might have been overkill since I tend to tweak only one thing at once.

Instamorph:  Amazing stuff.  It's a tough, white plastic (resembling solid nylon) at room temperature but if you heat it in boiling water it turns into a pliable goo that's really easy to work with your hands.  A heat gun is great for working with it too, allowing you to melt small areas. 
« Previous StepDownload PDFView All StepsNext Step »
11 comments
May 3, 2012. 7:44 PMDelpap says:
I could not find ADXRS613 and ADXL203CE on Sparkfun, any replacement for that , may be I can purchase on eBay ? Thanks.
Feb 26, 2012. 5:21 PMbpark1000 says:
Ways to make your bot work better:

Low pass filter the accelerometer with a very low corner (comparable to the drift time of the gyro). Add that into your angle calculation, rather than directly adding it in. I don't think you need a Kalman filter. That is for noisy signals. (Yes the accelerometer is "noisy", but not in the band of interest). Put optical encoders on the motors and feed this into the loop. This will stop "running across the room". (The reason Segway doesn't need this is the rider controls this).

Put weight up as high as you can get on the bot. That will increase the stability.
Aug 23, 2011. 6:35 PMH4T says:
Wow, that is a good lookin' bot ;) The laser cut wood really makes it look super professional! I know this kind of thing is aimed towards beginners and people who want to build prototypes quickly, but I still had to chuckle at an alternate title for this Instructable: "How to make the most expensive desktop Arduino balancer!" :P I would build one of these in a heartbeat, but I am really curious about the total cost of this bot! Like I said though, this would be an extremely satisfying project for a beginner, so I'm not trying to play down the badassery of this little guy!
Aug 22, 2011. 7:26 PMpropellerheadgeek says:
I produce kits, but yes, I custom laser cut as well - check out my instructables if you get a chance. Priority flat rate small box to California is $5 - the other sizes aren't bad either. 2-3 day shipping, guaranteed by the USPS.
Aug 22, 2011. 1:37 PMpropellerheadgeek says:
Very nice balancing bot! I really like the overall design. I'm a laser cutter - let me know if I can help develop the chassis a bit further. Also, instead of the sparkfun motors, may I suggest using http://www.solarbotics.com/products/gm2/

They are modifiable from 224:1 to 14:1 by removing a gear and are far more robust, plus... they mount ROCK SOLID with through hole mounting and the wheels that they use are nylon, inexpensive, and unbreakable.

Again, very nice bot!
Aug 22, 2011. 1:10 AMKiteman says:
Any chance of a video of the 'bot in action?

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
10
Followers
3
Author:fasaxc