Control Navio+ directly from Pi

I’m just getting into quadcopters, so excuse any noobishness!

I recently got a quadcopter and I’ve been playing around with it, learning the platform, and developing a vision for what I want to do next. My grand scheme is to control the copter directly from a Raspberry Pi, with no traditional transmitter/receiver, instead purely over a network connection (4G modem or WiFi link) from a laptop and joystick.

It seems like the Navio+ is the best option for me, but I still have some questions not having actually used the platform. Can I send nuanced, real-time control inputs (roll, yaw, throttle, etc) to my quadcopter’s ESCs via the Navio board? I’m looking for a real-time piloting experience using the Pi instead of an RC receiver. I’ve only read about interfacing Ardupilot and the Pi via Mavlink, which doesn’t seem like a realistic way to achieve real-time piloting (but somebody correct me if I am wrong).

If anyone can point me towards existing open source projects attempting the same thing, that would also be very helpful.

Thank you!

The NAVIO+ is already all you need. Emlid integrated the Pi already by providing a board and drivers which integrate with APM, and open source drivers in case you want to program something else (perhaps there are alternatives in the future). Then we have almost the same range of outputs as Pixhawk (some not necessary like compass because it’s on the board), the main being the PWM for control of the usual multirotor/plane/rover ESCs/servos.

I’ve got mine setup with just the NAVIO+ and WiFi and my next step is to do some WiFi range tests with standard adapters and protocols (N or AC) at different frequencies (some use both 2.4Ghz and 5Ghz some manually switched to just one). Alternative interconnects are 3G/4G mobile but then the lag is greater so I guess you only need that when flying away from line-of-sight, which is likely not permitted by law either (depending on your location). Search YouTube for “Emlid Navio” and you’ll see working examples.

There is an interesting article regarding drone WiFi below (and others also on DIYDrones). If the standard WiFi adapters are not good enough I plan to follow that example and get a set of the Ubiquiti devices. It’s the only generally available outdoor specific WiFi solution I’ve seen so far with decent prices and devices which could fit on-board a UAV. The general advice is not to buy their antennas though, because you can use circularly polarized FPV antennas (also commonly 5Ghz or 2.4GHz) to get their benefits too.

The other option I did not mention is flying with the APM/3DR Telemetry radio. There are two reasons why I won’t bother with that. First it’s too slow. Secondly as the newer Rasberry Pis support hardware video compression, so you can get your FPV video downlink across the same connection with good WiFi (or 4G/LTE) and potentially stable at HD-like quality (streaming). That’s fantastic because now we really only have one fast radio compared to three (FPV, RC and Telemetry) on the original 3DR/Pixhawk drones.

Currently the joystick support in APM Planner 2 is a bit passive (works but not the same/visible as the RC control) and the Mission Planner (with better support) hasn’t been updated regularly (looks like end-of-life). So for my first flights I will just get an RC receiver anyway as a backup. Once APM has improved and I have found a reliable WiFi configuration I’ll go “solo” with the radio too. I plan to do a load of tests and document them. For example, it should be better with no other radios at all, but how much better. If it’s only a bit, then maybe it’s still worth having RC radio as a backup.

When you add-up all the cost/weight/size savings because of the parts you don’t need anymore, it’s possible to quickly build a “fleet” of optimized UAVs and program them to do interesting things, useful projects or pure entertainment. That’s why I’m really excited about this Emlid product line. If you like the whole APM thing you’re getting next gen (e.g. 3DR Solo) now and future proofing your investment in my opinion.

Just wanted to add my personal experience with Navio. I have a quadcopter and fly it with Mission planner, Joystick, Webcam videolink, 4G/LTE connection.

For flying quadcopters in loiter mode the latency is not a problem and you can fly them safely with only a 4G and joystick configuration. It works very well! You do not need a RC controller, once you have set it up properly

You can fly it in stabilize mode over 4G, but the latency becomes noticable and makes me nervous. I would not recommend flying planes with only a 4G connection without a normal RC link for takeoffs and landings.

The video quality over 4G is pretty good. To get a stable and low latency videolink (300ms) I need to set the video quality similar to what you get with analog systems. When the connection is good, you get a better image. The gigabytes adds up after a few hours, so make sure you get a decent 4G subscription.

1 Like

What kind of joysticks do you all use ?

I believe the basic requirement is a “HID” (Human Interfacet Device) compliant game controller, which all good controllers with any kind of Windows or Linux certification logo will be. That’s just a standard which means they can be recognized and all their various sticks, sliders, buttons are reported generically to the operating system.

Now because every joystick will likely have different numbers for each control, good mapping support is necessary. This is where the older Mission Planner excels compared to APM. Although there was a preview screen on the APM forum showing more complete mapping capability (like Mission Planner had at the start) it’s still not in the current release.

Here’s what it looks like in the current APM mapping screen (beta versions enabled v2.0.17):

Lots of work to do for the APM team there (note the limited actions and silly mistakes like X for vertical and Y for horizontal). Also they need to hide all the warnings and “mandatory” configuration screens for people who choose to fly true UAV without any RC radio.

Compare that to the Mission Planner mapping screen:

http://copter.ardupilot.com/wiki/common-optional-hardware/flying-with-a-joystickgamepad-instead-of-rc-controller/

@CodeChief
Hi,
in your experience, did you have any troubles with using Mission Planner with gamepad? I’ve had some very weird behavior from MP. Sometimes it just hangs and you lose control of the drone for that moment.