小车自动避障及路径规划
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第3章系统总体结构及工作原理
该系统主要以超声波测距为基本测距原理,并在相应的硬件和软件的支持下,达到机器人避障的效果。
机器人总体硬件设计
传感器的分布要求
为了全方位检测障物的分布状况,并及时为机器人系统提供全面的数据,可将所需的八个传感器均匀排列在机器人周围,相邻每对传感器互成45度角。为了避免相互干扰,八个传感器以程序运行周期为周期,进行循环测距。传感器排列示意图如下:
图传感器分布图
图硬件设计总体框架图
上图为支持机器人运行实用程序的硬件部分的总体设计框架图,由负责相关任务的同学提供。在超声波信号输入单片机以后,由存储在单片机中的主程序调用避障子程序,根据输入信号执行避障指令,并使相关数据返回主程序,转而提供给电机和LED显示器的驱动程序使用,最后,由电机执行转向指令,结果则显示在LED显示器上。
图软件总体框架图
由上图可知,本文作者负责的超声波避障程序为软件总体设计中的子程序部分。在主程序运行过程中,若调用超声波避障程序,机器人在自行轨迹规划后,将程序处理所得数据送给电机处理成立程序,控制电机动作。具体的避障程序设计将在第4章进行。
超声波测距原理
测距原理:超声波是指频率高于20KHz的机械波。为了以超声波作为检测手段,必须产生超生波和接收超声波。完成这种功能的装置就是超声波传感器,习惯上称为超声波换能器或超声波探头。超声波传感器有发送器和接收器,但一个超声波传感器也可具有发送和接收声波的双重作用。超声波传感器是利用压电效应的原理将电能和超声波相互转化即在发射超声波的时候,将电能转换,发射超声波;而在收到回波的时候,则将超声振动转换成电信号。[8]超声波测距的原理一般采用渡越时间法TOF(time of flight)。首先测出超声波从发射到遇到障碍物返回所经历的时间,再乘以超声波的速度就得到二倍的声源与障碍物之间的距离,即:[8]
D=ct/2
其中D为传感器与障碍物之间的距离,以m计,c为超声波速度,这里以340m/s计,t为超声波从发送到接收的总时间,以s计。据此原理可以用超声波传感器测得的距离为避障程序提供所需的数据。[8]
第4章轨迹规划算法的实现方案
轨迹规划算法的层次化设计
根据上述材料分析,可以将机器人轨迹规划算法设计分为基础控制层、行为控制层和坐标计算层,三个层次进行。
基础控制层设计
基础控制层可定义为基本行为层,这层算法的任务是寻找目标点,并确保机器人可以顺利到达指定目标位。在确定目的地位置的情况下,为了达到上述目的,计算机必须对机器人的方位进行时实计算。应用人工势场法原理,可以将目标点设为引力极,牵引机器人运动。对此动作建立相应的模型,可以使用建立平面坐标作为虚拟势场的方法来给机器人定义方位,将机器人关于目标点的时实偏角作为虚拟引力方向,以确定机器人下一步所需转过的角度,并时实检测,是否已到达目的地,若已到达,则可认为虚拟引力此刻为0,并发出信号控制程序终止运行总体程序。
由此,可确定基础控制层所需的各参数:
(1)
机器人的时实坐标x, y 值,由专门的坐标计算层提供,为了提高精确度,可以采用厘米为单位制。 (2)
机器人的速度v ,测量后设为定值使用。 (3)
周期T ,直接设置为定值使用。 (4)
偏转角de ,可通过机器人与横坐标之间的夹角pe ,减去机器人到目标点连线与横坐标的夹角E 得到。 (5) 终止信号last 值先置为0,当到达目的地时,将其置为1。
基础控制层程序流程图如下:
图 基本控制层程序流程图 行为控制层
行为控制层是比基本控制层更复杂,更具有决定权的层次。它的存在决定了机器人智能避障行为的可行性,是相当重要的算法层。其主要任务是让机器人根据超声波传感器采集的距离信息判断是否该进行避障行为,且给出避障的转角值,及转向。这些都以左右综合距离的大小决定,当左边综合距离大于友边综合距离时,可认为左边的斥力值大与右边斥力值,机器人左转,反之,右转。当前方综合距离小于设定的最小允许接近距离,而左右综合距离又相等
时,则需要设置专门的转角,对机器人施行强制性转角动作。
据此,可将各控制变量之间的关系以数学公式的形式列出,并做为“人工势场法”的基本数学模型被运用于程序流程图设计。
设声纳Si的输出为di,转角de和速度v表示控制层行为的输出,其中de 表示机器人下一步的运动方向,v表示机器人下一步运动的速度。那么,基于势场的控制行为可以表示如下。
de = me L de = de0 R>=L de = -de0 L>R 上式中的L表示机器人左边障碍物的迫近程度,根据图:L 为第1号到第3号传感器返回距离值的倒数和;R表示机器人右边障碍物的迫近程度,根据图:R 为第5号到第7号传感器返回距离值的倒数和。Mmin为障碍物的最小迫近程度值,相当于第L组(或第R组)超声波传感器最大探索范围的倒数和。当左右迫近程度的值都小于最小迫近程度值时,可简单认为机器人周围无障碍物,机器人按基础控制层执行程序,其中的me表示机器人要到达目的地需要转过的角度。de0表示机器人执行行为控制层程序时,所需转动的角度大小,一般可设为定值。 以上述方案为基础,为了提高机器人的避障能力,还可对设置机器人的前方迫近程度值,因为机器人的反转是以转角180度来实现的,而非后退,所以,后方迫近程度值暂时无需设置。 de = de0 F>Mmax F表示机器人前方距离值障碍物的迫近程度,根据图:F 为第4号传感器返回距离值的倒数,Mmax就是用于判断障碍物是否已经离机器人很近,假设机器人的最大速度为v,每两步之间的时间间隔为t,那么,为了确保机器人不会与障碍物碰撞,Mmax可以表示为速度v和间隔时间t乘积的倒数。当F值大于Mmax值时,表示前方距离障碍物很近了,需要进行避障处理了。 行为控制层程序流程图如下: