Incompatibility with pointfield layouts in autoware_pointcloud_preprocessor package #5031
-
We have been actively using the In recent updates (since On On subscription to a This was working fine on data from both velodyne and ouster lidars. On Latest The recent update adopts a more strict validation of the pointcloud that also checks the adherence of the data to the point cloud field offsets as defined in the supported Point definitions such as In both instances, the reason for failure is the data we have from Ouster lidar driver has an offset of 16 for intensity data, while the point field layout of the Sample ouster lidar pointcloud data that causes the failure (Note the offset for intensity field is 16 in the data):
The check on the datatype of the intensity field will also fail as it is of type FLOAT32 in our data, but the Question(s)
@amadeuszsz @yukkysaito @amc-nu Kindly let me know if you need additional information |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
@mbharatheesha Thank you for your questions. Up until now, Autoware had not been adhering to the prescribed design data fields, but they have been corrected to align with the interface design in the Pull Request. I apologize for any inconvenience caused by this sudden change.
In the Autoware interface, intensity is intended to be handled as uint8. If necessary, it might be best to fork the package and handle it as your own local modification.
It seems that the easiest solution in terms of performance would be to convert intensity to uint8 in the Ouster ROS driver. What do you think? Alternatively, to accommodate the differences among various vendors, we are creating Nebula as a universal lidar driver. It might also be a good idea to implement an Ouster decoder in Nebula. If you have any requests for changes to float or other types, please propose them along with the reasons. |
Beta Was this translation helpful? Give feedback.
@mbharatheesha Thank you for your questions.
Up until now, Autoware had not been adhering to the prescribed design data fields, but they have been corrected to align with the interface design in the Pull Request. I apologize for any inconvenience caused by this sudden change.
In the Autoware interface, intensity is intended to be handled as uint8. If necessary, it might be best to fork the package and handle it as your own local modification.