发明内容
本发明的发明人发现上述现有技术中存在如下问题:传统的路径规划方法需要根据机器人当前位置和速度进行复杂的解算来预先规划纠偏路径,造成了控制响应速度慢,且对于环境、路面等外界因素造成的影响的自适应能力差。针对上述问题中的至少一个问题,本发明人提出了解决方案。
本发明的一个目的是提供一种机器人运动的控制技术方案,能够提高机器人运动控制的自适应能力和响应速度。
根据本发明的一个实施例,提供了一种机器人运动的控制方法,包括:分别在机器人当前时刻的行进角度偏差和位置偏差的论域内,对所述行进角度偏差和所述位置偏差进行模糊化处理,得到行进角度偏差的模糊值和位置偏差的模糊值;对所述行进角度偏差的模糊值和所述位置偏差的模糊值进行模糊推理,得到所述机器人的运动修正量的模糊值;在所述运动修正量的论域内,对所述运动修正量的模糊值进行解模糊处理,得到所述运动修正量;其中,所述控制方法还包括根据当前时刻的所述行进角度偏差和所述位置偏差,对所述行进角度偏差的论域和所述位置偏差的论域进行实时调整。
可选地,根据所述机器人当前时刻的行进速度,对所述运动修正量的论域进行实时调整。
可选地,根据当前时刻的所述行进角度偏差θ和所述位置偏差y确定第一论域伸缩因子为
α=max{(|y|/|E|)τ,(|θ|/|P|)τ}+ε
其中τ为(0,1]之间的常数,ε为[0.08,0.12]之间的常数,上一时刻的行进角度偏差和位置偏差的论域分别为[-P,P]和[-E,E];将当前时刻的所述行进角度偏差θ的论域和所述位置偏差y的论域分别调整为[-αP,αP]和[-αE,αE]。
可选地,根据所述机器人当前时刻的行进速度v确定第二论域伸缩因子为
其中βt为(0,1)之间的常数,vt为预设的爬行速度;将当前时刻的所述运动修正量的论域从上一时刻的运动修正量的论域[-T,T]调整为[-βT,βT]。
可选地,预设的所述爬行速度vt为[32,48]mm/s之间的常数。
可选地,模糊值为正方向大偏差、正方向中偏差、正方向小偏差、无偏差、反方向大偏差、反方向中偏差或反方向小偏差。
根据本发明的另一个实施例,提供一种机器人运动的控制装置,包括:模糊化处理组件,用于分别在机器人当前时刻的行进角度偏差和位置偏差的论域内,对所述行进角度偏差和所述位置偏差进行模糊化处理,得到行进角度偏差的模糊值和位置偏差的模糊值;模糊推理组件,用于对所述行进角度偏差的模糊值和所述位置偏差的模糊值进行模糊推理,得到所述机器人的运动修正量的模糊值;解模糊处理组件,用于在所述运动修正量的论域内,对所述运动修正量的模糊值进行解模糊处理,得到所述运动修正量;其中,所述模糊化处理组件还用于根据当前时刻的所述行进角度偏差和所述位置偏差,对所述行进角度偏差的论域和所述位置偏差的论域进行实时调整。
可选地,所述解模糊处理组件还用于根据所述机器人当前时刻的行进速度,对所述运动修正量的论域进行实时调整。
可选地,所述模糊化处理组件根据当前时刻的所述行进角度偏差θ和所述位置偏差y确定第一论域伸缩因子为
α=max{(|y|/|E|)τ,(|θ|/|P|)τ}+ε
其中τ为(0,1]之间的常数,ε为[0.08,0.12]之间的常数,上一时刻的行进角度偏差和位置偏差的论域分别为[-P,P]和[-E,E],并将当前时刻的所述行进角度偏差θ的论域和所述位置偏差y的论域分别调整为[-αP,αP]和[-αE,αE]。
可选地,所述解模糊处理组件,根据所述机器人当前时刻的行进速度v确定第二论域伸缩因子为
其中βt为(0,1)之间的常数,vt为预设的爬行速度,并将当前时刻的所述运动修正量的论域从上一时刻的运动修正量的论域[-T,T]调整为[-βT,βT]。
可选地,预设的所述爬行速度vt为[32,48]mm/s之间的常数。
可选地,所述模糊值为正方向大偏差、正方向中偏差、正方向小偏差、无偏差、反方向大偏差、反方向中偏差或反方向小偏差。
根据本发明的又一个实施例,提供一种机器人运动的控制装置,包括:存储器以及耦接至所述存储器的处理器,所述处理器被配置为基于存储在所述存储器设备中的指令,执行上述任一个实施例所述的机器人运动的控制方法。
根据本发明的再一个实施例,提供一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述任一个实施例所述的机器人运动的控制方法。
本发明的一个优点在于,根据模糊控制理论,仅需要进行比较简洁的解算过程即可实现对机器人的运动轨迹进行纠偏,提高了控制响应速度;根据机器人当前位置和速度,通过实时调整控制输入量和输出量的模糊集合论域,提高了机器人运动控制的自适应性。
具体实施方式
现在将参照附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
图1示出本发明的机器人运动的控制方法的一个实施例的流程图。
如图1所示,在步骤101中,根据当前时刻的行进角度偏差和位置偏差,对行进角度偏差的论域和位置偏差的论域进行实时调整。
在一个实施例中,如图2所示,以机器人20的理想前进方向为X轴,以机器人20在X轴垂直方向上的位置坐标为Y轴。当前时刻机器人20的实际位置为点M(x,y),而理想位置应该是坐标系原点O(0,0),机器人20的速度v与X轴的夹角为θ,其中当前时刻的理想位置可以由机器人20上的扫描设备扫描地面上铺设的标记来确定,标记可以是间距为1米的二维码。因此,在当前时刻机器人20的位移偏差为y,行进角度偏差为θ,可以设定角度偏差顺时针为正,逆时针为负。
可以根据当前时刻的行进角度偏差θ和位置偏差y确定第一论域伸缩因子为α=max{(|y|/|E|)τ,(|θ|/|P|)τ}+ε,其中τ为(0,1]之间的常数。这里的ε是为了保证调整后的论域不会无限接近于0,可以设置为[0.08,0.12]之间的常数,也可以根据实际情况设置为如0.15、0.2等比较小的不为0的正常数。
分别将上一时刻的行进角度偏差和位置偏差的论域[-P,P]和[-E,E]调整为[-αP,αP]和[-αE,αE]。例如,在机器人的空载速度为2m/s的情况下,为了保证机器人不脱轨,可以设置行进角度偏差的初始论域为[-1°,1°],位置偏差的初始论域为[-20mm,20mm],在机器人开始运动的第一个时刻,可以根据第一时刻计算得出的伸缩因子对上述初始论域进行调整。
在步骤102中,分别在机器人当前时刻的行进角度偏差和位置偏差的论域内,对行进角度偏差和位置偏差进行模糊化处理,得到行进角度偏差的模糊值和位置偏差的模糊值。
在一个实施例中,可以设定模糊值为正方向大偏差PB、正方向中偏差PM、正方向小偏差PS、无偏差ZE、反方向大偏差NB、反方向中偏差NM或反方向小偏差NS。可以根据实际情况为每个模糊值设定隶属函数,隶属函数优选三角形隶属函数,也可以采用梯形隶属函数。将θ和y分别带入上述各个隶属函数中,计算出对应每一个模糊值的隶属度,然后通过对比θ和y对于各模糊值的隶属度的大小来确定θ和y应该模糊化为哪个模糊值。
在步骤103中,对行进角度偏差的模糊值和位置偏差的模糊值进行模糊推理,得到机器人的运动修正量的模糊值。
在一个实施例中,如图2所示,机器人20具有两个驱动轮21和22,可以设定驱动轮21和驱动轮22的运动修正量互为相反数,例如,驱动轮21的运动修正量为z,驱动轮22的运动修正量为-z。纠偏时按照各自的修正量对两个驱动轮21和22同时进行控制。驱动轮21的运动修正量z与θ和y的模糊推理对应关系可以如下表所示:
驱动轮21的模糊推理表
模糊推理对应关系可以根据实际情况进行调整。
在步骤104中,在运动修正量的论域内,对运动修正量的模糊值进行解模糊处理,得到运动修正量。
在一个实施例中,根据所述机器人当前时刻的行进速度v,对运动修正量的论域进行实时调整。例如,根据机器人当前时刻的行进速度v确定第二论域伸缩因子为其中βt为(0,1)之间的常数,vt为预设的爬行速度;将当前时刻的运动修正量的论域从上一时刻的运动修正量的论域[-T,T]调整为[-βT,βT]。爬行速度vt是预设的在机器人接近目标位置时较慢的机器人行进速度,以避免机器人来不及刹车或调整而超过目标位置的情况发生。例如,根据机器人的类型和当时的路况,爬行速度可以为[32,48]mm/s之间的常数。例如,在二维码间距为1米,机器人的空载速度为2m/s的情况下,可以设定运动修正量的初始论域为[-30mm/s,30mm/s],在机器人运行的第一个时刻可以通过伸缩因子为β对初始论域进行调整。
上述实施例中,通过模糊控制提高了对机器人控制的响应速度;通过实时调整模糊控制输入和输出量的模糊集合论域,提高了对机器人运行轨迹的纠偏自适应能力;采用同一控制量的相反数,对机器人两个驱动轮同时进行控制,克服了由于对每个驱动轮分别进行控制而产生的不协调导致的控制误差问题。
图3示出本发明的机器人运动的控制装置的一个实施例的结构图。
如图3所示,该装置包括:模糊化处理组件31、模糊推理组件32和解模糊处理组件33。
模糊化处理组件31分别在机器人当前时刻的行进角度偏差和位置偏差的论域内,对行进角度偏差和位置偏差进行模糊化处理,得到行进角度偏差的模糊值和位置偏差的模糊值。模糊化处理组件31还可以根据当前时刻的行进角度偏差和位置偏差,对行进角度偏差的论域和位置偏差的论域进行实时调整。
例如,模糊化处理组件31可以通过机器人上安装的位置传感器来获取机器人的实时位置信息。位置传感器可以是电机光码盘,模糊化处理组件31通过机器人两个驱动轮的电机光码盘来计算机器人的实时位置和行进方向,从而确定行进角度偏差和位置偏差。
在一个实施例中,模糊化处理组件31根据当前时刻的行进角度偏差θ和位置偏差y确定第一论域伸缩因子为α=max{(|y|/|E|)τ,(|θ|/|P|)τ}+ε,其中τ为(0,1]之间的常数,ε为[0.08,0.12]之间的常数,上一时刻的行进角度偏差和位置偏差的论域分别为[-P,P]和[-E,E],并将当前时刻的行进角度偏差θ的论域和位置偏差y的论域分别调整为[-αP,αP]和[-αE,αE]。
模糊推理组件32对行进角度偏差的模糊值和位置偏差的模糊值进行模糊推理,得到机器人的运动修正量的模糊值。
解模糊处理组件33在运动修正量的论域内,对运动修正量的模糊值进行解模糊处理,得到运动修正量。
例如,如图2所示,机器人20具有由两个电机分别驱动的两个驱动轮21和22。可以采用差速驱动方式对驱动轮21和22进行驱动,即两个电机同向同速旋转时,机器人直线前进和后退,两个电机反向同速旋转时,机器人原地转向。在这种驱动方式下,驱动轮21和22的运动修正量互为相反数。
在一个实施例中,解模糊处理组件33根据机器人当前时刻的行进速度,对运动修正量的论域进行实时调整。例如,解模糊处理组件33根据机器人当前时刻的行进速度v确定第二论域伸缩因子为其中βt为(0,1)之间的常数,vt为预设的爬行速度,并将当前时刻的运动修正量的论域从上一时刻的运动修正量的论域[-T,T]调整为[-βT,βT]。
上述实施例中,模糊化处理组件和解模糊处理组件可以根据实际情况实时调整模糊集合论域,能够在负载变化、路面条件变化等不同的工况环境下对机器人进行纠偏,从而增强了自适应能力,提高了控制量的精确程度,降低了控制响应时间。
图4示出本发明的机器人运动的控制装置的另一个实施例的结构图。
如图4所示,该实施例的装置40包括:存储器41以及耦接至该存储器41的处理器42,处理器42被配置为基于存储在存储器41中的指令,执行本发明中任意一个实施例中的机器人运动的控制方法。
其中,存储器41例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(Boot Loader)、数据库以及其他程序等。
本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
至此,已经详细描述了根据本发明的机器人运动的控制方法和装置、计算机可读存储介质。为了避免遮蔽本发明的构思,没有描述本领域所公知的一些细节。本领域技术人员根据上面的描述,完全可以明白如何实施这里公开的技术方案。
可能以许多方式来实现本发明的方法和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。
虽然已经通过示例对本发明的一些特定实施例进行了详细说明,但是本领域的技术人员应该理解,以上示例仅是为了进行说明,而不是为了限制本发明的范围。本领域的技术人员应该理解,可在不脱离本发明的范围和精神的情况下,对以上实施例进行修改。本发明的范围由所附权利要求来限定。