How to visualize PointCloud2 on rviz
How to play bag file using rosbag
[블로그 이전 관련!!]
더나은 환경에서 양질의 게시글을 제공하기 위해 블로그를 옮겼습니다
아래쪽 주소로 들어가지면 PointCloud2 샘플 데이터 재생하는 것을 정리해놓았습니다!
https://bigbigpark.github.io/ros/ros-pointcloud2-rosbag/
안녕하세요~ 오늘은 rosbag파일을 재생하면서 rviz에 시각화해보겠습니다!
재생할 bag 파일은 ouster사에서 제공하는 sample data이구요!
URL : ouster.com
High-resolution digital lidar: autonomous vehicles, robotics, drones
Lidar sensors for high-resolution, long range use in autonomous vehicles, robotics, mapping. Low-cost & reliable for any use case.
ouster.com
여기서 다운로드 하실 수 있습니다
전체적인 컨셉
- roscore 실행
- rosbag 실행
- rviz 실행 후 visualization
이 순서로 진행해보겠습니다! 차근차근 따라오시면 됩니다 ㅎㅎ
$roscore
$rosbag play OS1-64_city3.bag -l
bag파일을 재생하기 위한 명령어입니다.
$rosbag play [bag파일 이름]
순서로 입력해주시면 되고 끝에 -l 은 무한반복하겠다는 옵션입니다
$rostopic list
rostopic list 를 이용하여 현재 publish/subscribe 중인 토픽 명을 모두 확인할 수 있습니다
$rosbag info OS1-64_city3.bag
rosbag info를 통해 bag파일의 정보를 얻을 수 있습니다
간단하게 보시면 파일 경로, duration, size, 토픽들 등을 확인할 수 있습니다.
이 때 저희는 /os1_cloud_node/points ... sensor_msgs/PointCloud2에 집중할게요!
$rviz
rviz를 실행하셔서 토픽 중 PointCloud2를 선택해주세요!
토픽명 설정 -> /os1_cloud_node/points
이제 global frame_id만 기입하면 되는데 rosbag info에서는 그 정보가 없었습니다.
따라서 rostopic echo를 이용하여 frame_id를 알아내봅시다!
$rostopic echo /os1_cloud_node/points | grep frame_id
rostopic echo /os1_cloud_node/points | grep frame_id
위의 명령어는 | (리눅스에서는 AND 동작)로 구성이 되어있습니다.
따라서 rostopic echo를 하는데 frame_id라고 출력되는 부분을 grep(잡다)하는 명령어 입니다.
출력 결과물을 보시면 frame_id: "/os1_lidar"라고 출력되는 것을 볼 수 있습니다.
따라서 이를 rviz의 global frame에 입력해주시면 pointcloud2 bag파일을 성공적으로 재생할 수 있습니다~
결과(output)
전체 실행 동영상
'💻 Computer Science > ROS' 카테고리의 다른 글
[ROS] ROS subscriber 인자 넘기기 (pass argument on subscriber) (1) | 2021.03.02 |
---|---|
[PointCloud] PCL 라이브러리 설치하기! install pcl on ubuntu 18.04 (0) | 2021.02.01 |
[ROS] 간단한 publisher와 subscriber (topic tutorial) (0) | 2021.01.31 |
[ROS] ros::spin, ros::spinOnce 차이점 (0) | 2021.01.29 |