ouster-lidar / ouster-ros

Official ROS drivers for Ouster sensors (OS0, OS1, OS2, OSDome)
https://ouster.com
Other
124 stars 146 forks source link

ROS ouster Point struct meaning, and Autoware implmentation for enhancing data field of Point #217

Closed TZECHIN6 closed 1 year ago

TZECHIN6 commented 1 year ago

Describe your question Whats are the current available Point data field, and their physical meaning?

I am trying to implement ouster lidar into autoware project, using this official ouster lidar driver. According from the document link, autoware expect to have Point structure in this way:

struct PointXYZIRCAEDT
{
  float x;
  float y;
  float z;
  std::uint8_t intensity;
  std::uint8_t return_type;
  std::uint16_t channel;
  float azimuth;
  float elevation;
  float distance;
  std::uint32_t time_stamp;
};

Base on my observation, return_type, azimuth and elevation are not directly being published right now. For channel, does this has the same meaning to ring? For distance, does this has the same meaning of range? For time_stamp, i believe its same as t when selected ROS_TIME.

If I have to enhance the data field from exist driver, which file should I focusing on modification? I believe those data is actually exist from where (might be need to reverse calculation to extract them out, say ring can be decouple into azimuth and elevation?) Any hints and guidance would be appreciate.

Screenshots Below is the struct of ouster Point now, I am not so familiar with some of the data field meaning in physical world, which are reflectivity, ring and ambient, for ring I believe its referring which beam belongs to for that points, starting from the very top should be "0", I guess? Any document I can refer to about the meaning of those data field?

struct EIGEN_ALIGN16 Point {
    PCL_ADD_POINT4D;
    float intensity;
    uint32_t t;
    uint16_t reflectivity;
    uint16_t ring;
    uint16_t ambient;
    uint32_t range;
    EIGEN_MAKE_ALIGNED_OPERATOR_NEW
};
}  // namespace ouster_ros

Platform (please complete the following information):

Samahu commented 1 year ago

Please note that I am currently working on a feature that allows users to choose a specific representation of the point cloud type (checkout: #216) .. I am planning to accommodate few other standard representations

TZECHIN6 commented 1 year ago

Would you mind telling me hows the intensity and reflectivity are difference? And also whats the meaning of ambient? Great thanks

Samahu commented 1 year ago

You can learn about the different channels and their meaning from here