Interview: Flightgear's Curtis Olson
Flightgear is an Open Source flight sim that has been built up by a world-wide team. Here we talk to Curtis Olson about aspects of the project including satellite mapping and flight dynamics.
How and when did flightgear get started?
FlightGear got started way back in 1996 when a couple young, naive disgruntled MSFS users thought that writing their own open-source flight simulator sounded like a good idea.
Here is the official story from the Ancient Chronicals of the Kings of FlightGear:
Humorously, by the time any of us figured out what complete fools we were for thinking we could actually write an open-source flight simulator, we were so far into it and had so much time invested that there was no way we could back out and come to our senses.
Now we have quite a large international team working on FlightGear which includes people with phd's, masters degrees, bachelors degrees, and even a few high school students. We have people from big names in the aviation and simulation industry helping out, and we have people with years of pilot experience helping out. We have people that became pilots after finding so much enjoyment in FlightGear. FlightGear is even part of an FAA certified Level 3 FTD (training simulator.) This is (arguably) a higher level of certification and more difficult to achieve than the certifications that midrange simulator training companies like Precision Flight Controls and Elite are able to achieve.
The lack of easy extensibility for the commercial flight sims is one of the things that would would drive your project along. Is there anything positive you can think of about the commercial products?
Sure, anyone can run MSFS or X-Plane next to FlightGear. You can see that MSFS is *really* hard to beat in terms of pleasing and realistic and detailed graphics. You can see that X-Plane also has nice graphics and a really interesting and effective approach to modeling flight.
FlightGear tends to appeal more to computer geeks and do-it-yourselfers than to the unwashed masses of Walmart and Best Buy shoppers many of whom may be fascinated by flight and interested in aviation, but also may not know the first thing about being a pilot and operating an aircraft. To make money in software sales, you generally have to appeal to this audience.
FlightGear doesn't need to make money because we are volunteer driven, so we are free to pursue often different and more interesting priorities. But that doesn't mean we completely ignore the "average" end user. We have a long way to go, but we are continually working at improving the installation and usability aspects of FlightGear.
Open GL is a foundation of what you have and the nifty Open GC is supplying nice detail in the cockpit. Are there aspects of Open GL you'd like to see improved or changed?
OpenGL is also the foundation for X-Plane. Generally, thanks to the hard efforts of companies like nVidia and ATI, you can fully excercise all your card's graphic features with either OpenGL or Direct3D. OpenGL works on Windows, MacOS, Linux, FreeBSD, SGI, and Solaris. Direct3D only runs on Windows.
For a project like FlightGear, there really isn't any choice.
Personally, there are things I'd like to be able to do with realtime computer graphics, but the limitation is in hardware, not in the software/driver interface to the graphics and computer hardware. The good news is that hardware continues to improve at a pretty amazing rate.
The use of satellite photos for ground terrain looks wonderful. How does this fit with ground-mapping algorithms?
Right now we have scant support for satellite photo based terrain. We can support it on a small scale for demos, but not on a large scale. This is something we'd like to work towards in the future, but currently we have been busy with other priorities.
If you want, I could point out a number of areas where satellite based photo terrain introduces problems and new challenges, but you are right that at first glance it does look great.
yes, it'd be interesting to hear about those problem areas.
First off don't get me wrong, I'm not trying to shoot down the idea of satellite imagery overlayed on terrain. But each approach has it's strengths and weaknesses. Typically when you pick an approach you try to find ways to minimize or eliminate the weak elements, or else convince yourself that you don't care or don't need the missing/problematic stuff. That's certainly true with the current FG approach to scenery, and is true with satellite based imagery as well. Here are a couple disadvantages that come to mind
- The imagery is frozen, one point in time. This means that vehicles, shadows, season, time, date, are all frozen in your imagery. You can get stuck with goofy things ... for instance we have a demo of the San Jose airport done at about 1 ft = 1 pixel resolution. It's beautiful, but there is a 737 taking off that is frozen in the picture ... as well as other aircraft frozen in various states of taxiing or being parked. You can consider editing these things out on a case by case basis, but it's very difficult to fix all these sorts of problems on a global scale.
- Shadows. I'm repeating my first point, but it's important with terrain. Depending on time of day and season, the shading of terrain can totally change and be illuminated from one side, or the complete opposite side at a differnent time of day. With satellite based scenery, you have to live with the world looking like whatever time of day the imagery was taken.
- It's very difficult to exactly match the imagery up with your terrain elevation data. Again, you can tweak manually here and there, but it's really difficult to get a perfect match, and very time consuming to do this on any sort of large scale.
- The resulting imagery is of course 2d ... so tall buildings, towers, trees, etc. are all just flat images in the picture. This looks great from above 5-10k feet, but as you get close to the ground (i.e. on landing or take off) the whole effect goes to crap and you get a big blurry pixel mush.
- You can add 3d objects to the world to help fix some of these problems, but you can never get past the weird notion of a 3d building or tower sitting on top of a slanted 2d picture of itself ... with an odd shadow in the wrong place for the curren time of day.
- Satellite imagery is by it's nature a mosaic of zillions of little images often pieced together from different dates and times to filter out cloud cover and other oddities. But that means that in terms of color, brightness, shadows, etc. you can never get perfect matches between the individual pictures. This can lead to odd artifacts in the resulting scenery.
- It's huge ... satellite imagery to cover the planet consumes a huge amount of disk space. And as you fly and have to page it in and out, you have to do a ton of disk and memory I/O at the same time you are trying to keep your frame rates smooth and glitch free. That can be problematic, especially on typical consumer level PC's.
Depending on what you want, none of these things have to be show stoppers, but after you get past the initial "WOW" factor of satellite based scenery and start interacting with it, you begin to see all kinds of different areas where it is lacking ... sometimes very annoyingly so.
Taken as a whole, satellite based scenery still might be better and more desirable than any other current approaches, but I'll leave that for others to decide for themselves.
Right, I hadn't thought about those static object problems at all, or 2Dness as you close in. Somewhere in the future there might be some software to make 3D maps from photos. I've got a feeling I saw something like that a while back but I think it was fairly low tech. A good one would need some AI I think.
Yes, this is all an area of open/active research. The technical term broadly applied to this field is "remote sensing" (if you want to google around for a while.) People are making headway towards constructing 3d geometry from 2 perspective views, people are working on identifying objects and building heights from information only in the 2d images (such as shadow length) It doesn't help that good satellite imagery is either *very* expensive, or *very* classified. Even better would be to use aerial photography because you are in closer and can get higher resolution. But that means a lot more data, more work to mosaic everything together, longer acquisition times and larger costs, etc. And none of this necessarily addresses the ability of consumer PC's to be able to draw all this detail in any meaningful way ... :-)
It's one of those onions that as you peel back the layers and start taking a closer serious look, it turns into a *huge* research field. The more you know ... the more you realize you don't know ... :-)
How is plane behavior mapped in flightgear?
I'm afraid I don't understand this question. Are you asking about our flight dynamics modeling?
Yes, and I guess I'm asking about the physics engine as the basis for that. But also I was interested as to how you'd go about creating the feel of, say, a Gipsy Moth or a modern fighter aircraft -- and specifically whether doing it was science or more a matter of juggling with setup files until it felt "right".
This is an area where I could sit down and right a book if I wasn't careful ... :-)
FlightGear has several core flight dynamics models, and you can pick one when you design your aircraft.
1. JSBSim (www.jsbsim.org). This is a "classic" aero engineering approach to modeling flight. You define stability derivatives, aero coefficients, etc. build lookup tables, etc. and then the system uses these to calculate forces and moments and crunch the real physics based equations of motion to determine the flight dynamics of the aircraft. Building models for JSBSim is similar (at least conceptually) to building models for MSFS. For JSBSim, all the parameters are stored in a plain text file (xml) so there's nothing hidden or obfuscated.
2. YASim. This is a really unique approach. You define the basic aircraft geometry and mass distribution. You define the engines and mount points, fuel tank locations, etc. Then you provide a cruise configuration and peformance (i.e. 223 kts cruise at 18000' in a "clean" configuration.) You also provide an approach configuration (i.e. 71 kts, 12 deg angle of attack, full flaps, idle throttle, gear down) YASim takes all this information, runs it through a solver to produce a model that hits your performance numbers *exactly* and extrapolates all the inbetween points based on physics. It's a great way to get a plausible model up and running really quickly and produces surprisingly good all around results.
3. We have well defined interfaces so you can hook up to external dynamics models. We have had people do this with matlab/simulink, as well as their own custom (or proprietary) C/C++ code.
4. We have a couple other options that are probably not of general interest and exist for specific groups or projects.
I was just looking at a plane called VentureStar (I'm not sure if it still is a real project) which, by going just into space and accelerating to Mach 23 could get from New York to Tokyo in an hour. Would a simulation of that trip be feasible in Flightgear?
The FlightGear visuals are designed to show the world from a typical civilian aviation perspective. The views you'd get from a Cessna 172 or a 747. We don't do a good job at handling the sort of perspectives you'd need if you were traveling through outerspace and needed to see most or all of the earth simultaneously.
In terms of flight dynamics modeling, we also do not impliment any sort of outerspace or orbital dynamics. But there's no reason a *really* bright person couldn't just drop in a new dynamics module to handle this sort of aircraft.
I know that simulator people tend to get grumpy when the word "game" is mentioned but it strikes me that a flying game could be made relatively easily using flightgear. Do you know if anyone has done this?
As far as I know, no one has. People have kicked around various ideas, but there is a large cost and risk involved with marketing any sort of game title. Most places would require us to front up enough money and prepay for enough copies so that it is impossible for the retail outlet to take a loss. That requires a substantial initial investment and risk which so far, no one has been willing to take.
There's always the web and e-commerce but, point taken, there's still a large investment to be made in other ways than cash.
We do have cdrom.flightgear.org if you want to save hours or days of downloading time, but this approach is never going to generate the kind of sales that a boxed retail version would if it was on the shelves of Walmart and friends.
Thanks a lot Curt.
Bookmark:post to Delicious Digg Reddit Facebook StumbleUpon
Recent on Mstation: music: Vivian Girls, America's Cup, music: Too Young to Fall..., music: Pains of Being Pure At Heart, Berlin Lakes, music: Atarah Valentine, Travel - Copenhagen, House in the Desert