The AI part - terrytaylorbonn/auxdrone GitHub Wiki

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)

image

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.

1 Fly by wire (FC)

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.

image

2 Mission automation

Mission software (such as QGroundControl or Mission Planner) is used to create a flight plan that is uploaded to the FC.

image

3 Object detection / recognition

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).

image

4 Pilot assistance

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.

image

5 Autonomous drone control (by CC)

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.

image