分享

空中机器人、水下机器人如何实现自动跟随?

 深蓝学院 2022-08-12 发布于北京

本文作者:bingo

关于机器人自动跟随这个问题,知乎上不少大佬从不同角度剖析过,但是大部分文章似乎默认此处的机器人指地上走的机器人,跟随的目标是运动中的人。

空中机器人和水下机器人也可以进行目标跟随,跟随的目标完全可以从人扩展到空中的目标,水下游行的目标等等。因此笔者将对这个问题稍作补充。

机器人的自动跟随核心问题是目标识别和导航两个问题。

一.目标识别

目标识别可用的技术方案很多,在可视方位内较为流行的方案是采用计算机视觉技术进行识别跟踪,如果是在可视范围之外,可选方案有雷达,GPS等等,具体方案根据需求选择。

如果是水下机器人跟踪水下目标,选用雷达较为合理;

如果跟随的是空中的目标,GPS和雷达都可行;

如果让机器人跟随的目标是形状特征较为明显的物体,可以采用计算机视觉技术;

如果是在实验室跟踪智能小车之类的可以使用无线通行技术,例如使用非常广泛的uwb室内定位。

其原理如下图,三个基站分别接收要跟踪的目标发出的信号,计算出目标与各个基站之间的距离,最后就能够确定要识别目标的位置(三个圆的公共交点),值得注意的是,三个基站只能够定位一个平面内的目标,将其原理推广到三维,最少只需四个基站就能够定位出三维空间的目标。

有些特殊的应用场景往往会使用多种识别技术,比如笔者曾经做过一个无人机自动跟随车辆的项目,在这个项目中无人机首先是利用GPS定位技术定位目标车辆的坐标,经过导航后无人机飞行到目标车辆的附近,此时无人机搭载的摄像头能够识别到目标车辆后切换到计算机视觉自动跟随目标。

类似于这种应用场景还需要解决两种目标识别技术之间的切换。以上述情景为例,当无人机飞行到计算机视觉刚好能够识别出车辆的临界距离时,由于运动的车辆和无人机处于运动状态,稍微发生位移便会导致计算机无法识别目标车辆,如下图两虚线框的交汇区域,在此区域如果处理不妥当可能会发生频繁切换识别方法的情况,导致无人机有一些奇怪的行为。

二. 导航

导航可以简化为路径规划和控制两个步骤:

路径规划就是以前一步骤得到的目标位置为终点,以机器人目前所处位置为起点,将两者用最佳连续的序列点连接起来得到的路径。

由于自动跟随的目标不是静止的,所以需要不断调整目标位置的坐标,最终得到的规划路径也是动态变化的。

路径规划算法可以总结为三类,分别是传统路径规划算法图形学路径规划算法智能仿生学路径规划算法

尽管各种路径规划算法复杂多变,但是可以发现其共同的思路几乎避不开环境建模、路径搜索和路径平滑三个步骤。

1)环境建模可以简单理解为将现实的物理环境抽象为计算机可以处理的抽象空间,实现物理空间和抽象空间的一一映射。

2)路径搜索可以理解为穷举所有可行路径,并且用相应的指标标记每条路径的代价。

3)路径平滑可以理解为根据具体要求(路径最短、耗时最短、代价最小等)在所有路径中挑选出最佳路径。

路径规划得到连续的序列点后就需要控制机器人从一个点运动到另一个点,过程的核心就是控制算法,工程应用中使用最广的依旧是经典的PID控制算法,PID控制算法的优点之一就是不需要获得控制系统的准确模型就能够通过简单的几个参数让系统的控制达到良好的控制效果,上手简单,控制器的成本低廉。

PID控制算法根据系统期望值与实际值的差值进行控制的思路不可避免地导致系统的输出存在超调,因此在一些精度要求极高的控制场合中,PID控制算法显得力不从心。

在一些控制要求较高的领域,个人感觉被称为PID2.0的自抗扰控制技术占有一席之地。当然整个控制的过程不能单独依靠控制算法来完成,执行器的优劣也决定了控制过程的优劣。

举个简单的例子:用不同的电机作为PX4固件的四旋翼无人机,其姿态控制算法都是串级PID,姿态估计和位置估计方法都保持不变,观察其姿态控制内环的阶跃响应如下图所示,显然图中上半部分控制效果更加理想。

最后结合路径规划和控制两大技术要点进行导航,本质上就是将路径规划的序列点按顺序作为控制的输入值,以下图为例,左上角为起点,右下角为终点,蓝线为路径规划确定的路线,将路线划分为多段折线,每当机器人到达下一个拐点之后,按顺序将下一个拐点坐标发送给位置控制器,最终到达终点。

如果路径规划得到的路线不是折线,而是曲线,其本质上是一样的,我们可以将曲线分割成无数份,只要每一份足够小就能够将该小段曲线看成直线。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多