Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32...
Transcript of Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32...
![Page 1: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/1.jpg)
Innovative Drone Research:
Bridging the Gap between
Hardware and Simulation
Simon D. Levy
Washington & Lee University
Israel Robotics Conference
9 August 2019
![Page 2: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/2.jpg)
Part I: Hardware
![Page 3: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/3.jpg)
Part I: Hardware
Firmware
![Page 4: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/4.jpg)
Principle #1:
What I Cannot Build, I Do Not
Understand
R. Feynman (1918-1988)
![Page 5: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/5.jpg)
ArduPilot: ~2,000,000 lines of code*
Cleanflight: ~850,000
Keep It Simple, Stupid!
**
view-source:https://dojofordrones.com/
![Page 6: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/6.jpg)
Principle #2:
Cost Control
$200 $15
![Page 7: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/7.jpg)
Principle #3:
Bottom-Up / OOP Design
https://github.com/simondlevy/Hackflight/blob/master/examples/Ladybug/DSMX/DSMX.ino
![Page 8: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/8.jpg)
https://github.com/cleanflight/cleanflight/blob/master/src/main/flight/mixer.
c
![Page 9: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/9.jpg)
Principle #4:
Cross-Platform Component
Reusability
![Page 10: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/10.jpg)
Github or GTFO!
![Page 11: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/11.jpg)
Principle #5:Separate the Drivers from the Algorithms
https://github.com/simondlevy/Hackflight/blob/master/src/board.hpp
![Page 12: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/12.jpg)
https://github.com/bitcraze/crazyflie-firmware/blob/master/src/modules/src/kalman_core.c
![Page 13: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/13.jpg)
https://online.husson.edu/software-development-cycle/
Principle #6:
It Always Has to Fly
![Page 14: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/14.jpg)
https://online.husson.edu/software-development-cycle/
Principle #6:
It Always Has to Fly
![Page 15: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/15.jpg)
STEAL TEST COMMIT
SIMPLIFY
![Page 16: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/16.jpg)
Part II: Simulation
![Page 17: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/17.jpg)
2016
STM32 drivers
![Page 18: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/18.jpg)
![Page 19: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/19.jpg)
2018
UnrealEngine4Arduino drivers Firmware
![Page 20: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/20.jpg)
Part III: Current Work
![Page 21: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/21.jpg)
![Page 23: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/23.jpg)
![Page 24: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/24.jpg)
![Page 25: Innovative Drone Research: Bridging the Gap between ...K[KC STATE DIM]; arm matrix instance f 32 *Hm, float error, float stdMeasN0ïse) 1, (float KC STATE DIM, KC STATE DIM, KC STATE](https://reader035.fdocuments.in/reader035/viewer/2022071112/5fe8611758ad3761a9466176/html5/thumbnails/25.jpg)
The only thing more dangerous than
a computer scientist with a soldering
iron is an electrical engineer with a
compiler.
─ Anonymous
Final Thoughts