Azure_Kinect_ROS_Driver
Azure_Kinect_ROS_Driver copied to clipboard
specify URDF frames in CAD model
Is your feature request related to a problem? Please describe.
The URDF (https://github.com/microsoft/Azure_Kinect_ROS_Driver/pull/29) specifies links camera_body
, camera_base
and camera_visor
. While the colour and depth optical frames are published by the driver and have reference points in the CAD (https://docs.microsoft.com/en-us/azure/kinect-dk/media/resources/hardware-specs-media/dimensions.png) the links defined in the URDF do not seem to be related to points on the CAD.
Maybe @skalldri can provide some context of how these URDF frames have been chosen.
Having a clear relation between the URDF and CAD frames simplifies integrating the sensor into a kinematic chain. Specifically, the transformation between external reference points, such as the M3 camera mounting screw, and the optical frames are of interest. But neither the camera_body
nor the camera_base
seem to correspond to this reference point.
Describe the solution you'd like
Provide virtual frames (links without visuals) in the URDF that correspond to external reference points in the CAD or provide a detailed CAD model with the dimensions of the current URDF frames (camera_body
, camera_base
, ...).
Describe alternatives you've considered The alternative is to forgo the URDF and use the provided dimensions from the CAD. However, relying on the URDF to initialise the extrinsic calibration is much more convenient.
FYI: I no longer work at Microsoft, and I wrote this well over a year ago, so my knowledge is a bit fuzzy.
As best as I can remember, Azure Kinect doesn't have any explicit calibration between the camera housing and the internal cameras. If I recall correctly, one of the cameras is used as the "origin" for the co-ordinate system, though I don't recall which one.
When I wrote the URDF, I did base everything off the CAD model, but I think I centered the URDF around one of the camera origin frames (because those were the only frames that the driver would be able to emit).
You could easily re-center the URDF around the mounting screw if you wanted / needed.