Have a Safe Flight: Bon Voyage! Mariela E. Buchin, WonRon Cho, Scott Fisher 6.111 Digital Systems Laboratory – Spring 2006 Department of Electrical Engineering and Computer Science Massachusetts Institute of Technology May 18, 2006 Abstract This project creates an interface between the movement of a human body and the flight path of an airplane. It uses a "smart flight vest" to detect the movements of a pilot’s upper body and translates them into parameters representing the pitch and roll of an airplane in flight. In addition to the pitch and roll, the throttle of the airplane is set and adjusted through a throttle device that replicates the motion of an actual throttle lever. The physics of the flight mimics the real physics of an actual airplane, taking into account lift, drag, weight, and thrust. The state of the flight can be viewed from a monitor that displays the main features of an airplane console, including an attitude indicator, a compass, and an altitude and vertical velocity display.Table of Contents List of Figures/ Tables iii Overview 1 Interfacing the Analog Sensors to the Labkit 3 Detecting Pilot’s Movements 4 Throttle Lever 4 Analog to Digital Converter 4 Creating a 3.375 MHz Clock 5 AD670 FSM 5 Syncronizer 6 Rate to Angle Module 6 Debugging Sensors 7 Module PlanePhysics.v & Flight.v 7 Module Alpha1.v 8 Module Altitude_Vel.v 10 Module Cos.v & Sin.v 11 Module DelVel_Force.v 11 Module Drag.v 11 Module Lift.v 12 Module PitchOmega.v 12 Module RollOmega.v 13 Module Thrust.v 13 Module Weight.v 14 Module VertHorzForces.v 14 Module Rho.v 15 Physics Debugging 15 Display 15 VGA 17 DCM 18 Attitude Indicator 18 Compass 20 Char_String_Display 20 Throttle 20 Debugging 21 Conclusion 22 2List of Figures/ Tables Figure 1: Top Level View 2 Figure 2: Block diagram of the Sensor System 3 Figure 3: FSM for cycle of the converter for taking a sample of data 5 Figure 4 : Data output is set using the read and status signals. 6 Figure 5: Block diagram of the Physics 8 Figure 6: Lift (proportional to alpha) vs. angle of attack in degrees 9 Figure 7: Change in “Angle of Attack” vs change in the airflow 9 Figure 8: Piecewise Linear approximation for alpha for angles -90 through 90. 10 Figure 9: Alpha values for various values of pitch. 10 : Wave form for the Altitude_Vel.v module. 10 Figure 10: DelVel_Force wave 11 Figure 11Figure 12: Drag showing values for Drag as a function of different Velocities. 12 Figure 13: Lift Module showing values for Lift 12 Figure 14: PitchOmega displaying both a vertical omega and a horizontal omega 13 Figure 15: RollOmega gives a subsequent roll omega or angular velocity. 13 : Thrust calculations 13 Figure 16Figure 17: VertHorzForces calculates the total forces in 3 separate directions 14 : The values for Rho at the different values for altitude. 15 Figure 18Figure 19: The user sees the flight console during flight. 16 Figure 20: These two screen show up when the game is over. 16 Figure 21: The display module 17 Figure 22: The figures above show how to sync and blank signals are generated 18 Figure 23: Calculations involved in displaying the attitude indicator 19 Figure 24: The compass is implemented in 2 steps. 20 Figure 25: Characters that show up on screen 21 Figure 26: This shows the vertical blank and sync signals. 21 Figure 27: This shows the horizontal blank and sync signals. 22 3Overview The main hardware component of the system is found in the flight vest where two angular rate sensors are mounted onto circuit boards perpendicular to each other. The output of the sensors are sent through analog to digital converters that are also attached to the circuit boards, then they are sent to the main labkit via a long ribbon cable. A sensor module programmed into the Xilinx chip interfaces with the converter to make digital values that can then be used to determine the angles that the pilot is tilting at. A throttle lever is also interfaced with the kit though the use of a AD converter the user I/O pins. The three output signals from the sensor module represent the vertical and horizontal tilt of the “yoke” of the airplane, and the amount of throttle. These 10 bit signals are then sent to the physics module for conversion into actual physical aspects of an airplane. Mariela Buchin The goal of the physics engine is to take in three user inputs, the throttle, the yoke’s pitch, and the yoke’s roll, and convert these signals into a realistically controlled simulation of flight. All calculations are done within the modules within the physics engine. To create realistic flight there are a few considerations to account for when coming up with physics equations. One main consideration is the forces on the plane. While in flight, the plane experiences four main forces: Lift, Thrust, Drag, and Weight. These are primarily controlled by the value of the throttle and the orientation of the plane. Lift is always perpendicular to the orientation of the wings. Thrust and Drag always work to counteract each other in the direction of the plane’s motion. And Weight is always directed down. Thrust is proportional to the percentage of the throttle; Drag and Lift are proportional to the square of the velocity of the plane as well as experimentally determined coefficients. During the course of flight, these four forces act together to create the basic motion of the plane through space. As the plane rotates and pitches, these forces act in different directions, thus these forces are calculated and combined by their component vectors. Another large part of a plane’s behavior in the air is the nose’s orientation. The pilots control yoke (or in our case, the orientation of the user’s body) is used to roll and pitch the plane. In reality, there are many forces and complicated equations involved to create a very realizable attitude (pitch and roll) behavior, however, for this simulation, the plane’s attitude will be controlled simply by the position of the controls, not subject to drift or other ambient behaviors. As it turns out, using these approximations do not affect the realizable aspect in any large factor when the plane is under control. Also, with the lack of precision guaranteed by the gyros, this approximation
View Full Document