480 likes | 649 Views
Automated Pilot Control Assistance for a Micro-Scale Helicopter. Parker Evans Jeffrey Hudson Collin Weber Cornell University Laboratory for Intelligent Machine Systems. Goals. Initial Goal: Stabilized hover Altitude and yaw controlled autonomously Stable in pitch and roll axes
E N D
Automated Pilot Control Assistance for a Micro-Scale Helicopter Parker Evans Jeffrey Hudson Collin Weber Cornell University Laboratory for Intelligent Machine Systems
Goals • Initial Goal: Stabilized hover • Altitude and yaw controlled autonomously • Stable in pitch and roll axes • Greatly simplifies operator control of vehicle • Achieved • Additional Goals: Advanced Maneuvers • On-board wireless video relay (Achieved) • Improved flight control (Achieved) • Altitude input by operator, held constant • Movement in constant-altitude plane controlled by stick • Future Goals: Rangefinder-based obstacle avoidance and path redirection
Previously • Integrated all sensors into code • Implemented two separate PID loops for altitude and yaw. • Used magnetometer, gyroscope and sonar
Board Revs • Issues • Timer conflict with input and output of PWM signals • Helped give more stable signal for absoluter control of altitude and yaw • Added battery level measurement • Gyro solder joint was breaking • Created two new boards that are fully populated
Board Revs Cont. Stencil and Unpopulated Board Oven Fully Populated Board Hot air rework station
Magnetometer Calibration • Found that a multipoint calibration procedure was necessary for magnetometer data • Used PNI Application Note for calibration • Graphs show data with both before and after data
New Piloting Techniques • Developed Pilot Intuitive Controls • Manual Altitude Adjustment • Height, not throttle, is controlled by left stick • Range of the stick is relative to height off the ground • Manual Heading Adjustment • Shifting the throttle stick left and right will yaw the helicopter until the stick is re-centered • New heading is maintained until pilot changes the desired heading.
In Flight Data • Gumstix integrated to record in flight data • Future teams could use this to tune control system • Test capturing data taken during a disturbance in the system • Altitude, gyro and motor values shown next
Wireless Video Camera • Pro Series Wireless Camera • Full Color – 250k Pixels • Transmits up to 300 feet • Cost - $200 • 18 x 34 x 17 mm • Uses battery power fromhelicopter 34 mm
Conclusions • Proof of concept of assisted flight • Independent control to stabilize altitude and yaw • On-board video allows for real world applications • Won AIAA Student Conference Region I Paper Competition • Future work • Gumstix integration will allow for higher level mathematical operations • Additional sensor integration to be used in obstacle avoidance
Acknowledgments • Cornell University Department of Mechanical Engineering • Professor Ephrahim Garcia • Professor Thomas Avedisian • Professor Mark Campbell • Rob MacCurdy • Cornell University Laboratory for Intelligent Machine Systems • Funding provided by United Technologies Corporation
Overview • Project Goals • System Constraints • Hardware Selection • Yaw Control Development and Implementation • Altitude Control Simulation • Altitude Control Implementation
Hardware: Vehicle • Blade CX Helicopter • Widely available, common hobby helicopter • Permits fast, low-cost replacement of components • Counter-rotating blades • Choice removes complexities added by tail rotor • $200 price point • Gross take-off weight: 310 grams
Hardware: On-Board Electronics • Custom-built microcontroller board • Designed in-house for this application • $200 cost (small run), 20 gram mass • Microcontroller: TI MSP430 • 16 bits • Low cost, low power, widely used • Sensors: Magnetometer, accelerometers, sonar, gyroscope • Additional electronics: 4-channel receiver, wireless video camera, Gumstix Linux computer • Gumstix allows for future work: in-flight data capture and high-level mathematics
Design Constraints • Imposed by choice of platform • 7.4V 800 mAh Lithium Polymer battery • Only sufficient for 3-4 minutes sustained flight • 90 gram payload capacity • 1 foot rotor diameter • Low system cost essential • Required use of commercial, off-the-shelf components • MEMS components key driver of low-cost sensor package • Inherent issues: sensor noise and unpredictability
Control Loop Block Diagram • U(s) = Command, E(s) = Error, N(s) = Sensor Noise, X(s) = Plant Output (ex. Height for Altitude Control) • Diagram of one control loop (altitude or yaw) • Single-input, single-output system
Microcontroller Code • Control calculations are done in fixed-point to save time • Magnetometer heading determination algorithm uses binary search and a lookup table (rather than trig and floating point) • Mixing algorithm for motor control (takes yaw and throttle, produces power for each motor) • Etc.
Accelerometer • Kionix KXR94-2353 Three Axis • +/- 5g sensivity • SPI interface • Low pass filtered to 40 Hz
Sensors: Magnetometer • PNI Micromag3 • Reads X, Y, and Z-axis magnetic field data • Allows for determination of orientation within a static magnetic field (i.e. that of the Earth) • Found to be affected by environment • Large ferrous metal objects • Emitters of electromagnetic fields Length: 1.0”
Integrated Electronics - Overview Magnetometer Z Axis Gyro Accelerometer Microcontroller XY Axes Gyro Length: 4.5”
Magnetometer Motor Test • EMI Test • Collected magnetometer data at fixed radial increments (45°) • Performed with and without helicopter motors running • Proved that motor operation does not affect ability to sense change in heading with respect to field
Sensors: Z–Axis Gyroscope From Analog Devices ADIS16100 Datasheet • Analog Devices ADIS 16100 • Automatic calibration at startup • Low steady state drift over observed time scales Gyro output (blue) and temperature (red) versus time (50 second test)
Sensors: Ultrasonic Rangefinders • GPS not an option for indoor use • Maxbotics LV-MaxSonar-EZ0 • Allows for ranging to obstacles, walls, and ground • Operational range of 0.15 to 6.4 meters • Calibrates on startup • “Dead zone”: returns value of 6” for objects <=6” away Length: 0.8”
Ultrasonic Rangefinder Testing • 120 samples collected per 5-inch increment • Confirmed linear response beyond dead zone • Predictable, constant values inside of 6”
Pressure Sensor • VTI’s SCP1000 • Resolution of 10 cm • Sampling at 1.8 Hz • Allows low frequency altitude signals, at high sensitivity • Digital output of absolute pressure using temperature sensor
Servo Control and Operator Radio Command Link • Castle Creations Berg 4L Receiver • Helicopter comes with 72 MHz transmitter and integrated receiver, gyro and motor control unit • Recevier inputs PWM signals from servos and motors to the microcontroller • Total weight = 4 g
Control System Overview Flight behavior broken down into components Altitude and yaw separately controlled PID Control implemented on each control loop Classical control Easily implemented on microcontroller Performs well in discrete-time operation Kp = Proportional Gain KI = Integral Gain KD = Derivative Gain
Desired Heading Z-axis Rotation Rate Error Actual Heading Magnetometer Input Z-Axis Gyro Input Yaw Control System • Based on data from magnetometer and Z-axis gyro • Uses Proportional-Derivative-Integral (PID) Control • Magnetometer provides direct measurement of error signal (deviation from desired heading) • Recalibrates and obtains initial heading upon startup • Gyro measures rotation rate; derivative of error signal
Yaw Implementation Details • Counter-rotating blades couple yaw and lift • Net thrust is sum of thrust from each blade • Difference in blade speeds produces yaw (unbalanced angular momentum) • Reduction in blade speed, however, also lowers total lift • Decoupling of throttle and yaw control • Desired difference in blade speed distributed between the two motors • Result is no loss of lift during yaw • Allowed implementation of independent control loops for altitude and yaw
Motor Mixing • Two port system • Limitations at extreme values • Maximum thrust cannot be achieved with a yaw • Must drop one motors thrust to generate the full yaw
Altitude Control Simulation • Discrete-time MATLAB model • Single degree-of-freedom: vertical position • Based on system time step length (40ms) • Simulated sonar input basis for model • Discretized integer input values correspond to altitude • Change in value over time step produces derivative of error • Sonar noise modeled with small random integer • Quadratic drag model • System parameters (mass, max thrust, etc.) empirically determined
Altitude Simulation Note simulated sonar noise input Tuning of model generated preliminary KP, KI, KD values
Implementation of Altitude Control • Gain values from model matched system values well • Take-off routine developed and implemented • Slow throttle ramp to takeoff thrust • Ramp of altitude input up to desired value • Minimizes overshoot and lessens settling time • Results in less erratic flight
Altitude Simulation • Ramping command in simulation • Less overshoot, slower dynamics
Sonar Rangefinder Issues • Initial Calibration • Requires 14” clearance for startup calibration • Mandates startup from platform • Dead Zone • Take-off routine designed to require no input at low altitudes • Downwash errors • Pressure waves from blades affect readings • Sonar moved to tail to correct this
Microcontroller • Texas Instrument’s MSP430F2618 • Small, low power, flash based microcontrollers • Multiple time modules for PWM I/O output • Together with board it sets sample rates, performs FIR filtering, receives R/C inputs and implements control loops.
Microcontroller • MSP430 cannot handle matrix conversions and Kalman filtering for future progress. • Board designed to mate with small Linux based computer from Gumstix • 8 gram board, 400 MHz processor, with 128 MB RAM, 32 MB flash memory • Communicate with RS232 link with the Gumstix providing output for motors and servos