Lorenz – PX4 Native Stack
PX4 Native pursuing 2 main goals
1. Implementation of slightly modernised CPP API for inter-process
ORB. The intent is to have a scalable API on all platforms
2. ROS in the background to enable the Linux port by using the Pixhawk
as a sensor platform. Communicating between the Linux board and
Pixhawk via a fast UART.
PX4 Native stack also includes new support for VTOL.
Tridge – ArduPilot
ArduPilot rapid development. Copter and Plane releases coming out and
Changes integrating Optical flow especially with EKF. Changes to have
it operate robustly for non GPS or Indoor environments. Spear headed
by Paul Riseborough.
Effort under way to support tilt rotors. We don’t have a tilt rotor
simulation at the moment and it would be great to have tilt rotor
simulation – it would make development of tilt rotors better.
Integrating UAVCAN support.
Linux ports are getting a large amount of focus. There are a number
of boards that are now supported.
Securing of Telemetry Links
A nicely worked out RFC.
Currently we have no tamper prevention and that is a huge concern. We
want to prevent data injection and reply attacks. Whether the link
needs to be encrypted is a completely different discussion.
The current RFC isn’t quite up to date. It doesn’t encompass new
developments like mavlink routing.
With regard to reply attacks we need a sequence number and the ability
to cope with lost packets. If a lower sequence number the packet is
rejected. Problems still exist with replays between flights. There
are still details to resolve in the RFC.
Can we just encrypt at the radio level – XTea Encryption Algorithm
has been tried but the CPU on the radio’s isn’t powerful enough to do
this. To this end we may need to develop a new radio that is both
cheap but powerful enough to support encryption like the SDM32.
Call for people who are interested in getting the Radio encryption up
and running. Linus Casassa expressed interest.
In PX4Native there is a baseline implementation in place thanks to Pavel’s efforts.
He has designed firmware.
He has designed GPS module with onboard Baro and Mag.
In ArduPilot the code has been available for a couple of months. The
big thing missing is ease of configuration. Currently you need to
connect a debug console to each ESC and configure it that way. UAVCAN
has good building blocks for making configuration easier.
NSH level commands to be implemented as the next step.
Defer to next meeting with the suggestion that everybody reads the WIP
documented – link in the meeting agenda.
Progress towards automated hardware testing
python scripts to automatic test ArduPilot in SITL.
We haven’t had automated hardware testing. PX4Native have setup a web
cam viewing a Pixhawk. There is a bunch of Ruby scripts that
co-ordinate builds of the firmware, flashes it and records the NSH
It will be extended to run a long term soak test
The code is all online and linked on the ArduPilot website.
Jani expressed interested in setting this up for ArduPilot.
Merging of upstream PX4 changes
Lots of work going on merging Greg Nutt upstream tree to the lower
trees for PX4Native and ArduPilot.
David Sidrane has resolved some tricky long standing issues.
Changes that have been made can be found in the agenda (link at the top).
Post crash analysis is going to be improved by sufficient state being
saved when there is a problem so more detailed post crash analysis can
If anyone has an feature requests for PX4 Nuttx layer please add it to
the issues list
Plans for the upcoming ELC
Highlighting there will be a number of drone talks at the conference.
Updates on Linux ports of DroneCode flight stack
Defer details to next meeting. Summary below:
Link to http://dronecode.org and Tridge’s talk on flying with Linux.
PX4Native – focus on interfacing the existing flight stack and the
higher level software pieces that are more useful to run on Linux.
Comments from the floor
Going to create a dronecode organisation on github with one
repository. This will enable us to have a gitter channel for
discussions and repository for meeting notes.