
노트북 환경에서 ROS2 humble - OpenRB150 - dynamixel 시스템의 제어를 확인했으니, Raspberry Pi 4에서도 잘 구동하는지 확인해야 한다.
노트북과 동일한 ubuntu22.04LTS이기 때문에 사실 큰 차이는 없다.
다만 GUI가 없어서 터미널만 보고 개발해야 하고, 복사 붙여넣기가 막힌다는 심각한 문제가 있다.
따라서 먼저 노트북과 ssh 연결을 하여 노트북에서 터미널을 열고 복사 붙여넣기를 쓸 수 있게 만들 것이다.
참조
turtlebot3 공식 e-manual | 퀵 스타트 가이드 참고
준비물 (처음 wifi 세팅 때문에 잠깐이라도 필요하다)
컴퓨터 모니터
HDMI 케이블(한쪽은 micro HDMI여야 함. 연장 잭을 6천 원에 구매하였다.)
키보드
sd 카드 (용량은 32GB만 되어도 충분할 듯 하다)
sd 카드 연결 잭 (이미지를 구울 때 필요하다)
공식 turtlebot3 e-manual에 너무 잘 나와있다.
Raspberry Pi 4 에는 자체 저장장치가 없기 때문에, sd카드가 필요하다.
sd카드에 ubuntu 22.04LTS server (GUI가 없어야 가볍다) 이미지를 넣은 후, Raspberry Pi 4에 넣고 부팅하면 된다.
이미지를 구울 때 Raspberry Pi imager를 사용할 텐데, 이 때 id와 password를 지정할 수 있다. 반드시 메모해놔야 한다. 잊으면 재설치하는게 더 빠르다.
ssh 통신은 동일 wifi에 연결하고, ip 앞자리가 같아야 하는데,
학교 wifi는 보통 유동 ip이기 때문에 굉장히 과정이 복잡해진다.
사설 공유기를 사용하거나, 핸드폰 Hot spot 사용을 강력 추천한다.
요즘 핸드폰들은 wifi를 켜고 Hot spot을 켜면, 데이터를 사용하지 않고 vpn처럼 중계기 역할만 한다. 매우 편하게 ip를 묶을 수 있다.
Raspberry Pi의 인터넷 연결을 설정하는 데에는 여러가지 방법이 있지만, turtlebot3 공식 메뉴얼을 따라가겠다.
e-manual의 turtlebot3 sbc-setup 항목이다.
/etc/netplan으로 wifi 연결 설정
$ sudo nano /etc/netplan/50-cloud-init.yaml
networkd 네트워크 관리데몬으로 자동 연결될 wifi를 설정하는 방법이다.
사진과 동일하게 맞추고, 초록색 표시된 부분에 wifi의 "ssid"와 "password"를 작성해주면 된다.
저장 & 업데이트
Ctrl+S, Ctrl+X$ sudo nano /etc/apt/apt.conf.d/20auto-upgrades
절전모드 끄기 등의 세부적인 설정도 있으니, e-manual의 디테일을 꼭 확인해보길 바란다.
큰 문제가 없다면 wifi가 잘 연결되었을 텐데,
$ ping google.com
으로 인터넷에 연결이 되었는지 확인할 수 있다. 인터넷에 연결되었으면 터미널에 핑이 계속 뜰 것이다.
ip 주소를 확인하려면 터미널에 다음을 입력한다
$ ip a
사진의 빨간색 박스 위치가 현재 연결된 ip 주소이다.
$ ifconfig
로도 ip 주소를 알 수 있다.
Raspberry Pi 4와 원격컴퓨터가 모두 같은 wifi의 같은 ip에 연결되었다면,
원격 컴퓨터의 터미널에서 Raspberry Pi 4의 터미널에 접근할 수 있다.
$ ssh [Raspberry Pi 4의 우분투 계정 이름]@[Raspberry Pi 4의 ip 주소]
입력 후, Raspberry Pi 4의 우분투 아이디와 비밀번호를 입력해주면 ssh 연결이 성공되고,
터미널의 계정 이름이 바뀌는 것을 확인할 수 있다.
다른 터미널을 사용하려면 그 터미널에서 또 ssh 연결을 시도하면 된다.
이제 원격컴퓨터에서 Raspberry Pi 4의 터미널에 접근할 수 있으므로, ROS2 홈페이지를 켜놓고 열심히 Ctrl+C, Ctrl+Shift+V 하면 된다.