이 레슨과 관련된 학습 키워드
컴퓨터 과학 & 프로그래밍 — 문제 해결의 도구 → ROS 프로그래밍 — 로봇 소프트웨어의 표준 → ROS2 기초부터 배포까지 → ROS2 기초
노드=독립 프로세스, 토픽=메시지 버스, Publisher/Subscriber, QoS, 메시지 타입, 커스텀 메시지, rqt_graph, 센서→처리→제어 파이프라인
인간의 신경계를 떠올려 보세요.
눈, 귀, 뇌가 각각 독립적으로 작동하면서도 신경을 통해 실시간으로 소통합니다.
그림의 왼쪽을 보세요. 눈은 광자를 전기 신호로 바꾸고, 귀는 진동을 전기 신호로 바꿔요.
이 신호가 신경을 타고 뇌로 모여요. 뇌가 종합 판단을 내리죠.
그리고 뇌의 명령이 다시 신경을 타고 팔과 다리로 전달돼요.
이제 그림의 오른쪽을 보세요. 알오에스투도 똑같은 구조예요.
카메라 노드는 눈이에요. 이미지 데이터를 토픽으로 발행해요.
라이다 노드는 촉각이에요. 거리 데이터를 /scan 토픽에 보내요.
아이엠유 노드도 있어요. 가속도와 회전 데이터를 제공해요.
이 데이터가 토픽이라는 신경을 타고 SLAM 노드로 모여요.
SLAM 노드가 뇌처럼 위치를 추정하고 지도를 만들어요.
그리고 명령이 다시 토픽을 타고 모터와 매니퓰레이터로 내려가요.
가운데 화살표를 보세요. 눈이 카메라에, 뇌가 SLAM에, 팔다리가 모터에 대응돼요.
핵심은 결함 허용성이에요. 눈이 다쳐도 귀와 뇌는 정상 작동하잖아요.
마찬가지로 카메라 노드가 고장나도 라이다와 SLAM은 계속 동작해요.
이것이 노드 기반 아키텍처의 가장 큰 장점이에요.
하나가 죽어도 나머지는 살아남는 구조. 로봇 소프트웨어의 핵심 요구사항이에요.
다음 블록에서 노드의 세부 속성을 하나씩 살펴볼게요.
선생님: 카메라가 고장나면 로봇 전체가 멈추는 시스템과 카메라만 멈추는 시스템, 어느 쪽이 좋을까요?
학생: 당연히 카메라만 멈추는 거요! 다른 센서로 계속 동작할 수 있으니까요.
선생님: 맞아요. 그것이 노드 기반 아키텍처의 핵심이에요. 독립 프로세스니까 하나가 죽어도 나머지는 살아요.
학생: 인간 신경계에서 눈이 안 보여도 청각으로 보완하는 것과 같은 거네요.
선생님: 정확해요! 그래서 알오에스투가 이 구조를 채택한 거예요. 실전 로봇에서 센서 하나쯤은 언제든 고장날 수 있거든요.