Drones Still Going Open Source Julien BERAUD October 12th 2016 - Embedded Linux Conference Europe Berlin Drones Still Going Open Source 1 / 31
Introduction ArduPilot on Parrot Bebop 2 Parrot Disco and C.H.U.C.K Software Architecture for Video Video implementation with ArduPilot Building code for Parrot Disco What’s left to do ? Parrot SLAM.dunk Conclusion Drones Still Going Open Source 2 / 31
Introduction Introduction Drones Still Going Open Source 3 / 31
Drones Still Going Open Source Parrot Bebop 2 4 / 31 ▶ 500g ▶ Parrot P7 SoC (dual Cortex A9) ▶ IMU, Barometer, Compass, Vertical Camera, Sonar, GPS ▶ Linux kernel 3.4 (no mainline support) ▶ Front camera with fjsh-eye lens
Drones Still Going Open Source Parrot Bebop 2 4 / 31 ▶ 500g ▶ Parrot P7 SoC (dual Cortex A9) ▶ IMU, Barometer, Compass, Vertical Camera, Sonar, GPS ▶ Linux kernel 3.4 (no mainline support) ▶ Front camera with fjsh-eye lens
Drones Still Going Open Source Parrot Bebop 2 4 / 31 ▶ 500g ▶ Parrot P7 SoC (dual Cortex A9) ▶ IMU, Barometer, Compass, Vertical Camera, Sonar, GPS ▶ Linux kernel 3.4 (no mainline support) ▶ Front camera with fjsh-eye lens
Drones Still Going Open Source Parrot Bebop 2 4 / 31 ▶ 500g ▶ Parrot P7 SoC (dual Cortex A9) ▶ IMU, Barometer, Compass, Vertical Camera, Sonar, GPS ▶ Linux kernel 3.4 (no mainline support) ▶ Front camera with fjsh-eye lens
Drones Still Going Open Source Parrot Bebop 2 4 / 31 ▶ 500g ▶ Parrot P7 SoC (dual Cortex A9) ▶ IMU, Barometer, Compass, Vertical Camera, Sonar, GPS ▶ Linux kernel 3.4 (no mainline support) ▶ Front camera with fjsh-eye lens
ArduPilot on Parrot Bebop 2 ArduPilot on Parrot Bebop 2 Drones Still Going Open Source 5 / 31
Hardware architecture Drones Still Going Open Source 6 / 31
Ardupilot Ardupilot Drones Still Going Open Source 7 / 31
Ardupilot (APM) Drones Still Going Open Source 8 / 31 ▶ Open Source - GPLv3 ▶ Originally developed to run on an Arduino ▶ C++ ▶ Some linux boards already supported before Bebop
Ardupilot (APM) Drones Still Going Open Source 8 / 31 ▶ Open Source - GPLv3 ▶ Originally developed to run on an Arduino ▶ C++ ▶ Some linux boards already supported before Bebop
Ardupilot (APM) Drones Still Going Open Source 8 / 31 ▶ Open Source - GPLv3 ▶ Originally developed to run on an Arduino ▶ C++ ▶ Some linux boards already supported before Bebop
Ardupilot (APM) Drones Still Going Open Source 8 / 31 ▶ Open Source - GPLv3 ▶ Originally developed to run on an Arduino ▶ C++ ▶ Some linux boards already supported before Bebop
Software architecture ArduRover) platform-specifjc methods etc... Drones Still Going Open Source 9 / 31 ▶ Vehicle specifjc fmight code (ArduCopter, ArduPlane, ▶ Shared libraries that include sensor drivers ▶ Hardware Abstraction Layer providing access to ▶ AP_HAL_Linux giving access to spidev, i2c-dev, uart drivers,
Software architecture ArduRover) platform-specifjc methods etc... Drones Still Going Open Source 9 / 31 ▶ Vehicle specifjc fmight code (ArduCopter, ArduPlane, ▶ Shared libraries that include sensor drivers ▶ Hardware Abstraction Layer providing access to ▶ AP_HAL_Linux giving access to spidev, i2c-dev, uart drivers,
Software architecture ArduRover) platform-specifjc methods etc... Drones Still Going Open Source 9 / 31 ▶ Vehicle specifjc fmight code (ArduCopter, ArduPlane, ▶ Shared libraries that include sensor drivers ▶ Hardware Abstraction Layer providing access to ▶ AP_HAL_Linux giving access to spidev, i2c-dev, uart drivers,
Software architecture ArduRover) platform-specifjc methods etc... Drones Still Going Open Source 9 / 31 ▶ Vehicle specifjc fmight code (ArduCopter, ArduPlane, ▶ Shared libraries that include sensor drivers ▶ Hardware Abstraction Layer providing access to ▶ AP_HAL_Linux giving access to spidev, i2c-dev, uart drivers,
Flying https://www.youtube.com/watch?v=HJN_gT1eNDk https://www.youtube.com/watch?v=ZnEFcJx1qko Thanks to Randy Mackay (Copter Maintainer) Drones Still Going Open Source 10 / 31
Parrot Disco and C.H.U.C.K Parrot Disco and C.H.U.C.K Drones Still Going Open Source 11 / 31
Parrot Disco vehicle Drones Still Going Open Source 12 / 31 ▶ Fixed Wing ▶ Architecture close to the Bebop’s ▶ Built so its main board (C.H.U.C.K) can be used on another
Parrot Disco vehicle Drones Still Going Open Source 12 / 31 ▶ Fixed Wing ▶ Architecture close to the Bebop’s ▶ Built so its main board (C.H.U.C.K) can be used on another
Parrot Disco vehicle Drones Still Going Open Source 12 / 31 ▶ Fixed Wing ▶ Architecture close to the Bebop’s ▶ Built so its main board (C.H.U.C.K) can be used on another
C.H.U.C.K Drones Still Going Open Source 13 / 31 ▶ Targetting hobbyists, Research and Education ▶ ArduPlane seemed like a perfect candidate ▶ Porting made easier by previous Bebop porting ▶ Expert in that area in the person of Tridge
C.H.U.C.K Drones Still Going Open Source 13 / 31 ▶ Targetting hobbyists, Research and Education ▶ ArduPlane seemed like a perfect candidate ▶ Porting made easier by previous Bebop porting ▶ Expert in that area in the person of Tridge
C.H.U.C.K Drones Still Going Open Source 13 / 31 ▶ Targetting hobbyists, Research and Education ▶ ArduPlane seemed like a perfect candidate ▶ Porting made easier by previous Bebop porting ▶ Expert in that area in the person of Tridge
C.H.U.C.K Drones Still Going Open Source 13 / 31 ▶ Targetting hobbyists, Research and Education ▶ ArduPlane seemed like a perfect candidate ▶ Porting made easier by previous Bebop porting ▶ Expert in that area in the person of Tridge
http: Difgerences with Bebop 2 //ardupilot.org/plane/docs/airframe-disco.html Drones Still Going Open Source 14 / 31 ▶ MS415DO Airspeed sensor ▶ RC input over UART ▶ ESC difgerences ▶ Compass calibration issues ▶ Wiki for users
http: Difgerences with Bebop 2 //ardupilot.org/plane/docs/airframe-disco.html Drones Still Going Open Source 14 / 31 ▶ MS415DO Airspeed sensor ▶ RC input over UART ▶ ESC difgerences ▶ Compass calibration issues ▶ Wiki for users
http: Difgerences with Bebop 2 //ardupilot.org/plane/docs/airframe-disco.html Drones Still Going Open Source 14 / 31 ▶ MS415DO Airspeed sensor ▶ RC input over UART ▶ ESC difgerences ▶ Compass calibration issues ▶ Wiki for users
http: Difgerences with Bebop 2 //ardupilot.org/plane/docs/airframe-disco.html Drones Still Going Open Source 14 / 31 ▶ MS415DO Airspeed sensor ▶ RC input over UART ▶ ESC difgerences ▶ Compass calibration issues ▶ Wiki for users
http: Difgerences with Bebop 2 //ardupilot.org/plane/docs/airframe-disco.html Drones Still Going Open Source 14 / 31 ▶ MS415DO Airspeed sensor ▶ RC input over UART ▶ ESC difgerences ▶ Compass calibration issues ▶ Wiki for users
Missing features What’s missing ? Video Drones Still Going Open Source 15 / 31
Missing features What’s missing ? Video Drones Still Going Open Source 15 / 31
Software Architecture for Video Software Architecture for Video Drones Still Going Open Source 16 / 31
Drones Still Going Open Source DragonProg 17 / 31 ▶ We came from a world of RTOS ▶ 1 big process ▶ Lots of threads and priorities ▶ Little reusability and high maintenance overhead ▶ Switch to a new architecture based on several processes
Drones Still Going Open Source DragonProg 17 / 31 ▶ We came from a world of RTOS ▶ 1 big process ▶ Lots of threads and priorities ▶ Little reusability and high maintenance overhead ▶ Switch to a new architecture based on several processes
Drones Still Going Open Source DragonProg 17 / 31 ▶ We came from a world of RTOS ▶ 1 big process ▶ Lots of threads and priorities ▶ Little reusability and high maintenance overhead ▶ Switch to a new architecture based on several processes
Drones Still Going Open Source DragonProg 17 / 31 ▶ We came from a world of RTOS ▶ 1 big process ▶ Lots of threads and priorities ▶ Little reusability and high maintenance overhead ▶ Switch to a new architecture based on several processes
Drones Still Going Open Source DragonProg 17 / 31 ▶ We came from a world of RTOS ▶ 1 big process ▶ Lots of threads and priorities ▶ Little reusability and high maintenance overhead ▶ Switch to a new architecture based on several processes
Drones Still Going Open Source Dragonfmy 18 / 31 ▶ Processes are now split ▶ 3 main processes ▶ IPC to exchange data at high rate ▶ One process in charge of video : Parrot IMaging Process ▶ Use of libshdata/libtelemetry to export/import data
Drones Still Going Open Source Dragonfmy 18 / 31 ▶ Processes are now split ▶ 3 main processes ▶ IPC to exchange data at high rate ▶ One process in charge of video : Parrot IMaging Process ▶ Use of libshdata/libtelemetry to export/import data
Drones Still Going Open Source Dragonfmy 18 / 31 ▶ Processes are now split ▶ 3 main processes ▶ IPC to exchange data at high rate ▶ One process in charge of video : Parrot IMaging Process ▶ Use of libshdata/libtelemetry to export/import data
Recommend
More recommend