PX4 Offboard Control & ROS 2 Drone Development
Your airframe, your data Not a generic training rig.
-
Participants can interact with the instructor,
ask questions, seek clarification,
and receive immediate feedback. -
Access to the session that was originally
conducted in real time. -
Cuts future costs by acting as a permanent, searchable database to onboard new hires for free.
-
We will provide you with the notes for the course.
-
Engineers get direct access to the instructor
for ongoing implementation support and Q&A.
Engineered for Your Team. Calibrated to Your Codebase.
Customized to Your Team
Unlike generic public courses, our corporate training can be tailored to your company’s technology stack, workflows, skill gaps, and business objectives.
Autonomous Drone Programming - on your airframe, with your flight data
By the end of day three, every participant has written a Python mission script, run it in simulation, run it against your own aircraft with props off, and read the log it produced.
Most drone and robotics teams reach the same wall at the same point. The aircraft flies. Someone has a script that arms it and flies a mission. It works on one laptop, it is understood by one person, and nobody can say with confidence what happens if that script stops mid-flight. When something goes wrong in the air, the investigation is a conversation rather than an analysis, because nobody on the team can read the flight log at the level the log actually supports.
That wall is expensive in three specific ways. Autonomy work stays bottlenecked on one or two individuals. Integration bugs surface at the field site instead of in a test suite. And incidents cost days of guesswork that a scripted log analysis would have resolved in an hour.
This intensive removes that wall in three days, using your hardware and your data rather than a generic training rig. Participants do not watch a demonstration. They build the software, they break it deliberately on your bench, and they leave with a tested, packaged version of it in your repository.
Key Business Outcomes & ROI
Autonomy stops being one person's job. More than one engineer can safely write, review and modify flight software — which removes the single point of failure that most autonomy teams are quietly carrying.
Failure behavior becomes known rather than assumed. Failure modes are tested on a bench with props off, on a schedule, rather than discovered in the air. The predicted-versus-actual table stays with your team as a reusable test artifact.
Incident investigation becomes evidence-based. Your team can query a hundred flights for a pattern instead of opening one log in a viewer, which turns a multi-day guessing exercise into an hour of analysis.
Prototype code becomes maintainable software. Configuration externalized, mission logic testable without a vehicle, dependencies pinned, tests running in continuous integration.
You get an honest external read. A one-page written review of your stack — what you have, what is missing, what to fix first, and what to avoid for now.
Core Training Objectives
The program is built on one premise: engineers acquire this capability by doing it on real hardware under supervision, not by watching it done. Every session ends in something the participant built and can demonstrate.
Teams learn to command an aircraft from Python correctly — driven by live telemetry rather than fixed sleeps, which is the difference between a script that works once and one that works every time. They learn the authority boundary in offboard control, and what the vehicle actually does when a setpoint stream slows or stops. They induce five real failure modes on their own aircraft and write down what happened. They refactor two days of working, unmaintainable code into a tested package running in CI — taught deliberately late, after participants can feel the problem themselves. They cross into ROS 2 and uXRCE-DDS, including the DDS discovery failure that onboard radios and corporate networks reliably produce, demonstrated as a failure first and then fixed. And they spend the highest-value three hours of the workshop reading their own flight data as evidence.
Skills You Will Walk Away With
-
1
Commanding an aircraft from Python, correctly
- Connecting to a vehicle with MAVSDK-Python and working with its asynchronous model
- Arming, taking off, navigating waypoints and landing - driven by live telemetry rather than fixed sleeps
- Reading MAVLink: message anatomy, stream rates, request patterns, heartbeats, and how to read a pre-arm rejection instead of guessing at it
- Knowing what each flight mode actually asserts about who holds control of the aircraft
-
2
Offboard control and the authority boundary
- Entry and exit conditions for OFFBOARD PX4, and exactly who holds authority at each moment
- Setpoint streaming rates, and what the vehicle does when the stream slows or stops
- Choosing between position, velocity and attitude setpoints for the job at hand
- Measuring control-loop latency rather than estimating it
-
3
Failsafe behavior, tested on your own aircraft
- A five-rung failure ladder: clean script exit, killed process, disconnected serial cable, companion computer power loss, and the case most teams have never tested — a companion computer that is alive but wedged, presenting a healthy link, a live process and frozen setpoints
- A written table of predicted versus actual behavior that stays with your team as a test artifact
-
4
Turning prototype scripts into maintainable software
- Externalizing configuration - no more hardcoded coordinates
- Separating mission logic from transport so the logic can be tested without a vehicle
- Writing tests that run headlessly against simulation
- Packaging with pinned dependencies so a colleague clones the repository, runs one command, and the tests pass on their machine
- Running it in CI - the moment the discipline becomes real rather than aspirational
-
5
ROS 2 alongside PX4, including the parts that break in the field
- Nodes, topics and services, compared honestly against the MAVLink model participants now understand
- Bringing PX4 topics into ROS 2 over uXRCE-DDS and writing subscribers against real vehicle state
- Why default DDS discovery depends on UDP multicast, and why onboard radios and corporate networks routinely will not carry it — demonstrated as a failure first, then fixed with a Discovery Server
- Large-data transport for video and point clouds, and socket buffer sizing whose defaults assume a desktop LAN
-
6
Reading flight data as evidence
- ULog structure, logging rates, and what you are silently missing
- Programmatic access with pyulog - the capability that makes your team true professionals
- Interactive investigation in PlotJuggler, with saved layouts your team reuses
- EKF innovations, estimator resets, vibration, mode transitions and the timing
- Scripting a metric across your entire log archive to find patterns
Questions? Check here
Yes. All live sessions are recorded and the archive is yours permanently, which means the material becomes an internal onboarding resource for future hires at no additional cost.
Absolutely. If you provide us with non-proprietary or sanitized project examples, we will design custom practical exercises around your team’s exact day-to-day engineering needs.
Yes. Your engineers receive dedicated Slack access to the instructor for continuous Q&A and troubleshooting during their real-world implementation phase.
Absolutely. In fact, we prefer that your team meets the instructor in advance to discuss the curriculum topics, preview sample materials, and ensure a perfect technical alignment.
The technical spine — flight controller architecture, the ROS 2 boundary, failure handling, log forensics — transfers. The specific exercises are rebuilt around what you actually run. We do the same for ArduPilot-based and hybrid stacks.
Yes. All live engineering sessions are fully recorded. Your team receives permanent access to these archives, transforming the training into an evergreen internal knowledge base to easily onboard future hires at zero extra cost.
Teams need a solid Linux foundation and intermediate Python proficiency to maximize the hands-on middleware modules. If your team lacks Python experience, we offer a dedicated pre-training boot camp to build their skills from scratch.
Yes. All live sessions are recorded and the archive is yours permanently, which means the material becomes an internal onboarding resource for future hires at no additional cost.
Absolutely. If you provide us with non-proprietary or sanitized project examples, we will design custom practical exercises around your team’s exact day-to-day engineering needs.
Yes. Your engineers receive dedicated Slack access to the instructor for continuous Q&A and troubleshooting during their real-world implementation phase.
Absolutely. In fact, we prefer that your team meets the instructor in advance to discuss the curriculum topics, preview sample materials, and ensure a perfect technical alignment.
The technical spine — flight controller architecture, the ROS 2 boundary, failure handling, log forensics — transfers. The specific exercises are rebuilt around what you actually run. We do the same for ArduPilot-based and hybrid stacks.
Yes. All live engineering sessions are fully recorded. Your team receives permanent access to these archives, transforming the training into an evergreen internal knowledge base to easily onboard future hires at zero extra cost.
Teams need a solid Linux foundation and intermediate Python proficiency to maximize the hands-on middleware modules. If your team lacks Python experience, we offer a dedicated pre-training boot camp to build their skills from scratch.
Yes. Your engineers receive dedicated Slack access to the instructor for continuous Q&A and troubleshooting during their real-world implementation phase.
Absolutely. In fact, we prefer that your team meets the instructor in advance to discuss the curriculum topics, preview sample materials, and ensure a perfect technical alignment.
The technical spine — flight controller architecture, the ROS 2 boundary, failure handling, log forensics — transfers. The specific exercises are rebuilt around what you actually run. We do the same for ArduPilot-based and hybrid stacks.
Yes. All live engineering sessions are fully recorded. Your team receives permanent access to these archives, transforming the training into an evergreen internal knowledge base to easily onboard future hires at zero extra cost.
Teams need a solid Linux foundation and intermediate Python proficiency to maximize the hands-on middleware modules. If your team lacks Python experience, we offer a dedicated pre-training boot camp to build their skills from scratch.
The technical spine — flight controller architecture, the ROS 2 boundary, failure handling, log forensics — transfers. The specific exercises are rebuilt around what you actually run. We do the same for ArduPilot-based and hybrid stacks.
Yes. All live engineering sessions are fully recorded. Your team receives permanent access to these archives, transforming the training into an evergreen internal knowledge base to easily onboard future hires at zero extra cost.
Teams need a solid Linux foundation and intermediate Python proficiency to maximize the hands-on middleware modules. If your team lacks Python experience, we offer a dedicated pre-training boot camp to build their skills from scratch.
Teams need a solid Linux foundation and intermediate Python proficiency to maximize the hands-on middleware modules. If your team lacks Python experience, we offer a dedicated pre-training boot camp to build their skills from scratch.