Turtlebot4常见问题
TB4机器人标配的OAK深度相机关于部署轻量化模型官网有比较好的生态。http://www.turtlebot.net.cn/index.php?id=144
比如目标检测可以用 mobilenet-ssd 模型,其中就包含 person 的检测,当然也有专门用于人物检测的模型,官网也提供了 linux环境下使用的 demo。不过具体怎么使用,比如如何调用 demo的相关接口,开发者可以自定义。
追问:那垂直方向是通过什么来获得数据的呢?
A:深度摄像头。深度摄像头相关信息可以查看http://www.turtlebot.net.cn/index.php?id=144
A:对于障碍物的距离和速度等信息,通常是通过使用合适的算法来从传感器数据中计算得出的,而实时获取障碍物的距离和速度取决于传感器的采样率和算法的计算速度。
追问:激光雷达和深度摄像头结合的话要做数据融合吗?
特征提取与匹配:通过提取激光雷达和深度摄像头的特征点,进行匹配和关联,以实现更准确的目标检测、跟踪和地图构建。数据融合可以提高环境感知的准确性、稳定性和鲁棒性,提供更全面和一致的感知结果。
具体的融合方法和算法选择会根据应用需求、硬件配置和算法实现等因素进行决定。
追问:这些融合算法里面自带么还是自己编写再去训练,我们重点是做决策优化的。
A:Turtlebot4 机器人目前还没有集成这些算法,只有简单的二维建图导航,但是关于传感器数据融合,还是有很多开源算法的,可以尝试移植。
追问:禁用安全机制命令?
A:ros2 param set /motion_control safety_override full
追问:恢复安全机制命令?
A:ros2 param set /motion_control safety_override none
追问:“那我这个控制步骤对吗,运行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、按照控制器设置说明重新配对。