How to visualize PointCloud2 on rviz

How to play bag file using rosbag


rosbag 파일을 play하면서 rviz에 시각화 하는 것을 정리한다
오늘 재생할 파일은 ouster사에서 제공하는 sample data를 이용한다

샘플데이터 재생하기

1. roscore 실행

roscore를 실행해주자

$ roscore


(사진)

2. rosbag 실행

다른 터미널에서 rosbag 파일을 재생해준다
-l 옵션은 무한 재생하겠다는 뜻이다

$ rosbag play OS1-64_city3.bag -l


(사진)


rviz에 띄우기에 앞서서 2가지 확인이 필요하다

  1. 저장된 데이터의 토픽 이름이 무엇인지
  2. 저장된 데이터의 frame_id가 무엇인지

토픽이름 확인

아래 명령어로 현재 ros 통신 안에 있는 토픽 이름을 모두 확인할 수 있다
-v 옵션은 publisher랑 subscriber랑 분리해서 볼 수 있다

$ rostopic list -v


frame_id 확인

위에서 토픽 이름을 확인한 결과
저장되어 있는 라이다 데이터는 sensor_msgs/PointCloud2 형식이고, 이름은 /os1_cloud_node/points임을 확인할 수 있다
따라서 아래쪽의 명령어 echo를 입력하게 되면 라이다 데이터를 터미널에 모두 출력하는데 이 때 grep frame_id라고 하면 frame_id를 포함하는 것만 출력해준다

$ rostopic echo /os1_cloud_node/points | grep frame_id


(사진)

3. rviz 실행

여기까지 오면 우리는 다음과 같은 정보를 얻게 된다
frame_id = “/os1_lidar”
topic 이름 = “/os1_cloud_node/points”


Rviz를 실행해준다

$ rviz



왼쪽 아래쪽에 Add를 눌러서 PointCloud2를 선택해주고 OK를 누른다


다음 PointCloud2 토픽 이름을 아까 찾았던 /os1_cloud_node/points로 변경해준다


끝으로 맨 위의 [Global Options]-[Fixed Frame]에 아까 찾았던 os1_lidar를 입력해주면 아래와 같은 결과가 나온다

Leave a comment