본문 바로가기
ROS(Robot Operating System)

ROS 네트워크 설정 방법 [PC 다중 통신]

by kingyejin 2024. 1. 28.

1. 두 개의 PC가 동일한 Network 환경에 있어야 함

왼쪽은 로봇의 라즈베리파이 PC, 내 노트북의 PC이다. 두 PC의 통신 설정을 위해 둘 다 같은 WIFI(네트워크 환경)로 연결해주었다.


2.  ifconfig 명령어 실행 후, 각 PC의 IP 확인

<net-tools 설치> : ifconfig 명령어를 사용하기 위해 설치해야 하는 툴 

*기본적으로 PC에 대부분 설치가 되어있지만 ifconfig 명령어가 실행되지 않을 시, 해당 tool을 설치해주어야 함.

sudo apt-get install net-tools

 

<ifconfig> : 각 PC의 IP 주소를 확인하기 위한 명령어

ifconfig

 

=> 해당 과정을 통해 라즈베리파이 PC의 IP는 192.168.0.71/ 내 노트북 PC의 IP는 192.168.13.128 임을 확인


3.  ~/.bashrc 편집 [MASTER/HOST 설정]

<bashrc>: 터미널을 시작할 때마다 자동으로 실행되는 스크립트 파일이며 HOME 경로에 숨김 파일로 존재함.

*두 PC모두 각각의 bashrc 파일이 있음을 ls -a 명령어를 통해 확인할 수 있다.

[bashrc 파일에 MASTER/ HOST 설정 추가]

1) bashrc 파일 열어줌

라즈베리파이(MASTER)의 IP: 192.168.0.71
노트북 PC의 IP: 192.168.13.128
nano ~/.bashrc

 

2) 해당 코드를 bashrc 파일 가장 아래에 작성

*주의해야할 것은 ROS_HOSTNAME=IP의 IP는 HOST의 IP가 아니라 현재 PC의 IP이다. (여기서 다들 실수함.  아래 사진에서 설정한 각 IP를 보면 이해가 쉬울 것이다.)

export ROS_MASTER_URI=http://IP:11311 #IP=MASTER의 IP
export ROS_HOSTNAME=IP #IP=현재 PC의 IP

 

=> 아래와 같이 MASTER도 HOST 등록을 해야 자신의 ROS network에 참여하여 다른 PC와 통신할 수 있음


4. PC 간 통신 가능 확인

아래와 같이 bashrc 파일을 실행해주거나 터미널을 껐다 켜서 roscore 명령어를 실행해준다.

source ~/.bashrc

 

완성! MASTER PC에서 설정된 Network 환경으로 ROS가 시작되는 것을 확인할 수 있다.