Introducing
Your new presentation assistant.
Refine, enhance, and tailor your content, source relevant images, and edit visuals quicker than ever before.
Trending searches
An autonomous balancing robot kit you can build
See it work...
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
Making in small batches (5)
Plywood and acrylic cut on my home made CNC machine
PC boards populated by hand in the garage
Parts sourced by mailorder
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