반응형
1. 서론
이전 글에서는 ORB-SLAM을 설치하고 ROS와 연동하는 방법을 다뤘습니다.
이번 글에서는 한 단계 더 나아가, 실제 카메라 데이터를 입력으로 ORB-SLAM을 실행하는 방법을 살펴보겠습니다.
카메라 데이터는 SLAM의 핵심 입력으로, ORB-SLAM은 이를 통해 특징점을 추출하고, 로봇 혹은 차량의 경로와 환경 지도를 동시에 생성합니다.
2. 카메라 데이터의 종류
ORB-SLAM은 다양한 형태의 카메라 데이터를 지원합니다.
- Mono (단일 카메라): 일반 웹캠, USB 카메라 등 → 설치와 구성이 간단하지만 깊이 정보가 없음
- Stereo (스테레오 카메라): 두 개의 카메라로 거리(깊이) 계산 가능 → 안정적인 SLAM
- RGB-D 카메라: RGB 영상 + 깊이 센서 (예: Intel RealSense, Kinect) → 정확도 높음, 로봇 연구에서 많이 사용
➡ 학습용으로는 Mono가 가장 접근성이 좋고, 연구용·산업용은 Stereo 또는 RGB-D를 많이 활용합니다.
3. 실행을 위한 준비
(1) 카메라 드라이버 설치
ROS 환경에서 카메라 토픽을 구독하려면 드라이버 패키지가 필요합니다.
예:
bash
sudo apt install ros-noetic-usb-cam
(2) 카메라 토픽 확인
bash
rostopic list
출력 예시:
bash
/camera/image_raw
(3) ORB-SLAM Launch 파일 수정
ORB_SLAM2/Examples/ROS 디렉토리의 Mono.launch 파일을 열어, camera_topic을 실제 카메라 토픽에 맞게 수정합니다.
xml
<arg name="camera_topic" default="/camera/image_raw"/>
4. ORB-SLAM 실행
(1) 단일 카메라 실행
bash
roslaunch ORB_SLAM2 Mono.launch
(2) RGB-D 카메라 실행
bash
roslaunch ORB_SLAM2 RGBD.launch
(3) 실행 결과
- RViz 또는 Pangolin Viewer 창이 열리며, 카메라 영상 위에 ORB 특징점이 표시됩니다.
- 로봇의 움직임에 따라 3D 좌표와 경로가 동시에 시각화됩니다.
- SLAM 과정에서 지도 작성이 점차 확장되는 것을 확인할 수 있습니다.
5. 실행 시 발생할 수 있는 문제와 해결책
- 화면이 안 나옴 → 카메라 드라이버 및 토픽 이름 확인 필요
- 특징점이 너무 적음 → 조명 환경을 개선하거나 해상도를 조정
- 프레임 딜레이 발생 → 파라미터 설정에서 이미지 크기와 FPS를 낮춰야 함
6. 마무리
오늘은 실제 카메라 데이터를 입력으로 ORB-SLAM을 실행하는 방법을 살펴보았습니다.
카메라 입력만으로도 로봇이 공간을 인식하고 이동 경로를 추정하는 과정을 직접 체험할 수 있으며, 이는 SLAM 기술의 가장 흥미로운 부분 중 하나입니다.
반응형
🔜 다음 글 소개
다음 글에서는 [Day 39: 키프레임 관리 및 루프 클로징 이해]를 다룹니다.
👉 ORB-SLAM의 정확도를 높이는 핵심 기술인 키프레임 관리와 루프 클로징의 원리를 상세히 알아보겠습니다.
반응형
'자율주행' 카테고리의 다른 글
Day 40: ORB-SLAM 실험 결과 분석 (0) | 2025.10.06 |
---|---|
Day 39: 키프레임 관리 및 루프 클로징 이해 (0) | 2025.10.05 |
Day 37: ORB-SLAM 설치 및 ROS 연동 (0) | 2025.10.03 |
Day 36: ORB 특징점 추출 원리 (0) | 2025.10.02 |
Day 35: FastSLAM 간단 시뮬레이션 (0) | 2025.10.01 |