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가 시작되는 것을 확인할 수 있다.
'ROS(Robot Operating System)' 카테고리의 다른 글
(4) 라즈베리파이에 Ubuntu 20.04 부팅하기 [+ROS noetic 설치] (0) | 2024.01.30 |
---|---|
(3) ssh 원격 접속 / wifi 세팅 / 오버클럭 설정 (*선택사항) (0) | 2024.01.30 |
(2) SD 카드 굽기 (Raspberry Pi Imager / Balena Etcher) (0) | 2024.01.30 |
(1) SD 카드 포맷하기 (+Fomatter 없이 포맷하는 법) (1) | 2024.01.28 |
ROS 개발 환경 구축하기 [VMware 17/Ubuntu 20.04/ROS noetic] (0) | 2024.01.23 |