Forschungsarbeit, 2011
69 Seiten
1. Introduction
2. Manual
2.1. Overview
2.2. Teleportation
2.3. State information
2.4. Camera
2.5. Mouse control
2.6. Help pages
2.7. Hyperlinks
2.8. Known issues & To-dos
3. Behind the scenes
3.1. The web page
3.1.1. JavaScript references
3.1.2. Styles
3.1.3. Body
3.2. The JavaScript code
3.2.1. setSingleElement
3.2.2. constants
3.2.3. simulator
3.2.4. create_ge_instance
3.2.5. initialize
3.2.6. instantiation_failure
3.2.7. create_jetpack
3.2.8. simulate
3.2.9. inputs
3.2.10. poll_joystick
3.2.11. external_forces_and_moments
3.2.12. ducts
3.2.13. vanes
3.2.14. aerodynamics
3.2.15. ground
3.2.16. controllers
3.2.17. yaw_controller
3.2.18. altitude_controller
3.2.19. pitch_controller
3.2.20. roll_controller
3.2.21. brake_controller
3.2.22. kinematics
3.2.23. position_ode
3.2.24. attitude_ode
3.2.25. velocity_ode
3.2.26. rate_ode
3.2.27. integrate
3.2.28. update_view
3.2.29. update_shadow
3.2.30. output
3.2.31. key_down
3.2.32. key_up
3.2.33. Button_go_there_onclick
3.2.34. Button_christchurch_onclick
The primary objective of this work is to provide a realistic, adaptable JavaScript simulation framework for the Martin Jetpack within the Google Earth plugin environment. It demonstrates how nonlinear six-degrees-of-freedom dynamics can be simulated in a browser-based 3D environment.
3.2.14. aerodynamics
Our aerodynamic model resembles the simplicity of the ducts and vanes models. We just want to model the fact that an unaccelerated motion in the atmosphere is damped out by drag. A velocity of the jetpack should therefore automatically slow down without any extra control input. Therefore, we create an aerodynamic drag vector D, pointing into the opposite direction of the jetpack’s velocity vector, having a magnitude proportional to the square of the norm of the velocity vector:
D = -4 |V| V^0 = -4 |V|^2 V / |V| = -4 |V|V
After extracting the body frame velocity vector from the state vector
function aerodynamics() {
var velocity = Vector.create([state.e(4), state.e(5), state.e(6)]);
we compute the velocity norm
var norm_velocity = velocity.modulus();
and calculate and add the drag force to the force accumulator:
external_force = external_force.add(velocity.x(-4 * norm_velocity));
The aerodynamic drag moment is calculated in a similar way: The counteracting drag moment vector is proportional to the square of the angular velocity vector norm:
var angular_velocity = Vector.create([state.e(10), state.e(11), state.e(12)]);
var norm_angular_velocity = angular_velocity.modulus();
external_moment = external_moment.add(angular_velocity.x(-4 * norm_angular_velocity));
}
1. Introduction: Briefly introduces the Martin Jetpack's propulsion system and mechanical components.
2. Manual: Provides user instructions for operating the simulator, including navigation, controls, and help features.
3. Behind the scenes: Details the technical implementation, source code structure, and mathematical foundations of the simulation environment.
Jetpack Simulator, Google Earth Plugin, JavaScript, Nonlinear Flight Dynamics, Flight Control, Six-Degrees-of-Freedom, Aerodynamics, Numerical Integration, Euler Angles, Joystick Interface, Web-based Simulation, Martin Jetpack, Differential Equations, Control Systems, 3D Visualization
This work provides a detailed manual and technical documentation for a web-based Martin Jetpack flight simulator implemented in JavaScript using the Google Earth API.
The central topics include realistic 3D flight simulation, the implementation of nonlinear differential equations for flight dynamics, and the integration of diverse user control interfaces.
The goal is to demonstrate that a realistic JavaScript-based simulation of nonlinear six-degrees-of-freedom dynamics is achievable within the Google Earth plugin framework.
The simulator employs numerical integration of nonlinear vectorial differential equations to calculate the motion of the jetpack based on forces and moments.
The main section (Behind the scenes) analyzes the source code, explains the control logic (yaw, altitude, pitch, roll), and defines the mathematical models for kinematics and force calculation.
Key terms include Jetpack Simulator, Flight Dynamics, JavaScript, Google Earth, Numerical Integration, and Control Systems.
The simulator uses a specific joystick wrapper that maps axes and button states to control variables, applying a dead-zone filter to compensate for hardware imprecision.
The brake controller acts as a cascade control system that uses horizontal velocity feedback to generate pitch and roll commands, effectively decelerating the jetpack automatically.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

