Developer

NAVIO+ Linux board with APM:Copter 3.3

Click here to skip the commentary and just see the vehicle flying.

The video above shows my first attempt (which was successful) to fly APM:Copter using a Linux board (the NAVIO+ shield + RaspberryPi2 from emlid.com).  Ardupilot and APM:Copter have flown before on Linux computers (Tridge flew ArduPlane Aug 2014, and Victor Mayoral first flew APM:Copter using an Erle-Brain board) but it was a first for me and is still fairly rare.

Compared to the Pixhawk the NAVIO+/RPi2 has enormous amount of CPU power (quad core 900Mhz) meaning it should be good for vision applications like red balloon popping, visual follow-me, precision landing and maybe wifi broadcast for real-time video all without the need for an extra companion computer.  We also hope the extra CPU will allow 4kHz sampling of the IMU which will nearly eliminate aliasing and the need for vibration isolation (we currently sample at 1kHz).

We don't yet take advantage of that extra computing power within ardupilot though so it flies much like an APM2 or Pixhawk with all the same flight modes and most of the same features.  A few things are not supported yet including the safety switch, external LEDs, buzzer and Optical Flow.

The setup for the board is more difficult than the Pixhawk, in particular upgrading to the latest version of APM:Copter involves logging into the RPi2 and then downloading and installing a package.  Alternatively you can download the firmware directly from the ardupilot github repo and compile it right on the board.  The emlid site has good documentation on this procedure.

During the setup I had some specific problems:

  • I did not use an external compass and the internal compass's offsets were huge (1000 on Y axis!) which required disabling the compass arming check.  Surprisingly though the IRIS flew fine even in Loiter and Auto modes.
  • The RC receiver is not powered from the NAVIO+ board meaning a BEC must be used (or I hacked an I2C cable and connected it to the servo rail) which is inconvenient for bench testing.  I hope in future versions of the board this is changed.
  • The two-board sandwich is taller than an APM2 or Pixhawk which meant I had to bend some pins to make it fit within the IRIS case (see pic below).  Perhaps a future version could include right angle headers.

3689653135?profile=original

On the software side there's still some work we need to do to improve the Linux experience so if there are developers out there who would like to help us with this, please contact the dev team on gitter or on drones-discuss@googlegroups.com.  Linux is the future and we've got a lot of fun work to do!

Note: in the video I incorrectly say SBUS isn't support but it is supported!

E-mail me when people leave their comments –

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

Join diydrones

Comments

  • Developer

    Interesting times ahead i guess :)

    Now i need a Navio+ for my rover ;)

  • T3

    Randy,

    this is awesome!
    4kHz sampling sounds like a killer-feature.
    The downside of this system is a high complexity and a higher weight. 
    Another killer feature would be the possibility to switch over to a companion pixhawk in some failsafe case.

    Cheers,
    Thorsten

  • Thanks for the review and information Randy!!

This reply was deleted.