The recent 2015 Embedded Linux Conference held March 23-15 in San Jose, CA featured some great presentations related to drones. Videos of those talks are now available, and it's been a great pleasure to watch them.
Here is an overview for easy reference, with a short description (my personal take) for those of us interested who were not able to attend. Be sure also to check the link above, many presentations are not covered here, yet could be of interest.
In this talk, master open source developer and uber hacker (Samba and Rsync, prior to Ardupilot) Andrew “Tridge” Tridgell presents the history of the open source Ardupilot flight controller, from the beginnings of Ardupilot to current applications and the foundation of DroneCode. He covers the Arduino world and the open source community, the creation of this forum by Chris Anderson, through to his involvement in Ardupilot and the subsequent hardware and software evolution. Tridge then presents the many applications in which Ardupilot is being used, and discusses the structure of Ardupilot code and its ports to Linux.
Autonomous Navigation for an OMAP4 Nano-Drone, by Grégoire Gentil: Slides, Video.
In this presentation Gregoire Gentil of Always Innovating presents the nano drone “Dronie” (aka MeCam), a quadcopter capable of autonomously following a person using computer vision. The Dronie’s flight controller is based on Texas Instruments’ OMAP44x board, boasting a dual Cortex A9 kernel, a dual cortex M3 running TI’s Real time operating System, and a DSP used for computer vision. Along with a 9 DOF sensor and a sonar, up to five cameras can be aboard the tiny drone. After a general hardware presentation, including the basics of how drones fly, Gregoire demos the drone following himself (no GPS!), and discusses the computer vision software algorithms that he developed. He concludes the talk by discussing sensor fusion details and the challenges he had to overcome.
If you are relatively new to drones, curious about “what’s under the hood”, and only have time to watch one or two of these presentations, this technical and entertaining talk, along with Tridge’s keynote, may be the one for you.
“Open Source Drones on Linux”: Lorenz Meier, Slides, Video
In this presentation by drone pioneer and ETH researcher Lorenz Meier , the founder of the hardware and software open source PX4/Pixhawk flight controller platform presents a retrospective of the work he was involved with, and what’s ahead with the DroneCode foundation. Lorenz, who is also behind the Mavlink protocol and the Qgroundcontrol ground station software, starts out presenting the long history of Linux used in robotics and drones. He then discusses details of the PX4 platform and its software architecture, details current challenges and limitations, and provides information on the future of PX4. A great Q&A session follows, including further discussions on the second release of the Robot Operating System (ROS2) , the UAVCan protocol, wireless link security considerations, and DDS to augment the capabilities of Mavlink.
In this talk, software and Ardupilot developer Kevin Hester presents DroneAPI, the application development toolkit allowing programming of simple 'high level' drone operations (e.g. move the drone to this position, perform that task there, etc ...). He shows how easy it is to get started, setting up “live” the development kit on a Vagrant virtual machine environment. He then runs some programming examples featuring Ardupilot computer simulation (Software in the loop, or SITL) , discusses how they can be used further, and introduces the cloud-based app DroneKit.
Here the Extended Kalman Filter master and Ardupilot developer Paul Riseborough covers the EKF which he developed for Ardupilot based flight controllers. Paul discusses the limitations and challenges of off-the shelf gyroscopes and accelerometers needed to control drone stability, covers sensor fusion, and provides a clear high level overview of why the filter is needed and how it operates.
In this talk Clay McLure recounts his recent experience in the world of drones, where in just six months he built and flew his first drone and successfully developed onboard code for precision landing. In this wide ranging presentation Clay discusses the basics of ROS (Robot Operating System) and how he used it with Pixhawk via Mavlink and MAVROS. He then details the code that he developed and how it runs on a companion computer.
In this presentation Intel engineers Mark Brown and Joel Rosenzweig present their implementation of a hardware and software environment allowing for autonomous drone flight, on top of an existing manual (non-autonomous) flight controller treated as a “black box”. Starting with a DJI Naza running proprietary code, they use an Intel Edison running Linux and build a Node.JS web server to allow for setting waypoints over Google maps. The Edison is also connected to an additional GPS and IMU to control the Naza flight controller. This is implemented with the help of three Atmel A328 micro-controllers providing the “glue” between the Edison and the sensors. A Parralax P8X32A board then multiplexes serial commands from the Edison and RC inputs, and outputs PWM to the Naza. An impressive endeavor which was completed after hours in under eight weeks!
In this presentation US Air Force pilot Mark Jacobsen, founder of the crowd funded Syria Airlift Project, presents his project, which “seeks to use humanitarian drones to deliver life-saving aid to besieged and hard-to-access populations in Syria”. No doubt familiar to many readers of this forum, this great endeavor is a beautiful example illustrating how drones can be used for the greater good. If you find this project worthwhile please consider contributing to the Indigogo campaign!
Teaching More Fish to Fly, by John Hawley: Video
In this talk John Hawley , Open Hardware Evangelist at Intel, first discusses the rise of small drones from its DIY/Makers origins to the commercial world. He presents his use of the powerful Minnowboard Max as an auxiliary computer that can be used for vision processing, allowing features like collision avoidance. The Minnowboard is connected to the Pixhawk flight controller taking advantage of Pixhawk’s serial interface, similar to the way a Rasberry Pi or Odroid have been connected and used. John then discusses applications where auxiliary computers are used.
In this highly technical Linux talk Mark Charlebois of Qualcomm discusses porting the PX4 flight controller software to the Qualcom’s SnapDragon 600 hardware platform. Mark first introduces the SnapDragon board with its four Krait cores and Hexagon DSP and discusses the board’s overall hardware architecture. He then presents his approach and work porting the PX4 software environment from its native Nuttx real time operating system to Linux, running on the SnapDragon. If you are a Linux programmer new to the PX4 flight stack this talk is for you!
While not specific to drones, I also found the following enjoyable and informative:
I enjoyed watching this talk introducing the world of robotics in high school environments. Presenting the FIRST (For Inspiration and Recognition of Science and Technology) Robotics competitions, Michael Anderson introduces and details the RoboRIO Robotics controller, shows some example code, and shares his experience overseeing student teams.
A great retrospective by Laurent Pinchart of his 10 years of involvement with the Eurobot Robotics competitions occurring in Europe every year.
In this presentation David Anders of Intel reviews the history of open hardware tools used to debug hardware environments, from the humble multimeter in the beginning to logic analyzers and specialized boards necessary to debug today’s complex hardware platforms.