-
Notifications
You must be signed in to change notification settings - Fork 0
The AI part
AI (object detect / recog) started out as the core focus of my ZiptieAI project (the drone was just the AI carrier). And it still is.
AI on a quadcopter typically runs on the
- FC (flight controller)
- CC (companion computer)
What is (small cheap drone) AI? **
- Performed by FC:
- 1 Fly by wire (similar to modern jets).
- 2 Mission automation
- Performed by CC:
- 3 Object detection / recognition
- 4 Pilot assistance (similar to driver assistance in modern cars).
- 5 Autonomous flight (the drone can fly a pre-determined flight or modify the flight plan in response to external events)
** In reality, all of the above (including object recog and AI in general) have nothing to do with real intelligence. I use the blanket term "AI" for the sake of simplicity.
Just as in a modern fighter jet, the quadcopter pilot does not control the flight control surfaces (the 4 rotors). Instead, the pilot inputs flight commands using an RC. The flight controller (Pixhawk 6c for example) performs all of the complex flight control.
Mission software (such as QGroundControl or Mission Planner) is used to create a flight plan that is uploaded to the FC.
The AI for this project focuses mainly on object detection and recognition. The CC (companion computer or mission computer)
- Receives input from the camera via ROS messages (or a direct connection to the camera without ROS).
- Runs an AI routine to detect or recognize object.
- Sends messages to the ground station or to the FC (to modify the flight plan).
Object detection could be used to alert a pilot of some detected object. This could be really useful when a pilot is flying in a complex environment. This is comparable to collision avoidance and driver alert in modern cars.
Modern AI algorithms running on cheap HW can sometimes do a better job of detection than humans.
An autonomous AI drone can
- Fly the drone (continue the mission or return home) if the connection with the operator is lost.
- React to unexpected situations. For example, in the pic below, at X something occurs (maybe a special object was recognized) that causes the CC to send commmands to the FC to
- (1) take special action then
- (2) return to launch.
2024.0705 Wiki, Gdrive, Youtube, ZiptieAI.com, ZiptieAI docs. The author is looking for a job!
- Why (you need) ZiptieAI
- Why (I created) ZiptieAI
- Wiki organization (6 epics)
- Blog (updated almost daily)
(0) Reference
EPIC 1 - Build/fly FPV drone
(1) FPV simulators (inav notes 0608)
- 2.0 Technical overviews
- 2.1 MVP (min viable platform)
- 2.2 GPS
- 2.3 Video
- 2.4 Carbon frame
- 2.5 Missions
- 2.6 Tuning (new)
- 2.7 Post-crash rebuild 24.0620
(3) SBeeF405/BF (1b)
(4) SBeeF405/AP (1c)
EPIC 2 - Build/fly Pixhawk drone
(5) Pix6c/PX4 (2a)
(6) Pix6c/AP (2b)
EPIC 3 - Add AI to Pixhawk drone
(7) AI cc + cam
(8a) AI Nano PX4
(8b) AI Nano AP
(8c) AI PI PX4
(8d) AI PI AP
EPIC 4 – Advanced AI
- 9.0 SIH NANO/PX4 24.0703 (WORKS!)
(11) FC FW Mavlink API (via CC/GCS APIs) (5.3)
EPIC 5 – Advanced platforms
(14) Firmware dev (5)
(16) Special projects (5.6,5.5)
EPIC 6 – PITS (Pie in the sky)
(10) (skip) SITL (total sim) (1) (was E4)
- 10.1 SITL AP Core (SITL, Gaz, ROS)
- 10.2 SITL AP C++ mission as ROS node
- 10.3 SITL AP AI Yolo obj recog
- 10.4 SITL AP Lidar obj avoid
- 10.5 SITL AP Drone swarm
- 10.6 SITL AP Flight planners
- 10.7 SITL PX4 Core (SITL, Gaz, ROS)
(14b) Matlab (was E5/4(HITL))
(12) ROS (+ROSMAV) (was E4)