Loading presentation...

Present Remotely

Send the link below via email or IM


Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.


Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Miniature Balancing Robot Kit

Shows features of a new autonomous balancing robot kit

Robot Guy

on 21 March 2012

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Miniature Balancing Robot Kit

An autonomous balancing robot kit you can build
Balances on two wheels
Hall-effect angular position sensors
Aircraft plywood is CNC machined and gives a high strength to weight ratio
Inertial Measurement Unit
Adaptive control
Mapping of surroundings
Autonomous behavior
Kit coming soon
Dual distance sensors for
Wall following capability
Complete kit
Basic assembly
Basic soldering
No programming
Open source code
Plywood and acrylic cut on my home made CNC machine
My Dream
Circuit design and layout
System Design
Design Principles
Make in my garage
Miniature scale
Lightweight construction
Consistent performance
Mechanical Design
See it work...
What is it?
9 inches tall
3 inch wheels
4 AAA batteries
Build and sell a balancing robot kit...
Integration of sensors, software and mechanics
Minimize components
Leverage digital sensors and 8-bit processing
Surface mount
CAD Plywood frame
miniature motors and gearboxes
RC servos
Parts sourced by mailorder
PC boards populated by hand in the garage
Making in small batches (5)
measures the direction of the force of gravity relative to the X, Y, and Z directions. As the robot tilts, the direction of the force of gravity indicates the tilt angle. The
is good at measuring the angle when the robot is static, but provides a misleading signal during motion. For this reason the
, which measures angular velocity around the X, Y, and Z axis is also used. The
suffers from drift in its signal, so it does not provide a good static measurement. The measurements are turned into angles and combined by the
Inertial Measurement
block , software code in the HC08 Microcontroller, to produce an improved measure of the tilt angle along the XZ plane for balance control. The
Inertial Measurement
block also determines the rotation of the robot around the Z axis for steering navigation.
The key to balancing is the
Feedback Control
block which takes as input the tilt angle, change in tilt angle (angular velocity), wheel position P, change in wheel position (wheel velocity) and provides an output to the
Motor controller
driving the wheels. The
Feedback Controller
drives the motors to attempt to balance the robot. In addition it controls the forward speed and steering of the robot based on the output of the
Navigation Rules
. The
Feedback Controller
adaptively adjusts itself by slightly varying the parameters and measuring over time whether it improves the ability to balance and control robot velocity. If it finds improved parameters, these are saved in Flash memory and recalled when first powered up.
Motor Control
block takes into account battery voltage in determining the output drive of the motors. The
block constantly checks the orientation of the robot to make sure it is in an upright position and that the battery voltage is sufficient before allowing the
Motor Control
block to turn on the motors.
The robot creates a map of its surroundings by sweeping the
Distance Sensors
along the XY plane. The
Servo Position Controller
alternately moves each Scanning Servo so that it scans a quarter-circle. The
Distance Sensors
never point in exactly the same direction to avoid interference between their infrared beams. Also, one
Distance Sensor
is always facing forward in the direction of travel.
Servo Position Controller
adjusts the scanning rate based on proximity to obstacles so that faster scanning occurs when obstacles are close, based on the
Polar Map
. It also tracks in a direction when wall following is used. The
Polar Map
block creates the map of the robot’s surroundings based on the
Distance Sensor
measurements and the robot orientation as computed by the
Inertial Measurement
block. The map uses polar coordinates to keep track of a distance at 16 different angles around a circle on the Z axis. As the robot steers and moves, the polar map data is transformed accordingly.
Direction Optimizer
block searches for the best direction in the
Polar Map
to avoid obstacles. The
Navigation Rules
block determines what basic action the robot should take. It decides whether to use the direction suggested by the
Direction Optimizer
or to stick with its current direction. It also decides whether to do a U turn when forward directions have obstacles, or go into reverse when wheel motion is stopped, or to begin wall following.
If wall following is selected, the output of the
Wall Following
block is used in a control loop to steer the robot at a target distance away from a wall. The
Navigation Rules
block provides robot speed and steering set points to the
Feedback Control
How it works
Full transcript