A peek into the future of ardupilot

3689571237?profile=originalAt the recent LCA'2014 conference in Perth I gave a couple of talks about research projects I'm working on with ardupilot. These show a couple of the things that we are working towards with APM.

The first is a talk on differential GPS which is part of a collaboration between Ben Nizette at ANU and myself.



The second talk is about the research project to run ardupilot directly on embedded Linux boards, which opens up some really interesting possibilities for APM:



These projects are really just a small part of what we are working on, but I thought a few people might be interested in them.

Cheers, Tridge



E-mail me when people leave their comments –

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

Join diydrones


  • Mr. Tridge, Great lecture about the Beaglebone! It wandered outside my areas of knowledge a few times, but love the fact that the code is abstracted from the hardware now and ready to move onto more grown up platforms. 

    Can't wait until it is ready for prime time. :-)

  • Hi Victor, the sensor board I have is the GY88 (MPU-6050, HMC5883L, BMP085). BeaglePilot+1

  • Hi James,

    I'm finishing some tweeks with the MPU-9150 driver for ardupilot and once i finish i will try to replicate your steps and come back with feedback.
    Which 10 dof sensor board are you using? Have you joined BeaglePilot google group?

    APM Plane, APM Copter, APM Rover source. Contribute to BeaglePilot/ardupilot development by creating an account on GitHub.
  • I have successfully followed the wiki on 'building for the Beaglebone Black on Linux' found here. I connected a cheap 10 dof sensor board and have confirmed the i2c connection. I have compiled the Arducopter code with no errors and the code appears to run but there is no output to the console. After a bit of debugging it looks like none of the threads controlled by the scheduler are doing anything due to the function 'system_initializing()' always returning true (_initialized is always false). As far as I can tell, _initialized is only set to true via a call to hal.scheduler->system_initialized() in the macro AP_HAL_MAIN() set in AP_HAL_Linux_Main.h. I have not spent a lot of time on it but it seems that this is not actually being successfully overridden by LinuxScheduler::system_initialized().

    Has anyone else encountered this problem? 

    To make some progress I bypassed the issue by forcing _initialized to true. This seems to work and I now have access to the CLI and can even connect to Mission Planner on my PC by using socat to redirect the console output over TCP. Connecting to Mission Planner is quick enough with the parameters downloading at the usual rate however the Flight Data update rate seems to be rather slow (~1hz). After a bit of playing it looks like ttyO0 is the only uart active by default on the BBB and I can see the data on the Tx pin when I set the telemetry to this port. Next on the todo list is to hook up it up direct to a serial port on PC and try that...

  • @Jack LaLanne although BeaglePilot is BeagleBone (Black)-based our mission is to push towards the ultimate  autopilot for Linux-based computers (whatever they are) so we would be really happy to welcome people trying it in other systems such as the Rpi. The first steps should be:

    • join the conversation at our group and #beaglepilot at Freenode.
    • Install ardupilot in your system. The steps are described here for the BBB and here for the robot Erle. Once you succeed doing this, i would kindly ask you to document it somewhere and share it (we love GitHub's README ;)).
    • Here you can find a schedule our our tentative work during the following weeks.
      Since the Rpi has no PRUs, i'd assume you would be more interested driver coding and integration based tasks. For that you can get in touch with me. These last weeks i've been coding an ArduPilot driver for the InvenSense MPU-9150.



  • @Víctor,  fair enough :) beaglepilot also sounds interesting. I currently have an APM2.5 and a raspberrypi on my plane. Any chance I can help or would I need to get a beagle bone black for that purpose? There is also an old beagle board gaining dust in a drawer but that's too bulky.

  • @hotelzululima, yes #beaglepilot is active (take a look at the progresses we're doing in our repo and feel free to contribute ;)).

    BeaglePilot has 22 repositories available. Follow their code on GitHub.
  • and are eagle layouts or schematics available for the firecape yet? or whatever the sensor/control pin board is being called?


  • hi tridge,

    is #beaglepilot still active.. not finding it listed at freenode


  • @Jack LaLanne I've worked both with Ångström and Debian and I consider that working in Debian is more comfortable for developing.

This reply was deleted.