유비쿼티 로봇이 고장으로 판별되고
터틀봇 4를 받아왔습니다.
그래서 유비쿼티 대신에 터틀봇 4를 사용하게되었습니다.
20.04 갈라틱이 필요합니다
https://turtlebot.github.io/turtlebot4-user-manual/software/turtlebot4_packages.html
https://turtlebot.github.io/turtlebot4-user-manual/troubleshooting/faq.html
https://www.youtube.com/watch?v=QN01AXjoLdQ
우선적으로 ubuntu 20.04 와 ROS2 galactic 이 깔려있는 노트북이 필요합니다.
그리고 시작하기전 터틀봇의 구성에 대해 이해가 필요합니다.
터틀봇은 몸체(create 3)와 라즈베리파이로 구성되어있습니다.
그래서 create3와 라즈베리파이 각각 네트워크 설정을 해주어야 합니다.
1. 터틀봇을 충전기(station)과 도킹(docking)합니다. 그러면 터틀봇에 전원이 들어오고 켜지는 사운드가 재생됩니다.
만약 종료하고 싶다면 5초간 가운데 버튼을 꾸욱 누릅니다.
2. (유튜브에서는 이렇게 설명합니다)그러면 라즈베리파이와 create3간의 와이파이 설정을 진행합니다 그럴려면 우선 bashrc 파일을 열어서 다음을 입력합니다.
export CYCLONEDDS_URI='<CycloneDDS><Domain><General><DontRoute>true</></></></>'
bashrc에 넣으면 됩니다.
2. 위의 방법을 따라갈게 아니라면 도큐먼트에 따라서 다음을 설치합니다.
sudo apt update && sudo apt install -y \
build-essential \
cmake \
git \
python3-colcon-common-extensions \
python3-flake8 \
python3-pip \
python3-pytest-cov \
python3-rosdep \
python3-setuptools \
python3-vcstool \
wget
설치를 완료하면
다음을 설치하고
wget https://raw.githubusercontent.com/turtlebot/turtlebot4_setup/galactic/conf/cyclonedds_pc.xml
홈에 가면 다음 파일이 하나 생성되어있습니다.
우선 최적의 wifi를 찾아야합니다.
와이파이를 연결한 이후에
다음의 명령어를 입력합니다.
ip link
여기서 wlo1 을 사용해봅시다.
다음으로 입력하고 저장합니다.
다음의 명령어들을 입력합니다.
sudo mv cyclonedds_pc.xml /etc/
bashrc에 다음을 입력합니다.
export CYCLONEDDS_URI=/etc/cyclonedds_pc.xml
근데, 결국 이거 안쓰고
export CYCLONEDDS_URI='<CycloneDDS><Domain><General><DontRoute>true</></></></>'
이거 한 줄 넣는게 더 빠릅니다.
3. 이제 create3와 노트북을 연결합니다.
터틀봇의 전원버튼 양옆의 버튼 두개를 동시에 꾸욱 누르면 파란불이 들어옵니다.
여기에 들어갑니다.
192.168.10.1
이제 인터넷을 켜고 주소창에 다음을 입력합니다.
그리고 난 후에 connect를 입력하고 connect하기 전에 Application쪽에서 ros domain을 맞춰줍니다.
그 후
펌웨어 업데이트를 진행합니다.
파일은 렌선으로 연결하면 받을 수 있습니다.
설치가 완료되면 connect에서 와이파이를 설정합니다.
와이파이를 세팅합니다.여기서는 2.4GHz 밖에 지원을 하지않습니다.
connect가 된후 자동으로 재부팅됩니다.
(시간이 꽤오래걸립니다.)
나의 PC에서 ROS 환경을 불러오고
ros2 topic list를 했을때 다음처럼 ROS2 토픽이 보이면 create3는 설치가 완료된 것입니다.
4. 라즈베리파이의 네트워크 설정을 만집니다.
만약 새거라면 turtlebot4라는 와이파이가 잡힐 것이지만, 처음이 아니라면 그런 와이파이가 없을 것입니다.
https://turtlebot.github.io/turtlebot4-user-manual/troubleshooting/faq.html
그럴때는 터틀봇의 라즈베리파이와 노트북을 렌선으로 연결합니다.
수동으로 연결을 위해서는 로봇팔을 연결했던 것과 동일하게
네트워크 설정을 만져야합니다
밑의 그림처럼 만집니다.
도큐먼트에서 설명하는대로 network에서 manual로 설정하고 밑의 3개를 입력합니다.
그렇게 연결을 끝마친 후
네트워크를 끄고 다시 켭니다.
이제 ssh로 라즈베리파이에 접근합니다.
비밀번호는 turtlebot4입니다. (혹은 turtlebot)입니다.
연결이 완료되면 다음을 진행합니다.
일단 블루투스를 활성화하는 명령어는 다음과 같습니다.
sudo systemctl start bluetooth
일단 이상태에서 와이파이 설정을 진행합니다.
sudo wifi.sh -s '<WIFI_SSID>' -p '<WIFI_PASSWORD>' -r <REGULATORY_DOMAIN> && sudo reboot
여기서
sudo wifi.sh -s '<WIFI_SSID>' -p '<WIFI_PASSWORD>' -r KR && sudo reboot
로 하신 후 와이파이 ID와 password를 설정합니다.
주의하실점은 wifi를 5G영역의 wifi로 사용해야합니다.
이부분은 아주 중요합니다.
해당 스크린샷은 2.4G 와이파이를 잡은 상태이지만, 터틀봇에는 5G 와이파이만 지원하기 때문에 백날해봐도 의미가 없습니다.
그러면 네트워크가 설정되고 재부팅됩니다.
sudo wifi.sh -s 'PinkLab' -p 'pinkwink' -r KR && sudo reboot
재 부팅이 완료되면, 다시 ssh로 렌선으로 터틀봇 라즈베리파이에 접근합니다.
그 후 ifconfig 명령어를 입력하면, 와이파이 IP를 알 수 있으며 다음 연결부터는 무선으로 ssh로 해당 IP에 접근하면 됩니다.
추가적으로
라즈베리파이의 경우에도 ros domain을 맞춰주어야 하고, PC도 ros domain을 맞춰주어야합니다.(bashrc)
그래서 결론적으로 create3와 PC , 라즈베리파이가 모두 같은 ROS_domain을 가지는 상태여야합니다.
우선 터틀봇을 구동하면 소리가 두 번 나야 정상입니다.
처음 나는 소리는 라즈베리파이가 내는 소리이기 때문에 바로 ssh로 접근이 가능하고
두번째 소리는 create3가 내는 소리이기 때문에 이때부터 로봇 구동이 가능해집니다.
여기까지 입니다.
그 후 로스 패키지를 turtlebot4에 다운로드 받습니다.
https://turtlebot.github.io/turtlebot4-user-manual/software/turtlebot4_packages.html
여기서부터는 다음글에서 진행하겠습니다.
'ㅇ 프로젝트 > TEAM_실내외배송로봇' 카테고리의 다른 글
6. 터틀봇 4도 포기하게 되었다. / 핑크봇을 위한 맵을 만들었다. (0) | 2023.03.06 |
---|---|
5. 터틀봇 4를 움직여보자 (0) | 2023.02.27 |
3. 프로젝트 진행 1일차 진행상황 정리 (0) | 2023.02.15 |
2. 프로젝트 요구사항 설계 및 소프트웨어적 해석 (0) | 2023.02.07 |
1. 실내와 실외 배송로봇 구상 (0) | 2023.02.07 |