Autonomous Helicopter James LydenHarris Okazaki EE 496
Project Overview The goal of this project is to create a helicopter capable of flying itself. The helicopter should be able to take off, fly to a predetermined location, and land without user input (during flight). The target will be specified pre-flight by a user, through a computer interface.
Systems Overview Computer with Bluetooth Interpret sensor data/calculate and maintain course Transceiver: Class 1 Bluetooth Radio Send formatted sensor readings to the PC Receive control signals from the PC PIC Microcontrollers with UART, SPI/I 2 C Collect/Format sensor readings prior to transmission Convert/split control signals prior to sending to servos Gyroscope Sensor Read rotation around rotor axis 3-Axis Accelerometer Sensor Read acceleration in X, Y, and Z directions
Sensor Orientation
Subsystem Design User: input flight plan 3 Axis Accel Gyro Servos PC w/BT: calculates control signals Master μC BT transceiver Slave μC OFFBOARD ONBOARD
Processing PC (POSIX OS) PID calculations position/velocity/acceleration data storage Master Microcontroller Sensor interface Servo control PC relay Slave Microcontroller Servo control
PC Software Flow Initialize: Open Serial Port Test Serial Port Get Data: Listen for Packet Parse Packet Store Data: Update Pos/Vel/Acc Update Error Values PID Calculations: Read Error Values Compute Corrections Flight Planning: Check Flight Mode Add Desired Offsets Format Output: Combine Offsets+PID Put Data Into Buffer Send Data: Write Buffer to Serial Port
Master μC Software Flow Initialize: Open Serial Ports Initialize Sensors Initialize PWMs Get Sensor Data: Send Commands Read/Save Responses Format Sensor Data: Use 8 MSbs Cast To Chars Send Sensor Data: fprintf Each Byte Wrap Word With Tags Get Correction Data: Wait For UART Ready Read 4-Byte Word Set Control Signals: Parse First 2 Bytes Set PWM Duty Cycles
Slave μC Software Flow Initialize: Open Serial Port Initialize PWMs Get Correction Data: Wait For UART Ready Read 4-Byte Word Set Control Signals: Parse First 2 Bytes Set PWM Duty Cycles
Timeline
Constraints to Consider Weight The sensors, transceiver, and power supply must be as light as possible, since they will be onboard. Power consumption Trade-off between flight time and weight of batteries Trade-off between wireless range and power use Trade-off between navigational accuracy and microprocessor speed (sensor data transmission) Sensor/Control delays Trade-off between sensor sensitivity, size, and speed Activation speed of servos is our limiting factor in adjusting course