VM과 로봇의 ip 맞춰주기

VM에서 로봇(의 SBC)과 ROS로 통신하기 위해서는 두 시스템이 같은 네트워크에 연결되어있어야 합니다.
여기서 "같은 네트워크"는 IP 주소 기준으로 앞에서 3자리가 동일한 것을 의미합니다.

  • 노트북 PC: 192.168.0.130
  • 로봇: 192.168.1.132

예시로, 위와 같은 상황에서는 192.168까지는 동일하지만, 뒷쪽의 01이 다르기 때문에 서로 다른 네트워크에 있다고 합니다.

  • 노트북 PC: 192.168.0.130
  • 로봇: 192.168.0.43

이 경우에는 192.168.0까지가 서로 같기 때문에 서로 같은 네트워크에 있다고 합니다.

이렇게 서로 같은 네트워크에 연결되어 있으면 PC에서 로봇으로 데이터를 전송하고, 반대로 로봇에서 PC로 데이터를 전송할 수 있습니다.

노트북에 Windows를 밀어버리고 Ubuntu를 설치하는 경우에는 노트북과 로봇을 같은 Wi-Fi에 연결시키기만 한다면 대부분 문제가 없지만, VM(가상머신)을 사용한다면 아래와 같은 문제가 발생할 수 있습니다.

뒷쪽의 보라색 화면이 VM, 앞쪽의 검은색 화면이 로봇의 SBC로, 서로 IP의 앞 3자리가 다른것을 확인할 수 있습니다.
VM을 실행중인 노트북과 로봇이 같은 Wi-Fi에 연결했음에도 불구하고 이런 현상이 발생한다면 보통 VM의 네트워크 설정으로 인해 발생하는 문제로, VM이 SBC와 같은 IP를 받도록 설정을 변경해야합니다.

VM의 종류별로 방법이 다르기 때문에 종류별로 해결 방법을 이어서 설명하겠습니다.

UTM (macOS만 해당)

VM을 종료한 후 UTM을 실행해 가상머신을 우클릭 → 편집 버튼을 클릭합니다.

좌측 네트워크 탭에서 아래와 같이 설정합니다.

  • 네트워크 모드: 브리지 (고급)
  • 브리지 네트워크 인터페이스: 자동
  • MAC 주소: 오른쪽 랜덤 버튼을 클릭해서 랜덤한 숫자가 들어가도록 합니다!!!

VM을 실행해 ifconfig명령을 입력해보면 IP가 바뀐것을 확인할 수 있습니다.
로봇의 IP와 첫 3자리가 동일한지 확인해보세요.

WSL (Windows만 해당)

위 가이드의 네트워크 설정을 참고합니다.
설정 후 재부팅하지 않을 경우 오류가 발생할 수 있으니 주의하시기 바랍니다.

VirtualBox

위 가이드의 네트워크 설정을 참고합니다.

Parallels (macOS만 해당)

원래는 우측 상단의 지구본 모양 아이콘을 클릭한 뒤에 네트워크 브릿지기본 어댑터를 클릭하면 자동으로 네트워크가 연결된 장치를 잡아줘야하지만, 현재 기준으로는 잘 작동하지 않는 모양입니다.

만약 노트북 PC가 Wi-Fi로 연결되어있다면 네트워크 브릿지Wi-Fi를 선택하고, USB to Ethernet 젠더 등으로 연결되어있다면 해당 장치를 선택하면 됩니다. (잘 모르겠다면 네트워크 브릿지에 있는것을 위에서부터 아래로 하나씩 눌러보면 됩니다)

올바른 장치를 선택했다면 IP가 바뀐것을 확인할 수 있습니다.