| Component | Implemented | Validated in this repository |
|---|---|---|
| ENU↔NED vector conversion | Yes | Unit-tested |
| FLU↔FRD attitude conversion | Yes | Unit-tested round trip |
| Yaw convention conversion | Yes | Unit-tested known values |
| ROS 2 offboard publisher | Yes | Import boundary only |
| PX4 SIH container definition | Yes | Configuration not launched locally |
| PX4 SITL closed loop | No evidence yet | No |
| HIL | No evidence yet | No |
| Flight | No evidence yet | No |
ATLAS uses ENU world and FLU body frames. PX4 uses NED world and FRD body frames. All
conversion code is centralized in atlas_controls.integrations.px4_frames; controller
code must not perform ad hoc axis swaps.
The compose file pins px4io/px4-sitl:v1.17.0:
docker compose -f deploy/px4/compose.yaml upExposed UDP ports support QGroundControl, MAVSDK/offboard, uXRCE-DDS, and the SIH display. Confirm the image digest and PX4 release before any formal experiment.
PX4's official documentation distinguishes SITL and HITL and provides prebuilt SIH containers. ATLAS has not yet reproduced a complete launch in CI.
create_offboard_node() requires rclpy and px4_msgs. It publishes:
OffboardControlMode;TrajectorySetpoint;VehicleCommand.
The node streams setpoints before requesting offboard mode and arming. Message fields
and topic compatibility must be tested against a pinned PX4 and px4_msgs pair.
- Pin PX4 firmware,
px4_msgs, ROS 2 distribution, DDS agent, and container digest. - Verify ENU/NED and FLU/FRD transformations with recorded known poses.
- Confirm timestamps, QoS, failsafe behavior, and command timeouts.
- Demonstrate disarmed SITL setpoint streaming.
- Demonstrate SITL offboard loss and recovery.
- Enforce geofence, thrust, attitude, rate, and altitude limits independently in PX4.
- Run HIL without propellers and verify actuator ordering.
- Review logs and failure cases before attaching propellers.
- Use a controlled test area, trained operators, and a physical kill mechanism.
Software tests in this repository do not authorize or establish safe flight.