[depthimage_to_laserscan_node-2] [ERROR] [1685898103.609667495] [depthimage_to_laserscan_front]: Could not convert depth image to laserscan: Cannot call rectifyPoint when distortion is unknown.
Hi @omers and @jasonjabbour . I understand that this error could be a result of a call to the rectifyPoint, that allows to get rectified pixel coordinates from unrectified ones.
The issue is, image is already undistorted one, so this call shouldn’t happen in the first place (rectifyPoint should return the same point in that case). If possible, please try to comment out that call for the case, when the distortion coefficient parameter array have zero length (pinhole camera case), in the ROS node.
On the ROS interface, yes, it is likely that logic of the Isaac Sim to supply the ‘pinhole’ in the distortion type for undistorted images is wrong. And the parameter should be omitted altogether, instead of specifying ‘pinhole’.
The workaround for this is to check, if the distortion coefficient array length is zero (many ROS nodes use that check to determine that the image comes from the pinhole camera). Or to check explicitly that ‘pinhole’ is specified.
We have a bit more flexible support for distortions upcoming, that allows to specify distortion model communicated to ROS separately from the underlying RTX rendering model.