Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Autoware compatible Ouster pointcloud #1

Open
szepilot opened this issue Jan 17, 2025 · 2 comments
Open

Autoware compatible Ouster pointcloud #1

szepilot opened this issue Jan 17, 2025 · 2 comments
Assignees
Labels
enhancement New feature or request

Comments

@szepilot
Copy link
Member

https://autowarefoundation.github.io/autoware-documentation/main/design/autoware-architecture/sensing/data-types/point-cloud/#point-cloud-fields

[ERROR] [localization.util.crop_box_filter_measurement_range]: The pointcloud layout is not compatible with PointXYZIRCAEDT or PointXYZIRC. Aborting

Expected datatype XYZIRC

name datatype derived description
X FLOAT32 false X position
Y FLOAT32 false Y position
Z FLOAT32 false Z position
I (intensity) UINT8 false Measured reflectivity, intensity of the point
R (return type) UINT8 false Laser return type for dual return lidars
C (channel) UINT16 false Channel ID of the laser that measured the point

Actions needed

  1. RING >> rename to CHANNEL
  2. RETURN TYPE >> 0

Current datatype xyzir

ros2 topic echo /sensing/lidar/concatenated/pointcloud --field fields --once

sensor_msgs.msg.PointField(name='x', offset=0, datatype=7, count=1), 
sensor_msgs.msg.PointField(name='y', offset=4, datatype=7, count=1)
sensor_msgs.msg.PointField(name='z', offset=8, datatype=7, count=1)
sensor_msgs.msg.PointField(name='intensity', offset=16, datatype=7, count=1)
sensor_msgs.msg.PointField(name='ring', offset=20, datatype=4, count=1)] (should be CHANNEL)
os_center/os_cloud:
  ros__parameters:
    timestamp_mode: 'TIME_FROM_ROS_TIME'  # this value needs to match os_sensor/timestamp_mode
    sensor_frame: 'os_center_a'
    lidar_frame: 'os_center_a_laser_data_frame'
    imu_frame: 'os_center_a_imu_data_frame'
    point_type: 'xyzir'
@horverno
Copy link
Member

Check float / uint8 intensity conversion

@szepilot
Copy link
Member Author

XYZIRC

ros2 topic echo /sensing/lidar/concatenated/pointcloud --field fields --once

sensor_msgs.msg.PointField(name='x', offset=0, datatype=7, count=1), 
sensor_msgs.msg.PointField(name='y', offset=4, datatype=7, count=1), 
sensor_msgs.msg.PointField(name='z', offset=8, datatype=7, count=1), 
sensor_msgs.msg.PointField(name='intensity', offset=12, datatype=2, count=1), 
sensor_msgs.msg.PointField(name='return_type', offset=13, datatype=2, count=1), 
sensor_msgs.msg.PointField(name='channel', offset=14, datatype=4, count=1)]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: 🏗 In progress
Status: In Progress
Development

No branches or pull requests

4 participants