2 Wheels Balancing Robot
Tronic (Greece)
Posts: 130
This is a project still in development but its some sort of complete as it is now as I think I reached the BS2 and servo speed limitations.
As you can see, its actual a boe-bot reformed into a inverted pendulum so it can balance on its two wheels.
And it does so!! It consists of the OEM BS2 board of education (special order by Deagostini), continuous rotation servo (by parallax), and an infrared sensor circuit (QRD1114) that resembles the QTIsensor.
With combination of RCTIME command, it can return the "angle" distance from 0.5cm to 5cm with enough precision to maintain its balance.
My intentions was to use 2 such IR sensors (one front, the other back) to be able to make it more stable but the speed limitation prevented that so in the working model shown below it uses only one sensor.
To add more weight on top and to free the BS2·from the servo jitter, I used a second set of batteries.
Now for the navigation part I choose to add a digital RF remote control module that outputs 0 or 1 on each channel to simplify and speed up the BS2 program.
Many thanks to·Makis·[url=mailto:makis_stergiou@yahoo.com?subject=La Cicala]Stergiou [/url]for his original idea for the formation of the robot. Take a look on his progress on a balancing robot:
http://www.freewebs.com/bouloni/robot.htm
Early 2robot pics:
http://img83.imageshack.us/img83/5297/01qrd1114rcsensortest2gf.jpg
http://img80.imageshack.us/img80/2008/022robotwheels2ma.jpg
http://img80.imageshack.us/img80/2863/032robotsensorswiring2qo.jpg
http://img83.imageshack.us/img83/1222/042robotsensorswiring25wh.jpg
http://img83.imageshack.us/img83/3076/052robotfront2az.jpg
http://img80.imageshack.us/img80/221/062robotside8yv.jpg
http://img80.imageshack.us/img80/1386/072robotback3mk.jpg
http://img83.imageshack.us/img83/3653/082robotqrd1114sensors3iy.jpg
http://img80.imageshack.us/img80/7307/092robotwirings1my.jpg
The code I wrote to make it ballance is based on a PID control article posted here Stamps In Class Mini Projects and its very efficient. It implements the feedback mechanism of a standard servo in software mode so I can read the feedback factor from QRD1114.
The link of the great article is: http://forums.parallax.com/showthread.php?p=529609
In order for the feedback system to work properly it needs to calibrate it self during power-on. The procedure to do this is to hold it vertically while you switch on the power and after 2 seconds it is ready to balance by its own!!
Watch the first steps of my balancing robot:
http://rapidshare.de/files/12792224/2robot_first_steps.zip.html
http://rapidshare.de/files/12792297/2robot_fisrt_steps_small.zip.html
With the digital RF remote control I was able to make it turn left and right while· its balancing in place. The tough part was the forward-backward motion as the only thing I could do it to make it lean a little forward so it unbalances and release the front button to let it run forward trying to balance... and help it brake by pressing the back button...· :-)
http://img130.imageshack.us/img130/4332/rc2robot14ru.jpg
http://img301.imageshack.us/img301/990/rc2robot22ur.jpg
http://img131.imageshack.us/img131/2872/rc2robot34xc.jpg
Watch it here to make some turns and small steps forward:
http://rapidshare.de/files/13159228/2robot_Navigation.zip.html
http://rapidshare.de/files/13159314/2robot_Navigation_small.zip.html
Post Edited (Tronic (Greece)) : 2/14/2006 2:25:09 PM GMT
Comments
If you want to provide video of it in action, you can go to www.youtube.com and host your video there. It's free and it's like imageshack but for videos. It take some time for it to show up after uploading, so you will need to be patient.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike
·
For those wondering what’s the trick behind it, here is a small clue:
On first experiments I discovered that hard surfaces cause summing oscillations on the code because of the poor precision of the servos that sometimes do bigger movements from the calculated. By placing it on a carpet which has about 2mm thickness it absorbs the oscillations thus making it more stable on navigation.
I took a few more video of the robot doing some navigation around...
· nice360turn (5MB)
· movingforward (1.2MB)
··irsensorcloseup (1MB)
· ouch (1.8MB)· (lost balance after craching on obstable)
PS. I already posted some videos thru rapidshare on the article above...
Thanos
·
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Mike
·
I want to see the faces of the other at our Forum...
I'm just out of word... (I can say that is also fair competition!!!)
Post Edited By Moderator (Chris Savage (Parallax)) : 9/27/2006 8:19:47 PM GMT
This is the best I can do with the standard Boe-bot parts. Any further improvements require the replacement of the CR servo by DC motors combined with a DC controller, not to mention the use of an ADXL202 sensor for accurate inclination measurement.
Thanos
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Greekbotics: Greek Robotics Forum
I am planning a one ball balancing robot.
Does anybody know if someone have done anything like that.
I have some questions.
I am to have a ball on the bottom controlled by step motors, as in a mousewheel.
And to be able to stop and paus I have three arms that is flipped out and down, with micro switches, so it can lean on them and even be able to use them to keep balance in corners.
This is then ment to be used in a two leged robot so the robot will have one balancing ball in each feet, so it will go from two wheeled to one balled balancing robot as it is walking with its legs.
Whell if it can be done.....
This will give a nice movement for my wireless web camera FPS robot player that is planned. [noparse]:)[/noparse]
www.gamereality.se
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Please start United Religions , UR , for gods sake.. [noparse]:)[/noparse]
Post Edited (magi) : 3/4/2006 12:24:36 PM GMT
magi, check this pdf:
robots.stanford.edu/isrr-papers/hollis.pdf
Magi, are you sure you will go thru it using only a basic stamp?
Thanos
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Greekbotics: Greek Robotics Forum
Well a prototype can be done in basic stamp but for industrial use i will use a FOX BOARD or AXIS 241SA.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Please start United Religions , UR , for gods sake.. [noparse]:)[/noparse]
Post Edited (magi) : 3/28/2006 7:39:22 PM GMT
Thanos
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Greekbotics: Greek Robotics Forum
You can always predefine the initial balancing value but it would work only on one type of surface while with my calibration procedure during power-on·you can get it to·balance·on almost every surface type!
Thanos
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Greekbotics: Greek Robotics Forum
Post Edited (Tronic (Greece)) : 4/20/2006 9:14:45 AM GMT
I believe the propeller would give enough computing power for this project www.parallax.com/propeller
coupled with two stepper motors and the addition of the two axis accelerometer and some fancy coding that balancing ball thinamabobber could actually work.
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Definetly a E3 (Electronics Engineer Extrodinare!)
"I laugh in the face of imposible,... not because i know it all, ... but because I don't know well enough!"
Post Edited (RinksCustoms) : 6/29/2006 4:59:17 AM GMT
But then how are you going to add control to it, to make it move?
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Greekbotics: Greek Robotics Forum
(Translate it using Babelfish)
·
In other words when it gets balanced by your method and then released, it would deliberatly NOT correct position or over correct the opposite postion to move and steer.
The ballbot uses gyroscopes and accelerometers for balancing and moving.· And has legs that come out when it is stationary, so as to conserve battery power.
Here is some info, with photos,·from CMU: http://www.msl.ri.cmu.edu/projects/ballbot/
·
Also, for speeding up your bs2's readings and calculations, it helps to run the line sensors as close to the ground as possible so that the readings are faster. In the same way, a more reflective/lighter colored surface would allow for less time for distance readings.
If I were going to revisit this project I would definetly changed the cheap RC ADC with a more accurate and faster ADC converter like a ADC0831...
But I moved on on bigger projects like the one below:
http://youtube.com/watch?v=QWzkWVQ1SMQ
**update**: http://www.youtube.com/watch?v=Quuqhjnxwq4·
Yes, it its moved by a basic stamp2 with HB-25 controllers for the motors... with a proportional servo code simular to the one I used in the balancing robot!
Regards, Thanos
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Greekbotics: Greek Robotics Forum
(Translate it using Babelfish)
Post Edited (Tronic (Greece)) : 8/17/2007 10:20:27 AM GMT
· Great to see some life-size projects!
·· Maybe start a new thread to keep us informed.
· Cheers,
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Tom Sisk
http://www.siskconsult.com
·
SORCERY!
very nice, it's so shinny and futuristic
what kind of magic bean does it run on?
Thanos
▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
Greekbotics: Greek Robotics Forum
(Translate it using Babelfish)
·