이 레슨과 관련된 학습 키워드
컴퓨터 과학 & 프로그래밍 — 문제 해결의 도구 → ROS 프로그래밍 — 로봇 소프트웨어의 표준 → ROS2 기초부터 배포까지 → 로봇 인식과 제어
로봇이 세상을 이해하려면 센서 데이터를 처리하는 것이 가장 첫 번째 단계예요.
사람으로 치면 눈과 귀가 정보를 수집하고 뇌가 해석하는 것처럼, 로봇도 센서로 데이터를 모으고 소프트웨어가 분석해요.
이번 레슨에서는 카메라와 라이다 데이터를 알오에스투에서 실제로 처리하는 방법을 배워요.
그림 왼쪽을 보면 세 가지 센서가 나란히 있어요.
카메라는 640곱하기480 해상도의 알지비 이미지를 초당 30프레임으로 제공해요.
색상과 질감 정보가 풍부하지만, 물체까지 거리를 알 수 없다는 한계가 있어요.
라이다는 레이저를 360도로 쏴서 주변 물체까지의 거리를 정밀하게 측정해요.
0.1미터부터 12미터까지, 초당 10번 회전하면서 거리 배열을 생성해요.
거리는 정확하지만 색상 정보가 전혀 없어서 물체가 무엇인지 구분하기 어려워요.
깊이 카메라는 이 두 센서의 장점을 결합해서, 알지비 이미지와 깊이 이미지를 동시에 제공해요.
인텔 리얼센스 디435 같은 제품이 대표적이에요.
그림 오른쪽을 보면, 이 센서 데이터가 모두 알오에스투 토픽 메시지로 변환돼요.
카메라는 센서 엠에스지 이미지, 라이다는 레이저스캔, 깊이 카메라는 포인트클라우드투 형식을 사용해요.
표준화된 메시지 타입 덕분에 어떤 센서 제조사의 드라이버든 같은 토픽 형식으로 데이터를 발행해요.
그림 아래쪽 처리 파이프라인을 보세요.
첫 단계에서 씨브이 브릿지가 알오에스 이미지를 오픈씨브이 형식으로 변환해요.
두 번째 단계에서 NaN이나 인피니티 같은 잘못된 값을 걸러내고, 에이치에스브이 색공간으로 변환해요.
세 번째 단계에서 색상이나 거리 기반으로 물체를 실제로 감지해요.
마지막으로 카메라와 라이다 결과를 합치는 센서 퓨전을 수행해요.
가운데 파란색 박스를 보면, 이 전체 흐름이 한 문장으로 요약돼 있어요.
센서 데이터에서 토픽으로, 전처리에서 감지로, 그리고 퓨전까지가 이번 레슨의 전체 여정이에요.
이제 각 단계를 하나씩 자세히 살펴볼게요.
선생님: 카메라만으로 로봇이 세상을 충분히 이해할 수 있을까요?
학생: 사진은 찍을 수 있지만, 물체까지 거리를 모르니까 부딪힐 수 있지 않나요?
선생님: 정확해요! 카메라는 2D 이미지만 제공하니까, 장애물이 1미터 앞인지 10미터 앞인지 알 수 없어요.
학생: 그래서 라이다로 거리를 보충하는 거군요!
선생님: 맞아요. 카메라의 색상 정보와 라이다의 거리 정보를 합치면 훨씬 안전하게 판단할 수 있어요.
학생: 깊이 카메라 하나면 두 센서를 대체할 수 있나요?
선생님: 어느 정도는 가능하지만, 깊이 카메라는 야외 햇빛에서 정확도가 떨어지고, 라이다보다 측정 범위가 짧아요. 그래서 실제 로봇에서는 여러 센서를 함께 사용해요.