硝酸厂家
免费服务热线

Free service

hotline

010-00000000
硝酸厂家
热门搜索:
行业资讯
当前位置:首页 > 行业资讯

如何使用传感器和算法实现机器人避障三《资讯》

发布时间:2020-08-17 12:02:56 阅读: 来源:硝酸厂家

2016-11-23 13:26:00来源:雷锋网

向量场直方图(VFH)

它执行过程中针对移动机器人当前周边环境创建了一个基于极坐标表示的局部地图,这个局部使用栅格图的表示方法,会被最近的一些传感器数据所更新。VFH算法产生的极坐标直方图如图所示:

图中x轴是以机器人为中心感知到的障碍物的角度,y轴表示在该方向存在障碍物的概率大小p。实际应用的过程中会根据这个直方图首先辨识出允许机器人通过的足够大的所有空隙,然后对所有这些空隙计算其代价函数,最终选择具有最低代价函数的通路通过。

代价函数受三个因素影响: 目标方向、机器人当前方向、之前选择的方向,最终生成的代价是这三个因素的加权值,通过调节不同的权重可以调整机器人的选择偏好。VFH算法也有其他的扩展和改进,比如在VFH+算法中,就考虑了机器人运动学的限制。由于实际底层运动结构的不同,机器的实际运动能力是受限的,比如汽车结构,就不能随心所欲地原地转向等。VFH+算法会考虑障碍物对机器人实际运动能力下轨迹的阻挡效应,屏蔽掉那些虽然没有被障碍物占据但由于其阻挡实际无法达到的运动轨迹。我们的E巡机器人采用的是两轮差动驱动的运动形式,运动非常灵活,实际应用较少受到这些因素的影响。

具体可以看 一下这个图示:

类似这样传统的避障方法还有很多,除此之外,还有许多其他的智能避障技术,比如神经网络、模糊逻辑等。

神经网络方法对机器人从初始位置到目标位置的整个行走路径进行训练建模,应用的时候,神经网络的输 入为之前机器人的位姿和速度以及传感器的输 入,输出期望的下一目标或运动方向。

模糊逻辑方法核心是模糊控制器,需要将专家的知识或操作人员的经验写成多条模糊逻辑语句,以此控制机器人的避障过程。 比如这样的模糊逻辑:第一条,若右前方较远处检测到障碍物,则稍向左转;第 二条,若右前方较近处检测到障碍物,则减速并向左转更多角度;等等。

避障过程中存在哪些问题

传感器失效

从原理上来讲,没有哪个传感器是完美的,比方说机器人面前是一块完全透明的玻璃,那么采用红外、激光雷达或视觉的方案,就可能因为这个光线直接穿过玻璃导致检测失败,这时候就需要超声波这样的传感器来进行障碍物的侦测。所以我们在真正应用的过程中,肯定都需要采取多种传感器的结合,对不同传感器采集到的数据进行一个交叉验证,以及信息的融合,保证机器人能够稳定可靠的工作。

除此之外也有其他模式可能导致传感器失效,比如超声波测距,一般需要超声阵列,而阵列之间的传感器如果同时工作的话,会容易互相产生干扰,传感器A发射的光波反射回来被传感器B接收,导致测量结果出现错误,但是如果按照顺序一个个工作,由于超声波传感器采样的周期相对比较长,会减慢整个采集的速度,对实时避障造成影响,这就要求从硬件的结构到算法都必须设计好,尽可能提高采样速度,减少传感器之间的串扰。

还有比如说,机器人如果需要运动的话,一般都需要电机和驱动器,它们在工作过程中都会产生电容兼容性的问题,有可能会导致传感器采集出现错误,尤其是模拟的传感器,所以在实现过程中要把电机驱动器等设备、传感器的采集部分,以及电源通信部分保持隔离,保证整个系统是能够正常工作的。

算法设计

在刚刚提到的几个算法,很多在设计的时候都并没有完善考虑到整个移动机器人本身运动学模型和动力学模型,这样的算法规划出来的轨迹有可能在运动学上是实现不了的,有可能在运动学上可以实现,但是控制起来非常困难,比如刚刚提到的如果一台机器人的底盘是汽车的结构,就不能随心所欲地原地转向,或者哪怕这个机器人是可以原地转向,但是如果一下子做一个很大的机动的话,我们的整个电机是执行不出来的。所以在设计的时候,就要优化好机器人本身的结构和控制,设计避障方案的时候,也要考虑到可行性的问题。

然后在整个算法的架构设计的时候,我们要考虑到为了避让或者是避免伤人或者伤了机器人本身,在执行工作的时候,避障是优先级比较高的任务,甚至是最高的任务,并且自身运行的优先级最高,对机器人的控制优先级也要最高,同时这个算法实现起来速度要足够快,这样才能满足我们实时性的要求。

总之,在我看来,避障在某种程度上可以看做机器人在自主导航规划的一种特殊情况,相比整体全局的导航,它对实时性和可靠性的要求更高一些,然后,局部性和动态性是它的一个特点,这是我们在设计整个机器人硬件软件架构时一定要注意的。

读者提问环节

多机协同的避障策略有哪些?

多机协同避障策略在整个SLAM方向上都还是一个在钻研的热点领域,单纯就避障来说,目前的方案是,当有两个或多个机器人协同工作的时候,每个机器人会在一个局部各自维护一个相对的动态地图,所有机器人共享一个相对静态的地图,而对于单个机器人来说,它们会各自维护一个更加动态的地图,这样当两个机器人接近一个位置时,它们会将它们维护的动态地图合并起来。

这样子有什么好处呢,比如视觉只能看到前方一个方向,这时候跟后面机器人的动态地图合并之后,就能看到前后整个局部的动态信息,然后完成避障。

多机协同的关键在于,两个局部地图之间的分享,就是它们分别在整个相对静态的全局地图上是有一小块一个窗口的位置,到这两个窗口可能融合的话,会把它们融合在一起,同时去指导两个机器人的避障。在具体实现过程中,也要考虑整个信息传输的问题,如果是自己本身的局部地图,由于都是本机的运算,速度一般都比较快,如果是两个机器人协作的话,就要考虑到传输的延时,以及带宽的问题。

避障有无标准的测试标准和指标?

目前就我所了解业界并没有什么统一的测试标准和指标,我们目前测试的时候会考虑这些指标,比如在单个障碍物或是多个障碍物,障碍物是静态的或动态的情况下避障效果如何,以及实际规划出的路径完美度如何,还有这个轨迹是否平滑,符合我们观感的效果。

当然,这个最重要的指标我觉得应该避障是否失败就是成功率的问题,要保证这个避障不管是碰到静态的或者是动态的物体,然后那个物体不管是什么材质,比如说如果是动态的人,我们穿什么样的衣服会不会对整个避障功能造成影响,另外就是不同的环境又会有什么样的影响,比如光线充足或暗淡。对于避障来说,成功率才是最为关键的。

环保墙漆

芬琳漆

芬琳芬华内墙漆环保吗

相关阅读