常见问题
追问:“那我这个控制步骤对吗,运行ros2 launch turtlebot4_ignition_bringup
下,做了一个 undocking 的动作”
A:是对的,仿真比较吃性能。
A:出厂没有内置。但是 turtlebot4 是可以做视觉 slam 的。用 Al 操作软件是可以直接启动的。
追问:“好的,方便告知一下是采用的何种开源算法呢。还是你们自研的算法,代码是在树莓派上运行的。不是在深度相机上吧?”
A:是的,ORB-SLAM2,https://github.com/raulmur/ORB_SLAM2
追问:“在 turtlebot4 的官方手册网页只看到了激光雷达 slam 部分的内容,orb-slam2 这部分有官方资料吗?”
A:TurtleBot4 官方手册网页上没有特定介绍 ORB-SLAM2 的内容。ORB-SLAM2 是一种基于特征的视觉 SLAM 算法,用于同时定位与建图。ORB-SLAM2 是一个广泛使用的开源算法,但它没有作为TurtleBot4 官方支持的一部分。如果有兴趣在 TurtleBot4 上使用 ORB-SLAM2,建议参考 ORB-SLAM2的官方文档和代码库,了解如何在 TurtleBot4 上集成和使用它。ORB-SLAM2 的官方文档提供了算法的详细说明、配置和使用方法,以及示例代码和数据集。
在一个空间中运行多个机器人(独立)有几种方法。为了在一个教室中运行它们,我们正在尝试实现这个场景:
将所有PI放在一个5Ghz Wi-FI ap上,所有PI都基于一个2.4Ghz Wi-FI ap。通过网桥与AP连接。在这座桥上安装一台DHCP服务器,为机器人提供固定IP(例如uwbot-01->192.168.23.100)。然后学生们用笔记本电脑加入这个AP。学生和机器人也可以在该网络上访问互联网(文档)。
现在,我们当然需要分离不同机器人的DDS域或使用ROS名称空间。从文档中可以看出,使用域(ROS_DOMAIN_ID)是更好的选择,因为a)可以直接应用一般ROS指令(无名称空间)b)将减少混淆。
名称间距尚不支持,但已计划。Create 3 sim已经有PR了。
无论如何,我仍然建议使用ROS_DOMAIN_ID,因为它不会那么令人困惑。我这里有安装带有ROS_DOMAIN_ID的robot_stupstart作业的说明。每个Create 3也需要设置为相同的ROS_DOMAIN_ID,远程PC也需要导出ROS_DOMAIN _ID。我很快会为此添加一个教程。
Turtlebot4机器人支持在同一网络上同时运行8个机器人,没有任何问题。
至于网络瓶颈,这很可能取决于您的网络设置以及机器人正在做什么。如果它们都是来自摄像机的流视频数据,那么可能存在一些问题。您可以通过降低相机分辨率和帧速率或关闭未使用的通道(如深度)来降低数据速率。这可以在发布时完成。对于导航应用程序,您可以通过修改配置文件来降低地图分辨率、更新率和其他参数。
CycloneDDS应该自动优化数据速率,但如果需要,您可以尝试调整一些配置。
你可以试试以下方法:
1、SSH到RPI并调用 sudo bluetoothctl --agent=NoInputNoOutput
2、在CLI中键入设备。这应该显示配对控制器的MAC
3、键入remove <MAC>
以移除控制器。也可以键入 untrust <MAC>
来测试它。
4、按照控制器设置说明重新配对。
您可以通过按下button 1 10秒钟将Create 3置于待机模式(https://iroboteducation.github.io/create3_docs/hw/face/). 然而,RPI4将继续供电,因此如果您也要关闭电源,只需拔下USB-C电缆即可。
首先,检查Create®3是否已连接到WiFi网络。您应该能够通过在浏览器中输入Create®3 IP地址来访问Create®3门户。有关如何将Create®3连接到WiFi的信息,请查看快速入门指南。
如果它连接到WiFi,请检查是否可以在Raspberry Pi上看到Create®3主题。
如果Raspberry Pi上的主题可见,请确保您的电脑为CycloneDDS设置了以下配置:
<CycloneDDS> <Domain> <General> <DontRoute>true</DontRoute> </General> </Domain> </CycloneDDS>
要自动设置此配置,请在 ~/.bashrc
文件中添加以下行。
export CYCLONEDDS_URI='<CycloneDDS><Domain><General><DontRoute>true</></></></>'
如果您为Create®3设置了 ROS_DOMAIN_ID
,则您的终端必须具有相同的ID。您可以使用以下命令设置ID:
export ROS_DOMAIN_ID=#
将 #
替换为ID。
如果Raspberry Pi上的主题不可见,您可能需要通过门户重新启动Create®3应用程序,或重新启动机器人。
确保您已安装ROS2 galactic:
source /opt/ros/galactic/setup.bash
如果您是从源代码构建软件包,您还需要将工作区源代码化:
source /path/to/ws/install/setup.bash
如果您的Raspberry Pi处于AP模式,Turtlebot4 WiFi网络应在机器人通电后约30秒可见。如果不可见,请尝试以下操作。
1、检查树莓派是否通电
Raspberry Pi在USB-C端口附近有一个电源指示灯。请确保它亮起。
如果LED未亮起,则树莓派未通电。检查USB-C连接,确保Create®3电源适配器板完全插入。
2、检查障碍物
如果Raspberry Pi已打开,但您无法看到接入点,请确保机器人中的任何电线都不会阻碍Raspberry Pi的WiFi模块。这包括将RPi连接到TurtleBot 4上的UI PCBA的带状电缆,以及为两种型号的风扇供电的电线。
3、重新启动机器人
如果WiFi模块不受阻碍,请尝试重新启动机器人。将机器人从其底座上取下,按住Create®3上的电源按钮,直到其关闭。等待几秒钟,将机器人放回其底座上。
4、通过以太网访问RPi
如果您仍然无法看到Turtlebot4接入点,可以使用以太网电缆直接连接到RPi。您的电脑可能需要USB转以太网适配器。
Raspberry Pi为以太网接口使用静态IP地址, 192.168.185.3
. 您需要配置有线连接以使用相同的子网:
(1)转到有线连接设置。
(2)将IPv4方法设置为手动并设置静态IP。IP地址不能与树莓派相同。
(3)单击“Apply”
现在,您可以通过键入以下命令进入终端并SSH进入机器人:
ssh ubuntu@192.168.185.3
此问题通常是蓝牙服务停止的结果。
要再次启动服务,请运行 sudo systemctl start bluetooth
.