Showing posts with label arduino. Show all posts
Showing posts with label arduino. Show all posts

Sunday, March 4, 2012

Arduino Code for Ball Bot - FREE, FULLY WORKING BALLBOT CODE

Arduino Code for Ball Bot - FREE, FULLY WORKING BALLBOT CODE Hey guys!
Sorry it took me so long to find the Ball-Bot Arduino code and upload it. Finally, I have placed the zip file and the individual .pde files on dropbox.com. Please refer to the earlier blog for dropbox.com account access below. You do not have to install DropBox. You can just go to DropBox.com You will also find our final research documentation there. The research paper (PDF) is full of figures & diagrams, theoretical/mathematical proofs, trade studies & verification of approaches, and everything related to the final product that is the Ball-Bot.



You will find the latest version of our Arduino code that runs on the Arduino MEGA 2560. You can run this code on any Arduino, but you may have to change some of the pin configurations in the code. This code includes the PID controller and noise filtering algorithm. The code is of course designed for our unique Ball-Bot. However, this code was written as a non-linear, advanced, control system, and it should work for any Ball-Bot project of any size with very minor modifications.



The Arduino is a great way to build a custom ball-bot (or any hobby robot), but for something more simple and quicker, check out Lego Mindstorms NXT Robots.

Tuesday, February 14, 2012

Ball-Bot Research Access (FREE)

I have found a decent way for everyone to be able to access my research. Please go to dropbox.com and use this to log in:

email:                  clickmerchant@gmail.com
password:           bloggergoodies

I have uploaded the .pdf copy of our final research paper. I am in the process of getting all of our additional research together for you hard working engineering students (and everyone else who cares) to utilize. I hope to upload all of our Arduino source code as soon as I get it off of the Ball-Bot, and I'm trying to get a hold of our SolidWorks files.
In the 'External Contributions' folder, you (or anyone) is free to upload anything relevant to any of my blogs for others to use. I would greatly appreciate it if you share any useful information, and please be respectful to and my fellow bloggers!

If you want to read my Arduino blogs, I have started to compile some tutorials for you here:






Also, don't forget to check out my videos on YouTube! Here is the Ball-Bot final presentation video:


http://www.youtube.com/watch?v=J0PnIyyydPE

I also made individual videos on the accelerometer and gyro that were used in the Ball-Bot, and can be seen here (as well as at my Arduino blogs):

ADXL345 (accelerometer):     http://www.youtube.com/watch?v=4eyQJgTIFNE
IDG500 (gyroscope):              http://www.youtube.com/watch?v=1Ml3eC5gSdc

They are what the IMU (inertial measurement unit) is comprised of for autonomous balance control. In the Arduino code, this IMU board is also used as a PID (proportional-plus-integral-plus-derivative) controller for added stability, robustness, and smooth kinematics.
Control systems theory enthusiasts can appreciate the steady-state error correction facilitated by a PID controller. Wiki the PID controller!


I'm listed in Technology

Friday, February 10, 2012

Senior Design Project Ideas



As a robotics engineering student at Southern Polytechnic State University, I know the stress and challenges presented when the time has come to do your senior design (or Capstone) project. I felt the necessity to share my senior design project with fellow engineering students across the world looking for inspiration or ideas for their project. The Ball-Bot project, which will be explained in detail, was quite an ambitious project for a group of undergraduate engineering students, but the pride and positive feedback certainly paid off.

First of all, one should click here to see a YouTube video of our Ball-Bot. This will immediately give you an idea of what it is and all the multidisciplinary engineering challenges that it presents for engineering students. As seen in the video, a Ball-Bot is a robot (fully autonomous) that balances on a ball. In our case, it was a vertical aluminum structure approximately 3' tall and balanced on a basketball. Our system used four motors independently controlling four omni-directional wheels that rolled the ball in the direction of the tilt angle. The tilt angle refers to the angle of the superstructure (aluminum frame) that sits atop the basketball. We used an Arduino MEGA 2560 and an on-board MicroITX computer for the brains of the whole system. An IDG500 gyroscope and ADXL345 accelerometer were used to take inertial measurements and determine the three-dimensional orientation of the robot in real time. An inverted spherical pendulum best describes the kinematics of the system. If you decide to build a Ball-Bot, make sure that you understand the difficulties and investments associated with a project of this scale.

To give credit where credit is due, I would like to introduce our group that completed the Ball-Bot project for our mechatronics engineering senior design project at Southern Polytechnic State University. Brian Kosoris was the group leader, Yuriy Psarev was the mechanical engineer, Bahati Gitego was the control systems engineer, and myself, Jeroen Waning, was the electrical engineer and programmer. In reality we all worked very hard together and each worked on all aspects of the build.





I will be more than happy to share the final paper and all of our research freely. I am working on getting a website online, but in the meantime I will provide it to anyone via email requests: jeroenwaning@gmail.com.


Thanks for reading!

Also, please check out my other YouTube videos. Thanks!Jeroen Waning - Find me on Bloggers.com