Friday, 31 August 2012

What? Firebox balancing robot

electronics Servo gutsVelcro straps Firebox Internals Bodywork nearly finished Me with Firebox


What worked:
+ The combination of Arduino, Sparkfun 5DoF, screwshield and Sabertooth 2 x 25A worked beautifully for the electronics.
 + To calibrate the 5DoF outputs, I put together a simple calibration rig using an old servo for its potentiometer, bearings and servo horn. This allowed me to log the actual angle of the sensor board whilst also recording it's accelerometer and gyro outputs.
+ The ride on jeep motors and wheels were perfect for driving Firebox along
 + I initially used Pulsein on the arduino to read the RC signals. Later I Implemented interrupts which, significantly speeded up the loop rate.
 + I found Firebox balanced very well on carpet, but really struggled on hard floors (i couldn't tune the control constants to damp the oscillations). Adding soft tyres made of soft pipe insulation foam added the required damping, regardless of the floor it was running on.
 + As usual, I hadn't left enough time to get polished bodywork finished before Derby Maker Faire, so the next best thing was some cute cardboard body work. The kids love it!
+ The animated head and led eyes also went down well. More degrees of freedom to play with is always better :-)

What didn’t:
- Tuning over wired usb/serial
- Using an Adafruit data logger was a mixed experience. Getting it to work seperately to the robot was very straight forward. Unfortunately every IO it required clashed in with something already in use. I'd use one again though, just considering its requirements earlier in the design. It also didn't provide much useful data as there was no absolute reference to 'ground' or 'up'
- No independent measurement of up
- Not mathematically modelling it
- Screw shield/protoboard
- Offset pins on 5DoF breakout board

What's next: 
Ride on balancing robot


No comments:

Post a Comment