KNU RTLAB A Real-Time Linux System For Autonomous Navigation And Flight Attitude Control Of An Uninhabited Aerial Vehicle Charles E. Hall, Jr. Mechanical and Aerospace Engineering North Carolina State University 홍원의
KNU RTLAB Contents LIFT System Hardware LIFT System Software Implementation of the Flight Controller Conclusions
KNU RTLAB LIFT System Hardware Stingray UAV CMH586DX133-64, Real Time Device USA 800MB Flash drive 50W power supply CMT202(NE2000 compatible) and 10Base-2 DM6430 Analog I/O data module for transducer DM6804 Digital I/O and Timer (PC-104) for radio control and servos PC-104 GPS card Development system
KNU RTLAB Block Diagram of LIFT System GPS DM6804 Timer Card DM6430 Analog to Digital Converter CPU Card Disk Card 800MB Sandisk Ethernet Card Power Supply PC104 Stack Interface Card Receiver servos Transducers The interface card multiplexes the radio control signal and demultiplexes the servo signal Optical isolation of interface card –prevents inductive spike form the servo motor getting into the system –reduce maximum current drain on the servo power supply
KNU RTLAB LIFT System Software Linux kernel , RTLinux 1.3 RTLinux tasks are used to implement data acquisition and control laws Configuration file in user space is passed to RTLinux task for transducer with calibration coefficient, control laws configuration and gains –local certification, flight qualified code Device drivers for the DM6804 and the DM6430 communicate with RTLinux tasks –linking the device driver and RTLinux task in kernel space
KNU RTLAB Implementation of the Flight Controller (1/3) DM6804 hardware Interface : read the pilot commands, generate commands to servo actuators no servo pulse chopped –Too short or long pulse to servos disastrous for the aircraft Receiver, R950S(time between servo pulses : 1.8 ~ 3.0ms), reduces the chance of running together pulse measurement DM6804 Timer card & two additional timer –Gear, Aux1, Aux2 and Aux3 –Throttle, Aileron, Elevator and Rudder Two real time tasks –Reading pulses from the receiver faster executing task, higher priority –Writing pulses to the servos responsible for generation of 50Hz sample rate for the system
KNU RTLAB Implementation of the Flight Controller (2/3) Read Task –periodic task with an interval of 0.81ms –priority of 3 –can read between 0 and 8 input channels –two arrays that hold input data –can interrupt the Write Task Write Task –periodic task with an interval of 4.0ms –priority of 4 –A sequence of 5 Write Tasks generates an interval of 20ms (50Hz) –first four Write Task generate servo pulses –fifth Write Task implements the control laws for the aircraft form the output for the next four Write Task execution
KNU RTLAB Implementation of the Flight Controller (3/3) Fifth Write Task –inserts a 4 ms delay –5 PID control laws and 2 couplers for attitude control and turn coordination –5 PID controller : pitch rate, yaw rate, bank angle, altitude, and velocity –coupler : calculates commanded pitch rate and yaw rate from bank angle following equations are implemented by the couplers Φ: bank angle v : velocity g : acceleration of gravity r : pitch rate q : yaw rate User space navigator program read GPS data –calculate updated commands for altitude, velocity, and bank angle
KNU RTLAB Tests Mean ms Standard Deviation4.25 us Maximum ms Minimum9.957 ms Mean10.5 us Standard Deviation4.4 us Maximum28.0 us Minimum3.8 us RTLinux Jitter Test ResultRead Task Timing PID Controller Coupler (Pitch Rate) Mean11.6 us26.2 us Std. Dev.3.15 us0.25 us Maximum15.4 us28.8 us Minimum7.2 us25.9 us Controller Timing
KNU RTLAB Conclusions An onboard avionics package uses the RTLinux to achieve a hard real time capability for data acquisition and control Flight test for attitude controllers will be conducted during the late summer of 2001 After these have demonstrated normal operation, the navigator program will be added to the system