o3de / o3de-extras

Other
61 stars 62 forks source link

[ROS 2] Lidar Sensor does not allow for raycaster-side publication. #719

Open alek-kam-robotec-ai opened 4 months ago

alek-kam-robotec-ai commented 4 months ago

Describe the bug The pointcloud is always published in the ROS2 Lidar Sensor regardless of the configuration. This is due to the fact that the raycasters are queried about their capability to publish before their configuration is finalized, namely the ConfigurePointCloudPublisher is used after a call to CanHandlePublishing (methods of the LidarRequests interface) which requires the lidar to be already configured.

Expected behavior The pointcloud publisher should be determined based on whether or not the Lidar implementation supports publishing under current lidar configuration.

Found in Branch All branches. Was introduced by commit.

alek-kam-robotec-ai commented 3 months ago

@adamdbrw @michalpelka I've spoken with one of the RGL team members and we suggest that this is patched after the instance segmentation (#713) and intensity (under development) features are merged. This is due to the fact that since the RGL-side publication was not being used, newly added features could omit implementing it and work just fine.

jhanca-robotecai commented 3 months ago

Isn't this one related to: https://github.com/o3de/o3de-extras/issues/462 and being fixed in https://github.com/o3de/o3de-extras/pull/724 ?

alek-kam-robotec-ai commented 3 months ago

No, it is not. As I've described, it is related to the raycaster configuration and query order.

alek-kam-robotec-ai commented 3 months ago

Additionally, the same pull request hard-sets requested result types to both points and distances irrespective of the Lidar Component, which is not the intended functionality.