ROS2 反应式行为:基于 VFF 算法的避障实现与测试
1. 反应式行为概述
反应式行为将感知与行动紧密耦合,无需中间抽象表示。通过简单的反应式行为,在高层的激活或抑制下,可创建相对复杂的行为。本文聚焦于使用不同资源的反应式行为,以提升对 ROS2 的认识。
2. 基于 VFF 算法的避障行为
2.1 VFF 算法原理
VFF(Virtual Force Field)算法使用三个 2D 向量计算控制速度:
- 吸引力向量 :始终指向前方,因为机器人在无障碍物时希望直线移动。
- 排斥力向量 :根据激光传感器读数计算,离机器人最近的障碍物产生的排斥力向量与距离成反比。
- 结果向量 :吸引力向量和排斥力向量之和,用于计算控制速度。线速度取决于结果向量的模,转弯角度取决于结果向量的角度。
2.2 计算图
计算图中有一个单一节点,其主要元素和特征如下:
- 订阅感知信息的消息主题,并发布到速度消息主题,作为主要输入和输出。
- 利用 ROS2 的调试工具,如 /rosout 和机器人的 LED 进行调试。
- 添加调试主题 /vff_debug ,发布可视化标记以可视化 VFF 的不同向量。
- 节点内部使用定时器进行迭代执行,控制逻辑以 20 Hz 运行。
graph LR
cla
超级会员免费看
订阅专栏 解锁全文
5664

被折叠的 条评论
为什么被折叠?



