Please log in to watch this conference skillscast.
Fault tolerant, concurrent, distributed and functional with superior binary wrangling capabilities and network/device connectivity - the Erlang platform designed to run the world's telephony systems also turns out to be a perfect fit for autonomous aerial vehicle control software.
In this presentation Robin will give a brief introduction to the world of autonomous aircraft, autopilots, onboard companion computers, ground stations and communication links. He will demonstrate the use of his open source Elixir MAVLink library to communicate with an Ardupilot autopilot from Elixir code, which in turn will control an accurate X-Plane simulation of a large UAV he has been working with since 2014.
Q&A
Question: Do you know of a good intro to PID / control systems for current commercial aircraft for a lay person?
Answer: I’ll ask around - the field is called “Control Theory”
Question: How much does latency of comms feed into how you design such a system? eg for a remote UAV
Answer: You set up a flight plan so that you’re not wiggling joysticks for a vehicle you can’t see. Then you’re more acting as an air traffic controller than a pilot.
Question: What’s a low cost option for getting into the hardware? (edited)
Answer: This is the first model I installed Ardupilot on
Hobbyking.com is a great place to start. There is an HKPilot which is equivalent to the earlier ardupilot. https://hobbyking.com/en_us/micro-hkpilot-mega-micro-sized-flight-controller-and-au[…]xQWmgBz-sDzi0MVue1C2xoC9xYQAvD_BwE&gclsrc=aw.ds&___store=en_us
Question: Is Pixhawk still a good thing? Back in the day it was the bees knees
Answer: I’ve never used pixhawk, they are definitely still around. I think they’re part of the UAVCan consortium (alternative to MAVLink) which is europe centric. Remember that the HKPilot will not support current versions of Ardupilot. I know the latest version of Arduplane it will support is 3.4.
Question: have you had much to do with the CanberraUAV folks? Their work on Arduiilot was really fascinating, as was their real time image processing on the UAV.
Answer: I’m on the mailing list, visited them at the ANU field robotics lab and support them on Patreon. We’re lucky to have so much of this going on in Australia.
Question: I take it one can have a play without having any hardware by noodling with simulators?
Answer: yes absolutely - you don’t even need XPlane, there is a simulator for most vehicle types built into the Arduplane test harness. I use XPlane because it can do high fidelity simulations of aircraft you build in PlaneMaker - full scale aircraft designers use it during design and development.
Be prepared to get your hands dirty poking around in the Arduplane code to see how things work. Also be sure to download the correct tag, for the vehicle type you’re trying to drive
Question: How often do you get to fly the real thing? (as opposed to simulations)
Answer: Not that often unfortunately - there’s a bit of flying at the end of this video: https://www.youtube.com/watch?v=FzZyfGh81ck&t=283s. I’ve spent more time in the workshop building, programming and simulating. I do not recommend this approach. CanberraUAV seem to be out flying most weekends - the difficulty in Sydney is access to places where you can safely fly a model like this. We did our flying at Hawkesbury Model Air Sports at Vineyard (out near Richmond)
Question: As far as I understand here in Australia you need to keep a UAV within visual line-of-sight. Does it restrict what you can do with your planes? (distance-wise) Are there any exceptions to this rule?
Answer: The Outback Challenge is the only time you can operate beyond line of sight as a hobbyist in Australia (unless you’re Boeing). All your test flights need to be within line of sight, so during development and testing you fold the flight plan up to all happen near launch. Don’t discount ardurover or ardusub as options.
One thing I didn’t mention is that the reason I use Navio is that their version of Raspberrian with the interrupt fix has no problem running the BEAM VM with Elixir alongside Ardupilot :-)
So one core can run the autpilot and you still have more free to run Elixiry goodness.
Also to qualify my statement about using Elixir for the main loop, here is an interesting article about the suitability of Nerves for real time computing: https://www.verypossible.com/insights/is-nerves-a-real-time-embedded-system
YOU MAY ALSO LIKE:
Elixir for UAV Avionics
Robin Hilliard
Founder and CTORocketboots