Ouster 라이다 ring 정보 얻기

DONGJE LEE·2022년 6월 8일
0

ROS

목록 보기
3/8
post-thumbnail

ros환경에서 ouster lidar 데이터를 받아서 처리를 하려하니, pcl::PointXYZIR 형태로 ring (=channel)정보를 받아오기가 힘들더라.

LIO-SAM의 코드를 참고하여 아래의 코드로 채널 별 포인트 정보를 얻을 수 있었다.
구조체를 지정하고 거기에 맞추어서 데이터를 받는 방식

struct OusterPointXYZIRT {
    PCL_ADD_POINT4D;
    float intensity;
    uint32_t t;
    uint16_t reflectivity;
    uint8_t ring;
    uint16_t noise;
    uint32_t range;
    EIGEN_MAKE_ALIGNED_OPERATOR_NEW
} EIGEN_ALIGN16;
POINT_CLOUD_REGISTER_POINT_STRUCT(OusterPointXYZIRT,
    (float, x, x) (float, y, y) (float, z, z) (float, intensity, intensity)
    (uint32_t, t, t) (uint16_t, reflectivity, reflectivity)
    (uint8_t, ring, ring) (uint16_t, noise, noise) (uint32_t, range, range)
)
profile
LiDAR & SLAM & Robotics & Autonomous System

1개의 댓글

comment-user-thumbnail
2022년 11월 15일

혹시 ring 데이터를 사용하실때, cpp 파일에 struct 구조를 넣으신 건가요?

답글 달기