Priceless

[Mapping]RTAB-Map in ROS with Realsense d435if 본문

SLAM

[Mapping]RTAB-Map in ROS with Realsense d435if

Hyun__ 2024. 11. 23. 02:35

환경

Ubuntu 18.04, ROS RealSense D435if

 

RealSense

ROS에서 Realsense를 사용하기 위해 Realsens SDK를 설치해야 한다

https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy?tab=readme-ov-file

 

 

 

ROS 버전에 맞는 RealSense ROS 패키지를 설치한다

Ubuntu 18.04이므로 ROS melodic에 맞는 버전이 설치될 것이다

sudo apt-get install ros-$ROS_DISTRO-realsense2-camera

 

이후 설치된 라이브러리를 쓸 수 있도록 빌드한다

~/.bashrc에 저장하면 더욱 좋을 것이다

sudo apt-get install ros-melodic-rtabmap-ros
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/ros/noetic/lib/x86_64-linux-gnu

 

이후 Realsense 카메라가 잘 작동하는지 확인한다

$ rostopic list
/camera/color/camera_info
/camera/color/image_raw
...
/camera/color/metadata
/camera/depth/camera_info
/camera/depth/image_rect_raw
...
/camera/depth/metadata
/camera/extrinsics/depth_to_color
/camera/motion_module/parameter_descriptions
...
/camera/stereo_module/parameter_updates
...
/tf_static

 

잘 작동한다면 rtabmap을 수행한다

roslaunch rtabmap_ros rtabmap.launch \
   rtabmap_args:="--delete_db_on_start" \
   depth_topic:=/camera/depth/image_rect_raw \
   rgb_topic:=/camera/color/image_raw \
   camera_info_topic:=/camera/color/camera_info

 

  • --delete_db_on_start: RTAB-Map 실행 시 이전 데이터베이스를 초기화
  • depth_topic, rgb_topic, camera_info_topic: RealSense에서 제공하는 깊이, RGB 이미지, 카메라 정보 토픽을 지정

 

주의사항

카메라를 천천히 움직여야 매핑 성능이 좋다

 

rtabmap의 launch 파일을 종료하면 아래와 같이

db 형식의 데이터가 저장될 것이다

/home/username/.ros/rtabmap.db, 127 MB

 

얻은 데이터 확인

Viewer

데이터가 어떻게 매치되는지 확인할 수 있다

rtabmap-databaseViewer ~/.ros/rtabmap.db

 

 

ply 데이터로 출력

databaseViewer에서 상단 탭의 file의 export를 통해 3차원 데이터(ply)로 출력할 수 있다

 

cloudcompare 와 같은 프로그램을 통해 3차원 데이터를 다룰 수 있다

cloudcompare 프로그램 설치 방법은 아래와 같다

sudo apt update
sudo apt install snapd
sudo snap install cloudcompare

 

ply를 열면 아래와 같이 3차원 데이터를 확인할 수 있다

odometry에서 missing이 많이 발생하여

stable하게 traverse할 수 있는 시스템이 있으면 좋을 듯 하다

 

 

참고

https://github.com/IntelRealSense/realsense-ros/tree/ros1-legacy?tab=readme-ov-file

https://github.com/introlab/rtabmap_ros

https://velog.io/@d0ngje/cloudcompare-%EC%84%A4%EC%B9%98

 

'SLAM' 카테고리의 다른 글

[SLAM] 3D 회전과 이동, Eigen & Pangolin 라이브러리를 활용한 실습  (1) 2023.11.22
[SLAM]SLAM 기술의 적용  (0) 2023.11.21
[SLAM] SLAM의 종류  (1) 2023.11.21
[SLAM] SLAM 개요  (0) 2023.11.21
[SLAM] 자율주행을 위한 SLAM  (1) 2023.11.20