What would you want from a UAV fleet simulator?

Hi, this is my first post in these forums. I'm an avionics software developer working on a CS Master's with no robotics background (beyond some Lego Logo and Mindstorms stuff way back when) but I'm looking to change that for my Thesis.

I'm looking at researching and developing a simulation environment for use in drone fleets (primarily UAV but I want it to be useful for ground and sea drones as well). While I want a reasonable basic physics handling of each unit my primary focus is going to be communications between multiple units of a BVR fleet.

Any suggestions on what I might want to consider or any research material I might find useful would be terriffic!

E-mail me when people leave their comments –

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

Join diydrones


  • Choose "Right" hardware and software will be you topic in your research. include the current products. The project of your article is not completed by yourself, it should be team work.
  • I've done similar hardware in the loop work between FlightGear and my embedded flight controller. You can save a ton of head scratching at the field by working out all the glitches back at home. It can be tough to read those laptop screens in direct sunlight when a boss or a customer is looking over your shoulder asking "have you figured out what's wrong" every 30 seconds. :-) I have a couple success stories where a chunk of code developed entirely in simulation worked pretty much out of the box in the real world (maybe with a slight bit of follow up tuning in the case of a PID controller.)
  • I've developed a prototype for the simulation environment (2d and very basic control capabilities) and was thinking of using Panda 3d when I move into the real project to avoid having to develop too much of the basic engine from scratch but this looks like it could be even better.

    One of the things I'm doing is trying to is have the robot controller only have visibility into the simulation through simulated sensors so the controller software in the sim could just about be moved unchanged into a real robot as well as giving the possibility of hooking a robot controller up to a computer and let it interact with simulated units. I'll bet this is something I could work into that program so I'll have to take a look at it.

  • A person could spend years developing a basic simulation infrastructure from scratch. My recommendation is to find an existing simulation system (that provides physics, 3d graphics, etc.) and then plug your work into that. By starting with an existing full featured simulator, you will be able to focus on the new and interesting aspects of your project and avoid spinning your wheels just trying to get some basic simulation engine up and running from scratch.

    The PC flight simulator world is dominated by MSFS, X-Plane, and FlightGear. All of these should be able to handle ground vehicles and maybe even sea drones at some level too, but they are all clearly optimized for flight. FlightGear offers some reasonable ground vehicle dynamics so I'm sure the other simulators must do that too. But none of these offers visual environments that are optimized for ground or sea vehicles. Some of that could be added by a skilled 3d modeler, but you probably are not going to see a realistic working network of traffic signals for instance in a detailed city environment, curbs? ditches? cross walks? signage? All of these could be critical for an urban ground vehicle. (I only say that because a recent DARPA competition focused on urban ground vehicles interacting with real world human drivers.)

    There are other simulators available as well. Real Flight offers a great RC model airplane simulator for instance and there are several other RC model simulators available as well.

    Because you are doing research, and probably have needs that no one has every exactly considered before in a commercial product, I believe your best option will be to focus on an open source simulation engine. That gives you the most flexibility to insert your own code and make needed modifications. With a commercial product ... if it doesn't do what you want you, or doesn't provide the interface or data you want, you are out of luck.

    That really leaves only one choice at the end of the day ... FlightGear. :-) http://www.flightgear.org

    FlightGear has an "AI" system that allows you to create and manage multiple "autonomous" vehicles. You may need to dig into the C++ code and add new classes of vehicle types, but that will allow you to add the types of control and behaviors you need for your vehicles, as well as any external hooks you might want or need for commanding and controlling your AI vehicle behavior.

    FlightGear also offers a networked mulitiplayer system which would allow you to run multiple simulations on multiple machines, but have all the modeled vehicles interact in a common environment.

    I've done demos with an autonomous land vehicle (a snow plow) that followed a route around an airport taxiway network and used a simple radar sensor model to avoid running into any aircraft that might be taxiing in the same environment.

    If it really makes sense for you to develop your own simulation environment from scratch, then I don't want to talk you out of that, but expect it to take several years of development. If you do really want to focus on communication between multiple autonomous vehicles, then why not just focus on that?
This reply was deleted.