TurtleBot3 ROS2入门教程-7.SBC(树莓派)设置
警告
ü 此过程可能需要较长时间。请勿尝试使用电池供电完成设置,请将您的SBC使用适配器供电。
ü 完成此设置需要HDMI显示器和键盘、鼠标等输入设备。
ü 要使用webOS机器人平台,请参阅webOS机器人平台了解更多说明。软件包将在性能更高的PC上使用OpenEmbedded进行交叉编译,并创建用于在 SBC上安装的镜像文件。
准备microSD卡和读卡器
如果您的电脑没有microSD插槽,请使用microSD读卡器刻录恢复映像
TurtleBot3包装中不包含microSD卡读卡器。
安装Raspberry Pi Imager
下载Raspberry Pi Imager并安装适用于Raspberry Pi的Ubuntu Server 22.04。
如果已安装Raspberry Pi Imager,请更新至最新版本。
请参阅本文,了解更多关于Raspberry Pi Imager的信息。
从raspberrypi.org下载Raspberry Pi Imager
单击此处展开有关如何安装 Raspberry Pi Imager 的更多详细信息。
安装Ubuntu 22.04
1.运行Raspberry Pi Imager
2.点击CHOOSE OS。
3.选择Other gerneral-purpose OS。
4.选择Ubuntu。
5.选择Ubuntu Server 22.04.5 LTS (64-bit)支持 RPi 3/4/400 的版本。
(选择服务器操作系统,而不是桌面操作系统)
6.单击CHOOSE STORAGE并选择micro SD卡。
7.单击Next安装Ubuntu。
8.点击Edit Setting进行wifi和ssh设置。
9.设置username and password、Configure wireless LAN、Wireless LAN country。然后在SERVIES选项卡中Enable SSH使用激活。Use password authenication
10.完成此配置设置过程后,可以跳过以下Wi-Fi配置步骤(直到步骤4)。
配置Raspberry Pi
在启动Raspberry Pi之前必须连接HDMI线,否则Raspberry Pi的HDMI端口将被禁用。
1.启动Raspberry Pi
*有关在何处连接HDMI、电源和输入设备的更多信息,请参见此处
a.将HDMI电缆连接到Raspberry Pi的HDMI端口。
b.将输入设备(通常是键盘)连接到Raspberry Pi 的USB端口。
c.将microSD卡插入Raspberry Pi。
d.连接电源(USB或OpenCR)以打开Raspberry Pi。
e.使用IDubuntu和密码登录ubuntu。登录后,系统会要求您更改密码。
使用以下命令打开网络配置文件。
[TurtleBot3 SBC]
sudo nano /etc/netplan/50-cloud-init.yaml
编辑内容以匹配下图,WIFI_SSID同时WIFI_PASSWORD用您的实际wifi SSID 和密码替换。
使用Ctrl+S保存文件并使用Ctrl+X退出。
输入以下命令编辑自动更新设置文件。
[TurtleBot3 SBC]
sudo nano /etc/apt/apt.conf.d/20auto-upgrades
更改更新设置以匹配以下设置。
[TurtleBot3 SBC]
APT::Periodic::Update-Package-Lists "0";
APT::Periodic::Unattended-Upgrade "0";
使用Ctrl+S保存文件并使用Ctrl+X退出。
设置systemd为即使在启动时没有网络的情况下也能避免启动延迟。运行以下命令,systemd使用以下命令设置进程的掩码。
[TurtleBot3 SBC]
systemctl mask systemd-networkd-wait-online.service
禁用挂起和休眠模式
[TurtleBot3 SBC]
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
重启Raspberry Pi
[TurtleBot3 SBC]
sudo reboot
重启Raspberry Pi后,如果您想使用SSH从远程PC工作,请在远程PC终端中运行以下命令。请确保使用您在Step 1中设置的密码。
[远程 PC]
ssh ubuntu@{IP Address of Raspberry PI}
单击此处展开有关如何通过ssh连接的更多详细信息
在Raspberry PI上安装软件包
如果您使用的是TurtleBot3 2GB内存,请务必预留交换内存用于构建软件包。否则,您可能会耗尽内存,导致软件包构建失败。
安装ROS2 Humble Hawksbill
[TurtleBot3 SBC]
ROS2 Humble安装(推荐一键安装)
wget http://fishros.com/install -O fishros && . fishros
选择Humble 桌面版本
安装并构建ROS软件包。
构建turtlebot3软件包可能需要超过一小时。请使用电源适配器功能,以确保系统始终通电。
[TurtleBot3 SBC]
sudo apt install python3-argcomplete python3-colcon-common-extensions libboost-system-dev build-essential
sudo apt install ros-humble-hls-lfcd-lds-driver
sudo apt install ros-humble-turtlebot3-msgs
sudo apt install ros-humble-dynamixel-sdk
sudo apt install libudev-dev
mkdir -p ~/turtlebot3_ws/src && cd ~/turtlebot3_ws/src
git clone -b humble https://ghfast.top/https://github.com/ROBOTIS-GIT/turtlebot3.git
git clone -b humble https://ghfast.top/https://github.com/ROBOTIS-GIT/ld08_driver.git
cd ~/turtlebot3_ws/src/turtlebot3
rm -r turtlebot3_cartographer turtlebot3_navigation2
cd ~/turtlebot3_ws/
echo 'source /opt/ros/humble/setup.bash' >> ~/.bashrc
source ~/.bashrc
colcon build --symlink-install --parallel-workers 1
echo 'source ~/turtlebot3_ws/install/setup.bash' >> ~/.bashrc
source ~/.bashrc
OpenCR的USB端口设置
[TurtleBot3 SBC]
sudo cp `ros2 pkg prefix turtlebot3_bringup`/share/turtlebot3_bringup/script/99-turtlebot3-cdc.rules /etc/udev/rules.d/
sudo udevadm control --reload-rules
sudo udevadm trigger
ROS域ID设置在ROS2 DDS通信中,远程PC和TurtleBot3ROS_DOMAIN_ID必须匹配才能在同一网络环境中进行通信。以下命令显示如何为TurtleBot3的SBC分配。ROS_DOMAIN_ID
TurtleBot3的默认ID是30。
建议ROS_DOMAIN_ID将TurtleBot3的远程PC和SBC配置为30。
[TurtleBot3 SBC]
echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc
source ~/.bashrc
警告:请勿在同一网络中使用与其他人相同的ROS_DOMAIN_ID。这将导致同一网络环境下的用户之间通信冲突。
LDS配置
TurtleBot3 LDS自2022年起已更新至LDS-02。
如果您在2022年后购买了TurtleBot3,请使用LDS-02作为您的LDS_MODEL。
LDS-01 LDS-02
根据您的LDS型号,使用LDS-01或LDS-02。
[TurtleBot3 SBC]
echo 'export LDS_MODEL=LDS-02' >> ~/.bashrc
使用以下命令应用更改。
[TurtleBot3 SBC]
source ~/.bashrc
Rpi相机(Burger 不带相机版本不需要安装)
介绍如何在TurtleBot3中使用RPi相机。有多种方法可以将RPi相机的输出发布为主题。
一种方法是使用camera-ros包,另一种方法是使用v4l2-camera包。
使用camera-ros包来使用Pi相机。
使用v4l2-camera包来使用Pi相机。
就这样!现在您已完成SBC设置 :)
下一步:OpenCR设置
请参阅下面的Ubuntu博客文章以获取更多有用信息。
使用Ubuntu提高安全性
提升TurtleBot3 Waffle Pi的用户体验
如何使用Snaps在几分钟内设置TurtleBot3 Waffle Pi