Sunday, April 20, 2014

Software Description

The baby board needs to be left still for a few seconds when it is powered up to allow the IMU to calibrate. The main board is running two main control loops once the initial IMU calibration is complete. The first loop is a a PID controller on the tilt angle and error of the board. The IMU continuously measures, filters, and updates the MBed with the current tilt angle and tilt error rate which feed into a the PID controller. The controller outputs the motor speed necessary to return to leveled position. The turning input from the wireless glove as well as the x axis angle from the IMU is also feed into a PD controller which outputs the differential turning speed that is feed to the motors. The turning controller forces the baby board to drive along the IMU's x-axis unless the turning input from the glove board is non-zero. The wireless board sends turning and servo position data to the MBed on the baby board 10 times a second. 

No comments:

Post a Comment