-
터틀봇3 연결하기 (Ubuntu 18.04, ROS Melodic)ROS 2020. 12. 18. 19:02반응형
Remote PC에 Ubuntu 18.04, ROS1(Melodic)을 설치한 후 로보티즈 e매뉴얼을 따라 세팅했다.
emanual.robotis.com/docs/en/platform/turtlebot3/quick-start/
1. Remote PC 설정하기
먼저 의존 패키지를 설치한다.
sudo apt-get install ros-melodic-joy ros-melodic-teleop-twist-joy \ ros-melodic-teleop-twist-keyboard ros-melodic-laser-proc \ ros-melodic-rgbd-launch ros-melodic-depthimage-to-laserscan \ ros-melodic-rosserial-arduino ros-melodic-rosserial-python \ ros-melodic-rosserial-server ros-melodic-rosserial-client \ ros-melodic-rosserial-msgs ros-melodic-amcl ros-melodic-map-server \ ros-melodic-move-base ros-melodic-urdf ros-melodic-xacro \ ros-melodic-compressed-image-transport ros-melodic-rqt-image-view \ ros-melodic-gmapping ros-melodic-navigation ros-melodic-interactive-markers
터틀봇3 패키지도 설치한다.
(.bashrc 또는 .zshrc 파일에 이미 source 되어 있을 경우 첫 번째 명령어는 굳이 입력하지 않아도 된다.)
source /opt/ros/melodic/setup.bash
sudo apt-get install ros-melodic-turtlebot3-msgs
sudo apt-get install ros-melodic-turtlebot3
네트워크 구성을 위해 ip를 확인한다.
ifconfig
ifconfig 명령을 찾을 수 없다(Command 'ifconfig' not found)고 나올 경우 net-tools 패키지를 설치해준다.
sudo apt install net-tools
텍스트 편집기로 .bashrc 파일을 연다. gedit 대신 nano 등 본인이 사용하기 편한 걸로 열면 된다.
(zshell을 사용할 경우 .zshrc를 입력한다.)
gedit ~/.bashrc
문서 하단으로 가서 아래 세 줄을 추가하고 저장한다.
갖고 있는 터틀봇 모델이 와플파이일 경우 burger 대신 waffle_pi를 입력한다.
{IP_ADDRESS_OF_REMOTE_PC} 자리에 위에서 ifconfig로 확인한 IP를 입력한다.
이때 https로 잘못 입력하지 않도록 주의한다.
export TURTLEBOT3_MODEL=burger export ROS_MASTER_URI=http://{IP_ADDRESS_OF_REMOTE_PC}:11311 export ROS_HOSTNAME={IP_ADDRESS_OF_REMOTE_PC}
수정한 내용을 적용한다.
source ~/.bashrc
2. SBC 설정하기
2.1. SD카드에 라즈베리파이 OS를 설치한 상태에서 HDMI 케이블을 이용해 라즈베리파이와 모니터를 연결한다.
2.2. 라즈베리파이의 USB 포트에 키보드, 마우스 등 입력 장치를 연결한다.
2.3. 전원을 연결해서 라즈베리파이를 켜준다.
2.4. 터미널을 실행한 후 다음 명령어를 입력한다.
Remote PC와 동일한 네트워크에 연결한 후 IP를 확인한다.
ifconfig
Remote PC에서 터미널을 열고 다음 명령어를 입력해서 라즈베리파이와 연결한다.
{IP_ADDRESS_OF_RASPBERRY_PI} 대신 위에서 확인한 IP 주소를 입력한다.
ssh pi@{IP_ADDRESS_OF_RASPBERRY_PI}
이 과정에서 비밀번호를 입력해야 하는데 비밀번호가 기억나지 않을 경우 아래 명령어를 이용해 환경설정을 실행한다.
sudo raspi-config
'2. Change User Password'를 선택하고 새로운 비밀번호를 입력하면 비밀번호가 변경된다.
NTP 시간 동기화를 위해 아래 명령어를 입력한다.
sudo apt-get install ntpdate
sudo ntpdate ntp.ubuntu.com
다음 명령어를 통해 환경설정을 실행한다.
sudo raspi-config
'Advanced Options' -> 'Expand Filesystem'을 선택한 후 환경설정을 종료한다.
Remote PC에서 했던 것과 마찬가지로 텍스트 편집기로 .bashrc(혹은 .zshrc) 파일을 연다.
gedit ~/.bashrc
마찬가지로 문서 하단으로 가서 아래 두 줄을 추가한 후 저장한다.
{IP_ADDRESS_OF_REMOTE_PC}에는 Remote PC IP를, {IP_ADDRESS_OF_RASPBERRY_PI_3}에는 라즈베리파이 IP를 입력한다.
export ROS_MASTER_URI=http://{IP_ADDRESS_OF_REMOTE_PC}:11311 export ROS_HOSTNAME={IP_ADDRESS_OF_RASPBERRY_PI_3}
수정한 내용을 적용한다.
source ~/.bashrc
3. OpenCR 설정하기
USB 케이블로 라즈베리파이와 OpenCR이 연결된 상태에서 다음 명령어를 입력한다.
라즈베리파이에 OpenCR 펌웨어를 올리기 위해 필요한 패키지를 설치한다.
sudo dpkg --add-architecture armhf
sudo apt-get update
sudo apt-get install libc6:armhf
갖고 있는 모델이 와플일 경우 burger 대신 waffle을 입력한다.
export OPENCR_PORT=/dev/ttyACM0
export OPENCR_MODEL=burger
rm -rf ./opencr_update.tar.bz2
펌웨어를 다운받는다.
wget https://github.com/ROBOTIS-GIT/OpenCR-Binaries/raw/master/turtlebot3/ROS1/latest/opencr_update.tar.bz2
tar -xvf opencr_update.tar.bz2
OpenCR에 펌웨어를 올린다.
cd ./opencr_update
./update.sh $OPENCR_PORT $OPENCR_MODEL.opencr
4. 가져오기 (Bring up)
PC에서 다음 명령어를 실행한다.
roscore
새 터미널을 열고 라즈베리파이에 연결한다.
{IP_ADDRESS_OF_RASPBERRY_PI} 자리에 라즈베리파이 IP 주소를 입력한다.
ssh pi@{IP_ADDRESS_OF_RASPBERRY_PI}
터틀봇3 애플리케이션을 시작하기 위한 기본 패키지를 가져온다.
roslaunch turtlebot3_bringup turtlebot3_robot.launch
반응형'ROS' 카테고리의 다른 글
ROS gdb, valgrind 디버깅 (0) 2023.03.01 osm_cartography - RViz에 오픈스트리트맵(OSM) 데이터 시각화하기 (0) 2022.12.25 터틀봇3 Navigation (0) 2020.12.30 터틀봇3 SLAM (0) 2020.12.27 ROS Melodic 설치 (Ubuntu 18.04) (0) 2020.12.18