해당 실습 자료는 한양대학교 Road Balance - ROS 2 for G Camp : <Node, Package와 기본 커맨드>ROS 2 Documentation: Foxy, 표윤석, 임태훈 <ROS 2로 시작하는 로봇 프로그래밍> 루피페이퍼(2022) 를 참고하여 작성하였습니다.


로봇 개발을 위해서는 로봇을 구성하는 여러 센서들로 수집된 데이터에 대해 판단을 내리고 목표로 하는 올바른 동작을 해야합니다. ROS에서는 실행 가능한 최소 단위 프로세스가 바로 Node 입니다. 해당 장에서는 Node와 프로세스 집합인 Package라고 합니다.

Node 란?


실행 가능한, 최소 단위 프로세서를 의미합니다.

로봇 개발을 하기 위해서는 로봇을 구성하는 여러 센서들, 그리고 이들 센서 데이터를 통해 지속적으로 판단하고 동작해야 하는 시스템이 필요합니다.

 A decentralized multi-agent control approach for robust robot plan execution

A decentralized multi-agent control approach for robust robot plan execution

카메라를 통한 골키퍼 로봇을 예로 들어보겠습니다.

[**Tobi Delbruck. DVS robo goalie.** 이벤트 카메라를 이용한 골키퍼 로봇](https://youtu.be/IC5x7ftJ96w)

**Tobi Delbruck. DVS robo goalie.** 이벤트 카메라를 이용한 골키퍼 로봇

  1. 카메라 센서로부터 이미지를 받고
  2. 받아들인 이미지에서 공이 있는지 검출하고 검출된 공의 크기에 따라 로봇과 거리를 도출하여 우선 순위 선정 우선 순위가 높은 공의 위치를 계산하여 로봇 팔을 얼마나 어느 방향으로 이동 시킬지 판단
  3. 판단한 결과를 실제 모터 신호의 제어로 구동

위와 같은 상황을 ROS 2로 구현한다고 하였을 때, 어떻게 이루어지는지 살펴보겠습니다.

1의 기능을 수행하는 Node, 마찬가지로 2와 3을 수행하는 Node들이 있으며, 이들 사이에 서로 데이터를 주고받는 구조가 갖추어질 것입니다.

Understanding ROS 2 nodes

Understanding ROS 2 nodes