Branch: ros2 | Commit: 9cf1089 | Setup: Fresh Docker image rebuilt from .devcontainer/humble/Dockerfile, VSCode devcontainer, Ubuntu, no GPU (AMD)
Could you help me in resolving this
What I did
Terminal 1 — Build and launch PX4 + Gazebo:
cd ~/ros2_ws
cp -r /workspaces/rtabmap_drone_example src/
colcon build --symlink-install
source install/setup.bash
cd ~/PX4-Autopilot
make px4_sitl gz_x500_depth_apt
Terminal 2 — XRCE DDS Agent:
docker exec -it drone_sim bash
MicroXRCEAgent udp4 -p 8888
Terminal 3 — ROS2 bridge:
docker exec -it drone_sim bash
source ~/ros2_ws/install/setup.bash
ros2 launch rtabmap_drone_example ros2_bridge.launch.py
Terminal 4 — Offboard control (after Terminal 1 says Ready for takeoff!):
docker exec -it drone_sim bash
source ~/ros2_ws/install/setup.bash
ros2 run rtabmap_drone_example offboard_control --ros-args -p use_sim_time:=true
What Happens
Terminal 1 — PX4 output (every attempt):
WARN [health_and_arming_checks] Preflight Fail: No valid data from Baro 0
WARN [health_and_arming_checks] Preflight Fail: ekf2 missing data
WARN [health_and_arming_checks] Preflight Fail: High Gyro Bias
WARN [health_and_arming_checks] Preflight Fail: heading estimate not stable
WARN [timesync] time jump detected. Resetting time synchroniser.
WARN [uxrce_dds_client] time sync no longer converged
INFO [uxrce_dds_client] time sync converged
INFO [commander] Ready for takeoff!
INFO [commander] Armed by external command
WARN [mc_pos_control] invalid setpoints
WARN [mc_pos_control] Failsafe: blind land
WARN [failsafe] Failsafe activated
ERROR [flight_mode_manager] Matching flight task was not able to run, Nav state: 2, Task: 1
INFO [commander] Landing detected
INFO [commander] Disarmed by landing
Terminal 4 — offboard_control output:
Offboard could not be set, make sure the vehicle position is published
or check if there are some preflight checks failing... will try again in 1 second.
Offboard could not be set, make sure the vehicle position is published
or check if there are some preflight checks failing... will try again in 1 second.
Diagnostic Output
ros2 topic list | grep vehicle_local_position
/fmu/out/vehicle_local_position
Topic is correct, not _v1. The 9cf1089 rename fix is present. This is not a topic name issue.
ros2 topic echo /fmu/out/vehicle_local_position --once
xy_valid: true
z_valid: true
dead_reckoning: true
xy_global: false
z_global: false
heading_var: 0.014
heading_good_for_control: true
dead_reckoning: true means EKF2 is running on IMU only — vision is never fused. heading_var never stabilizes below 0.01.
ros2 topic echo /fmu/out/vehicle_status_v1 --once
arming_state: 1
pre_flight_checks_pass: false
nav_state: 14
gcs_connection_lost: true
ros2 node info /offboard_control
Subscribers:
/fmu/out/vehicle_local_position: px4_msgs/msg/VehicleLocalPosition
/fmu/out/vehicle_status_v1: px4_msgs/msg/VehicleStatus
Publishers:
/fmu/in/offboard_control_mode: px4_msgs/msg/OffboardControlMode
/fmu/in/trajectory_setpoint: px4_msgs/msg/TrajectorySetpoint
/fmu/in/vehicle_command: px4_msgs/msg/VehicleCommand
pxh> commander check
INFO [commander] Preflight check: FAILED
pxh> commander status
INFO [commander] Disarmed
INFO [commander] navigation mode: Offboard
INFO [commander] in failsafe: no
Branch:
ros2| Commit:9cf1089| Setup: Fresh Docker image rebuilt from.devcontainer/humble/Dockerfile, VSCode devcontainer, Ubuntu, no GPU (AMD)Could you help me in resolving this
What I did
Terminal 1 — Build and launch PX4 + Gazebo:
Terminal 2 — XRCE DDS Agent:
Terminal 3 — ROS2 bridge:
Terminal 4 — Offboard control (after Terminal 1 says
Ready for takeoff!):What Happens
Terminal 1 — PX4 output (every attempt):
Terminal 4 — offboard_control output:
Diagnostic Output
ros2 topic list | grep vehicle_local_positionTopic is correct, not
_v1. The 9cf1089 rename fix is present. This is not a topic name issue.ros2 topic echo /fmu/out/vehicle_local_position --oncedead_reckoning: truemeans EKF2 is running on IMU only — vision is never fused.heading_varnever stabilizes below 0.01.ros2 topic echo /fmu/out/vehicle_status_v1 --onceros2 node info /offboard_controlpxh> commander checkpxh> commander status