본문으로 건너뛰기

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

Screenshot from 2026-07-14 13-53-06

파일 맨 아래에 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