Interview: Jon Berndt

Q: How long have you been involved in FlightGear?

For over ten years. I’m the development coordinator (and occasionally accused of being the BDFL) for JSBSim. It’s been just a few months more than ten years since JSBSim became the default flight model for FlightGear – although it should be said that in these days a “default” flight model has less (or no) meaning compared to back then.

Q: What are your major interests in FlightGear?

Flight dynamics and control, but I really like the whole aspect of specifying a model in XML (and other) files – a truly data-driven simulation.

Q: What project are you working on right now?

Continued development of JSBSim. There are always things to tweak. Recently, I extended the PID (Proportional-Integral-Derivative) control component in JSBSim to support some work I have been doing.

Q: What do you plan on doing in the future?

Writing more documentation. Adding more features to JSBSim as needed. And trying to get an official v1.0 release out.

Q: Are you happy with the way the FlightGear project is going?

I really enjoy seeing the progress being made in the visuals (as a spectator) – in particular I find the Rembrandt project fascinating.

Q: What do you enjoy most about developing for FlightGear?

Since JSBSim is a standalone project, there are other applications that use it such as Outerra, OpenEaagles, and others. However, FlightGear has the longest history with JSBSim and the most active developer community. It has been both enlightening and exciting to see developers stretch the limits of JSBSim, and use it within FlightGear in ways that were not foreseen previously. For instance, the P-51D that Hal Engel has been developing over the past couple of years (or more?) is very good. Also, the recently published skydiver flight model was an instance of a commercial use of FlightGear with JSBSim that resulted in code being shared with us in the spirit of the GPL. With that said, the most exciting part for me of working with the FlightGear community is seeing the very real strengths of open source development on display, and contributing to that effort.

Q: Are there any “hidden features” you have worked on in FlightGear that new users may miss?

There are many features that are not hidden, but are not known about because they are not yet part of our reference manual.

Q: What is your background in Flight Simulation?

I was graduated from the University of Minnesota (as was FlightGear Development Coordinator Curt Olson). I earned a degree in Aerospace Engineering there and in 1987 I went to work for Link Flight Simulation. I wrote the flight control simulation code for the F-16 as it was migrating from an analog control system to a digital control system. In the years following that I supported the Engineering Directorate at NASA Johnson Space Center in Houston, working with flight simulators almost continuously since then. Most recently, I went to work for Sierra Nevada Corporation to do simulation and analysis work, as well as supporting some wind tunnel testing, all for the Dream Chaser lifting body project. I have been a member of the AIAA Modeling and Simulation Technical Committee along with Bruce Jackson, author of LaRCSim.

Q: What else do you enjoy doing, besides coding in C++ late at night?

I enjoy playing acoustic guitar (fingerstyle), photography, hiking along the Colorado Front Range, playing catch/fetch with my dogs, tending to a 150 gallon saltwater aquarium, and doing various home remodeling projects. But what I really need is more sleep!

Interview: Sam Clancy

Q: How long have you been involved in FlightGear?

Actively I’ve been involved with the FlightGear project since early January 2011. Simply because my old computer (which my family had had for about 5 or 6 years prior) couldn’t run FlightGear. But after we upgraded… (insert evil laugh here)

Q: What is your forum nickname?

connect is my name.

Q: What are your major interests in FlightGear?

Flying, first of all. My life dream is to become a commercial airline pilot, hopefully somewhere in Europe. I’ve taken my very first steps towards this in real life, with my “TIF” or Training Introductory Flight, but I also believe my prior experience FlightGear, and of course my continued use of FlightGear gives me a much cheaper alternative, for the time being, to gain experience.

Q: Why is it that you are interested in flight simulation or aviation in general?

The fact that it took mankind literally thousands of years to figure out how to fly, in just a century we’ve gone from the Wright Flyer all the way to the Antonov An-225, the Airbus A380, the Boeing 747, the list is endless. I think the fact we got to the moon is pretty good to.

Q: What project are you working on right now?

I think you mean projects, in my case. I’ve actually got three on the go; all of which I am collaborating on (something I love with FlightGears community spirit). They are; the Airbus A350-900XWB in co-operation with Malik Guest (tehwarlock). The Jabiru J-170 (the aircraft I completed my “TIF” or Training Introductory Flight in) with Narendran Muraleedharan (Omega Pilot/Omega95) and Project Brisbane, perhaps the most ambitious, with Lachlan Bruce (spitfirebruce21), Drew Gibson (VH-TIT/FlightGearNZ) and Malik Guest (tehwarlock).

Q: What do you plan on doing in the future?

I actually don’t know. I just hope I can develop my skills enough to contribute something really good to the FlightGear Project.

Q: Are you happy with the way the FlightGear project is going?

Overall; yes. Having come in the days of v2.0.0 and at one stage, using 0.9.0, it’s blatantly obvious the progress that has been made in the year or so I’ve been actively involved in the community.

Q: On average, how much time do you spend working with/contributing to FlightGear?

A day? Hours. Note the plural form of the word. I don’t have a number, as I’m frankly not pedantic enough to record, but I assume it’d scare me.

Q: Which of the more recent FlightGear developments do you consider most interesting/appealing?

Thorsten’s Local/Advanced Weather; I use it everytime I fly. It’s alot nicer visually then the “Global/Simple Weather” and I think it competes with FSX and REX.

Q: What do you enjoy most about developing for FlightGear?

The satisfaction you get when something works! Maybe that’s because I’m not the most technically minded, hehe.

Developing Computer Vision Algorithms with FlightGear

Ocean Debris

On March 12, 2012 suspected Japanese tsunami debris was discovered washed up on the beaches of Long Beach, CA.  On March 11 a deserted fishing vessel was spotted off the coast of British Columbia; by March 24 it had drifted within 120 miles of the coastline.  For many years NOAA.gov has been monitoring an every growing area in the North Pacific dubbed the “Great Pacific Garbage Patch” that appears to be collecting and concentrating all manner of plastic debris from all over the world.  Whether you are a dedicated environmentalist, or a person that leans more towards managing and sustaining the Earth’s valuable resources indefinitely, or are simply annoyed at having to photoshop garbage out of your pristine vacation pictures; the rapidly increasing amounts of trapped ocean debris should be a concern for everyone.  How does any of this relate to the FlightGear simulator?  Please read on!

 

What is “Computer Vision?”

Computer vision is a broad field that involves processing real world images or video to try to automatically extract data or intelligence.  Applications range from identifying items or features of interest (such as facial recognition) to extracting geometry and physically locating or reconstructing the layout of a scene to manipulating images in clever or useful ways.  In many ways computer vision is a fascinating and magical   area.  We all have seen software programs that can identify every picture of our Aunt Tina on our computer after we’ve identified her face in one or two pictures.  There are computer vision systems that can track people or objects that move through a network of many camera views; computer vision systems can estimate your head orientation and even figure out what direction you are looking or what object you are looking at..  Computer vision software can recognize cars, read printed text, and scan for subtle features hidden in images — and because these programs are automated, they can run around the clock and process vast amounts of imagery.  They never get fatigued, they never get bored, and they never start day dreaming about their weekend plans.

Developing a Computer Vision Application

Writing an application to do computer vision is similar to writing any other application.  The basic cycle of edit, compile, test, repeat exists like with any other program.  Computer vision algorithms apply logical rules and procedures to the image data in consistent ways to accomplish their tasks.  There really isn’t any magic, even though the results do seem magical when they outperform the abilities or pace of a human.  However, it can be a challenge to develop some computer vision applications if you do not have good access to the kind of imagery you plan to ultimately be processing.

As you can imagine, computer vision applications must deal with huge volumes of data.  Often they process live video data from multiple cameras and that data may need to be associated with other data sources in real time — something that may not be possible to test in a lab with prerecorded video.

Imagine you are developing an application which will process aerial imagery to extract some data (i.e. facial recognition) or locate and track items of interest (i.e. a big chunk of debris in the ocean.)  It could very likely be the case that you do not have much sample video to test with.  In the case of ocean debrid, it may be that you do have video from the correct altitude or taken at the correct air speed, or with the correct camera field of view or camera angle.  However, computer programs are most efficiently developed in the lab with repeatable test data and not in the field with whatever random imagery the day offers — this can lead to a disconnect between what imagery is needed for effective testing and what imagery is available.

Hunting and Tracking Ocean Debris


For several years I have been involved with a company that develops UAV’s and remote sensing and tracking systems for marine survey and research use.  One of our primary partners is NOAA.gov.  NOAA has a keen interest in understanding, tracking, and ultimately cleaning up debris in the ocean.  With the Japanese Tsunami last year, the issue of debris accumulating in our oceans has become even more important and critical, yet there is no effective strategy available for locating and removing debris from the ocean.

A satellite can survey huge areas, but not at the detail to identify specific pieces of debris.  A manned aircraft can fly at several hundred kts and cover a wide area at a low enough altitude to spot individual pieces of debris, but there is nothing you can do when debris is located.  A ship travels very slowly and has a very narrow range of view for onboard spotters.  A ship might do 10 kts (give or take) and with binoculars a human might be able to spot debris one or two miles away — if they are looking in the right direction at the exact moment a swell lifts the debris up into view in front of the nearer swells.  The upper decks of a ship offer some height for observing debris, but swells hide objects more than they reveal them.   You have to be looking in the right direction at the right time to even have a chance to spot something.  In addition to all the other challenges of ship-board debris spotting, the rolling/pitching motion of the ship makes the use of binoculars very difficult and very fatiguing.

The following two pictures were taken seconds apart.  Can you spot the debris in the first image?  In the second? (You can click on them to see the full size version.)

  

A UAS offers numerous advantages over a human operator searching from the highest deck of a ship.  The UAS offers a much higher altitude perspective looking downward so that swells and waves can’t hide objects.  The UAS offers faster speeds to visually cover more area in the same amount of time.  The UAS can carry a variety of image sensors including IR cameras or multi-spectral cameras which offer increased ability to reliably detect certain types of objects under a variety of conditions.  Add computer vision software to process the UAV’s imagery and an effective debris location and tracking system begins to emerge.

The UAS has limited range though; and if a significant object is detected, it has no ability to tag or recover the object.  Thus it is important to combine UAV operations with a ship in the vicinity to support those UAV operations and be able to take action when something is found.

Visual Challenges of Computer Vision in a Marine Environment

 

As with any computer vision application, narrowing the scope and focus of the application as much as possible makes solving the problem easier.  Using the example of a UAV flying over the ocean and collecting imagery from a camera looking straight down, then the camera frame will always be completely filled with a straight-down view of the ocean surface.  We assume we don’t have to deal with the horizon, sky, or clouds or nearby coastline.  The result is that the ocean for the most part is some shade of blue — that is convenient.  Anything that is not blue is not ocean and then becomes highly interesting.  But despite limiting the scope of the problem in this way, the computer vision application still has to deal with several significant challenges: 1. Sun glint — the sun reflecting back at us off the water.  2. Windy days in excess of 12-15 kts produces breaking waves, foam, and even streaking (lines of foam) on the water.  Visually, sun-glint and foam impair our ability to spot objects in the water.

Why use FlightGear instead of real camera imagery?

FlightGear generates realistic views of the earth and offers complete control over the altitude, speed, camera orientation, and field of view of a simulated flight.  In addition, FlightGear can provide flight telemetry data and other data that is useful for testing or simulating real world environments.  We can also control the time of day, clouds, wind, precipitation and fly missions anywhere we like.  With FlightGear’s scripting engine, it’s possible to stage static or dynamic scenarios to create the sort of test cases we expect to be able to ultimately handle.  Of course only a small slice of computer vision applications relate to processing aerial imagery, but as UAV’s begin to attract the attention of more and more civilian and private organizations, the need for automatically processing huge volumes of imagery data will only increase.

FlightGear “Synthic Imagery” vs. real world camera imagery

 

As FlightGear continues to develop and evolve, the quality and realism of it’s graphics also are improving.  In the most recent version we have taken significant strides forward in drawing realistic ocean scenes that include accurate coloring, accurate rendering of different sea states and types of waves, very realistic sun glint, realistic sea foam (the result of breaking waves on windy days), and even rolling wake and foam created by large ships.  The quality of FlightGear ocean scenes can now (in many cases) make them almost indistinguishable from real camera imagery.

What is OpenCV?

OpenCV is a library of data structures and functions that offers most basic image processing tasks, as well as many of the more common advanced functions.  OpenCV provides the building blocks a developer needs in order to start writing a computer vision application.  OpenCV runs on Linux, Windows, Mac, and even Android.

How to connect an image processing application to FlightGear in “real time”.

Disclaimer: the nuts and bolts that I explain in this section are focused on the Linux platform.  These same tools are likely available on other platforms and may be leveraged in the same (or similar) ways to accomplish the same thing — but outside Linux your mileage may vary as they say.

I know how to capture a portion of my desktop as a movie and save it to a file.  My computer vision application knows how to read a movie file and process it frame by frame.  What is missing is that I want to be able to do this in real time without having to fly and save the video and the process it later.  My basic strategy is to first create a unix file system “fifo”, then write the captured video to this fifo, and simultaneously read from the other end of the fifo into my computer vision application.

  1.  Start FlightGear at your simulated camera resolution.  I have a cheap web cam that does basic vga (640×480) video, so using that as my “standard” I can run: “fgfs –geometry=640×480” to launch flightgear with the correct window size.  Next I drag the FlightGear window into the upper left corner of my screen so it is in a known location.
  2. Make your fifo if it doesn’t already exist.  For instance: “mkfifo /tmp/ffmpeg-fifo.avi”
  3. Start up the computer vision application:  “my-vision-app –infile /tmp/ffmpeg-fifo.avi”
  4. Start up the ffmpeg desktop movie capture utility (I have a little script I setup so I don’t have to remember all these options every time):  “ffmpeg -f alsa -i default -f x11grab -s 640×480 -r 15 -b 200k -bf 2 -g 300 -i :0.0+1,58 -ar 22050 -ab 128k -acodec libmp3lame -vcodec mjpeg -sameq -y /tmp/ffmpeg-fifo.avi”

That’s all it takes and the computer vision application is up and processing live FlightGear generated imagery.  One thing I discovered with fifo’s.: it seems to work best to start the reader (the CV app) before starting the writer (ffmpeg).  This way the buffers don’t fill up and cause delays.

Results

Here is a snapshot of the anomaly detection and tracking in action:

The original image:

The image partitioned into water vs. not-water.

Dilating the mask (connects the noisy dots):

Eroding the dilated mask (to shink it back to approximately the original size and location in the image):

The final composite image showing the detected blob on top of the original frame:

Lastly, here is a youtube video showing all the pieces working together.  In FlightGear: I have created a random debris field scattered across an area of open  ocean about 6nm x  6nm.  I have added a downward looking camera to my test aircraft.  Then I built a route that flew several “transacts” (straight line paths) through the debris field.  I used the above mentioned procedure to feed the live FlightGear imagery into my computer vision algorithm that detects and tracks anomalies.  The debris you tend to see from the air looks very small — usually just a few pixels at best in your image, so the algorithm needs careful tuning to avoid false positives and missing objects.

Please watch this video in full screen resolution so you can see the specks of debris and the tracking algorithm in action!

Interview: Christian Schmitt

Q: What is your forum/IRC nickname?

Surprise: it’s papillon81. Yes, I’m that guy 🙂

Q: How long have you been involved in FlightGear?

Acording to my mail correspondence it must have been in 2007/2008 when I became an active part. I was unsatisfied with the state of EDDF in the FG scenery (no buildings, lightpoles everywhere), so I teamed up with a guy who had already started some work there. I ended up creating all of the terminal buildings and improving the airport layout. In those days, not many pilots were flying there. This changed in the months afterwards, which was a big boost of motivation, too.

Q: What are your major interests in FlightGear?

My main interest is clearly the scenery and technology connected with it, like GIS. I started to create some custom scenery, like Helgoland, and after I was granted direct access to the mapserver database, I was able to proxy-commit other peoples work, that started to come in. IMHO, the best FDM or aircraft models are useless if you don’t have a nice place to fly, takeoff and land 🙂 So this area is what motivates me the most.

I do also maintain the Gentoo packages (ebuilds) for the GIT versions of FG, SG and TerraGear. All these can be found in the Gentoo Gamerlay repo.

Q: What project are you working on right now?

Some months ago I was fed up of FG being unable to read apt.dat 850 data. So I started digging into the terragear code. Having no experience with C++, it was a steep learning curve, but to my own surprise I was able to convert the original TG parser to read the runway data and other features from the new format files. I started to implement as many features I was able to. Luckily, Pete was already working on the taxiways and surface features. So we teamed up and eventually merged our work together. Since then it has become a really great project to learn and improve FG along the way for me. I hope it will be put into use for the next scenery version. Before that can happen, we need more testers and bug reports (hint! hint! hint!) 🙂

Q: What do you plan on doing in the future?

I will continue to work on Terragear, commit some improvements to the Concorde (my favorite plane in FG) and take care of merge requests. I’d also like to dive more into the FG/SG code and do some adjustments here and there. We’ll see what else the future might bring 🙂

Q: Are you happy with the way the FlightGear project is going?

I’m actually very happy with it. The improvements from 2 years ago up to now are breathtaking. Sometimes it is just amazing what features people start to work on, like Project Rembrandt right now. Also, the work that went into the weather and shader system recently is amazing.

Q: What do you enjoy most about developing for FlightGear?

The fact that we support each other and have a strong community with many very capable people from completely different backgrounds. Knowing that you can build on the work of others and that there is a helping hand in case of problems. Personally I like the FG IRC channel a lot.

Q: What advice can you give to new developers who want to get started on their first aircraft/new feature/Nasal script?

They should first of all have some experience with FG in general, meaning, they should have used the program for some time. We often have people asking questions that they could answer for themselves just by USING FG a bit with different aircraft for a bit longer than just a day or so. If they identify an area where they want to start developing, they should get in contact with the maintainer(s) and seek advice before investing many hours of work.

FlightGear v2.6.0 Released

Also available in: NederlandsEspañolFrançaisPortuguêsRomână

 

The FlightGear development team is happy to announce the v2.6.0 release of FlightGear, the free, open-source flight simulator. This new version contains many exciting new features, enhancements and bugfixes. Major improvements from v2.4.0 include reduced AI aircraft load times, easier graphics tuning, more sophisticated AI aircraft and improved usability.

Founded in 1997, FlightGear is developed by a worldwide group of volunteers, brought together by a shared ambition to create the most realistic flight simulator possible that is free to use, modify and distribute. FlightGear is used all over the world by desktop flight simulator enthusiasts, for research in Universities and for interactive exhibits in museums.

FlightGear features more than 400 aircraft, a worldwide scenery database, a worldwide multi-player environment, detailed sky modelling, a flexible and open aircraft modelling system, varied networking options, multiple display support, a powerful scripting language and an open architecture. Best of all, being open-source, the simulator is owned by the community and everyone is encouraged to contribute.

Start downloading FlightGear v2.6.0 for free from FlightGear.org

FlightGear – Fly Free!

Some of the major changes include:

Aircraft operations:

  • At selected airports, FlightGear can automatically start at an appropriate parking spot based on the size and type of your aircraft.
  • At airports which support this feature, a visual display of the taxi route on the ground guides you to the active runway, while following the correct taxiways.

AI system

  • To reduce stuttering during model loading and take further advantage of multi-core CPUs, MP and AI aircraft models are now loaded in a background thread.
  • To reduce load times still further, only the parts of the aircraft currently visible are loaded from disk.
  • AI and multiplayer aircraft are no longer silent objects, they can produce sounds just like the main aircraft.

AI Traffic

  • Many new and updated AI aircraft and liveries. Over 80 airlines now populate the virtual skies.
  • The range at which AI aircraft are displayed is now configurable, allowing you to tune FlightGear for best performance.
  • AI controlled pilots have received extensive landing training and now make a more realistic approach and vacate the runway when able.
  • The simulator now assigns an available parking position on startup.

Flight dynamics

  • The JSBSim flight dynamics model received a major overhaul.

Environment

  • The Local Weather package has been further integrated with the FlightGear core, and has been renamed “Advanced Weather”. New rendering techniques allow more detailed clouds with no performance impact. High altitude clouds are rendered more realistically, and clouds move with the wind without impacting performance.

Interface

  • New replay system. Video-player like controls, including slow motion and fast forward. Pilots can now take over the aircraft at any time during a replay. Great for training particular flight phases such as approach over and over again.
  • Aircraft status ratings are displayed in the FlightGear launcher, allowing you to see at a glance the FDM, model, systems and cockpit quality for rated aircraft.
  • Multiplayer settings can be accessed in-sim. You can now choose your callsign, select an MP server and connect within the simulator.
  • Automatic scenery download is now even easier to use. Simply select the scenery directory to download to, and switch it on.
  • Individual graphics effects can now be configured from within the Rendering Settings dialog, allowing you to fine-tune the performance of FlightGear within the sim.
  • The simulation of radio signal propagation has started and will make the reception of ATC messages and navigation aids more realistic in the future.
  • A new set of options makes it easier to create seamless and zoomable multi screen setups.
  • A new performance monitor shows the time spent in each subsystem.

Highlighted new and improved aircraft

Project infrastructure

  • CMake is now the official build system on Linux, Mac and Windows.

Visual effects

  • The sea now looks more realistic. Waves align with the wind, and foam appears at high wind speed.
  • Steep slopes now appear rocky.
  • Runways now appear wet during rain showers.
  • To help aircraft developers, a single shader combining bump-map, specular, reflection and light mapping components is now available.

Other

  • Additional joysticks and rudder pedals are supported out-of-the-box, including the Logitech WingMan Interceptor, Saitek Pro Combat Rudder Pedals and Thrustmaster HOTAS Warthog.
  • FGPanel, lightweight software to render 2D instrument panels, is now included as part of the release.

Bug fixes

  • See our bugtracker for an extensive list of the bugs fixed in this release.

Windows

  • 64bit version restored and its installation integrated in the main fgsetup installer

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.)
  • Dorsal: a “spread eagle” pose that maximizes surface area and thus minimizes decent rate.
  • Ventral: a “compressed” pose that minimizes surface area thus maximizes decent rate.
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.
  • Download the Creare_Parachutist-v1.0.zip file.
  • Unzip it into your FlightGear “Aircraft” folder.
  • 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.

Credits

  • Dietz, A. J., Kaszeta, R. W., Cameron, B., Micka, D. J., Deserranno, D. and Craley, J.”A CFD Toolkit for Modeling Parachutists in Freefall”, presented at the 21st AIAA Decelerators Conference in Dublin, Ireland, 23-26 May 2011. Paper AIAA 2011-2589.
  • 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.
  • Flightgear modeling, animation, and scripting – Curtis L. Olson

Interview: Durk Talsma

Q: What is your forum nickname?

Hehe, guess once. 🙂

Q: How long have you been involved in FlightGear?

Almost since the beginning, actually. I first heard about the project in 1997, when I got an email from Curt Olson, in response to a posting on the usenet newsgroup rec.aviation.simulators.

Q: What are your major interests in FlightGear?

I like the open nature of the project and the possibility to contribute at various levels.

Q: What projects are you working on right now?

I am actually doing several different things for FlightGear. My main project is developing a fully integrated AI air traffic system that contains autonomous vehicles, an ATC system that interacts with both AI controlled aircraft and with the user controlled aircraft. In addition to that, I am one of the editors of the main website, editor of the FlightGear facebook page, involved in the release process, code committer, and organizer of the annual FlightGear booth at FSWeekend in Lelystad (EHLE). In addition, I have recently taken over the administrator role for taxidraw.

Q: What do you plan on doing in the future?

I don’t expect the AI system ever to be finished, so I’m fully concentrating my coding efforts on this project.

Q: Why is it that you are interested in flight simulation or aviation in general?

As a kid I was fascinated by space travel, the Apollo missions to the moon, etc, watching every program on TV, and reading every book I could lay my hands on. As a six-year old, I visited Schiphol (EHAM) airport for the first time, and that sparked my fascination for the big jet airliners. Kind of like every kid at one stage, I wanted to become a pilot. My real interest in aviation didn’t start until I was nearly 20 though, after visiting an airshow at Leeuwarden airforce base (EHLE). This was around the same time as when I got my first PC, a second hand 286DX, which I bought from a relative living in Germany, with a 40 Mb hard disk and 1 Mb of ram. It had a German version of Microsoft Flight Simulator 4.0 preinstalled. So, in addition to learning to “fly” I learned the German word for “crash” as well.

Q: Are you happy with the way the FlightGear project is going?

Yes absolutely. We are currently in the process of further improving our infrastructure, by setting up things like the release plan, formalizing the rules for commit access, aircraft maintenance, and we’re brainstorming about feature requirements for the long term. Firm ideas are present for modularization of the FlightGear code, and some ideas for an integrated launcher GUI have recently been coined in a very informal setting. It will certainly take quite some time before these plans are all realized, but I think that the project is more vital and alive as ever. I’m also just amazed at some of the recent developments, such as Frederic Bouvier’s project Rembrandt, Thorsten Renk’s, local weather system, or Martin Spott’s ongoing efforts to build a unified infrastructure for scenery generation.

Q: What do you enjoy most about contributing to FlightGear?

I think there are a number of aspects that I really enjoy. One of them is the collaboration with other people. Being part of the development team, we’re all pretty much equals, and regardless of one’s age, background, occupation, political or religious conviction, we all share something we like and like to collaborate on. That is really enjoyable. It may also happen that somebody just jumps in and finds a solution in no time for a problem that has been cracking my brain for ages. For example, Adrian Musceac, recent work on generating AI traffic patterns was really something amazing. Likewise, I enjoy the interaction with many other talented people, such as Brett Harrison, who’s just so amazing at making convincing liveries. Obviously there are many other talented people around whom I really enjoy working with and it’s a shame I can’t name them all. Secondly, I also really enjoy having the privilege of being the first to experience a new feature for the first time. I was the first person ever to see the sun and moon appear in a desktop Flight Simulator, and that is a little bit special.

Q: Are there any “hidden features” you have worked on in FlightGear that new users may miss?

Yes, my original contribution to FlightGear was some code to calculate the position of the Sun, Moon, and even the planets. Both the sun and moon are pretty much taken for granted now, but back then (in 1997) FlightGear was the first PC based simulator that actually had a physical rendering of the sun and moon! Nobody will probably even see the planets, but I got the code almost for free, once I figured out how to calculate the solar and lunar positions, so their a little bit of an Easter egg. After finishing the celestial code, and before starting the AI traffic system, I initiated many projects that I subsequently handed over to others. As such, I have extended the time calculation code to deal with local time, and to allow the user control over the time of day, and implemented the original graphical user interface (GUI) system, and the original 2D cloud layers.

Q: What advice can you give to new contributors who want to get started on their first aircraft/new feature/Nasal script?

Be optimistic, be naïve, be realistic, and start modestly. Set yourself an attainable goal! I should probably explain what I mean by this. When we started out, back in 1996-1997, we were what I would now describe as incredibly optimistic in the sense that we believed that we could pull this off, but we were also somewhat naïve in the sense that we really didn’t have any firm idea about the challenges that lay ahead. But, we were able to pull it off, so this shows that we were right after all. But, if you want to contribute don’t start with your magnum opus. Before starting out, take some time to familiarize yourself with the project, get to know the code base, data structure or workflow. In addition, making a good first impression helps. Over the years we’ve seen a tremendous amount of grand ideas and not many of them have materialized, so we’re naturally a little apprehensive you may not find an immediate warm welcome, but if you do come up with a well thought-out idea, you may convince the development team, especially if you can substantiate your ideas with some working code to back it up.

Q: Have you previously used other flight simulators or simulation software in general?

Well, as mentioned before, I started out with FS4, and have pretty much had every version since then, until FS2004. The latter version got me interested in the AI system. When I started playing with the FS2004 equivalent of the ATC system I and began to notice its programming flaws. Determined that I could do this better, I started drawing out my own plans, and since than, I haven’t really touched any other simulator.

Q: How does FlightGear compare in your opinion?

I like FlightGear better because it’s a platform that is constantly moving. I almost exclusively run the cutting edge development version, so occasionally you’re in for a little surprise. Be it positive or negative. But that keeps things a little exciting to me.

Q: Do you remember what first got you interested in FlightGear? How did you learn about FlightGear? In other words, why did you actually download and try FG?

Yeah, that’s a long story. I was reading the usenet rec.aviation.simulators quite frequently at the time, had been exploring Linux for a few years, and finished my C++ programming course at university. This was around 1997, so the Linux distros weren’t as advanced as they are these days, and you still had to do quite a lot yourselves. One particular afternoon, I came across a usenet posting, which read “OPEN LETTER TO ALL FLIGHTSIMULATOR DEVELOPERS”. This was around the time that Microsoft FS97 was the latest version, and many users were dissatisfied. The original poster wanted to write a letter, on behalf of every dissatisfied user, to ask for a better version, asking the big game companies to incorporate their wish list. I responded to the thread, stating that if we really wanted a sim of our own, we should probably do it ourselves. I remember being a little anxious, because I wasn’t sure whether I would actually be able to substantiate that claim, if we were to follow it up. So, a few days later, I was actually a little apprehensive when I opened up my mailbox and found an email from a guy named Curt Olson, inviting me to have a look at, what would eventually become the flightgear.org website. Well, the rest is history I guess…

Q: What was your first impression about FlightGear?

That’s a really interesting question, because there was no FlightGear so to speak of. When I joined, Curt had hacked together a few proof-of-principle demos; the one I downloaded was called linux-demo-0.0.7.tar.gz, if I recall correctly, and it consisted of a small sample of elevation data from a chuck of terrain near Arizona, source code of a primitve (by today’s standards) OpenGL based viewer, a copy of Bruce Jackson’s larcsim FDM, and a simple keyboard interface. But it was exciting to get it to compile, and run!

Q: Compared to other flight simulation software, what are FlightGear’s major benefits in your opinion?

It’s scalability, open architecture, and the fact that it can be a great test bed for ideas, as well as the fact that there is no need for third party add-ons. By bringing every suitable user contribution into a single repository, we essentially create our own add-ons, and in the long run that should remove the burden from the end user to search for extensions.

Q: Do you think it is necessary to know how to program in order to contribute to FlightGear?

No way. In fact it never really has been a requirement, even in the old days when there was a lot more emphasis on C++ development, we already had a need for non-coding developers. Think about documentation writers, etc. These days, the balance is actually really shifting away from programming to artwork. The FlightGear world is essentially still largely an empty place, so we really have a need for high-quality buildings. Many of the exciting developments going on right now are in the development of new scenery textures, 3D modeling, and livery painting. These are actually skills that I essentially lack, so I have a lot of respect for the people working in these areas.

Q: Have you ever used FlightGear professionally or for educational purposes?

I once tried in my previous job, but the computer we bought for the project had serious overheating issues, so the project never really came off the ground. In the mean time, I found a different job, so the project was shelved.

Q: What about FlightGear as a “game”, do you think it can be used as such?

Probably, I like to use FlightGear purely for fun, so usually I just make up my own challenges, such as performing a bad weather landing, taking off and landing on an aircraft carrier, or playing with my latest AI/ATC code. Once finished, the ATC code will add a little bit of a game element, because it will expect you to fly specific routes, arrive at specific locations at a specific time, so as not to clash with other traffic etc etc. The system isn’t finished yet, but with some hacking I did quite recently manage to complete a traffic circuit under guidance of the ATC system, and it’s quite tricky to do right. So, there are some “gamey” aspects of FlightGear that are quite realistic and hopefully challenging. Having said that, I see absolutely no need for any formal gaming rules, or game like features such as setting off explosives and the like. Like many of the other developers, I like to keep FlightGear civil(ized). I don’t object to simulating military aviation though, as long as it doesn’t serve the purpose of glorifying death and destruction.

Q: On average, how much time do you spend working with/contributing to FlightGear?

Hard to say, it varies quite a bit with my day job requirements, but I think on average maybe one or two hours a day.

Q: Which of the more recent FlightGear developments do you consider most interesting/appealing?

There are quite a few. Of the individual projects, I really think that project Rembrandt (Frederic Bouvier’s shadow rendering code) is really exciting. But so is the new effort to unify all the shaders, the atmospheric haze and scattering, and Thorsten Renk’s local weather. I’m also quite happy with the progress we made with the AI traffic/ATC system, even though it’s not finished yet. But, what I think is perhaps even more exciting are some of the long-term infrastructural changes we have recently discussed. I can’t say too much about that yet, because many of the ideas haven’t been formalized yet, but making FlightGear more modularized by making use of HLA technology, and perhaps a more integrated GUI and launcher program are some of the exciting developments that I can see happening in a few years from now.

Q: Is there some feature that you’d truly like to see in FlightGear one day?

Yeah, there are some. Obviously, I’d like to see my own project come to it’s full potential, but in addition to that, I would like to see full scenery development of the polar regions of our planet. One year ago I visited Antarctica in real life, and this is just a very exciting area for flying. I’d also like to see the possibility of lower earth orbital space flight, more seamless terrain textures.

Q: What do you think could be done to attract even more new users and contributors to FlightGear?

Establish a good balance between developing new stuff and doing some public relations work. For the project the key question for survival is not to attract many users, but to attract potential contributors. Obviously, the way to do this is to attract many users, and to hope that there will be a few potential contributors among them.

Q: What about interacting with the FlightGear community? Any tips/experiences you’d like to share?

Nothing really special; just use your everyday courtesy, and keep realizing that we’re all volunteers. I’m usually not that active on the forum or mailing list, but I can tell from 15 years of experience that an intelligent and reasonable response is far more likely to create some momentum than a hurried response that is written in a spur of emotion. Also, I have observed that there is hardly any relation between action and words on either the mailing list or the forum. So when your new to the community, just hang around, get to know the characters and try to establish whom you can trust to be a knowledgeable source of information and who just raises a lot of dust.

Q: Have you ever recommended FlightGear to other users, friends/family?

Not really, my friends and family aren’t really into flight simulation.

Q: Is there anything else you’d like to share with us?

Yeah, have a lot of fun, and if you can try to contribute something to the project.

 

FlightGear v2.6 Release Candidates

This is the place to find the v2.6.0 release candidates as they become available.  We would really love for everyone to download these “test” releases and give them a try.  The target date for the official FlightGear v2.6.0 release is February 17.

Download FlightGear v2.6 Release Candidates:

What’s New?

I think I found a bug …

  • Please review the following FlightGear forum topic.  Here you can get some ideas on what to look for and what to test.  And if you do find something wrong, where to post bug reports so they can get properly addressed.

Interview: Olivier Jacq

Q: How long have you been involved in FlightGear?

I’ve been following FG closely since FlightGear 0.9.8. So, checking on the Wiki, this already dates back to… 2005!

Q: What are your major interests in FlightGear?

At first, I was using FG as a “casual” user, mainly contributing positions in my local area (Brittany) and especially the Brest area (cause I’m not that good at 3D modelling!). So I would say my major interest is in definitely in the scenery side of FG – and HHS choppers!

Q: What project are you working on right now?

This is HIGHLY confidential! But because Christmas is coming soon, I’ll give you a small written preview on this early present! Still under development, I’m working on automated scripts to add/delete/update shared or static scenery objects/positions within FG, in order to ease the actual submission process, both for the user and the scenery maintainers. The tool to add unitary positions is now in production (see below)!

Q: What do you plan on doing in the future?

I have at least a few months before all scripts are finished and under production, so I think when they’re all done, I’ll take some time to use them and add more objects positions into FG myself!

Q: Are you happy with the way the FlightGear project is going?

I am especially happy to see the latest developments in FG, as the release plan and the many works going to make the scenery better: shaders, weather, and especially scenery which needs to be regenerated and enhance (have a look at the apt.dat 8.50 work in the forums, it’s awesome!). FG is really becoming better and very much comparable to other sims.

Q: What do you enjoy most about developing for FlightGear?

FG is relying on so many exciting parts: GIS, 3D modelling, database, web, network… and there are so many advanced technologies to implement (eg radio propagation early support)… it’s amazing and there is no other software where all this is needed but flight sims. A real concentrate of technology!

Q: Are there any “hidden features” you have worked on in FlightGear that new users may miss?

I was at the origin of the photorealistic scenery for Brest. To be precise, I had the idea and asked for the permission to use the data (as it is CC-BY-SA). Then Nels and others have been working on the patch for SG, etc.

Q: What advice can you give to new developers who want to get started on their first aircraft/new feature/Nasal script?

Well, they have to check that noone is already working on it, or to get in contact with him. Most of all, I would advise them to start on small projects first. For instance, a LOT of cockpits need enhancement. So try to make existing aircrafts better, rather than try to build yet another one from scratch. Keep this for later and focus on what needs to be enhanced now. FG will then look so much better to our fellow downloaders.

Q: Have you previously used other flight simulators or simulation software in general?

I remember having a flight simulator called “ILS” on my TRS-80… and next I moved, as a lot of people, on Microsoft Simulator when I was 7 or 8 on 10 Mb hard drives 😉

Q: Do you remember what first got you interested in FlightGear? How did you learn about FlightGear? In other words, why did you actually download and try FG?

FG was the only free and open source advanced flight simulator I found under GNU/Linux, so when I decided to moved my computer fully to GNU/Linux, the choice was quite easy. Its success and improved quality over the years confirmed this choice was good!

Q: Compared to other flight simulation software, what are FlightGear’s major benefits in your opinion?

Apart from the fact that it is free and opensource, I would say that its central scenery database and mapserver is one of its major features, compared to other flight sims where you have to download here, download there, add patches, etc… what a mess it becomes on your hard drive after a few years of addons!

Q: Do you think it is necessary to know how to program in order to contribute to FlightGear?

Not at all, contributing to scenery object positions is for instance very easy (it’ll be even easier after my script goes in production ;-). So everyone should be able to contribute to FG (in a proper manner), that’s the way to success!

Q: Have you ever used FlightGear professionally or for educational purposes?

I’ve been talking about it in my job, so show its quality, even sometimes compared to professional ones I have seen there. I would definitely recommand a stronger relationship between FG and professional/educational worlds.

Q: On average, how much time do you spend working with/contributing to FlightGear?

For a few weeks, I’ve been working for around 3 to 4 hours per week developing scripts. It’s been a while since I haven’t been having a flight in FG!

Q: Which of the more recent FlightGear developments do you consider most interesting/appealing?

I would definitely vote for the work on fgfs-contruct and 8.50 data format support. The anaglyph support is amazing too.

Q: Is there some feature that you’d truly like to see in FlightGear one day?

I hope sometimes we’ll be able to add GPL-photorealistic pictures on top of actual layers. Looking forward to OSM-based roads scenery release too and multi-core support.

Q: What do you think could be done to attract even more new users and contributors to FlightGear?

The fact that FG software is not localized into other languages can be a real drawback for some users and is often shown as such when magazines or forums talk about FG. If this support is added back, I will definitely work on the French translation!!

Q: What about interacting with the FlightGear community? Any tips/experiences you’d like to share?

As many others, I regret the way some people ask for features like: “do this aircraft, I NEED it”, or don’t even have a look at the Wiki or forums archives to get an answer to their questions. Ask politely, try to understand the way FG community is organised, search for archives, don’t pollute threads and everything will be better!

Q: Is there anything else you’d like to share with us?

The future of FG belongs to you: each of you can make it better, whatever your skills or interests are. So don’t say: this is missing, try to add it or ask the community what you can do for help!