Last year, I have made this ball balancing robot.It can stand on a ball stable by the balance system of itself.

There is only one connect point between the robot and the ground, so it is more flexible than the traditional wheeled robot. It can move to any directions without turn. For the traditional wheeled robot when its center of gravity is too high it may fall down, but by using this robot the problem will not exist. So the application on this robot can be applied to narrow, crowded and interference environment.
And this robot can be used in many areas, such as security robot, explorer robot and entertainment robot.
This is just a platform and don’t have any practical application on it. We can add all kinds of different function on it according to the situation. For instance, you can add the applications of obstacle avoidance, localization and control by network to realize the function of the document delivery with this robot in your office.
What’s more, there are two ways to control: with the handheld wireless remote control and with the Kinect. By using the Kinect, you can control the car with your body, that’s may have a lot of fun.
The software may include: WPF programing, Kinect SDK, AForge.NET, PID algorithm, Kalman filter algorithm, AVR MCU programing and STM32 MCU programing.
The hardware may include: Gyro sensor, Accelerometer, Geomagnetic sensor, Wireless module, WIFI module, Camera, Kinect, STM32 MCU, Atmega16 MCU, Brushed DC motor (with gear box), encoder, DC motor driver, Controller power supply and motor power supply.
You can see more project here in my website.

So now let's begin to build this robot.

Step 1: Add Omni-Directional Wheel to Brushed DC motor

In the balancing system of this robot, there are 3 Brushed DC motors. Each motor may have a bracket for connecting and a Omni-Diretional Wheel for driving the ball. 

1. Install the motor brackets to the Brushed DC motors.
2. Add one Omni-Directional Wheel to each of the Brushed DC motors.
<p>Hi!</p><p>Could you please send me your code for Arduino Mega 2560? I would like to build this robot, it's amazing!</p><p>georginas557@gmail.com</p>
<p>hi,</p><p>this is my project too.</p><p>could you please send me your code??????</p><p>fzarei78@yahoo.com</p><p>tanx</p>
<p>Hi I am building a ballbot too, but i have some problems with the control of my motors, can you send me your code?</p><p>dieterheinrich1510@gmail.com</p>
<p>Very successful !!!</p><p>Can you send me hardware models and software on mail? </p><p>gul.adem@outlook.com</p>
<p>Hi I was wondering how you controled the motors.</p><p>Did you control the balancing though a torque controler, and if not how else did you control the motor?</p>
<p>I was wondering if I could get the code and a list of the components for a class project? You can email me at kresszach@gmail.com</p>
<p>May I have this project code , please? I would like to try this. So great and nice,..</p><p>naylin.aboy@gmail.com</p>
<p>HI.. Can you please e-mail me the code?</p><p>and how the wires are connected?</p><p>uzairabro94@gmail.com</p>
I wants to make it for college project. Please can you send me parts list, electronic connection and code for it. My email address is rajatnegi108@gmail.com.
<p>im currently building this using arduino mega 2560. can i get the code for this</p>
Are you going to make this robot open. The design and the code. I am very interested in this robot and want to build one by myself. If you can offer more information about this, it may be more helpful for me. <br>Thank you so much for your sharing.
Hi Makerworks, <br> <br>We will make this project open source soon and also plan to make this robot as an open platform.
<p>Is this still going to be made open?</p>
This! Please make it open. There is so much I could learn from an open platform like this. I have already sweaty hand :D
We are planning to make this platform on Kickstarter and we need the help of more people to make this come true.
<p>i would like to build this pls can i have the code pls???? my email is sashi_122@hotmail.com</p>
hi <br>I would love to build this robot. <br>Could i have the code for it please? is this open source? <br>Thanks and great work, its a very beautiful robot. <br>simon srosefx@gmail.com
<p>can you share me about code for it? binhhau@gmail.com</p>
Hello Ufactory, <br>could you send the code or algorithm of your project to me? My email is ldmvn@yahoo.com.
Wow...Really cool. Would you like to share the balancing algorithm code running in your stm32 processor later? Is it possible to use an Arduino processor to control the whole system?
<p>Hi, I currently working on a ball balancing robot using Arduino MEGA 2560, can you please send me the Arduino source code to me? thianyeek@gmail.com</p>
<p>hey this is nice. can u send me the source code to sashi_122@hotmail.com</p>
<p>can u send me the source code of balancing the robot... using arduino... </p>
Yes, you can send me an email for this code at: ufactory.info@gmail.com <br> <br>We are trying to use Arduino as the controller recently.
Sounds great. Even I think if you're trying to use the Maple processor, which is also using STM32F103 as a core. And it got an arduino style IDE. It will be awesome to see that also. ☺
<p>hello.. could u send me the source code for this robot? my email dilaeryza@gmail.com thank you</p>
Hi Lauren, <br> <br>I have sent your the source code of this robot. Hope for further communication. <br> <br>Best Regards, <br>UFactory Team
<p>I want an Omni Ball Butler. I want tracking (maybe if I wore a clearly visible blue belt) and Voice commands to follow.. I'm JUST starting, so it'll be a looongg time. But I came across a Thesis someone did, and there is wonderfully dtailed code for an omni ball, using Arduino. The link is here: http://control.lth.se/Publication/5897.html</p>
<p>Star Wars must have seen this build... </p><p><a href="http://www.feistees.com/wp-content/uploads/2014/12/drdrl.jpg" rel="nofollow">http://www.feistees.com/wp-content/uploads/2014/12...</a></p><p>Excellent work, I hope to find more details.</p>
<p>Would these wheels be any good to use if not can you send me a link to the ones you got? <a href="http://www.rapidonline.com/design-technology/vex-iq-200mm-travel-omni-wheel-pack-of-2-70-7926" rel="nofollow">http://www.rapidonline.com/design-technology/vex-i...</a> </p><p>Also by any chance could you show the Electric modules?</p>
<p>What size ball did you use?</p><p>I would like to know also the code if you could send it to me </p><p>thankyou</p>
<p>Hello. Nice work! Would you share the code?</p>
<p>hi, im south korea student. and my team project is in progress. but we are stuck.. our robot are not standing..... so i want to see your source code . can i receive your sourc code? if possible plz send your source code to here [[ <a href="mailto:ryeon1009@gmail.com" rel="nofollow">ryeon1009@gmail.com</a> ]] </p>
<p>hello.. i also make this project for my final year project..could you please share the code for this project? I also use arduino mega as the controller and the sensor MPU6050. my email dilaeryza@gmail.com thank you for your help :)</p>
<p>btw your project is really awesome ;) </p>
<p>The University Of Zurich made a similar robot to yours</p>
<p>hiii... i want to do this project. can anyone help me with this... just started with circuit building but something i miss in this project.</p>
<p>Wow I would really like to make this thing and even possibly add to it? Is it possible to see the code? And learn what electronics you had used?</p>
<p>only http://www.simplelabs.co.in/content/triple-axis-accelerometer-gyro-breakout-mpu-6050 may be sufficient ??</p>
<p>great work i want to make one please let me know the code on arduino platform n which gyro sensor and accelerometer should be preferd ?</p>
I have a question here, why is brushed motor is used instead of brushless DC motor, stepper motor or servo?
Hi thw777, <br> <br>Because I just have the brushed motors at hand at that time, so I used them. Now we are trying to use the stepper motors to instead the brushed motors.
<p>Hi, may I request for the source code for this robot?</p>
I am very glad to have found this article. Ever since I saw this IEEE video on YouTube ( http://www.youtube.com/watch?v=bI06lujiD7E ) I have wanted to build a mobility device ( a &quot;ball-chair&quot;? ) based on this idea. The big attraction to me is the fact that the robot is always level. I notice that the Japanese robot is much steadier than yours. What factors might account for the difference?
It's according to the wheels and motors what we use is cheap one and not good enough. If you have enough money to buy high quality wheels and motors. The robot will be stable enough and can move smooth.
it is nice project and interesting. <br>is it open source ?
Yes, we will make it open source.
Great project! This is better than my Master's Degree project! I'm jealous! :D <br> <br>Congratulations! x)
Thank you so much. Maybe we can make a further communication about this project. Cheers!

About This Instructable


471 favorites


More by Ufactory: The vision based pick-and-place with uArm UARM WITH VOICE CONTROL – EASYVR MODULE uArm Play Number Song with A Toy Piano
Add instructable to: