Further Reading
View SourceCurated references for the ideas behind ex_drone: platforms and adapters, safety, geometry, mission planning, and multi-drone formations. Prefer the in-repo guides for how this library works; use the external sources for background and next steps.
In this repository
Guides
| Guide | Topic |
|---|---|
| Getting Started | Install, first simulator flight, Tello connect |
| Safety | Policies, geofencing, allowlists, emergency |
| Simulator | In-process adapter, battery, failure injection, initial pose |
| Tello | DJI Tello / Tello EDU UDP adapter |
| Crazyflie | Crazyflie 2.x via Crazyradio / mock transport |
| Swarms | Drone.Swarm membership, fan-out, fail-fast |
| Formations | Geometric formation catalog and planners |
| Architecture | Modules, supervision tree, design rationale |
| Adapter Authoring | Implementing Drone.Adapter |
Design notes
| Document | Topic |
|---|---|
| Adapter Contract | Behaviour expectations for adapters |
| Safety Pipeline | Validation stages and policy model |
| Telemetry Events | Vehicle and swarm :telemetry events |
| v0.2.0 Deferred Work | Intentionally postponed swarm features |
| v0.3.0 Deferred Work | Intentionally postponed Crazyflie / adapter items |
Research notes
| Document | Topic |
|---|---|
| Tello SDK | Command set and protocol notes |
| BEAM UDP | UDP on the BEAM for drone links |
| Safety Model | Why safety sits on each vehicle |
| Simulator Design | Deterministic sim for tests and teaching |
| Swarm Coordination | OTP coordinator model and formation scope |
Platforms and adapters
ex_drone talks to vehicles through the Drone.Adapter behaviour. v0.3.0
ships an in-process simulator, a DJI Tello UDP adapter, and a Crazyflie
adapter (Crazyradio with pluggable USB backend, plus mock:// for CI).
- DJI Tello SDK 2.0 User Guide (PDF) - official command and response reference for Tello / Tello EDU
- Ryze Tello product page - hardware overview and EDU variants
- Bitcraze Crazyflie documentation - research quadrotor platform
- CRTP specification - Crazyflie packet protocol
- Crazyradio USB protocol - radio dongle framing
- MAVLink protocol - common message set used by many autopilots (planned adapter)
- ArduPilot documentation - autopilot stack often paired with MAVLink
- PX4 User Guide - autopilot stack often paired with MAVLink
- Nerves Project - Elixir on embedded devices (roadmap: on-drone or companion hosting)
In-repo: Tello guide, Crazyflie guide, Adapter authoring, Adapter contract, Tello SDK research, BEAM UDP research.
Safety
ex_drone validates every command in a pure safety pipeline before it reaches an adapter. Emergency stop bypasses normal checks on purpose.
- Leveson, N. G. Engineering a Safer World: Systems Thinking Applied to Safety. MIT Press, 2011.
- ISO 12100:2010 - Safety of machinery, general principles for design and risk assessment
- ASTM F38 committee materials on unmanned aircraft systems standards (overview via ASTM)
- FAA / local aviation authority recreational and educational UAS rules for your region
In-repo: Safety guide, Safety pipeline, Safety model research.
Geometry and frames
Sim and vehicle math share one heading convention: yaw 0 faces +Y,
with forward/right deltas from that frame.
- Craig, J. J. Introduction to Robotics: Mechanics and Control. Pearson.
- LaValle, S. M. Planning Algorithms. Cambridge University Press, 2006. Free online: http://lavalle.pl/planning/
- Standard references on rotation conventions and body vs world frames in mobile robotics textbooks
In-repo: architecture notes on shared geometry helpers, Simulator guide, Simulator design.
Missions and planners
Missions are ordered command scripts. Formations are one-shot geometric planners that emit per-drone missions; they are not closed-loop controllers.
- LaValle, S. M. Planning Algorithms (motion planning survey and methods)
- Choset, H. et al. Principles of Robot Motion. MIT Press.
- Mission / waypoint patterns in ArduPilot and PX4 documentation (external platforms)
In-repo: Formations, Getting started,
mission usage in the Drone and Drone.Mission module docs.
Swarming, formations, and strategies
v0.2.0 ships geometric formations with plan-time separation only. Continuous flocking (Separate / Align / Cohere), live collision avoidance, and alternate failure policies are catalogued as deferred work.
- Reynolds, C. W. "Flocks, Herds, and Schools: A Distributed Behavioral Model." Computer Graphics (SIGGRAPH), 1987. Classic boids rules.
- Balch, T., and Arkin, R. C. "Behavior-based formation control for multirobot teams." IEEE Transactions on Robotics and Automation, 14(6), 1998.
- Ren, W., and Beard, R. W. Distributed Consensus in Multi-vehicle Cooperative Control. Springer, 2008.
- Brambilla, M., Ferrante, E., Birattari, M., and Dorigo, M. "Swarm robotics: a review from the swarm engineering perspective." Swarm Intelligence, 7, 2013.
- Şahin, E. "Swarm robotics: From sources of inspiration to domains of application." In Swarm Robotics, Springer LNCS, 2005.
- Oh, K.-K., Park, M.-C., and Ahn, H.-S. "A survey of multi-agent formation control." Automatica, 53, 2015.
In-repo: Swarms, Formations, Swarm coordination research, Deferred swarm work.
Tello and classroom hardware
- DJI Tello SDK 2.0 User Guide (PDF)
- Ryze Robotics Tello
- Tello EDU station mode helps multi-drone Wi-Fi connectivity; it does not by itself provide a shared global pose suitable for absolute choreography
In-repo: Tello guide, Tello SDK research, hardware caveats in Swarms.
BEAM, OTP, and telemetry
ex_drone uses one GenServer per vehicle, registries for naming, dynamic
supervisors for membership, and the standard Elixir :telemetry library.
- OTP Design Principles
- Elixir GenServer
- Registry
- DynamicSupervisor
- telemetry
- Armstrong, J. Programming Erlang. Pragmatic Bookshelf.
- Cesarini, F., and Vinoski, S. Designing for Scalability with Erlang/OTP. O'Reilly.
In-repo: Architecture, Telemetry events, BEAM UDP research.
Related platforms (roadmap context)
Crazyflie single-drone support ships in v0.3.0. The links below remain useful for classroom comparisons and for adapters that are still on the roadmap (MAVLink, companion-computer hosting, …).
Deferred Crazyflie / adapter items: v0.3.0 Deferred Work.