Turtlebot常见问题

如果你在使用中遇到问题,如出现报错、不会操作等等,请在此页面输入报错信息或关键字搜索。 如果仍有问题,为了快速高效解决你的问题,请下滑至页面底部,扫描二维码添加好友备注“Turtlebot售后咨询”。

常见问题

运行 gazebo,我想要通过向/cmd_vel 写数据控制小车移动的时候,它像图中这样提示在运行一个自动的行为不接受我的速度命令,应该怎么办呢?
A:你在仿真环境的界面已经给了速度,并且仿真比较吃电脑性能,可能会出现卡顿情况。

追问:“那我这个控制步骤对吗,运行ros2 launch turtlebot4_ignition_bringup 

ignition.launch.py 打开这个界面后,运行 ros2 topic pub /cmd_vel 
geometry_msgs/msg/Twist "linear:
x: 10.0
y: 0.0
z: 0.0angular:
x: 0.0
y: 0.0
z: 1.0"
然后点击左下角的开始按钮,没啥动静,仿真界面点启动就动了一

下,做了一个 undocking 的动作”

A:是对的,仿真比较吃性能。

可以改小车上深度相机的位置吗,想把它弄的高一点,换了支架的话,机器人里面的参数要改吗
在 TurtleBot4 上更改深度相机的位置通常是可行的,但需要考虑几个因素:
首先,更改相机的高度可能会影响机器人的重心和稳定性。确保新的支架和相机位置不会导致机器人过于不稳定或倾翻。
其次,更改相机位置可能会影响机器人的感知和导航能力。如果相机位置太高或角度不正确,可能会导致视野受限或无法正常进行深度感知。
最后,更改相机位置后,您可能需要更新机器人的参数以适应新的配置。这些参数可能包括相机的安装位置、方向、偏移量等信息。这些参数可以通过 ROS 中的配置文件进行调整。
turtlebot4 内置了视觉 slam 算法吗?

A:出厂没有内置。但是 turtlebot4 是可以做视觉 slam 的。用 Al 操作软件是可以直接启动的。

追问:“好的,方便告知一下是采用的何种开源算法呢。还是你们自研的算法,代码是在树莓派上运行的。不是在深度相机上吧?”

A:是的,ORB-SLAM2https://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主题不可见

首先,检查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:未找到命令

确保您已安装ROS2 galactic

source /opt/ros/galactic/setup.bash

如果您是从源代码构建软件包,您还需要将工作区源代码化:

source /path/to/ws/install/setup.bash


树莓派4B接入点不可见

如果您的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
正在等待连接到bluetoothd…

此问题通常是蓝牙服务停止的结果。

要再次启动服务,请运行 sudo systemctl start bluetooth.

微信扫一扫