프로그래밍/ROS2
ROS2의 핵심 개념
techwin
2024. 10. 21. 22:37
ROS1과 ROS2의 시스템 레이어
- 노드(Node):
- ROS2 시스템의 기본 실행 단위
- 독립적으로 돌아가는 프로세스로, 특정 작업을 수행
- 다른 노드들이랑 소통하면서 전체 로봇 시스템을 구성
- 토픽(Topic):
- 노드 간에 데이터를 주고받는 비동기식 통신 방식
- 발행자가 데이터를 보내고 구독자가 받는 구조
- 센서 데이터 같은 계속 흘러가는 정보
- 서비스(Service):
- 노드 간에 요청하고 응답받는 동기식 통신 방식
- 뭔가를 물어보고 답을 받는 식으로 작동
- 한 번 하고 끝나는 작업
- 액션(Action):
- 오래 걸리는 작업을 위한 비동기식 통신 방식
- 목표 설정하고, 중간 상황 받고, 최종 결과 얻는 식으로 구성
- 복잡한 로봇 동작, 예를 들면 내비게이션
- 파라미터(Parameter):
- 노드의 설정 값인데, 실행 중에도 바꿀 수 있다
- 노드가 어떻게 동작할지 조절
- DDS(Data Distribution Service):
- ROS2의 통신 기반 기술
- 여러 시스템에 퍼져 있는 데이터를 실시간으로 주고받음
- 패키지(Package):
- ROS2 소프트웨어를 묶어놓은 기본 단위
- 실행 파일, 라이브러리, 설정 파일 같은 걸 모아놓음
- 워크스페이스(Workspace):
- ROS2 패키지들을 개발하고 관리하는 작업 공간
이런 개념들이 서로 얽혀서 ROS2의 분산 로봇 시스템을 만든다. 이걸로 모듈화하고, 재사용하고, 확장하기 쉬운 로봇 프로그램을 만들 수 있다.