Fixed pose via /run/mpa/vvhub_fixed_pose_input in addion to Open Vins
-
Hi guys,
We were using SDK 1.1.3, where we used the QVIO+ our pos fix (Only Z axis) to fly, so in addition to QVIO also used our own nav stack. Our fixed position was sent via a pipe to the modalai VISION-HUB
we sent the fix pose
to the/run/mpa/vvhub_fixed_pose_inputit wokred well we flew hundreds of times with this setup were we publish to the fix pose pipe, fix the position of the drone and remove accumulated drift by the QVIO
in the vision-hub .conf we have:
set the fixed_frame_filter_len: 1 - cause we usually fix the position once in few seconds using tags.
set the en_transform_mavlink_pos_setpoints_from_fixed_frame: trueBut now, after using the new DK 1.4.0 and using OPEN VINS + our fix it still works but occasionally our drone crashes we investigated and seems this fix might be responsible (we doubled check THE VALUES they were good )
- does the Open vins works well when we also publish to the /run/mpa/vvhub_fixed_pose_input?
- any major changes to VISION-HUB that could make its buffer full or something or race with conflicting positions between the fixed pipe and local pipe from open vins that can cause it maybe take an old fix of ours ?
We had this warning which might be related to crash
Thanks!
Jan 07 17:29:36 BALD voxl-open-vins-server[17387]: INFO: MAYBE ON GROUND, POSITION LOCK? -- INVOKE ESTOP! (This is just a warning) 0.000000 0.000000 -15.208726 Jan 07 17:29:36 BALD voxl-open-vins-server[17387]: INFO: MAYBE ON GROUND, POSITION LOCK? -- INVOKE ESTOP! (This is just a warning) 0.000000 0.000000 -15.208766 Jan 07 17:29:36 BALD voxl-open-vins-server[17387]: INFO: MAYBE ON GROUND, POSITION LOCK? -- INVOKE ESTOP! (This is just a warning) 0.000000 0.000000 -15.208140 Jan 07 17:29:36 BALD voxl-open-vins-server[17387]: INFO: MAYBE ON GROUND, POSITION LOCK? -- INVOKE ESTOP! (This is just a warning) 0.000000 0.000000 -15.206414 Jan 07 17:29:36 BALD voxl-open-vins-server[17387]: INFO: MAYBE ON GROUND, POSITION LOCK? -- INVOKE ESTOP! (This is just a warning) 0.000000 0.000000 -15.202729 Jan 07 17:29:36 BALD voxl-open-vins-server[17387]: INFO: MAYBE ON GROUND, POSITION LOCK? -- INVOKE ESTOP! (This is just a warning) 0.000000 0.000000 -15.197531 -
Hi there, I would highly recommend upgrading to the latest SDK 1.6.2.
Q1: For voxl-vision-hub, openvins is just another [abstracted] VIO client, using the same MPA interface as QVIO. Thus, should work the same as QVIO.
Q2: There are no outstanding buffer conflicts between the 2 inputs in that SDK version. Though best to update to 1.6.2 as there have been numerous MPA improvements.Q3:
MAYBE ON GROUND, POSITION LOCK?is reporting that the barometer is reporting <1m and OVINS > 1m (-1 in NED space). It appears OVINS had a blow up, has recovered with a new origin in the local frame. Your output says it must have reseted in the ai/flying and hence the new local origin is above your landing point (fixed frame). Depending how you have PX4's EKF setup could lead to issues like the landing detector not working, or position error when running missions, hence why it's reported as a warning. Your output says it's at 0,0,-15 indicating OVINS restarted at ~15m up, but the PX4 baro says it's at 0. If outdoors, I recommend settingEKF2_HGT_REF = baro, if indoors, you'll need to reconcile a origin offset if VIO resets midair (qvio would require this as well) if using vio data directly waypoint manager (i.e. offboard waypoint mode or custom nav code)Going forward if staying with 1.4.x,
- edit
/etc/modalai/voxl-open-vins-server.confand change:
"en_vio_always_on": true, - ssh into the drone and run
voxl-vision-hub --debug_fixed_frame --debug_tag_cam --debug_odometryto compare values and see if there is a error in calculation possibly causing vision-hub to restart. - move the drone around by hand, point it at a tag as needed and monitor the output from vision-hub. Should tell you where a possible conflict arises.
- edit