This group project was completed in two weeks during a graduate level mechatronics class. The objective was to take a statically unstable two-wheeled system and apply control algorithms to balance it. A 16MHz Atmel microcontroller was programmed to take samples from the carefully mounted 3D accelerometer and gyro sensors on the robot. A calibrating routine was built into startup to capture offset values and a complementary filter was devised to filter data and drive the motor in the correct direction to steady the bot.
More information: Github Repository
Aspects: Control systems, C, sensor integration