Sky Diving Visualization

The Challenge

As a skydiver adds more gear such as front packs and items strapped to legs or arms, the jumper’s basic stability in free-fall is reduced. It becomes easier to tumble out of control and there is less margin for error. Similarly, the aerodynamic wake of the jumper may interfere with pilot chute opening (known as “hesitation”). Investigating different gear configurations generally involves vertical wind tunnel testing, or actual tests with jumpers. To avoid some of the cost, and mitigating safety concerns, a tool to computationally analyze these jumpers and their gear is highly desired. Creare, Inc., an R+D research firm in Hanover, NH, under funding from the US Army, developed a Computation Fluid Dynamics toolkit for analyzing jumpers and their equipment, and model the resulting configurations in FlightGear.

Note: a flyable parachutist model is available to download and test at the end of this article.

Fluent (CFD) and Stability Derivatives

CFD = Computational Fluid Dynamics. ANSYS Fluent is a high end CFD that models flow, turbulence, and heat transfer in 3d. Imagine being able to take a 3d model of a sky diver (or an aircraft) and place it at different orientations and different poses. Then for each orientation and pose, run a computer simulation of exactly how the air flows around the sky diver, where pockets of turbulence are generated, and what forces and moments are produced. Imagine all the combinations of roll and pitch and body poses possible — it leads to a huge number of combinations. Now imagine repeating that for several different arrangements of front and back packs and other equipment. You will need a cluster of computers running for days or even weeks to compute all the permutations just for a single pack configuration. This is essentially a “virtual wind tunnel” running on a super computer cluster of PC’s.

In the case of the parachutist simulation: the amount of computation time required to generate 2 scenarios (with a back pack and without) was approximately 25,000 cpu-hours — or around 2 years of compute time on a single processor PC. 1000 individual simulations were run, each involving approximately 4 million “elements”.

One of the detailed CFD models used by Creare

Validation

Real world testing and data collection was performed in a vertical wind tunnel (such as the one linked here.) This real world data could then be compared to the the Fluent (CFD) results to validate and possibly improve the computer model.

Real Time Simulation

Build-Up of Coefficients:

For each component of the model, the local angle of attack and sideslip angle are calculated from the combination of the limb orientation and the overall angle of attack and sideslip of the entire model.

For each of the six degrees of freedom, the contribution of the model component to the overall aerodynamic response is calculated from tables of non-dimensional coefficients:CFx,y,z = Fx,y,z / ( q∞ * Acomp )CMx,y,z = Mx,y,z / ( q∞ * Acomp * Lcomp )

The two-dimensional lookup tables are compiled from data extracted from the CFD results in the Solution Database.

Forces and Moments:

Aerodynamic forces and moments are transformed from the local frame to the global frame and then summed.

Resultant forces and moments then determine accelerations, velocity and turn rates are calculated, and the model iterates.

Creare partnered with Jon Berndt (the founder of JSBSim–one of the core physics engines used by FlightGear) to contribute some clever additions to JSBSim that permit a “blade element” approach to parachutist modeling. Jon helped tremendously optimizing and integrating the required new code into JSBSim which then ultimately led to its inclusion in FlightGear. The parachutist physics model is an order of magnitude more complex than a typical aircraft model.

Figure Animation and Posing

The character model is built out of several animated subcomponents: left & right forearms, left & right upper arms, left & right lower legs, left & right upper legs, head, torso, and pelvis. The model parts are attached in a cascading fashion like a real figure, and each joint can be rotated through all 3 axis (roll, pitch, and yaw.) In order to avoid unrealistic contortions, sensible joint range of motions are defined.

There are a number of predefined poses where the appropriate joint angles have all been worked out in advance.

Box: a neutral pose minimizing rotational or translational motion.

Left & Right Translation: mirrored poses that induce a “slide” either to the left or right.

Anterior Translation: a pose that induces a forward slide.

Posterior Translation: a pose that induces a rearward slide.

Left & Right Dorsoventral: mirrored poses that induce a left or right rotation (yaw.)

You might notice that these poses map rather neatly into well understood pilot controls similar to flying a helicopter. For the FlightGear simulation we can mix these poses together in proportion to the corresponding joystick axis deflection and throttle position and fly the sky-diver intuitively. For those that doubt, this actually works quite well! 🙂

Visualizing CFD Flow-lines

One of the neat things that a CFD analysis can produce are airflow lines that pass around the model. We can take the 3d flowlines that are produced by the CFD and attach them to the 3d model of the figure. This allows visualizing the flow lines from any FlightGear perspective. One interesting technical challenge is that the flow lines need to keep a fixed vertical orientation even though the model may roll or pitch, yet the flowlines must track the heading/yaw of the model. This can be done by setting up appropriate inverse transformations in the FlightGear model animation configuration file.

Smoke and Trajectory Markers

FlightGear offers additional visualization aids. The model is set up to support emitting smoke. FlightGear smoke drifts with the prevaling winds (which can often be substantial at higher altitudes.) The model is also setup to emit “trajectory markers” at a fixed rate. The trajectory markers stay fixed in 3d space and represent the actual path the sky diver follows. In addition they represent the orientation of the sky diver at that point in space.

Where is the Parachute?

This exercise is setup as a free-fall simulation, not a parachute simulation so there is no chute modeled. Instead the simulation is mercifully paused when the altitude reaches 100′ above the surface.

Download and Fly

Follow these instructions to download, install, and fly the Creare Parachutist model:

Note: the parachutist model is not compatible with FlightGear v2.4, you must fly this model with one of the v2.6 release candidates, or the official v2.6 release scheduled for February 17.

Start FlightGear and select either –aircraft=Parachutist-Scenario1 or –aircraft=Parachutist-Scenario2

Make sure you specify an initial altitude (such as –altitude=10000), otherwise you will just be sitting at the end of the runway working on your tan.

Press F1 and F2 to toggle the two available dialog boxes on/off.

You can manipulate the joint poses individually or select from a set of pre-defined poses, or select “Joystick” control and fly with a joystick (or keyboard or mouse) similar to flying a helicopter or airplane.

The Creare Freefalling Parachutist model was developed by Anthony Dietz (Principal Investigator), Richard Kaszeta , Benjamin Cameron, Daniel Micka, and Dimitri Deserranno of Creare, Inc., as part of an SBIR Phase II project sponsored by the U.S. Army RDECOM Acquisition Center under Contract No. W91CRB-08-C-0135. Additional contributions we made by Curt Olson and Jon S. Berndt as consultants. The resulting parachutist model is unvalidated and therefore, should not be used other than for demonstration purposes. Any opinions, findings and conclusions or recommendations expressed in this material are those of the authors and do not necessarily reflect the views of the US Army RDECOM Acquisition Center. Due to the significant contributions made to the project by several open source developers, Creare has released a version of the resulting parachutist model to the open source community for continued development and use. The FFTK itself continues development as a proprietary Creare project. For information on the FFTK itself, please contact Richard Kaszeta at rwk@creare.com, or 603-643-3800.

18 Replies to “Sky Diving Visualization”

I realise this post is from a long time ago however I have downloaded the v2.6 version of Flightgear and extracted the creare_parachutist into the aircraft folder but when I try to open it in the flightgear programme it just comes up with – “Model not found”
Is it possible to get any help with this? My final year mechanical engineering project is based around skydiving and getting this to work will help me greatly.
Thanks

I’m interested working wingsuit design and I’m interested to learn about the technology Creare used to create the shape illustrating the article (“One of the detailed CFD models used by Creare”). Could you please give me a contact I could discuss that with ?

Interesting – I didn’t consider that there is no chute modeled here. I’ve modeled chutes for other JSBSim projects and tests. Adding a plain chute should be straightforward using our external force capability. It think it’s possible to model a parafoil without too much trouble, too.

I’m certainly going to be following this topic for updates. I’ve wanted a proper skydiving simulator ever since I did course a long time ago (not jumped in a few years though). There’s certainly a lot of difference between an aircraft and a skydiver though, it’ll be interesting to see how the controls work, since presumably the FlightGear controls and visual model has a certain ‘aircrafty’ feel to them that would be different for a skydiver.

A couple of examples of *very simple* differences I can think of:
– Looking at the altimeter needs interaction (not just panning the PoV) to bring their arms around to the front for a look (or looking down towards the chest for a chest-mounted altimeter), and doing that can change the aerodynamics, of course.
– Just looking around could change the aerodynamics, and to be realistic, the more you look around the more the body would twist, therefore changing the aerodynamics even more.
– The number of points for steering are going to be more complex, arms, legs + thighs, head, hips.

Not to mention the different ‘accessories’ skydivers could have, like AADs and wingsuits.

I hope the development of this ‘aircraft’ is taken seriously, it would be amazing to be able to get detailed enough to model freeflying and canopy relative work… things I can only dream of doing someday.

I looked at FlightGear a number of years ago, but this has just refuelled my interest in getting into it (I’m not usually a flight sim fan)

Duncan: if you look at one of the screen shots in this article you’ll see a dialog box that allows you to precisely control each joint to pose the figure exactly as you wish. The flight dynamics are setup to take the pose into account and react accordingly (with some reasonable limits of course.)

For joystick control we did make some simplifications — we define specific poses to accomplish “aircrafty” sort of motion and then mix these together based on joystick input. However, the underlying physics is still computing based on the specific locations and orientations of each specific body part — the aircrafty part is only in which poses we command or mix together.

With a bit of fiddling, you could probably define a “look at your altimeter” pose or a look left or right pose. The underlying physics is pretty authentic. I’ve never jumped myself, so I would probably need a “check my underwear color” pose along with everything else. (My brother has done more than 40 real jumps, but I am not my brother.) 🙂

From the FlightGear perspective, the jumper figure is really basic — sort of the 3d equivalent of a stick figure. One thing that would make the simulation/visualization even nicer would be a more detailed figure with representative clothing and gear. Good 3d modeling of human figures is probably one of the most challenging tasks I can imagine, so I wouldn’t expect anyone to be able to just jump in and do something like that — but if anyone has the skills/experience and wants to help out, that would be great!

@Shannon: Most non-core (i.e. non C++) FlightGear development is taking place in the forum, where contributors can post screen shots of their latest contributions (aircraft, scenery, textures etc) and ask fellow users for feedback.

There are a bunch of sub forums provided for related aircraft work, such as for texturing (liveries), cockpit development, autopilot development, flight dynamics tuning and systems modeling.

Most of this probably wouldn’t be applicable here, except of course if you wanted to provide the jumper with a helmet that has an integrated HUD, then that would qualify as “cockpit development” in FG terms 😉

Indeed, the “simplistic” model used for the render was chosen since it fairly closely matched the frontal areas of the military jumpers in our vertical wind tunnel tests…. but it looks rather boring (it got better when we shifted from white to olive drab).

It wouldn’t be that hard to map some decent jumpsuit and helmet textures onto the existing model, or even replace model elements: as long as the joint segment lengths are the same, it should be drop-in compatible.