3D Robotics

Awesome simulation setup for ArduPilot!

Jordi's really outdone himself this time! He created a amazing full-featured simulator for ArduPilot that does the following:

  • Uses the servo output from the autopilot or RC controller (depending on which one is selected by the MUX) to "fly" a plane in the X-Plane flight simulator, via a custom interface he's designed around this ARM board.
  • Also flies the plane in manual RC mode with RC controller output going through the MUX and then into the ARM board.
  • Displays the plane's attitude and other flight telemetry with a custom Ground Station built in LabView.
  • Uses LabView to simulate the FMA Co-Pilot, stabilizing the plane in flight using PID loops.
  • Display the plane's position in a moving map using Google Maps, which also shows waypoints.
As you'll observe in the videos here, you can see the plane's: 1) Flight in X-Plane 2) Glass cockpit with full telemetry and debug data in the Ground Station 3) Overhead position and path in Google Maps Here's a diagram that shows how everything is connected:

You'd note that he's using using the ArduPilot Pro board with just one atmega installed for this. (the other atmega does stabilization, which we're doing in the LabView Ground Station for this demo.) It's the board we use for development, since it's easy to replace atmega chips. It's best to have at least two computers and three screens for this, as you'll see in the video. Video 1 (above) just shows the setup Video 2 (below) shows the plane taking off in manual mode, switching to autonomous and flying to first two waypoints Video 3 (below) shows the plane flying to the last two waypoints, and switching back to manual mode and landing. Video 2 Video 3 Full code and instructions on how to create this simulation setup coming soon.

E-mail me when people leave their comments –

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

Join diydrones


  • Hello,

    I am a novice on this website. I work for a company that develops small unmanned helicopter for the cinema industry. I write you because I would know what are the best software technologies to have a moving map in a ground station. I currently work with labview and I would like to have a map with my UAV geo-referenced and also be able to work in way point navigation. It exists some tools that provide a 3D visualization of the relief?
    Thank you very much for your help/advices/informations,
  • Admin
    As usual, the ARM board is on back order at Sparkfun.

  • T3
    Jack Crossfire:
    "X-Plane is an interesting program at least as regards the author. One guy started writing it in 1994 & has made enough money selling it for $60 a copy to fly real airplanes & buy a ride in Spaceship 2."

    Austin Meyer
    Austin has been a plane and computer enthusiast from a young age. He took his first flying lesson at age 15 and had his pilot certificate by the age of 17.
    He is almost as self-made man as Bill G. No illusions about American Dream ;-)
  • I cant get it to run do I have to buy labview?
  • Hi, I would be interested in the code for the ARM board: I guess the ARM board decodes the pulse widths of the servo outputs from the Ardupilot and emulates a joystick input into the X-plane simulator.

    I would also like to know if the small RC plane model for X-plane is available? (A small RC plane has very different flight surface parameters that a large plane. This translates into different roll rates, different inertias, different lift etc. What RC model did you use?)

    Last, It would be nice to see how the PID regulator in LabView is designed (see above post about VI).

  • I would be interested in those VI¨s to learn from too.

  • Was the labview vi's ever posted. I would like to see how this was implemented.
  • Hi. Anybody else have a simulation set up for Ardupilot or suggestions? thx.
  • Hi jordi,
    no it's not urgent - I am just curious....
  • Developer

    Que onda! Yes i still in Swiss, i will return this December 10, so maybe i can see you, how is going the project?
This reply was deleted.