基于信息融合与环境感知的机器人行走避障方法与流程

文档序号:11133041阅读:1136来源:国知局
本发明属于机器人
技术领域
,特别设计一种机器人行走避障方法,可用于家用机器人控制。
背景技术
:随着科学技术的进步,人们的生活水平逐渐提高。同时,智慧家居概念的出现,促使家用机器人的发展愈发热烈。现如今,家用机器人在家庭服务、娱乐、清洁方面的应用已经非常广泛。然而要实现以上功能,不可避免的,机器人在移动过程中必须具备自主行走避障的能力。由于机器人受体型和活动环境的限制,现有机器人通常是基于已知环境地图或预设路径实现行走,甚至随机游走。这些行走方式不仅不够灵活、效率低,对机器人机身具有破坏性,而且不能保证在动态可变的环境中智能做出行走决策,因而需要的未知环境下的路径进行规划。目前,对于未知环境下的路径规划问题,常用的方法有遗传算法、人工势场法、A*算法等,其中:遗传算法需对全局环境数据多次搜索计算,搜索空间代价大;人工势场法在机器人行走过程中,通过计算环境势场矩阵判决行走方向,容易陷入局部最优;A*算法是一种静态路径的搜索方法,基于估计函数进行路径判断,算法复杂度高。同时,上述这些传统方法还存在以下共同缺点:1.机器人在行走过程中,每一步的判决结果仅考虑当前状态,忽略历史行走状态,造成状态离散化;2.机器人行走过程中,前一步的误差结果持续影响后面步骤的计算判断,使得误差累加,造成避障精度降低。技术实现要素:本发明的目的在于针对上述现有方法的不足,提出一种基于信息融合与环境感知的机器人行走避障方法,以使行走动作连贯化,降低单步误差,提高避障精度。为了实现上述目的,本发明的技术方案包括如下:(1)通过部署在机器人机身的多类型传感器,获取机器人行走环境中的多源距离信息:D0={d0,d1,...,dk,...,dn},其中dk表示第k个传感器所测距离信息,k的取值为从0到n,n为传感器个数;(2)根据多源距离信息D0,计算机器人的全局加权平均距离信息D;(3)危险环境状态识别:(3a)计算机器人的全局安全状态阈值βD和故障状态阈值βS;βD=rβS=Δtv+r其中,r表示机器人几何半径,Δt表示机器人单步迭代时间,v表示机器人行走速度;(3b)将机器人全局加权平均距离信息D与全局安全状态阈值βD进行比较,识别环境危险状态:若D<βD,则判断为危险状态,机器人停止行走,若D≥βD,则判断为安全状态,执行步骤(3c);(3c)将机器人行走方向测量距离S与故障状态阈值βS进行比较,识别行走故障状态:若S<βS,则判断为故障状态,机器人停止行走,若S≥βS,则判断为非故障状态,执行步骤(4);(4)一般环境状态识别:(4a)利用多源距离信息D0,得到沿墙壁环境状态信息e1;(4b)利用多源距离信息D0,得到地势突变环境状态信息e2;(4c)利用机器人顶部陀螺仪传感器测量信息θ,得到坡度改变环境状态信息e3;(5)计算行走避障方向:(5a)将传感器测量距离按比例划分,得到模糊避障算法所需的控制论域US与控制论域阈值集合TS;(5b)选取最小运算法函数作为隶属度函数R(d),计算多源距离信息D0与步骤(4)得到的三种环境状态信息e1,e2,e3,得到隶属度向量R0;(5c)运用重心法对隶属度向量R0解模糊,得到模糊避障算法的输出值F(t);(5d)对模糊避障算法的输出值F(t)四舍五入取整,得到机器人行走避障方向M;(6)映射行走变量:(6a)根据模糊避障算法的输出值F(t),计算机器人行走的时间比率rt:(6b)根据时间比率rt与单位驱动时间Δt0,计算机器人下一步行走的时间Tr:Tr=rtΔt0(7)驱动机器人行走:(7a)设置机器人行走速度v;(7b)将行走时间Tr、行走避障方向M、行走速度v输入机器人动力系统,驱动机器人行走。本发明与现有技术相比具有如下优点:第一,本发明基于多源信息融合的角度,对机器人的全局障碍信息进行融合处理,避免了行走过程中信息独立处理导致的对全局状态未知的缺陷;第二,本发明分析了环境状态信息,可识别出危险状态并启动应急停止,并通过识别沿墙壁、坡度变化、地势突变这些环境状态,克服了现有技术避障环境单一的缺点;第三,本发明对模糊避障算法的输出进行时间比率计算,将模糊论域与机器人动力系统控制变量有效的联系起来,克服了模糊推理的结果与机器人动力系统控制参量不适配的缺点,提高了机器人行走的灵活性和精确性;仿真结果表明,本发明的数据量和实践复杂度均能满足机器人实时性要求,同时能高效、准确的解决了机器人避障行走的问题。附图说明图1为本发明的实现总流程图;图2为本发明中识别环境状态的子流程图;图3为本发明中进行模糊避障的子流程图;图4为机器人的传感器布局图;图5为用本发明方法与传统方法进行的机器人避障行走的路线对比图。具体实施方法下面结合附图对本发明作进一步详细描述。参附图1,本发明的实现步骤如下。步骤1,设置传感器。通过部署在机器人机身不同位置的多类型传感器获得距离信息。常用的测距传感器包括光学类传感器和声学类传感器,本发明选用红外测距传感器和超声波测距传感器。参照图4,本发明根据测距需求,在机器人身上设置如下传感器:分别在机器人机身前侧设置左方位超声波传感器、正方位设置超声波传感器、右方位设置超声波传感器,左方位设置红外传感器,右方位设置红外传感器,用于测量机器人前侧各个角度距离信号;在机器人机身的前侧向下设有高度超声波传感器,用于感知机器人行驶前方地势高度信号,即机器人底盘距离地面的高度;在机器人机身的两侧分别设置左侧超声波传感器、右侧设置超声波传感器,用于测量机器人两侧的距离信息;在机器人机身上侧,水平安装陀螺仪传感器,用于测量行走过程中机器人重心在三维空间的角度改变量。步骤2,多源信息融合测距。2.1)利用步骤1中部署在机器人机身的多类型传感器,获取机器人行走环境中的多源距离信息D0={d0,d1,...,dk,...,dn},其中dk表示第k个传感器所测距离信息,k的取值为从0到n,n为传感器个数;2.2)在时刻T,用超声波传感器测量公式de测量得到左方位、正方位、右方位以及机器人机身两侧的距离信信息为{133.77,140.71,13.71,4.81,114.39,16.30},其中式中,te表示超声波反射高频信号截止时刻,ts表示超声波反射高频信号开始时刻,dv代表了超声波在空气介质中的传播速度,取dv=3.4*102(m/s);2.3)在时刻T,用红外传感器测量公式:dr=SId0测量得到左方位、右方位的信息为{5,5},其中:式中,d0表示红外传感器所测信息,dth表示预设红外传感器测量距离的激活阈值,本发明中设置dth=5cm,SI表示符号函数。2.4)综合步骤(2.2)和步骤(2.3)中这两种传感器所测距离信息,得到T时刻多源距离信息D0:D0={133.77,140.71,13.71,4.81,5,5,114.39,16.30}其中,距离单位为厘米;2.5)根据多源距离信息D0,计算得到全局加权平均距离信息D;其中,wi为第i个传感器的权重,di为第i个传感器所测距离信息,i的取值为从0到n,n=8为距离信息个数。参照图2,对下属步骤3至步骤6描述如下;步骤3,危险环境状态识别。机器人行走所处环境状态不断变化,为了保护机器人机身安全,提高行走避障的准确性,本发明在机器人行走每一步,对当前环境状态的危险性进行识别。3.1)计算机器人的全局安全状态阈值βD和故障状态阈值βS;βD=rβS=Δtv+r其中,本实施例设置r=9.5cm表示机器人几何半径,Δt=1.5S表示机器人单步迭代时间,v=10cm/s表示机器人行走速度,计算得到βD=9.5,βS=24.5;3.2)将机器人全局加权平均距离信息D与全局安全状态阈值βD进行比较,识别环境危险状态:此时,D=53.21>βD=9.5,所以判断为安全状态,执行步骤(3.3);3.3)将机器人行走方向测量距离S与故障状态阈值βS进行比较,识别行走故障状态:此时S=140.71>βS=24.5,所以判断为非故障状态,执行步骤4。步骤4,沿墙壁走环境状态识别。沿墙壁走环境状态是机器人行走过程中常见的环境状态之一。排除危险环境状态后,若准确识别机器人所处环境,并将环境类型作为后续模糊避障步骤的输入,提高了避障行走的准确性。4.1)T时刻及其之前的p=4个时刻,测量信息如下表:沿墙壁走是一个连续时间段的运动状态,仅从一个时间点无法很好的判断,因此本实例用上述5个时刻来评估机器人的行走环境,这样不仅可以判断出连续时刻的环境状态,也可以在此基础上判断下一次行走方向。为了识别这几个时刻机器人所处的环境,分别去除机器人右侧身方向测量距离信息l1,l2,...,li,...,lj的最小距离lmin=15.77和最大距离lmax=16.73,分别计算外向平均波动加权距离LN和内向平均波动加权距离LM:其中,li表示第i个时刻侧身方向距离信息,i的取值为从1到j,j为测量时间次数;ρn=0.3为外向波动系数,用于表示机器人沿墙壁走环境中距离墙壁最远的状态参数,ρm=1.5为内向波动系数,用于表示机器人沿墙壁走环境中距离墙壁最近的状态参数;计算得到在T时刻,LN=4.893,LM=24.1054.2)将最小距离lmin与外向平均波动加权距离LN比较:若lmin<LN,则设置e1=0,用于表示机器人处于非沿墙壁走环境状态,若lmin≥LN,执行步骤(4.3),本实施例中lmin=15.77>LN=4.893,执行步骤(4.3);4.3)将最大距离lmax与内向平均波动加权距离LM比较,若lmax>LM,则设置e1=0,若lmax≤LM,则设置e1=1,用于表示机器人处于沿墙壁走环境状态,本实施例中,lmax=16.73<LM=24.105,因此设置e1=1,用于表示机器人处于沿右侧墙壁走的环境状态。步骤5,地势突变环境状态识别。地势突变环境状态,是一种突发不可控的环境状态;机器人在这种环境中以保护机身安全为主,需要实时判断环境高度改变量;同时,通过高度波动系数衡量机器人机身与底盘承受高度变化的能力,达到安全避障行走的目的。5.1)在T时刻及其之前的4个时刻,通过机器人前侧向下的超声波传感器,测得机器人底盘高度距离信息(h(T),h(T-1),h(T-2),h(T-3),h(T-4))=(4.81,4.45,4.44,3.98),计算得到机器人在T时刻的底盘高度距离改变量Δh:5.2)设置最大高度波动系数μd=13cm,用于表示机器人底盘距离地面的最深高度距离状态参数,设置最小高度波动系数μu=-2cm,用于表示机器人底盘距离地面的最浅高度距离状态参数;5.3)将底盘高度距离改变量Δh与最大高度波动系数μd进行比较:若Δh≥μd,则设置e2=-1,用于表示T时刻机器人处于地势突降环境状态,若Δh<μd,执行步骤(5.4),本实施例中,Δh=0.48<μd=13,得出机器人行走环境的地势没有突然的地面下陷、下行台阶、垂直陡坡等障碍情况;同时计算当机器人底盘高度为h=5.7cm时,可承受的最大下降距离为:Δhmax=μd-h=7.7cm;5.4)将底盘高度距离改变量Δh与最小高度波动系数μu比较:若-Δh<μu,则设置e2=1,用于表示T时刻机器人处于地势突升环境状态,若-Δh>μu,则设置e2=0,用于表示T时刻机器人处于非地势突变环境状态;本实施例中,-Δh=-0.48>μu=-2,因此设置e2=0,用于表示T时刻机器人处于非地势突变环境状态,说明机器人行走环境的地址没有突然的高台、上行台阶、较高障碍物等情况;同时本发明的机器人底盘可以承受的最大上升距离为:Δhmin=2cm。步骤6,坡度改变环境状态识别。机器人行走的环境状态,可能存在坡度变化情况,存在不安全因素,比如,当遇到坡度较大的环境,机器人行走方向的准确性和行走速度的大小都会对机器人安全造成一定影响,需要谨慎判断,达到安全避障行走的目的。6.1)在T时刻,通过陀螺仪传感器获得机器人在三维空间的角度改变量:{θx,θy,θz}={14.36°,5°,-18.76°}其中,θx代表空间中横轴的角度改变量,即机器人在行走过程中左右摇摆幅度的大小;θy代表空间中纵轴的角度改变量,即机器人在行走过程中左右转向幅度的大小,与地面坡度无关;θz代表空间中竖轴的角度改变量,即机器人在行走环境中上下摇摆幅度的大小;6.2)分析可得θx与θz可以直接反应行走环境的地面起伏情况,因此重点关注这两个角度改变量,通过比较θx与θz,得到机器人当前时刻因为运动而发生的最大角度改变量:θmax=max{|θx|,|θz|}=18.76°6.3)设置机器人轴向旋转角度安全阈值θr=30°,用于表示机器人行走环境地势坡度明显与地势平坦的一个分界条件;6.4)将机器人当前时刻最大角度改变量θmax与轴向旋转角度安全阈值θr比较:若θmax<θr,则设置e3=0,用于表示机器人处于非坡度改变环境状态;若θmax≥θr,则设置e3=sin(θmax),用于表示坡度改变的环境状态。本实施例中,θmax=18.76°<θr=30°,因此设置e3=0,表示机器人处于非坡度改变环境状态。步骤7,模糊计算行走避障方向。参照图3,本步骤的具体实现如下:7.1)将传感器测量距离按比例划分,得到模糊避障算法所需的控制论域US与控制论域阈值集合TS:常用的划分方法有等比划分、对称划分和不等比划分,本发明根据机器人行走条件对测量距离进行不等比划分,首先将超声波传感器测量灵敏度较高的距离范围划分为近,中,远三个类别的距离集合,本实例中把距离集合[0,40]归为“近”,把距离集合归为“中”,把距离集合归为“远”,得到控制论域US和论域阈值集合TS:US=(0,+∞)7.2)设定隶属度函数R(d):常用的隶属度函数有最小运算法函数、积运算法函数、最大最小运算法函数,本发明中选取最小运算法函数,并根据步骤(7.1)得到的论域阈值集合TS调整变量区间,得到设定隶属度函数R(d),本实施例中,把多源距离信息D0={133.77,140.71,13.71,4.81,5,5,114.39,16.30}与三种环境状态信息e1=1,e2=0,e3=0代入模糊避障算法,计算得到隶属度向量R0:R0={1,1,0.7715}7.3)对隶属度向量R0解模糊,得到模糊避障算法的输出值F(t)常用的解模糊方法有重心法、高度法、面积法等,本实例选用重心法对隶属度向量R0解模糊,求解得到模糊避障算法的输出值F(t)=2.74;7.4)确定机器人行走模式M:对模糊避障算法的输出值F(t)四舍五入取整,得到机器人行走避障模式M;本实例中,预设行走模式与行走方向的对应关系为:行走模式M123行走方向向左行走正直向前行走向右行走对模糊避障算法的输出值F(t)取整操作,得到M=3,即机器人行走下一步方向向右。对应不同多源距离信息D0与所处环境类型,运用上述步骤可得到不同取值的模糊避障算法输出F(t),进而得到不同的M取值,比如M=1或M=2,使得机器人下一步行走执行不同的方式。上述行走模式的类别、行走方向的类别以及行走模式与行走方向的对应关系只是实验中的一种情况,根据机器人驱动模式、模糊论域划分的方法不同,行走模式还有其他划分方式,行走方向也有更细致划分情况,两者的对应关系有多种方式,不限于上述情况。步骤8,映射行走变量。虽然模糊避障算法的输出与模糊论域的尺度一致,但是不能直接作为机器人控制系统的输入,两者不仅变量单位不同,变量含义也不相同;需要通过尺度变换计算,使模糊避障算法的输出转换为适应机器人动力系统的控制变量。8.1)计算时间比率rt:根据模糊避障算法的输出值F(t),计算机器人行走的时间比率rt:本实例中,模糊避障算法的输出值F(t)=2.74,计算得到时间比率rt=0.26;8.2)根据时间比率rt与预设单位驱动时间Δt0=2S,计算机器人下一步行走的时间Tr:Tr=rtΔt0=0.52s时间比率rt表示在本次避障的判断结果中,机器人行走的时间占预设单位驱动时间的比率大小;可见,每一次避障得到的行走时间都不相同,因此机器人每次行走的距离也不相同;机器人通过避障行走方法,根据环境类型和距离信息,计算得到下一步行走方向,与传统固定步长时间的方法相比较,本发明的避障行走方法更加灵活。步骤9,驱动机器人行走。将行走时间Tr=0.52s、行走避障方向M=3、行走速度v=10cm/s输入机器人动力系统,驱动机器人行走一步。返回步骤2,通过测量多源距离信息、识别环境类型与模糊避障方向判断等步骤,循环执行驱动机器人行走。将本发明的机器人避障行走方法与传统条件避障方法的效果进行对比,结果如附图5。其中,附图5(a)展示了传统条件避障方法的机器人行走轨迹,附图5(b)展示了本发明中基于信息融合与环境感知的机器人行走避障方法的机器人行走轨迹。通过附图5可以得出,本发明的避障行走方法,每一步行走方向与步长灵活多变,同时提高了行走的安全性。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1