The UAV Playground is a collection of software components I've written in Java. They extend the Processing Development Environment (PDE) with some functionality that can help you to simulate and test different aspects of UAVs. You can as well use the UAV Playground library outside of the PDE in any Java application.UAV Playground and all the Software it is based on are freely available. The distribution and the source code can be found on the Open Source project page at code.google.com/p/uavplayground.The whole project is a work in progress and will be extended as I work on the exploration of UAVs. I'd appreciate if you leave me a comment or even better contribute to the project.Features- object oriented- modular- extendable- freeHow to use it- install the Processing Development Environemt (PDE)- download the UAV Playground distribution and follow the installation instructions- [install the FlightGear Flight Simulator (optional)]- have a look at the sketches (examples) and browse the api documentation that is included in the jar fileA very basic example- connects to the flight simulator- displays the current altitude and airspeed

3689310624?profile=original

3689310645?profile=original

The UAVsim example- controls the flight simulator via virtual joysticks or...- controls the flight simulator via a PID processor (basic autopilot)- displays various data

Additional examplesUAV Playground - NMEA to KMLUAV Playground 1.1- New GPS NMEA data import via a network connection to FlightGear- New GPS tracking in Google Earth via a HTTP connection to the UAV Playground

3689310658?profile=original

UAV Playground 1.2 [Update] (download)- Completely rewritten autopilot now supports waypoint navigation
E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Did you recompile UAVsim?

    Are the IP ports open on you firewall?

  • Hi Bur, it is possible to run FlightGear on a different machine than UAVsim. Therefore you've got to set the IP addresses in those two files:

    FlightGearSender.java

    DEFAULT_IP = "127.0.0.1";
    Replace 127.0.0.1 with the IP address of your FlightGear machine.


    Start-FlightGear-UAVsim.bat
     "--nmea=socket,out,5,127.0.0.1,5557,tcp" ^
     "--generic=socket,out,10,127.0.0.1,5555,tcp,UAVsim-Protocol" ^

    Replace 127.0.0.1 with the IP address of your UAVsim machine.

  • Hi Natha, no you can't upload the actual ArduPilot software and test it with UAV Playground.

  • I'm currently working on the communication with an Arduino/ArduPilot for a future hardware-in-the-loop simulation.
    It uses a single serial connection but can send and receive all the data to and from the microcontroller that is needed to do the simulation.
  • Thanks "jaron" and "dydx" for the information. I am still very far away from getitng my airplane ready, tested, and eventually interfaced to a ground station, but great to be learning on the way... Excellent post.
  • Tom, what you see in the screenshot above are three different applications talking to each other over a network connection. The UAV Playground and its demo application the UAVsim (on the left) provide all the necessary (software-) interfaces to handle i/o from FlightGear (top) and Google Earth (bottom).

    If your telemetry gear provides an interface you could connect it to the UAVsim. An additional window could then display the real time video from the (real) airplane. So yes, it is possible but the implementation depends on what equipment you are using.
  • Does system this allow for onboard video picture replacing the virtual outside view, while the virtual airplane (from rear view) or virtual cockpit view still being there displaying actual data streaming in from the telemetry? Basically, a virtual cockpit view looking out at the real-time onboard video with an option to place a virtual plane viewed from rear about 50 yards ahead inside that same real-time onboard video display. Thank you.
  • Thanks for the feedback dydx.

    The autopilot's components are decoupled as much as possible and running as separate threads. As you pointed out this makes it easy to run the code on multi-processor systems.

    The input and output data is shared via an event handling mechanism (Observer). This allows you to easily add a new component, for instance a telemetry device, without touching a single bit of the original code.
    Another advantage of the decoupling is the interchangeability. You could replace one or all of the existing flight data components (gps, motion, actuator) with your own version (hardware or different flight sim) without any change in the existing code.
  • The UAV Playground 1.2 (download) has a completely rewritten autopilot and now supports navigation.
  • You can follow me on twitter.com/jarontec now where I tweet about my journey with the UAV Playground.
This reply was deleted.