Академический Документы
Профессиональный Документы
Культура Документы
Contents
1. Introduction:
2. Stages of development
2.1. Web-based instrument Panel (Basic T) . . . . . . . . . . . . . . . . . . . .
2.2. Video + Heads-up display prototype . . . . . . . . . . . . . . . . . . . . .
2.3. Stereoscopic 3D view + Head orientation tracking using Gyroscope . . . . .
3. Proof of Concept
3.1. FlightGear Parameter Logging Suite . . . . . . . . . . . . . . . . . . . . .
3.2. Flight testing comparison between Virtual Cockpit and Actual Flight testing
3.2.1. Glide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3.2.2. Phugoid Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
4. Conclusion
References
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
. . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
1
2
2
3
5
6
6
8
8
9
10
10
1. Introduction:
The Virtual Cockpit is a virtual-reality interface software that interfaces the pilot and the unmanned aerial vehicle or a
simulator. The main aim is to give the pilot the feel that he is in the aircraft that he is piloting even if it is physically
impossible. This enables even a commercial pilot to be able to pilot a UAV with no prior training or experience. This
can be useful in various areas like pilot training, virtual aerial city tours, flight testing etc. The prototype software was
developed to suit the needs of a virtual flight testing laboratory. Flight testing is a branch of aeronautical engineering
that develops and gathers data during flight of an aircraft, and then analyzes the data to evaluate the aerodynamic flight
characteristics of the vehicle in order to validate the design, including safety aspects. [9]
The advantages of having a Virtual Cockpit environment in flight testing of UAV :
1
2. Stages of development
The Virtual cockpit interface was split into three modules, the flight instrument panel, the video head-up display and the
Virtual Reality environment.
Artificial Horizon
Heading Indicator
Vertical Speed Indicator
Airspeed Indicator
Altitude Indicator
in-built JSON parser. Each of the instrument in the panel consists of smaller components that can be individually moved.
Based on the data received, the components are transformed (rotated, moved, translated) using JavaScript and CSS (cascading style script) there by causing the instrument panel to look and feel like a mechanical panel.
A total of 520 lines of code has been written in java, javascript, HTML, CSS to make this instrument panel.
The following is a snippet showing how the data is displayed on the instruments.
// ROLL
$(this).find('div.instrument.attitude div.roll')
.css('transform', 'rotate(' + roll + 'deg)');
// PITCH
$(this).find('div.instrument.attitude div.roll div.pitch')
.css('top', pitch * 0.7 + '%');
// HEADING
$(this).find('div.instrument.heading div.heading')
.css('transform', 'rotate(' + -heading + 'deg)');
// TURN
$(this).find('div.instrument.turn_coordinator div.turn')
.css('transform', 'rotate(' + turn + 'deg)');
// VERTICAL SPEED
if (vspeed > constants.vario_bound) {
vspeed = constants.vario_bound;
} else if (vspeed < -constants.vario_bound) {
vspeed = -constants.vario_bound;
}
vspeed = vspeed * 90;
$(this).find('div.instrument.vario div.vspeed')
.css('transform', 'rotate(' + vspeed + 'deg)');
// AIRSPEED
speed = 90 + speed * 2;
$(this).find('div.instrument.airspeed div.speed')
.css('transform', 'rotate(' + speed + 'deg)');
// ALTITUDE
var needle = 90 + altitude % 1000 * 360 / 1000;
var needleSmall = altitude / 10000 * 360;
$(this).find('div.instrument.altimeter div.needle')
.css('transform', 'rotate(' + needle + 'deg)');
$(this).find('div.instrument.altimeter div.needleSmall')
.css('transform', 'rotate(' + needleSmall + 'deg)');
3. Roll
4. Pitch
The main sensor used was the Gyroscope. It provided the rate of rotation in rad/s around the device's x, y, and z axis.
// Integrate around this axis with the angular speed by the timestep
// in order to get a delta rotation from this sample over the timestep
// We will convert this axis-angle representation of the delta rotation
// into a quaternion before turning it into the rotation matrix.
float thetaOverTwo = omegaMagnitude * dT / 2.0f;
float sinThetaOverTwo = sin(thetaOverTwo);
float cosThetaOverTwo = cos(thetaOverTwo);
deltaRotationVector[0] = sinThetaOverTwo * axisX;
deltaRotationVector[1] = sinThetaOverTwo * axisY;
deltaRotationVector[2] = sinThetaOverTwo * axisZ;
deltaRotationVector[3] = cosThetaOverTwo;
}
timestamp = event.timestamp;
float[] deltaRotationMatrix = new float[9];
SensorManager
.getRotationMatrixFromVector(deltaRotationMatrix, deltaRotationVector);
// User code should concatenate the delta rotation
// we computed with the current rotation
// in order to get the updated rotation.
// rotationCurrent = rotationCurrent * deltaRotationMatrix;
}
}
The Gyroscope readings obtained are used to to change the pitch, roll, & horizon, display on the HUD. The mobile devices
internal electronic compass is queried to updating the heading on the HUD.
Oculus Rift
Samsung Gear VR
HTC Vive
Google Cardboard
Google Cardboard was the best candidate due to its low costs, easy availability, DIY nature and eco-friendly components
[5]
. The Google Cardboard is a DIY (Do-it yourself) VR Headset proposed by Google, Inc. which uses pieces of cardboard
and lens to form a VR Headset.
They consist of two simple convex lenses for properly focusing the image from the screen onto our retina and a
neodymium magnet which acts as a mode of input. A mobile device is kept inside the Cardboard structure and the lens
make sure that the image on the screen is properly and comfortably interpreted by our eyes.
Stereopsis (from the Greek - stereo- meaning solid, and opsis, appearance, sight) is a term that is
most often used to refer to the perception of depth and 3-dimensional structure obtained on the basis of visual information
deriving from two eyes by individuals with normally developed binocular vision [10] . This phenomenon of Stereopsis is
used to create a 3D virtual reality.
FlightGear has the ability to provide a stereoscopic output (side-by-side) of the rendered simulation. To transmit this
stream live to a mobile device, Moonlight (an open-sourced implementation of Nvidia's GameStream Protocol) has been
used. The video feed is encoded and transmitted via a USB Ethernet interface.
The client application of the android device is written in Java. The application receives the video feed and displays
side-by-side on the screen. Head movements are recognized using a gyroscope present inside the android device. These
movements are sent back to the laptop and the mouse pointer is moved proportionally causing the FlightGear view to be
changed depending on the Head Position.
3. Proof of Concept
The Virtual Cockpit was used to perform flight test procedure on two different simulation environments Flight Gear and
X-plane 10.
The difference in the two simulators is the methodology implemented by each of them to predict how the aircraft flies.
Laminar Researchs X-Plane is considered to be the most realistic simulator available to the public. Unlike most simulation
engines, X-Plane does not rely on stability derivatives to define how an aircraft should fly; however, X-Plane uses actual
flow calculations many times per second to figure out how the given aircraft flies in the simulated environment. The
engineering process used to calculate the simulated flow field is Blade Element Theory.
Flight Gear uses stability derivative and look up stables to predict how the aircraft in question might fly. Aircraft
stability coefficients are based upon the aircrafts geometry and each components interaction with each other during flight.
Those coefficients can be estimated using equations or found using empirical sources such as the United States Airforces
(USAF) Digital DATCOM. [1]
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
3.2. Flight testing comparison between Virtual Cockpit and Actual Flight testing
3.2.1. Glide
The aim of this procedure is to find the glide velocity and the glide slope of the UAV. The test procedure for glide is:
1.
2.
3.
4.
[2]
4. Conclusion
All the primary objectives of this project have been achieved. The results of the simulator have been comparable with
the actual Flight Tests conducted using an R/C Aircraft. This can be extended by transforming the FlightGear parameter
logging suit into a Virtual Flight Testing lab command center allowing the users to input aircraft dimensions, simulate
and obtain the results in a user friendly, easy-to-user interface.
References
[1] David W. Babkal. Flight Testing in a Simulation Based Environment . California Polytechnic University, California
Polytechnic University. 2011.
[2] M. V Cook. Flight Dynamics Principles . Arnold, New York. 1997.
[3] I. Fette, and A. Melnikov. RFC 6455 - The Websocket Protocol. 2011. https://tools.ietf.org/html/
rfc6455. (Online; accessed 28-April-2016).
[4] FlightGear. Property Tree - FlightGear Wiki. 2015. http://wiki.flightgear.org/Property_tree. (Online;
accessed 28-April-2016).
[5] Google Inc. Specifications For Viewer Design - Cardboard Manufacturer Help. 2016. https://support.
google.com/cardboard/manufacturers/answer/6323398. (Online; accessed 28-April-2016).
[6] J. Postel, and J. Reynolds. RFC 854 - Telnet Protocol Specification. 1983. https://tools.ietf.org/html/
rfc854. (Online; accessed 28-April-2016).
[7] Y. Shafranovich. RFC 4180 - Common Format and MIME Type for CSV Files. 2005. https://tools.ietf.
org/html/rfc4180. (Online; accessed 28-April-2016).
[8] Ed T. Bray. RFC 7159 - The Javascript Object Notation (JSON) Data Interchange Format. 2014. https://tools.
ietf.org/html/rfc7159. (Online; accessed 28-April-2016).
[9] Wikipedia. Flight Test Wikipedia, The Free Encyclopedia. 2016. https://en.wikipedia.org/wiki/
Flight_test. (Online; accessed 28-April-2016).
[10] Wikipedia. Stereopsis Wikipedia, The Free Encyclopedia. 2016. https://en.wikipedia.org/wiki/
Stereopsis. (Online; accessed 28-April-2016).
10