Rating is available when the video has been rented.
This feature is not available right now. Please try again later.
Published on Sep 23, 2012
Remote controlled balancing robot
Arduino Uno R3 Pololu 29:1 Metal Gearmotor 37Dx52L mm with 64 CPR Encoder Pololu Wheel 90x10mm Pololu Dual VNH5019 Motor Driver Shield for Arduino SparkFun IMU Analog Combo Board -- 5 Degrees of Freedom IDG500/ADXL335 Nyko Wireless Kama
I use a complementary filter to estimate the tilt angle and rate from the IMU vertical and longitudinal accelerometers and tilt gyroscope. The control loop has an outer PID loop of motor speed with tilt angle command output (from the encoders), a middle loop of tilt angle with tilt rate command output, and an inner loop of tilt rate with motor PWM command. There's a separate loop to control yaw rate (turning) which is just PID with a setpoint from the Wii Nunchuck, input from the yaw gyroscope, and output of a differential PWM motor command.