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:
data_playback: false core/core_fixed_bias: false #########IMU PARAMETERS####### ####### pixhawk - MPU6050 core/core_noise_acc: 0.013 core/core_noise_accbias: 0.000108 core/core_noise_gyr: 0.00065 core/core_noise_gyrbias: 0.00000212 pose_sensor/pose_fixed_scale: false pose_sensor/pose_noise_scale: 0.0 pose_sensor/pose_noise_p_wv: 0.0 pose_sensor/pose_noise_q_wv: 0.0 pose_sensor/pose_noise_q_ic: 0.0 pose_sensor/pose_noise_p_ic: 0.0 pose_sensor/pose_delay: 0.02 pose_sensor/pose_noise_meas_p: 0.005 pose_sensor/pose_noise_meas_q: 0.02 pose_sensor/pose_initial_scale: 5.60 # 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. pose_sensor/init/q_ic/w: 1.0 pose_sensor/init/q_ic/x: 0.0 pose_sensor/init/q_ic/y: 0.0 pose_sensor/init/q_ic/z: 0.0 # p_ic is the translation between the IMU and the camera in meters. pose_sensor/init/p_ic/x: 0.1 pose_sensor/init/p_ic/y: 0.0 pose_sensor/init/p_ic/z: 0.065 pose_sensor/pose_absolute_measurements: true pose_sensor/pose_use_fixed_covariance: true pose_sensor/pose_measurement_world_sensor: false # we do not publish the world in camera frame as set in SVO parameters. pose_sensor/pose_fixed_scale: false pose_sensor/pose_fixed_p_ic: true pose_sensor/pose_fixed_q_ic: true pose_sensor/pose_fixed_p_wv: false pose_sensor/pose_fixed_q_wv: false
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!