DimDrone20: how I made a flying platform for computer vision research

Since 2017, I have been doing different computer visions: from clear detections and classifications to lip reading .





And after a series of accidents, I find myself the only Computer Vision engineer in a startup that makes unmanned helicopters. For this reason, I decide to break in from my computer vision legs and do some pet project related to drones.





The plan is as follows: I will simply assemble a quadric with a camera, an autopilot and some edge piece of iron (drive neurons and other CVs), and I will get plus or minus a universal flying platform. For example, like this one , but more flexible and cheaper. And there are a lot of interesting applications: from detecting a person and following him, to controlling a quadrocopter using Reinforcement Learning .





This is how my journey of 8 months began: from the idea and ordering the first components on aliexpress to the full use of the onboard visual odometry by the quadcopter and flying along it.





In the first part of the article (after a couple of paragraphs!) I will tell and show what components I used to assemble a quadrocopter for this task, what I was guided by when choosing and what to take into account to make it fly.





( !) , , GPS, visual SLAM.






,

450 ( 450).





, . , 250- , .. , .





. : . - . , tradeoff \.





,

-, . , , ¯\_(ツ)_/¯





( AliExpress) . 700KV (← ; , KV ). KV.





,

( ), , , , ( ).





: , , 10 . 10, , , , .





ESC. DShotXXX ( XXX, )





, software , ESC ( ArduPilot PX4, )





,

( — XXYY): ( ). . ? . .





, , : - .





, . 1145.





, . , , . - , - :)





( ): 1) ( ) 2) .





,

( "") .





: . , , . 4S Li-Po , 5000 mAh. . , ( ) 20 .





,

(\) . .. . , . ( ) FrSky (Taranis X10 lite FrSky R-XSR). , , \.





"" RadioMaster. , FrSky , .





,

software stack (state estimation, , ), hardware ( software stack ).





Hardware , ( IMU, , ).





( + GPS, , ), , .





- . .. - . open-source , ( ): ArduPilot PX4.





ardupilot ( , ) 2020- hardware - pixhawk 4 mini.





, companion computer

, . companion computer , , - path planning, external navigation, + task specific .





: Intel Movidius, Google Coral, Jetson . Raspberry c .. , "" .





Jetson-e Nano ( ) (TensorRT), GPU .. - CUDA ( CUDA, , ?), SLAM .





,

Intel RealSense D435, , RGB . Raspberry Pi c MIPI .. 3D , - , .





, , , rolling shutter .. , .





, !





, (, ) !





, , :





  1. Getting Started. . , .





  2. , companion computer . , .





  3. , , . , , ( , ESC).





  4. , .





  5. , ( ⇒ ).





  6. Loctite ( ), ( , ). - .





  7. ( ), , .





  8. ( GPS), .





  9. . : , . LiPo 4.2v. , "" , ( 3.5-3.6v)





, ?

, : .





- . (), .





The result is a drone on which it is very boring to fly in manual mode, and if it does fly, then only on the street, it is large for indoor use. But DimDrone will serve as an excellent platform for testing and researching different computer vision algorithms.








All Articles