https://turtlebot.github.io/turtlebot4-user-manual/
Phase1: Raspberry PI Setup
Put new robot on base and wait, approximately one minute
Connect to Turtlebot4
Wi-Fi
sudo nmcli connection up Turtlebot4
Install robohub user ssh key
ssh-copy-id -i ~/.ssh/id_rsa_robohub.pub ubuntu@10.42.0.1
Use password turtlebot4
Log in to raspberry pi
ssh ubuntu@10.42.0.1
and execute the following commands
export BOTID=04
install.py standard ${BOTID}
echo export ROS_DOMAIN_ID=${BOTID} >> .bashrc
echo uwbot-${BOTID} | sudo tee /etc/hostname
sed -i "s/rmw_cyclonedds_cpp/rmw_fastrtps_cpp/" .bashrc
echo -e \\n | sudo wifi.sh -s turtlebot -p tobeltrut -r CA
This will terminate the ssh connection in an unclean way. Terminate it with Enter
~
.
.
Optional: Pick new dhcp lease in Access point -> assign IP 192.168.23.(100 + BOTID)
Phase 2: Create3 Base Setup
- Put base in Wi-Fi setup mode by pushing outer two buttons and hold until ring turns blue
ssh ubuntu@RASPBERRY_PI_IP
and execute the following commands
sudo apt install ros-galactic-rmw-fastrtps-cpp socat openvpn
socat TCP-LISTEN:8080,fork,reuseaddr tcp:192.168.186.2:80 &
Browse to base web interface at http://RASPBERRY_PI_IP:8080. Change the follow settings:
- Application > Configure ** Domain ID ** RMW implementation: fastdds ** safety override: full
- Connect ** Hostname (ROS) to uwbot-XX-base ** Do not connect to any Wi-Fi
Optional: Pick new dhcp lease in access point -> assign IP 192.168.23.(200 + BOTID)
Install VPN files in /etc/openvpn/server/
and execute
systemctl enable openvpn-server@server.service
systemctl start openvpn-server@server.service
Phase3: Testing
Boot robot.
Start VPN on developer computer
openvpn --config client.conf --remote RASPBERRY_PI_IP
Start turtlebot4 docker on developer computer
export ROS_DOMAIN_ID=XX
ros2 topic echo /odom
...
ros2 topic echo /scan
Move to UW-Lab
Wi-Fi as necessary with
echo -e \n | sudo wifi.sh -s UW-Lab -p KNOWN -r CA