← All tools

Message & Error Explainer

What an ArduPilot message means and what to do about it

Українська

The tracking camera (visual odometry) is not ready or disagrees with the attitude

Stops itRangefinder, optical flow, camera, OSD and other devices

What ArduPilot says:

Also explained here: 2 more
  • check VISO_ORIENT parameter
  • waiting for AHRS attitude

A tracking camera (VISO_TYPE not 0) gives the EKF, ArduPilot's position and attitude estimator, position and attitude without GPS. Before arming, the words after “VisOdom:” say what is wrong. “not healthy”: no data from the camera. “out of memory”: its driver could not start. “check VISO_ORIENT parameter”: an orientation the driver does not support. “roll/pitch diff” and “yaw diff”: the camera's attitude differs from ArduPilot's by more than 10°. “waiting for AHRS attitude”: the EKF has no attitude yet. “VisOdom: reset” and “yaw shifted” report that the camera restarted its tracking and was lined up again.

What to do, most likely first

  1. The camera or its companion computer is not sending yet.

    CheckThe reason is “not healthy”; the companion computer is still booting or its link to the flight controller is down.

    FixWait for the companion computer to start, and check its cable and the serial port settings.

  2. The camera is mounted in another direction than VISO_ORIENT says.

    CheckThe reason is “roll/pitch diff” with a large angle, or “check VISO_ORIENT parameter”.

    FixSet VISO_ORIENT to how the camera really points (forward, down and so on) and reboot.

  3. The camera's heading has drifted from ArduPilot's, or its tracking jumped.

    CheckThe reason is “yaw diff”.

    FixUse the ground station's or a switch's “align visual odometry yaw” function, or reboot the camera with the aircraft still, in a room with visible detail and good light.

Parameters to look at

ParameterWhat it is
VISO_TYPEVisual odometry camera connection type
VISO_ORIENTVisual odometery camera orientation
VISO_DELAY_MSVisual odometry sensor delay
EK3_SRC1_POSXYPosition Horizontal Source (Primary)
EK3_SRC1_YAWYaw Source
The code that sends it

yaw diff N.N deg (>10)

libraries/AP_VisualOdom/AP_VisualOdom_IntelT265.cpp AP_VisualOdom_IntelT265::pre_arm_check() · Open in ArduPilot Copter-4.7.1

VisOdom: yaw shifted N to N deg

libraries/AP_VisualOdom/AP_VisualOdom_IntelT265.cpp AP_VisualOdom_IntelT265::align_yaw() · Open in ArduPilot Copter-4.7.1

roll/pitch diff N.N deg (>10)

libraries/AP_VisualOdom/AP_VisualOdom_IntelT265.cpp AP_VisualOdom_IntelT265::pre_arm_check() · Open in ArduPilot Copter-4.7.1

VisOdom: reset

libraries/AP_VisualOdom/AP_VisualOdom_IntelT265.cpp AP_VisualOdom_IntelT265::handle_voxl_camera_reset_jump() · Open in ArduPilot Copter-4.7.1

And 4 more messages, sent from the same places.

Written here for Copter 4.6. In the tool you choose your vehicle and version, see your own parameter values beside the ones named here, and drop a flight log to have every message in it explained.

Open it in the Message & Error Explainer