发明内容
本申请实施例提供了一种机器人自动控制方法、装置、设备及计算机可读存储介质,解决了现有的机器人作业方式自动化程度低和作业效率低下的技术问题。
有鉴于此,本申请第一方面提供了一种机器人自动控制方法,包括:
101、控制机械臂末端按生成的运动路径移动,并实时检测是否接收到操控指令,若否,执行步骤102,若是,执行步骤103;
102、控制所述机械臂末端按所述运动路径继续移动,直至所述机械臂末端到达所述运动路径的终点;
103、计算所述移动路径的当前路径指令与所述操控指令的改变量,将所述改变量与所述当前路径指令叠加,生成新的运动控制指令和新运动路径,使得所述机械臂末端根据所述运动控制指令和所述新运动路径移动,直至所述机械臂末端到达所述新运动路径的终点,所述改变量包括速度改变量、位姿改变量和加速度改变量。
优选地,所述控制机械臂按生成的运动路径移动,具体包括:
控制机械臂末端根据非线性反馈控制规律,按生成的运动路径移动,所述非线性反馈控制规律为:
其中,q为机械臂关节角度矢量,D为机械臂惯性矩阵,
为向心力和科氏力项,G(q)为重力项,τ为关节力矩矢量,J为雅可比矩阵,K
v为位置控制增益,K
p为速度控制增益,e(s)为基于路径坐标定义的位置误差,
为基于路径坐标定义的速度误差,
为机械臂关节速度矢量,
为雅可比矩阵自变量的一阶求导,
为操控指令的加速度指令。
优选地,所述计算所述移动路径的当前路径指令与所述操控指令的改变量,具体包括:
计算所述移动路径的当前路径指令与所述操控指令的空间矢量夹角α、所述操控指令的指令方向上的投影
和所述指令方向的法线方向上的投影
根据预置公式计算速度改变量
对所述速度改变量进行积分运算,得到位姿改变量,并对所述速度改变量进行求导运算,得到加速度改变量,所述预置公式为:
其中,
为速度改变量,
为当前路径的速度指令,
为操控指令的速度指令。
优选地,所述位置坐标和所述姿态坐标的向量表示为:
Y=[x,y,z,O,A,T],
其中,x,y,z,为机械臂末端在全局坐标系下的位置坐标,O,A,T,分别为x,y,z三个方向上的姿态角度。
优选地,步骤103之后,还包括:
104、通过所述机械臂末端控制作业工具动作,完成电路系统的检测和/或维修作业。
优选地,步骤101之前,还包括:
100、获取目标物在全局坐标系中的三维空间坐标,根据所述三维空间坐标,以避障和最短作业路径为原则,生成所述机械臂末端的运动路径,其中,所述目标物包括:机械臂末端、作业目标和障碍物,所述三维空间坐标包括:位置坐标和姿态坐标。
优选地,步骤100之前,还包括:
001、以机器人基座中心为全局坐标系原点,建立相对于目标物静止的全局坐标系。
本申请第二方面提供一种机器人自动控制装置,包括:
控制模块,用于控制机械臂末端按生成的运动路径移动,并实时检测是否接收到操控指令,若否,触发第一移动模块,若是,触发第二移动模块;
所述第一移动模块,用于控制所述机械臂末端按所述运动路径继续移动,直至所述机械臂末端到达所述运动路径的终点;
所述第二移动模块,用于计算所述移动路径的当前路径指令与所述操控指令的改变量,将所述改变量与所述当前路径指令叠加,生成新的运动控制指令和新运动路径,使得所述机械臂末端根据所述运动控制指令和所述新运动路径移动,直至所述机械臂末端到达所述新运动路径的终点,所述改变量包括速度改变量、位姿改变量和加速度改变量。
本申请第三方面提供一种机器人自动控制设备,所述设备包括处理器以及存储器:
所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
所述处理器用于根据所述程序代码中的指令执行前述的任一项所述的机器人自动控制方法。
本申请第四方面提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行前述的任一项所述的机器人自动控制方法。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例中,提供了一种机器人自动控制方法,包括:控制机械臂末端按生成的运动路径移动,并实时检测是否接收到操控指令,若否,控制机械臂末端按运动路径继续移动,直至机械臂末端到达运动路径的终点,若是,计算移动路径的当前路径指令与操控指令的改变量,将改变量与当前路径指令叠加,生成新的运动控制指令和新运动路径,使得机械臂末端根据运动控制指令和新运动路径移动,直至机械臂末端到达新运动路径的终点,改变量包括速度改变量、位姿改变量和加速度改变量。本申请提供的方法,机器人能够自主控制机械臂末端根据运动路径进行移动,并且能够在移动过程中接收操控指令,计算操控指令与运动路径的当前路径指令的改变量,根据改变量生成新的运动控制指令,并且生成新运动路径,控制机械臂末端根据新的运动控制指令和新运动路径进行移动,直至到达终点,不需要人工远程实时同步操控机械臂末端移动和作业,机器人自主作业能力强,自动化程度高,作业效率高,解决了现有的机器人作业方式自动化程度低和作业效率低下的技术问题。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,本申请应用于机器人自动控制系统,请参阅图1,本申请实施例提供的一种机器人自动控制方法,包括:
101、控制机械臂末端按生成的运动路径移动,并实时检测是否接收到操控指令,若否,执行步骤102,若是,执行步骤103;
102、控制机械臂末端按运动路径继续移动,直至机械臂末端到达运动路径的终点;
103、计算移动路径的当前路径指令与操控指令的改变量,将改变量与当前路径指令叠加,生成新的运动控制指令和新运动路径,使得机械臂末端根据运动控制指令和新运动路径移动,直至机械臂末端到达新运动路径的终点,改变量包括速度改变量、位姿改变量和加速度改变量。
需要说明的是,本申请实施例中,当系统生成运动路径之后,自动控制机器人的机械臂末端按照运动路径进行移动,在移动的过程中,系统实时检测是否接收到操控指令,如果没有接收到操控指令,则控制机械臂末端按运动路径移动,操控指令可以是操作者通过控制端发送的操控指令,操作者可以通过控制端的显示屏查看系统运行情况,在出现突发事件时,比如障碍物的位置突然改变、新的障碍物出现等,操作者可以通过控制端发送相关的操控指令给机器人,机器人在接收到操控指令之后,计算操控指令与当前路径指令的改变量,将改变量与当前路径指令叠加,生层新的运动控制指令,同时生成新运动路径,使得机械臂末端根据运动控制指令和新运动路径进行移动,直至到达新运动路径的终点,可以理解的是,在机械臂末端根据新运动路径移动过程中,还可以继续实时检测是否接收到操控指令,并执行相应的指令生成和路径生成操作。
本申请实施例提供了一种机器人自动控制方法,机器人能够自主控制机械臂末端根据运动路径进行移动,并且能够在移动过程中接收操控指令,计算操控指令与运动路径的当前路径指令的改变量,根据改变量生成新的运动控制指令,并且生成新运动路径,控制机械臂末端根据新的运动控制指令和新运动路径进行移动,直至到达终点,不需要人工远程实时同步操控机械臂末端移动和作业,机器人自主作业能力强,自动化程度高,作业效率高,解决了现有的机器人作业方式自动化程度低和作业效率低下的技术问题。
为了便于理解,请参阅图2,本申请提供的一种机器人自动控制方法的另一实施例,包括:
201、控制机械臂末端根据非线性反馈控制规律,按运动路径移动,并实时检测是否接收到操控指令,若否,执行步骤202,若是,执行步骤203至205。
202、控制机械臂末端按运动路径继续移动,直至机械臂末端到达运动路径的终点。
203、计算移动路径的当前路径指令与操控指令的空间矢量夹角α、操控指令的指令方向上的投影
和指令方向的法线方向上的投影
204、根据预置公式计算速度改变量
对速度改变量进行积分运算,得到位姿改变量,并对速度改变量进行求导运算,得到加速度改变量。
205、将位姿改变量、速度改变量和加速度改变量与分别与当前路径指令叠加,生成新的运动控制指令和新运动路径,使得机械臂末端根据运动控制指令和新运动路径移动,直至机械臂末端到达新运动路径的终点,非线性反馈控制规律为:
其中,q为机械臂关节角度矢量,D为机械臂惯性矩阵,
为向心力和科氏力项,G(q)为重力项,τ为关节力矩矢量,J为雅可比矩阵,K
v为位置控制增益,K
p为速度控制增益,e(s)为基于路径坐标定义的位置误差,
为基于路径坐标定义的速度误差,
为机械臂关节速度矢量,
为机械臂关节加速度矢量,
为雅可比矩阵自变量的一阶求导,
为操控指令的加速度指令,预置公式为:
其中,
为速度改变量,
为当前路径的速度指令,
为操控指令的速度指令。
需要说明的是,本申请实施例中,基于路径坐标定义的位置误差e(s)的表达式为:e(s)=Y
d(s)-Y(s),其中,Y
d(s)为操控指令的位置指令,Y(s)为当前路径的位置指令,基于路径坐标定义的速度误差
的表达式为:
其中,
为操控指令的速度指令,
为当前路径的速度指令。机械臂在关节空间的动力学模型为
在非线性反馈控制规律下,机械臂在关节空间是实际力矩输入量(控制输入量)即表示为
本申请实施例中,将操控指令与当前路径指令融合,融合的方式为,计算操控指令与当前路径指令的空间矢量夹角α、操控指令的指令方向上的投影
和指令方向的法线方向上的投影
根据预置公式计算速度改变量
在求出速度改变量
之后,对速度改变量
进行积分运算,得到位姿改变量
对速度改变量
进行求导运算,得到加速度改变量
当然,本申请实施例所指的速度可以是角速度,加速度可以是角加速度,再将三个改变量与路径规划指令对应的位姿指令、速度指令和加速度指令进行叠加融合,得到新的运动控制指令,并生成新运动路径,使得机器人末端根据运动控制指令和新运动路径进行移动,实现了不依赖于时间,而是基于事件的带电作业机器人自主运动规划与控制,进一步提高了机器人的自主控制能力,自动化程度高。
进一步地,位置坐标和姿态坐标的向量表示为:
Y=[x,y,z,O,A,T],
其中,x,y,z,为机械臂末端在全局坐标系下的位置坐标,O,A,T,分别为x,y,z三个方向上的姿态角度。
为了便于理解,请参阅图3,本申请提供的一种机器人自动控制方法的再一实施例,包括:
301、以机器人基座中心为全局坐标系原点,建立相对于目标物静止的全局坐标系。
需要说明的是,本申请实施例中,可以借助第三方设备,如升降机、斗臂车等,将机器人和控制主机等相关设备送入带电作业的工作区域,通过摄像头捕获机器人的机械臂及工作场景图像,并将图像传送至控制主机进行图像数据处理,然后以机器人的基座中心为全局坐标系的原点,建立相对于目标物静止的全局坐标系,确定装有作业工具的机械臂末端、作业目标和障碍物在全局坐标系下的三维空间位置和姿态坐标,可以理解的是,本申请实施例中,障碍物可能存在也可能不存在,具体根据实际应用情况加以确定,本申请实施例中所指的作业工具,指根据作业任务所设计的装载在机器人末端的工器具的统称。
302、获取目标物在全局坐标系中的三维空间坐标,根据三维空间坐标,以避障和最短作业路径为原则,生成机械臂末端的运动路径,其中,目标物包括:机械臂末端、作业目标和障碍物,三维空间坐标包括:位置坐标和姿态坐标。
需要说明的是,本申请实施例中,建立全局坐标系之后,获取目标物在全局坐标系中的三维空间坐标,以避障和最短作业路径为原则,生成机械臂末端的运动路径,在不存在障碍物的情况下,计算机械臂末端至作业目标的路径距离,以最短作业路径为原则,生成唯一的机械臂末端的运动路径,在存在障碍物的情况下,根据障碍物在全局坐标系中的坐标分布确定障碍物模型,以机械臂末端至作业目标的路径最短为迭代计算终止条件,以路径与障碍物模型不接触为计算约束条件,生成可行解,得到机械臂末端的运动路径。
303、控制机械臂末端根据非线性反馈控制规律,按运动路径移动,并实时检测是否接收到操控指令,若否,执行步骤304,若是,执行步骤305至307。
304、控制机械臂末端按运动路径继续移动,直至机械臂末端到达运动路径的终点。
305、计算移动路径的当前路径指令与操控指令的空间矢量夹角α、操控指令的指令方向上的投影
和指令方向的法线方向上的投影
306、根据预置公式计算速度改变量
对速度改变量进行积分运算,得到位姿改变量,并对速度改变量进行求导运算,得到加速度改变量。
307、将位姿改变量、速度改变量和加速度改变量与分别与当前路径指令叠加,生成新的运动控制指令和新运动路径,使得机械臂末端根据运动控制指令和新运动路径移动,直至机械臂末端到达新运动路径的终点,非线性反馈控制规律为:
其中,q为机械臂关节角度矢量,D为机械臂惯性矩阵,
为向心力和科氏力项,G(q)为重力项,τ为关节力矩矢量,J为雅可比矩阵,K
v为位置控制增益,K
p为速度控制增益,e(s)为基于路径坐标定义的位置误差,
为基于路径坐标定义的速度误差,
为机械臂关节速度矢量,
为机械臂关节加速度矢量,
为雅可比矩阵自变量的一阶求导,
为操控指令的加速度指令,预置公式为:
其中,
为速度改变量,
为当前路径的速度指令,
为操控指令的速度指令。
308、通过机械臂末端控制作业工具动作,完成电路系统的检测和/或维修作业。
需要说明的是,本申请实施例中,机械臂末端根据运动路径或新运动路径到达目标终点位置和姿态之后,控制作业工具动作,使机器人带电作业,完成电路系统的检测和/或维修作业。
进一步地,位置坐标和姿态坐标的向量表示为:
Y=[x,y,z,O,A,T],
其中,x,y,z,为机械臂末端在全局坐标系下的位置坐标,O,A,T,分别为x,y,z三个方向上的姿态角度。
以上是本申请提供的一种机器人自动控制方法的再一个实施例,以下是本申请提供的一种机器人自动控制方法的一个应用例。
本申请提供的一种机器人自动控制方法的应用例,在机器人和控制主机等相关设备在工作区域准备就绪之后,通过摄像头捕获机器人的机械臂及工作场景图像,并将图像传送至控制主机进行图像数据处理,控制主机以机器人的基座中心为全局坐标系的原点,建立相对于目标物静止的全局坐标系,确定装有作业工具的机械臂末端、作业目标和障碍物在全局坐标系下的三维空间位置和姿态坐标,以避障和最短作业路径为原则,生成机械臂末端的运动路径,控制机械臂末端根据运动路径进行向作业目标靠近的移动,并实时检测是否接收到后台的控制端发送过来的操控指令,若否,控制机械臂末端按运动路径继续移动,直至机械臂末端到达运动路径的终点,若是,计算移动路径的当前路径指令与操控指令的改变量,将改变量与当前路径指令叠加,生成新的运动控制指令和新运动路径,使得机械臂末端根据运动控制指令和新运动路径移动,并且,不断实时检测是否有新的操控指令,在有新的操控指令的情况下执行生成新的运动控制指令和新运动路径操作,直至机械臂末端到达新运动路径的终点,机械臂末端根据运动路径或新运动路径到达目标终点位置和姿态之后,控制主机通过机械臂末端控制作业工具动作,使机器人带电作业,完成电路系统的检测和/或维修作业。
为了便于理解,请参阅图4,本申请提供的一种机器人自动控制装置的一个实施例,包括:
控制模块401,用于控制机械臂末端按生成的运动路径移动,并实时检测是否接收到操控指令,若否,触发第一移动模块402,若是,触发第二移动模块403。
第一移动模块402,用于控制机械臂末端按运动路径继续移动,直至机械臂末端到达运动路径的终点。
第二移动模块403,用于计算移动路径的当前路径指令与操控指令的改变量,将改变量与当前路径指令叠加,生成新的运动控制指令和新运动路径,使得机械臂末端根据运动控制指令和新运动路径移动,直至机械臂末端到达新运动路径的终点,改变量包括速度改变量、位姿改变量和加速度改变量。
执行模块404,用于通过机械臂末端控制作业工具动作,完成电路系统的检测和/或维修作业;
获取模块405,用于获取目标物在全局坐标系中的三维空间坐标,根据三维空间坐标,以避障和最短作业路径为原则,生成机械臂末端的运动路径,其中,目标物包括:机械臂末端、作业目标和障碍物,三维空间坐标包括:位置坐标和姿态坐标;
建模模块406,用于以机器人基座中心为全局坐标系原点,建立相对于目标物静止的全局坐标系。
控制模块401,具体用于控制机械臂末端根据非线性反馈控制规律,按生成的运动路径移动,并实时检测是否接收到操控指令若否,触发第一移动模块402,若是,触发第二移动模块403,非线性反馈控制规律为:
其中,q为机械臂关节角度矢量,D为机械臂惯性矩阵,
为向心力和科氏力项,G(q)为重力项,τ为关节力矩矢量,J为雅可比矩阵,K
v为位置控制增益,K
p为速度控制增益,e(s)为基于路径坐标定义的位置误差,
为基于路径坐标定义的速度误差,
为机械臂关节速度矢量,
为雅可比矩阵自变量的一阶求导,
为操控指令的加速度指令。
第二移动模块403,具体用于计算移动路径的当前路径指令与操控指令的空间矢量夹角α、操控指令的指令方向上的投影
和指令方向的法线方向上的投影
根据预置公式计算速度改变量
对速度改变量进行积分运算,得到位姿改变量,并对速度改变量进行求导运算,得到加速度改变量,将改变量与当前路径指令叠加,生成新的运动控制指令和新运动路径,使得机械臂末端根据运动控制指令和新运动路径移动,直至机械臂末端到达新运动路径的终点。预置公式为:
其中,
为速度改变量,
为当前路径的速度指令,
为操控指令的速度指令。
为了便于理解,请参阅图5,本申请提供的一种机器人自动控制设备的一个实施例,包括:处理器501以及存储器502:
存储器502用于存储程序代码,并将程序代码传输给处理器501;
处理器501用于根据程序代码中的指令执行前述的任意一种机器人自动控制方法。
以上是本申请提供的一种机器人自动控制设备的一个实施例,以下是本申请提供的一种计算机可读存储介质的一个实施例。
本申请提供的一种机器人自动控制设备,计算机可读存储介质用于存储程序代码,程序代码用于执行前述的任意一种机器人自动控制方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本申请的说明书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。