ROS2 기반 로봇은 분산 시스템 아키텍처를 사용. 로봇의 다양한 기능들이 독립적인 노드로 구현되어 서로 통신하며 작동함.
동작 과정
- 초기화: 로봇이 시작되면 필요한 노드들이 실행됩니다.
- 센서 데이터 수집: 센서 노드들이 환경 정보를 수집하여 토픽으로 발행합니다.
- 데이터 처리: 수집된 데이터를 처리하는 노드들이 정보를 분석합니다.
- 의사결정: 처리된 데이터를 바탕으로 로봇의 행동을 결정하는 노드가 작동합니다.
- 액추에이터 제어: 결정된 행동을 실행하기 위해 모터 제어 노드 등이 작동합니다.
- 피드백: 로봇의 상태 변화가 다시 센서를 통해 감지되어 순환적으로 동작합니다.
특징
- 모듈성: 각 기능이 독립적인 노드로 구현되어 유지보수와 확장이 용이합니다
- 유연성: 다양한 통신 방식(토픽, 서비스, 액션)을 상황에 맞게 선택할 수 있습니다
- 하드웨어 추상화: ROS2는 다양한 로봇 하드웨어를 추상화하여 일관된 인터페이스를 제공합니다
- 시뮬레이션 지원: Gazebo 등의 시뮬레이터와 연동하여 가상 환경에서 로봇을 테스트할 수 있습니다.
'프로그래밍 > ROS2' 카테고리의 다른 글
DDS(Data Distribution Service) 란? (2) | 2024.10.22 |
---|---|
토픽 / 서비스 / 액션 등의 통신 패턴 (0) | 2024.10.21 |
워크스패이스 / 패키지 / 노드 (0) | 2024.10.21 |
ROS2의 핵심 개념 (1) | 2024.10.21 |