Our Project

Our goal for this weekend was to design, assemble and program a 2 wheeled - selfbalancing, Segway-style robot. 2 wheeled self-balancing robots also have significant potential in the market. Among other things, they are more compact and maneuverable than conventional robots. This robot is made of materials including:

  • 1 Paralax Propeller Quick Start Board
  • 2 Pololu motors with gearboxes, encoders, drivers and wheels
  • 1 MPU 6050 Accelerometer/Gyro.
  • 1 Lithium Polymer Battery

We chose this project to challenge ourselves beyond the standard car-style robots. This project is particularly challenging because it involves encoders, motors and an accelerometer, as well as complex control theory. First, the hardware had to be designed, assembled and wired. Next the libraries needed to be implemented, tested and adjusted for the embedded microcontroller. Finally that leaves the control system. Although inverted pendulums are an old control problem, self-balancing inverted pendulum robots are a newer design challenge. The inverted pendulum robot does not have a known set position that will be the most stable. Instead they are adaptive to changes in weight and also adjust their angle to compensate for acceleration.

The idea of controlling an inverted pendulum is to use sensors, actuators and a closed loop controller to make an unstable system both stable and controllable. This is something that is currently not taught in universities although it relates to many real world problems including the control of rockets and satellites. This control turned out to be much more complex than even we had anticipated. In order to properly control the robot we will need to determine the system characteristics, and model them on a simulation and controller design software such as Matlab. This is a project that should be brought into class material to teach advanced control systems. For this purpose, Steve could be used as an affordable, 2 wheeled robot learning platform.

Built With

  • parallax-propeller-quick-start
Share this project: