Introducing 

Prezi AI.

Your new presentation assistant.

Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.

Loading content…
Transcript

What is it?

An autonomous balancing robot kit you can build

See it work...

How it works

The Motor Control block takes into account battery voltage in determining the output drive of the motors. The Monitor 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 Accelerometer 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 Accelerometer is good at measuring the angle when the robot is static, but provides a misleading signal during motion. For this reason the Gyro, which measures angular velocity around the X, Y, and Z axis is also used. The Gyro 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 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.

Complete kit

Basic assembly

Basic soldering

No programming

Open source code

The 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.

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.

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 block.

The 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.

9 inches tall

3 inch wheels

4 AAA batteries

Dual distance sensors for

Wall following capability

Balances on two wheels

Hall-effect angular position sensors

Kit coming soon

Aircraft plywood is CNC machined and gives a high strength to weight ratio

Inertial Measurement Unit

Adaptive control

Mapping of surroundings

Autonomous behavior

My Dream

Build and sell a balancing robot kit...

Design Principles

  • Make in my garage
  • Miniature scale
  • Lightweight construction
  • Consistent performance

Manufacturing

Making in small batches (5)

Plywood and acrylic cut on my home made CNC machine

System Design

PC boards populated by hand in the garage

Mechanical Design

Parts sourced by mailorder

Circuit design and layout

Integration of sensors, software and mechanics

CAD Plywood frame

miniature motors and gearboxes

RC servos

Minimize components

Leverage digital sensors and 8-bit processing

Surface mount

Learn more about creating dynamic, engaging presentations with Prezi