Project

# Title Team Members TA Documents Sponsor
25 WobbleBot - Dynamic balancing robot on sphere
Marc Backas
Mingrui Zhou
Phillip Lovetere
David Null design_document1.pdf
design_document2.pdf
design_document3.pdf
final_paper1.pdf
other1.ipynb
presentation1.pptx
proposal1.pdf
# BALLBOT
## PROBLEM
A problem in control systems is getting a robot to balance on top of a ball, and to do this quickly and robustly. ![](https://upload.wikimedia.org/wikipedia/commons/thumb/5/5a/BallIP_2008.jpg/220px-BallIP_2008.jpg)
The robot will look something like the one above
## SOLUTION
The robot will need three omnidirectional wheels attached to three motors, to move over the surface of the ball with three degrees of freedom. To remain stable, a digital, closed loop control system will be implemented on a microcontroller to control the torques output by its motors. To compute these torques, the robot will need to predict its dynamic behavior using data gathered about itself and its environment. An IMU will be used to measure the robot's linear and angular accelerations, and orientation. Motor encoders will be used to measure the robot's speed and position with respect to the ball. Fusing these data with a digital controller, the robot will be able to accurately predict its dynamics, and apply the necessary control signals to its motors to maintain stability. If for some reason we are unable to make this robot in the time allotted, we will instead make a similar robot capable of balancing on a cylinder.

We already have a simulation for the 2d robot, and have implemented a stable controller for it.

## SOLUTION COMPONENTS
### CHASIS SUBSYSTEM
- Main body
- Motor mounts
- Ball
### SENSOR SUBSYSTEM
- IMU: Bosch BNO055 absolute orientation sensor
- Motor encoders to sense motor shaft position, velocity. Either optical or magnetic quadrature
### PROCESSOR SUBSYSTEM
- Microcontroller: consider RTOS capability, memory requirements, built-in peripherals, i/o latency, library compatibility.
### MOTOR SYSTEM
- Need torque control (velocity if stepper)
- Motor: Brushed DC, stepper motor, BLDC motor
- Motor driver: current controller (DRV from TI), ODRIVE (for BLDC)
- Omnidirectional Wheels
### POWER SUBSYSTEM
- Power supply: Bench power supply or battery
- Linear Regulator
- Battery management system
- DC-DC converter
## CRITERION FOR SUCCESS
- Our robot can stay on top of the ball stably
- Our robot will be able to compensate for a disturbance (i.e. a push)
- The robot will be able to recover from an initial state within a certain angle from the setpoint
- The robot will be able to balance on a variety of surfaces

Easy Cube Clock

Allan Englehardt, Jason Luzinski, Benjamin Riggins

Featured Project

Today's alarm clock market is full of inexpensive, but hard to use alarm clocks. It is our observation that there is a need for an alarm clock that is easy to set, and turn on and off with little instruction. Imagine an alarm that is set with the intuitive motion of flipping the clock over. When the alarm is on, you can see the alarm time on the top of the clock. To turn off the alarm, you simply flip it over to hide alarm display. Out of sight, out of mind. The front face of the clock will always show the current time, and will flip to the correct orientation.