Group Members:

Eric Roch        emroch2        ECE 120

Fred Chang     kehangc2      ECE 120



Introduction

Statement of Purpose

Robots are filling an ever increasing part of our lives today.  Before long, we will be seeing personal assistant robots that help us do everyday tasks from laundry to cooking.  The problem with robots though is how to make them move... Bipedal robots are difficult and complicated, robots with wheels or treads aren't very maneuverable, and flying robots are impractical.  Enter BallIP, short for Ball Inverted Pendulum, a ball balancing robot developed at a Japanese university that has only one point of contact with the ground, making it extremely maneuverable and compact.  The future for BallIP and robots like him is vast, and applications could range from personal assistants to robotic carts to help move large items.

Our project is to build a similar robot that can balance itself on a ball.  The robot will be able to respond to changes in its environment, such as a push, and adjust accordingly to maintain a stable position atop a ball.  This project will involve two main subsystems: orientation determination and mechanical control.  These two systems will work together to allow the robot to sense its current position and make decisions to stay balanced.  If possible, we would also like to implement a passive mode, such that the robot can be pushed around while remaining stable.



The photo at left is BallIP, a self-balancing robot designed and built in Japan by Dr. Masaaki Kumagai.  The two subsystems can be seen clearly here: the motors and wheels control the ball and thereby determine the movement of the robot, while the electronics in the top half determine the orientation and how to control the motors.  BallIP is able to support a great deal of weight and can even function cooperatively to aid in moving large or heavy items, sort of like a wheel barrow.

Background Research

We have researched similar projects completed by professors and students at various universities as well as videos demonstrating similar designs on YouTube.  One professor, Dr. Masaaki Kumagai, from the Tohoku Gakuin University in Japan has shared his research paper with us, including design documents and code.  Using Dr. Kaumagai's work as a springboard, we hope to integrate the information from the papers and videos we found to create our own balancing robot. 


Design Details

Block Diagram/Flow Chart

Block Diagram

Flowchart

System Overview

The IMU will collect data about the robot's orientation and movement using an integrated accelerometer and gyroscope.  The IMU data is analyzed by the Arduino microcontroller, which will determine which wheels need to be moved to correct for any drift in position.  The Arduino will then control the wheels by sending digital pulses to stepper motor controllers which will power the motors appropriately.  The program will periodically poll the IMU to determine the robot's position and apply a correction factor to power the wheels.


Parts

  • Arduino Microcontroller
  • Inertial Motion Unit (IMU) with gyroscope and accelerometer
  • Stepper motors (x3)
  • Stepper motor controllers (dual H-bridge) (x3)
  • Omni Wheels (x3)
  • Batteries (1 for motors, 1 for Arduino)
  • Basketball
  • Base material (TBD)


Possible Challenges 

  • Precision control of wheels
  • Accurate orientation measurements
  • Control mathematics
  • Stability/responsiveness


References

Comments:

Project approved. However, lets meet and talk during class and discuss how to design the robot.

-Tyler

Posted by tlgraha2 at Feb 20, 2017 21:16