Inconsistencies in default extrinsic files
-
Hi team,
I'm setting up a drone with a Voxl Deck, and I've pulled in the default extrinsic file ("factory_m500_flight_deck") to modify for my needs. I was looking to just leave it as-is except for adding a fixed offset to all the "body" measurements, but a few things about it seem a bit off. I'd like to either correct my understanding or help the team correct the file, depending on whether these errors are in my interpretation or in the file itself.
-
The y-distance between imu0 to imu1 is 0.037m in the file, but it seems like it should be .029m according to the reference drawings (36mm - 2.8mm - 4.25mm) as well as my calipers. And .037m is wider than the board itself.
-
This is a tiny one, but the z distance between IMUs is .002 which makes sense since they're on opposite sides of the PCB. Shouldn't the Z distances for imu-to-body and imu-to-tracking differ by .002 for each IMU? They're each the same in in the config file.
-
The z height of the stereo and tof cameras relative to body are both 0 but they are clearly at different heights on the mount.
-
Per imu-to-body, the body's X is just around the back edge of the PCB (.02m behind imu0). But per tof-to-body and stereo-to-body, it's a few cm behind the board (.1m behind the cameras).
I doubt any of these (save for possibly #1) will significantly affect performance, if at all, but I imagine it's in everyone's interest for the extrinsics to be self-consistent. Should these files be corrected, or am I missing something?
For reference, here's the file I'm looking at (as set by "voxl-configure-extrinsics factory_m500_flight_deck"):
{ "name": "M500_flight_deck", "extrinsics": [{ "parent": "imu1", "child": "imu0", "T_child_wrt_parent": [-0.0484, 0.037, 0.002], "RPY_parent_to_child": [0, 0, 0] }, { "parent": "imu0", "child": "tracking", "T_child_wrt_parent": [0.065, -0.014, 0.013], "RPY_parent_to_child": [0, 45, 90] }, { "parent": "imu1", "child": "tracking", "T_child_wrt_parent": [0.017, 0.015, 0.013], "RPY_parent_to_child": [0, 45, 90] }, { "parent": "body", "child": "imu0", "T_child_wrt_parent": [0.02, 0.014, -0.008], "RPY_parent_to_child": [0, 0, 0] }, { "parent": "body", "child": "imu1", "T_child_wrt_parent": [0.068, -0.015, -0.008], "RPY_parent_to_child": [0, 0, 0] }, { "parent": "body", "child": "stereo_l", "T_child_wrt_parent": [0.1, -0.04, 0], "RPY_parent_to_child": [0, 90, 90] }, { "parent": "body", "child": "tof", "T_child_wrt_parent": [0.1, 0, 0], "RPY_parent_to_child": [0, 90, 90] }, { "parent": "body", "child": "ground", "T_child_wrt_parent": [0, 0, 0.1], "RPY_parent_to_child": [0, 0, 0] }] } -
Hello! It looks like you're interested in this conversation, but you don't have an account yet.
Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.
With your input, this post could be even better 💗
Register Login