Project Overview
MicroCart is an ongoing senior design project for electrical, computer, and software engineers at Iowa State. The task of the 2014 team was to build an autonomous quadcopter, or "quad", using on-board microcontroller and sensors. The key hardware devices used are an Infrared (IR) camera system acting as pseudo-GPS and a custom-designed board mounted to the quad which contains an IMU (Inertial Measurement Unit) for obtaining orientation, a bluetooth module for sending commands, and a FPGA (Field-Programmable Gate Array) programmed with a CPU for in-flight computations. The key pieces of software used are the PID controller for quad stabilization, the Kalman filter for optimal orientation estimations, and a signal mixer to control each motor.
The project has multiple components in order to obtain a good flight pattern. The seperation of parts goes in order of:
- PID controller
- Bluetooth module and code
- GUI system
- Filters and Translations
- IMU Accelerometer and Gyroscope
- Pseudo-GPS
- ______________________________________________________________________________________________________________________________________________________________
The system design we created is located in Figure 1. The system starts at the camera system which locates the position of the quad in a pre-defined cartesian system. The information is sent to the base station and is relayed, along with commands, to the LABET board via bluetooth.
The PID controller on the board takes in the current position and new position command and adjusts the orientation to make the current position equal to the position command. Orientation must be updated more frequently than position to prevent crashing, instability, and improper positioning. The current orientation is input from the IMU and processed by a filter since the gyroscope and accelerometer have some error. The PID sets an orientation to make the quad change its position. The set orientation changes based on how far the quad is from its new position.
The values outputted by the PID are used to adjust the current values of throttle, pitch, roll, and yaw. These signals input to the motor signal-mixer and adjust the value for each motor. The set value for each motor changes the duty-cycle of the PWM for that motor. The ESC receives the PWM and changes the RPM of the motor.
A diagram of the project and how the parts connect is located below with individual parts being divided for better understanding of differences.