I am testing vision position estimate in LPE mode.
I am using MSF framework to fuse vision and imu data.
I can get pretty good position estimation information from
VISION_POSITION_ESTIMATE message(not using vision for heading, but it seems that is not enough, because when I switch to
POSCTL mode, QuadCopter keep fly around in a circle. It looks like this:
And this is my flying log file:http://logs.uaventure.com/view/QcABiUm82uMMLwzAU8SjBX
As mhkabir suggested, I should use vision for heading, I know by set
ATT_EXT_HDG_M can enable this function. But I don't really know how to mess with MSF settings. This is my MSF settings:
####### pixhawk - MPU6050
# q_ic is the quaternion representing the rotation of the camera in IMU frame. Unit quaternion here as we rotate the coordinate frames in SVO parameters.
# p_ic is the translation between the IMU and the camera in meters.
pose_sensor/pose_measurement_world_sensor: false # we do not publish the world in camera frame as set in SVO parameters.
I have a downward-facing camera with image top the same as pixhawk forward direction. So I think keep
pose_sensor/init/q_ic/w:1 x:0 x:0 y:0 z:0 should be fine. But that can not make
VISION_POSITION_ESTIMATE.roll/pitch/yaw the same.
Could anyone help? Thanks!