10 likes | 138 Views
Implementation Our Design for a fault tolerant network was implemented on four arduino arduimu boards connected by i2c bus. INTRODUCTION
E N D
Implementation Our Design for a fault tolerant network was implemented on four arduinoarduimu boards connected by i2c bus. INTRODUCTION Modern aircraft utilize data inputs from a diverse array of sensors to determine flight conditions. This instrumentation includes GPS, airspeed, altimeter, accelerometers and gyroscopes. Flight critical instruments are always redundant, making the system more resilient to the loss of any one sensor, however this introduces problems of data disagreement between sensors. High levels of reliability in flight instrumentation depend upon masking incorrect data from the cockpit and flight computer. • I2C communication • Expandable up to devices (up to 127 devices) • Ability to broadcast data to all slaves • Ability to implement multi-master communication • 2-wire industry standard interface • Fault-Tolerance • Prevent sensor faults from propagating to outputs. Two kinds of faults: • *fail silent faults: device fails to transmit data (easy to detect) • *byzantine fault s: device transmits arbitrary data (more difficult to detect) • Fault Insertion (through software) • Allows fault frequency and type to be arbitrarily adjusted to test robustness of the system • Byzantine algorithm • Tolerate N faults -> 3N+1 modules • (Diagram Here) • Clock Synchronization • Purpose: all of the processors to be exact replicas of each other • At a predetermined cycle time, all clocks exchange their current values. Each clock executes some filtering and calculate a new clock value. It then updates its own local clock value with the new value • Output • - The final values of the four IMU units are output via serial port • DESIGN • We implemented our design on Arduinoarduimu units. • These each contain: • 3D accelerometer • 3D gyroscope • GPS port with FTDI autoswitch • I2C port with 3.3V translation • Size 1.5’’ x 1.0’’ • The arduimu boards were networked with I2C and the outputs monitored through serial ports. The four boards were located on a motherboard inside an environmental enclosure. MOTIVATION The ADIRU (Air Data Inertial Reference Unit) systems currently deployed on aircraft are proprietary designs not open to testing or scrutiny. It is the hope of this project to stimulate academic research into this important field. • RESULT • (Graph Here) • The voting algorithm implemented on four arduIMU boards was able to mask one byzantine fault as planned. Data from three axis accelerometers and three axis gyroscopes were intermittently injected with a single byzantine fault. The data output successfully screened this fault. Why Do Airplanes Crash? Investigating Air Data Inertial Reference Units GOAL The goal of this open source project is to create a fault tolerant network that incorporates the basic elements of an aviation inertial measurement unit to test fault tolerant algorithms. The Team On October 7, 2008 in the middle of the night over western Australia, an Airbus A330 suffered a failure in one of the three ADIRU units. Incorrect data relating to the pitch of the aircraft was sent to the flight computer causing a series of sudden dives that violently hurled passengers and crew members about the cabin causing numerous serious injuries. Sponsor: Dr. Lee Pke (Galois inc.) Advisor: Dr. ChristofTeuscher Department of Electrical and Computer Engineering