I want to send external position measurements to PX4 EKF. The settings are:
- PX4 1.13.0
- EKF2_AID_MASK = 24 (position fusion and yaw fusion)
- EKF2_HGT_REF = 3 (vision)
The messages I send to the vision_pose/pose
topic contain:
- horizontal position measurements from a UWB positioning system,
- vertical position measurements from a laser ranging sensor,
- time.
Here are things I have observed:
- Before starting to publish messages to
vision_pose/pose
, the orientation inimu/data
has slow drifts in yaw. After starting to publish messages tovision_pose/pose
, the orientation inimu/data
directly changes to values close to (0,0,0,1). The estimated orientation inlocal_position/pose
is close to the one inimu/data
. - The estimated attitude appears to respond only to changes in roll and pitch. When the yaw of the drone is changed, the estimated attitude remains nearly constant at (0,0,0,1).
- The drone has some positional changes during hovering.
Here are some flight logs:
https://review.px4.io/plot_app?log=068a92b1-ca53-4987-a7ee-f2ec969c42ce
https://review.px4.io/plot_app?log=8ee0d0f3-637a-435b-835e-a99ff143ab83
What should I do to improve the flight performance? Thanks in advance.