@Arunabh-Sharma ,
I believe the extrinsics file is correct. Here is an extrinsics file for Starling 2 (which can support up to 3 tracking cameras, depending on configuration). https://gitlab.com/voxl-public/voxl-sdk/utilities/voxl-mpa-tools/-/blob/master/misc_files/usr/share/modalai/extrinsic_configs/D0014_Starling_2.conf
tracking_down is the camera we want and the extrinsics are:
"parent": "imu_apps",
"child": "tracking_down",
"T_child_wrt_parent": [-0.08825, -0.0045, 0.0269],
"RPY_parent_to_child": [0, 0, 180]
[image: 1782188708958-54bec293-dddc-48e7-903b-47dda8c48787-image.png]
I have labeled the camera X and Y axes on the down-facing rear camera and the rotation matches up with 180 degree yaw with respect to the drone's body axes (X=forward, Y=right, Z= down)
Please note something that may add to the confusion. The front facing tracking camera is technically upside down (using our standard convention that i labeled for the down-facing camera), however we rotate the image 180 degrees in the camera itself during image read-out, so that the image looks right side up without any software work. This 180 degree rotation is selected in voxl-camera-server.conf with a rotation parameter, which instructs voxl-camera-server to set a special register in the camera to reverse the image readout. This is why you will see tracking_front and hires cameras having the same rotation extrinsics, while the tracking_front camera is physically upside down.
Some more info about our extrinsics and conventions : https://docs.modalai.com/configure-extrinsics/
Alex