Podcast Episode 17 - Curtis Olson on simulators

iTunes links
AAC: http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=330632997
MP3: http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewPodcast?id=330633212

RSS feed
AAC: http://feeds.feedburner.com/diydrones
MP3: http://feeds.feedburner.com/diydronesmp3

Curtis explains some of the many uses of simulators including how a closed loop hardware-in-the-loop system works.

Curtis' profile on DIY Drones: http://diydrones.com/profile/CurtOlson

Flight Gear: http://www.flightgear.org/

Airframe modeling webpage mentioned during the show: http://jsbsim.sourceforge.net/aeromatic.html

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • @David Ankers,

    How is your quadrotor FlightGear simulation coming along? I am implementing a quad simulator using Scicos/Scilab. This way I can have access to all the Scilab control design tools. I can also choose how I model the physics. I don't have a good feeling for how flexible JSBSim (or other math models) are - do they model brushless motors, rotor dynamics, etc? Also, since I'm using a C-block, I should be able to take the C/C++ controller code from Scicos and drop it into the on-board code with little to no modification.

    The only thing I am lacking is a real-time graphics sim. I think it's possible to compile the scicos model as a stand alone executable and run it with the graphics engine of FlightGear (or other tool). This thread talks about linking simulink/MATLAB to FlightGear, and he's considering a Scilab interface as well, but I don't see it available yet.

    http://diydrones.com/forum/topics/jsbsim-sfunction-for

    - Roy
  • In the real-time podcast interview I spaced it out when I was asked about new features for the upcoming FlightGear v2.0.0 release (Hey I'm a morning person and it was pushing midnight local time ...) :-) Here is a brief summary of the changes for FlightGear v2.0.0:


    FlightGear 2.0.0. reflects the maturation of the OpenSceneGraph port that started with the previous 1.9.0 release. In addition to many internal code improvements, FlightGear 2.0.0. marks the introduction of many new exciting improvements in the graphics and sound system, as well as improved usability of key features, and improved behavior of exsisting features. Highlights of this new version include: Dramatic new 3D clouds, dramatic lighting conditions, improved support for custom scenery, and many many new and detailed aircraft models.

    Sound
    * Complete overhaul of the sound code
    * doppler effects
    * distance attenuation
    * 3D positional sound sources
    * assignment of sound sources to external objects (i.e. AI controlled aircraft)
    * User selection of the sound device

    Visual Effects
    * Use of Shaders for dynamic textures
    * Use of Effects files
    * Improved 3D clouds
    * Color changes based on humidity and other weather effects allow for very dramatic lighting conditions
    * Dynamic water textures
    * Text animation based on OSGText

    Usability
    * Allow screenshots in more common file formats
    * User selectable sound device
    * More intuitive selection of the weather settings through the GUI and/or commandline

    Infrastructure
    * Airport geometry data can be read from the scenery, allowing for more flexible regeneration of terrain tiles

    Internals
    * Improved efficiency of the property tree
    * A more efficient ground cache
    * Many improvements to the route management code
    * Removed many compiler warnings
    * More realistic atmosphere model

    Behavior
    * More realistic ILS behavior
    * Autopilot improvements
    * A generic autobrake function
    * Winds over mountainous areas cause up- and downdrafts that can be used for gliding
    * More realistic behavior of the route manager
    * Wild fires, which can be extinguished by firefighter aircraft operating across the multplayer server
    * Navaid frequencies and radials can be transmitted to Atlas

    Utilities
    * A python script to visualize Yasim configuration files in Blender

    AI
    * Allow traffic departing and arriving at the same airport
    * Add Ground Vehicles - including automobiles, trucks, articulated trucks, trains (including high speed trains)
    * ATC interactions between AI aircraft and ground controllers
    * Performance characteristics of AI aircraft can be specified in a performance database
    * Push-back vehicles are available for a selected number of aircraft
    * Add escorts for AI carrier - frigates, guided missile cruiser, amphibious warfare ships now make up the Vinson Battle Group
    * Improved radar functionality - now detects AI escorts etc.
    * AI objects are now solid (i.e. users can collide with them)
    * Some preliminary support for SID/STAR procedures for AI aircraft
  • There are some really sharp folks on this site doing kalman filtering work. I think there have been some threads on the subject. I have been working to improve some existing code, but I am in no way a kalman filter expert ... I'm learning, but on the up hill side of the learning curve still. I haven't found any kalman filtering references that have really clicked well with the way I think. It's pretty brutally hard stuff to get your head around. My best suggestion is to find as many resources and references as you can and start chipping away at in from different sides. It's not the sort of thing most people are going to be able to just sit down and figure out in an evening. It's not like it's a single core concept, and once you see it, and understand the beautiful simplicity of the approach, everything else falls magically into place. No, it's not like that at all.
  • Thanks Curtis!
    Do you know any other such references that offer the code and a good explanation?
  • Yup, I think it's supposed to be included on the supplemental CD included with the book. Then there are 2 chapters (6 & 7) that dive deep into the theory and derivations.
  • Curtis,

    Thanks! So the book actually has the 15 State KF written in MATLAB?
  • Unfortunately the work to adapt the matlab algorithm to C code was part of a paid project, so I'm not able to share it.
  • Curtis,

    Thanks for the Kalman filter book reference. You mentioned you had adapted the code in the book (15 State KF) into C. Would you be willing to share that?
  • Just to roll with the idea. I want to stop short of saying we should require flightgear because we want to involve as many people as possible, but if (*if*) we base the contest around FlightGear, we could require that contestants fly with the multiplayer option enabled so that all the rest of us can track their progress in the FlightGear multiplayer online map:

    http://mpmap02.flightgear.org/

    It could be a lot of fun to track a gaggle of virtual drones flying across the country. (or it could be boring if it takes 3 weeks to fly the route and only 2 or 3 people manage to get a system setup to compete in the first place.)

    Just to put in another plug for FlightGear while I'm at. Another fun "stupid drone trick" would be to feed your real life drone telemetry into a running copy of FlightGear while you fly, and have that copy of FlightGear connected to the FlightGear multiplayer system. People could watch/track your real world UAV flight in real time via the FlightGear map server. This would require internet access at the field, but with 3g cards and what not, this is more and more possible.
    FlightGear server online map
  • 3D Robotics
    Curt,

    That's an awesome idea. A DIY Drones context to fly across the US (virtually) without crashing! And for the second round, to make it harder maybe we should insist that they stay below 400ft, so terrain following would be part of the deal.
This reply was deleted.