Let's Make Robots!

CoAxial Wheeled Balancing Robot

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
Nebster's picture
awsome . i tried to make one like that with lego. its way hard good work.
BaseOverApex's picture

There is a chat solution with Lego, which works REALLY well. If you use the IR sensor as a distance sensor. You point it down towards te ground and cause thebot to move the drive wheels back and forth such that the sensor is always the samedistance from teh floor. It works, but only on flat surfaces. 

God created the integers; all else is the work of man - Leopold Kronecker

GroG's picture

Facinating,

I've been thinking I'd like to try a ball bot .   You said the motors were "brilliant with their built in gearboxes", but was the gearing causing the "backlash in the drive train"?  Looking forward to updates and other articles as always.

BaseOverApex's picture

 

Nope. The gearboxes attached to the motors were perfect. I added an extra 1:4 reduction which was crap.

God created the integers; all else is the work of man - Leopold Kronecker

Nicola's picture
Very nice :) I'm interested in details too.. Did you implemented a Kalman filter ?
BaseOverApex's picture

 

OKay, NOW I've looked Kalman filter up on that internet thing. I have to say I don't think that what I implemented was a Kalman filter. In fact, I made the assumption that my signals were complete and non-noisy! Maybe that's where I went wrong. I guess that's what all the smart people are for.

 

OKay. I knew that the accelerometer alone wouldn't be enough: how would it know which way was "down" if it was leaning forward or if it was accelerating? I thought that a gyroscope MIGHT be enough, but when I tried it I discovered "gyroscope drift". So, I used both and discovered that the acceleromter was an acurate but slow way of finding which way is down and a gyro is a fast, but slightly inaccurate way.

 

The BOA (BaseOverApex) filter integrates the gyro output over time to give an angle. The acceleromter "down" is used to calibrate this on a ragular basis. Maybe it will work. Maybe it won't. Once I find a suitably powerful, suitably cheap drive train I'll find out.

 

 ...and tell the rest of you. 


God created the integers; all else is the work of man - Leopold Kronecker

Nicola's picture
We want the video :)
BaseOverApex's picture

Yeah, mea too. Sorry the video is so crap. The original is a quicktime movie and I can't find any softare to modify it. I would make it brighter. The 'bot is actually balancing here. I'm holding a ribbon cable so I can watch the LCD while it's wiggling about all over the place.

God created the integers; all else is the work of man - Leopold Kronecker

TigPT's picture

i love ballanced bots, it have really a nice look, the references of the acelerometer and the gyroscope? what micrcocontroler do you use and if you are using kalman filter or something else!?

i wold really love to see the code =P

I'm thinking in make one, but code for something like that is not simple!!

BaseOverApex's picture

Two mentions of Kalman. I have to put my hands up and say "Who?"

Re the code. Well, Mechanical engineering is not my thing. CODE is. The code is big but not complicated. Perhaps the hardest part is doing everything in integer maths. (I coded the whole lot in 8-bit RISC assembler.)

"Give me a platform on which to balance and a long enough chunk of EEPROM and I shall write code to move the Earth." - BOA, 2008  

God created the integers; all else is the work of man - Leopold Kronecker