TurtleBot3 ROS2入门教程-7.SBC(树莓派)设置

警告

ü 此过程可能需要较长时间。请勿尝试使用电池供电完成设置,请将您的SBC使用适配器供电。

ü 完成此设置需要HDMI显示器和键盘、鼠标等输入设备。

ü 要使用webOS机器人平台,请参阅webOS机器人平台了解更多说明。软件包将在性能更高的PC上使用OpenEmbedded进行交叉编译,并创建用于在 SBC上安装的镜像文件。

准备microSD卡和读卡器

如果您的电脑没有microSD插槽,请使用microSD读卡器刻录恢复映像

TurtleBot3包装中不包含microSD卡读卡器。

安装Raspberry Pi Imager

下载Raspberry Pi Imager并安装适用于Raspberry PiUbuntu 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进行wifissh设置。

9.设置username and passwordConfigure wireless LANWireless LAN country。然后在SERVIES选项卡中Enable SSH使用激活。Use password authenication

10.完成此配置设置过程后,可以跳过以下Wi-Fi配置步骤(直到步骤4)。

配置Raspberry Pi

在启动Raspberry Pi之前必须连接HDMI线,否则Raspberry PiHDMI端口将被禁用。

1.启动Raspberry Pi

*有关在何处连接HDMI、电源和输入设备的更多信息,请参见此处

a.HDMI电缆连接到Raspberry PiHDMI端口。

b.将输入设备(通常是键盘)连接到Raspberry Pi USB端口。

c.microSD卡插入Raspberry Pi

d.连接电源(USBOpenCR)以打开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

OpenCRUSB端口设置

[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

 

ROSID设置在ROS2 DDS通信中,远程PCTurtleBot3ROS_DOMAIN_ID必须匹配才能在同一网络环境中进行通信。以下命令显示如何为TurtleBot3SBC分配。ROS_DOMAIN_ID

TurtleBot3的默认ID30

建议ROS_DOMAIN_IDTurtleBot3的远程PCSBC配置为30

[TurtleBot3 SBC]

echo 'export ROS_DOMAIN_ID=30 #TURTLEBOT3' >> ~/.bashrc

source ~/.bashrc

警告:请勿在同一网络中使用与其他人相同的ROS_DOMAIN_ID。这将导致同一网络环境下的用户之间通信冲突。

LDS配置

TurtleBot3 LDS2022年起已更新至LDS-02

如果您在2022年后购买了TurtleBot3,请使用LDS-02作为您的LDS_MODEL

LDS-01 LDS-02

根据您的LDS型号,使用LDS-01LDS-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