ModalAI Forum
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Inconsistencies in default extrinsic files

    Ask your questions right here!
    1
    1
    147
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Evan HertafeldE
      Evan Hertafeld
      last edited by

      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.

      1. 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.

      2. 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.

      3. 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.

      4. 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]
      		}]
      }
      
      1 Reply Last reply Reply Quote 0
      • First post
        Last post
      Powered by NodeBB | Contributors