I'm delighted to start our interview series with Curt Olson, the creator of the cool open source FlightGear flight simulator and a UAV engineer in real life. When I started researching how to use simulators (GPS and IMU) to ground-test UAVs (aka "hardware-in-the-loop" simulation), I found that Curt had done some of the most interesting work in this area. And because here at DIY Drones ignorance isn't a bug, it's a feature (learning in public helps others learn along with us), I thought I'd go straight to the source to find out how it's done.
We had a long email interview, so I'm going to break it into several parts. First an introduction and overview of the sort of UAV simulation you can do with FlightGear:
Q: Can you tell us a bit about yourself? We know you're the creator of FlightGear, but would love to hear a bit more about your day job and UAV projects. Also family, hobbies, odd things that nobody knows about you ;-)
Currently I'm employed in the Mechanical Engineering Department of the University of Minnesota, however that is only 50% time right now and I've been told that as of June, the department will be unable to renew my contract. <insert plug for Curt looking for possible employment or uav consulting projects> :-)
My primary focus at the university has been engineering support for a very
advanced driving simulator:
I've been involved in a couple UAV projects with the U of MN aero department. Tons of pictures and information here and here.
I am also involved in a UAV project with ATI, sponsored by NOAA. This has been a lot of fun because it involves designing a new airframe from the ground up, quite a few unique operational challenges (launch from a small boat, recovery in the ocean) and [twist my arm] a couple trips to HI.
Family: I'm married, two daughters, age 4 + 7 (by the time the readers read this anyway.) And 2 dogs. Before kids came along I enjoyed skijoring here in MN with our 2 huskies:
Hobbies: RC model airplanes since high school, small plastic and balsa models before then. I also play a little soccer in an old guys league in the winter and still try to chase around the young guys on my summer team.
Odd things? I was a big Duke's of Hazzard (tv show) fan in high school. My latest FlightGear invention is a tribute to simpler times ...think my sense of humor is optimized to entertain myself and probably not many others. :-)
Q: What are the range of options in UAV simulation/testing? We know about basic GPS NEMA sentence generation, but what else is possible, from course drawing to IMU simulation?
I think if you are careful and clever, you can test just about every element of your system on the ground. That's actually not a bad idea because it's often hard to trouble shoot something that's a couple hundred yards away that you don't have physical access to and have no way to look inside and poke around.
Q: What can FlightGear offer as a simulation engine? Advantages over other options, such as dedicated GPS sims or MSFT Flight Simulator plug-ins? Special suitability to amateur UAVs, etc.
FlightGear can be useful in a number of ways throughout the lifespan of a UAS project. Such as:
You can do a physics (aerodynamics) model of your model in flightgear and use that to do handling qualities test and/or turn the flight control gains.
You can create a 3d model of your UAV with animated control surfaces for the purposes of visualizing your flight and analyzing the aircraft performance. There's certain things where you need to stare at tables of numbers and graphs, but for some things, seeing what the thing does in 3d and in real time can be helpful. Certain things that just aren't right can jump out at you visually where as you might miss it if you just looked at plots
or raw numbers.
It's possible to leverage FlightGear as a component for hardware in the loop testing. FlightGear can model the aircraft dyanmics, send "fake" sensor data to your flight computer, and accept control inputs from your flight computer.
It's possible to test your flight control system or higher level control strategies purely within flightgear before implementing them on an embedded flight computer.
As you begin the flight testing phase, you can feed your flight test data back into the aerodynamics model and make the simulation that much more accurate and useful.
Operationally, you can use FlightGear to replay/visualize past flights. You can feed the telemetry data to FlightGear in real time for a live 3d "synthetic" view of the world. You can overlay an advanced hud, steam gauges, or glass cockpit type displays. [example shown below of real video next to synthetic FlightGear view of the same flight]
If you have net access, you can connect the slaved copy of FlightGear to the FlightGear multiplayer system and then anyone in the world with a web browser could track your UAV live using our multiplayer map system (google maps based.)
You could also have multiple UAV's participating in the FG multiplayer (MP) system and you would be able to see each other in your respective synthetic displays.
[Next: a drill-down on getting FlightGear to drive an IMU]