Domain ID 설정
ROS 2는 기본 통신 미들웨어로 DDS를 사용합니다. DDS에서 하나의 물리 네트워크를 여러 논리 네트워크로 나누는 주요 방법이 Domain ID입니다.
같은 Domain ID를 사용하는 ROS 2 노드들은 서로를 발견하고 메시지를 주고받을 수 있습니다. 반대로 서로 다른 Domain ID를 사용하는 ROS 2 노드들은 서로를 발견하지 못하고 통신하지 않습니다.
모든 ROS 2 노드는 기본적으로 Domain ID 0을 사용합니다.
따라서 같은 네트워크에서 여러 그룹의 컴퓨터가 ROS 2를 동시에 실행한다면, 그룹마다 서로 다른 Domain ID를 설정해 통신 간섭을 피하는 것이 좋습니다.
Domain ID 선택하기
간단히 안전한 값을 고르고 싶다면 0부터 101까지의 값을 사용하는 것이 좋습니다.
자세한 내용은 공식 문서를 참고해 주세요.
Domain ID 설정하기
nano 등의 편집기로 홈 디렉터리의 .bashrc 파일을 엽니다.
$ nano ~/.bashrc

파일 맨 아래에 ROS_DOMAIN_ID 설정을 추가합니다.
이때 입력하는 숫자는 앞에서 정한 Domain ID로 합니다.
이미 ROS_DOMAIN_ID가 있다면 기존 내용을 수정합니다.
export ROS_DOMAIN_ID=0
.bashrc 파일을 수정한 뒤에는 열려 있던 모든 터미널을 다시 시작합니다.
또는 열려 있는 각 터미널에서 아래 명령을 입력해 변경 사항을 반영합니다.
$ source ~/.bashrc
Domain ID 확인하기
아래 명령으로 현재 터미널에 적용된 Domain ID를 확인할 수 있습니다.
$ echo $ROS_DOMAIN_ID
0