一种非实时与实时混合的工业机器人插补计算方法技术

技术编号:30919117 阅读:12 留言:0更新日期:2021-11-23 00:08
本发明专利技术提供了一种非实时与实时混合的工业机器人插补计算方法,其特征在于:将工业机器人运动控制系统的插补计算拆分成非实时离散计算与实时插补计算两部分,两者计算相互独立,采用独立的中央处理器,占用独立的内存资源,通过两者的混合计算将轨迹指令转换成实时的伺服指令,实现机器人的运动控制。本发明专利技术解除了计算机运算速度和插补周期节拍的限制,将传统实时插补计算中的复杂的轨迹规划算法放入本发明专利技术的非实时离散计算中,让轨迹规划脱离实时插补周期的时间限制,提升插补算法的整体性能。本发明专利技术方法降低了实时插补计算的计算量,提升了实时插补计算的效率,也提升了整体插补计算效率。插补计算效率。插补计算效率。

【技术实现步骤摘要】
一种非实时与实时混合的工业机器人插补计算方法


[0001]本专利技术属于工业机器人的运动控制领域,具体涉及一种非实时与实时混合的工业机器人插补计算方法。

技术介绍

[0002]工业机器人加工是当代机械制造的基础工艺之一。工业机器人加工借助于多关节机器人(也被称为机械臂)。运动控制系统是工业机器人的核心部件之一,复杂多变的工业应用对工业机器人的运动控制系统提出了较高的要求,一方面机器人末端执行器必须按照一定工艺要求运动,对其末端位姿点,速度和加速度都有要求。另一方面运动控制系统直接决定工业机器人的运动方式、作业精度和使用寿命。高速高精的运动控制系统是提高加工效率和质量的根本保障。
[0003]一般地,将运动控制系统分为插补算法和伺服驱动控制算法,插补算法接收机器人轨迹程序,完成实时插补计算,生成伺服运动指令,伺服驱动控制算法接收伺服运动指令,经过伺服控制算法控制伺服电机实现运动。本专利技术主要针对运动控制系统中的插补算法进行改进,传统的机器人插补算法是依照运动指令的顺序依次进行实时插补计算的,中间需要完成指令解析、轨迹平顺、速度规划、运动学反解、插补点计算,所有的计算都必须按照插补周期的节拍完成,轨迹规划算法受插补周期限制,其计算速度依赖于计算机本身的运算速度,无法进行相对复杂的轨迹优化算法,实际运行时会出现振动,无法保证轨迹的精度。
[0004]插补算法所接收的机器人轨迹程序是由多行机器人轨迹指令组成,机器人轨迹指令分为运动指令(关节运动MoveJ、直线运动MoveL、圆弧运动MoveC等),逻辑指令(条件、循环、跳转等指令),输入/输出指令、常规指令(注释、延时等指令)等。其中运动指令可分为关节空间的运动指令和笛卡尔空间的运动指令,关节空间为抽象空间,其运动指令信息包含关节的角度、角速度、角加速度;笛卡尔空间为一般的三维空间,其运动指令信息包含工具在用户坐标系下的位置和姿态、平移速度和旋转速度、平移加速度和旋转加速度、工具坐标、用户坐标。

技术实现思路

[0005]针对现有技术存在的问题,本专利技术提供一种非实时与实时混合的工业机器人插补计算方法,将工业机器人的插补算法拆分成了两部分:非实时离散计算和实时插补计算,复杂的轨迹规划算法放入非实时离散计算中,解除了插补周期节拍的限制。非实时离散计算和实时插补计算相互独立,两部分各自占用独立的计算资源,独立的内存资源,同时两者又共享一份内存区域,用于数据传递交互。非实时离散计算负责轨迹指令解析、轨迹平顺、速度规划、轨迹优化、轨迹预离散,输出离散轨迹点数组。实时插补计算负责获取伺服反馈信息、控制器的信号、离散轨迹点,并计算插补点,输出伺服运动指令。
[0006]本专利技术为解决现有技术中存在的问题采用的技术方案如下:
一种非实时与实时混合的工业机器人插补计算方法,将工业机器人运动控制系统的插补计算拆分成非实时离散计算与实时插补计算两部分,两者计算相互独立,采用独立的中央处理器,占用独立的内存资源,通过两者的混合计算将轨迹指令转换成实时的伺服指令,实现机器人的运动控制,具体步骤如下:S1、设置机器人参数,包含机器人的运动学参数、机器人每个关节的限位值、机器人每个关节的速度阈值、机器人每个关节的加速度阈值、机器人每个关节的伺服参数(单圈脉冲数、减速比);S2、输入机器人轨迹程序,根据预设条件将轨迹程序进行分段;S3、为非实时离散计算分配独立的内存区域和计算资源,将S2中的轨迹段输入非实时离散计算中,对轨迹指令进行轨迹规划,生成离散轨迹点数组,保存在“一号”共享内存区域中;S4、为实时插补计算分配独立的内存区域和计算资源,实时获取伺服反馈数据和控制器信号,从“一号”共享内存区域中获取离散轨迹点,根据控制信号计算实时插补点,生成插补点数组,并保存在“二号”共享内存区域中。
[0007]上文中“一号”、“二号”仅用于区分两个共享内存区域,本专利技术建立两块共享的内存区域,一块用于保存离散轨迹点数组,非实时离散计算生成离散轨迹点并保存于其中,实时插补计算从其中获取离散轨迹点,从而保证两者之间的数据传递和交互,同时又不影响两者的独立运行;另一块用于保存插补点数组,实时插补计算生成插补点数据并保存于其中,然后通过伺服实时通讯从其中获取插补点并发送给伺服驱动,控制机器人运动。
[0008]所述步骤S3中离散轨迹点数组由机器人关节空间下的关节角数据、关节角速度数据、关节角加速度数据封装组成,离散轨迹点数组表示为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中表示关节角数据,表示关节角速度数据,表示关节角加速度数据,K为下角标,从0到M取值,T为向量的转置符号,表示机器人的关节轴的总数,表示轨迹点的总数。
[0009]所述步骤S4中插补点数组由插补点数据封装组成,插补点数组表示为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中表示插补点数据,表示插补点所处的离散轨迹点编号,时表示第个插补点处于第个离散轨迹点与第个离散轨迹点之间,表示插补点的总数。
[0010]所述步骤S3中非实时离散计算包括:完成轨迹指令解析、轨迹平顺、轨迹的速度规划、轨迹的预离散,生成离散轨迹点数组,通过将复杂的轨迹优化算法放入非实时离散计算中,让轨迹规划脱离实时控制循环,解除计算机运算速度和插补周期节拍的限制。
[0011]所述步骤S3中非实时离散计算具体包括如下步骤:S31、依次解析轨迹指令,获取运动指令信息,包括指令的关键词、轨迹点、速度、加速度、用户坐标、工具坐标,当指令中缺省部分参数时则设置为默认值,将这些轨迹信息保
存为原始轨迹参数结构体数组;所述的原始轨迹参数结构体由轨迹类型、轨迹点、速度、加速度、用户坐标、工具坐标封装组成,表示如下:
ꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中表示轨迹的类型,包括关节指令,直线指令、圆弧指令等,表示轨迹点的数据,表示轨迹的速度数据,表示轨迹的加速度数据,表示轨迹的用户坐标数据,表示轨迹的工具坐标数据;N表示轨迹段的数量;S32、对S31中的得到的原始轨迹参数结构体数组进行轨迹平顺,在两段线性轨迹段之间计算过渡段轨迹,保证线性轨迹与过渡段轨迹之间达到G1连续,轨迹平顺的方法有多种,包括圆弧平顺、样条平顺等,在此不一一赘述,轨迹平顺过程可表示为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中表示之间的线性轨迹表达式,表示对应的过渡轨迹表达式,表示平滑系数;均表示轨迹点,N轨迹段的数量;S33、对S32得到的轨迹数组进行速度规划,在已知的速度参数和加速度参数条件下,使得轨迹关于时间的函数到达一阶微分连续,同时保证线性轨迹与过渡轨迹的连接处一阶微分相等,将轨迹平顺的结果和速度规划的结果一起保存为平顺轨迹参数结构体数组。
[0012]所述速度规划的方法有多种,包括梯形速度规划、多项式插值等,在此不一一赘述。
[0013]所述的平顺轨迹参数结构体由轨迹的几何表达式和速度函数表达式封装组成,其表示如下:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)其本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种非实时与实时混合的工业机器人插补计算方法,其特征在于:将工业机器人运动控制系统的插补计算拆分成非实时离散计算与实时插补计算两部分,两者计算相互独立,采用独立的中央处理器,占用独立的内存资源,通过两者的混合计算将轨迹指令转换成实时的伺服指令,实现机器人的运动控制,具体步骤如下:S1、设置机器人参数,包含机器人的运动学参数、机器人每个关节的限位值、机器人每个关节的速度阈值、机器人每个关节的加速度阈值、机器人每个关节的伺服参数;S2、输入机器人轨迹程序,根据预设条件将轨迹程序进行分段;S3、为非实时离散计算分配独立的内存区域和计算资源,将S2中的轨迹段输入非实时离散计算中,对轨迹指令进行轨迹规划,生成离散轨迹点数组,保存在“一号”共享内存区域中;S4、为实时插补计算分配独立的内存区域和计算资源,实时获取伺服反馈数据和控制器信号,从“一号”共享内存区域中获取离散轨迹点,根据控制信号计算实时插补点,生成插补点数组,并保存在“二号”共享内存区域中。2.如权利要求1所述的一种非实时与实时混合的工业机器人插补计算方法,其特征在于:所述步骤S3中离散轨迹点数组由机器人关节空间下的关节角数据、关节角速度数据、关节角加速度数据封装组成,离散轨迹点数组表示为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)其中表示关节角数据,表示关节角速度数据,表示关节角加速度数据,K为下角标,从0到M取值,T为向量的转置符号,表示机器人的关节轴的总数,表示轨迹点的总数。3.如权利要求1所述的一种非实时与实时混合的工业机器人插补计算方法,其特征在于:所述步骤S3中非实时离散计算包括:完成轨迹指令解析、轨迹平顺、轨迹的速度规划、轨迹的预离散,生成离散轨迹点数组;所述步骤S3中非实时离散计算具体包括如下步骤:S31、依次解析轨迹指令,获取运动指令信息,包括指令的关键词、轨迹点、速度、加速度、用户坐标、工具坐标,当指令中缺省部分参数时则设置为默认值,将这些轨迹信息保存为原始轨迹参数结构体数组;所述的原始轨迹参数结构体由轨迹类型、轨迹点、速度、加速度、用户坐标、工具坐标封装组成,表示如下:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中表示轨迹的类型,包括关节指令,直线指令、圆弧指令等,表示轨迹点的数据,表示轨迹的速度数据,表示轨迹的加速度数据,表示轨迹的用户坐标数据,表示轨迹的工具坐标数据;N表示轨迹段的数量;S32、对S31中的得到的原始轨迹参数结构体数组进行轨迹平顺,在两段线性轨迹段之间计算过渡段轨迹,保证线性轨迹与过渡段轨迹之间达到G1连续,轨迹平顺过程表示为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)其中表示之间的线性轨迹表达式,表示对应的过渡轨迹表达式,表示平滑系数;均表示轨迹点,N轨迹段的数量;S33、对S32得到的轨迹数组进行速度规划,将轨迹平顺的结果和速度规划的结果一起保存为平顺轨迹参数结构体数组;S34、对S33得到的平顺轨迹参数结构体数组进行预离散,包括离散轨迹点的计算和运动学反解,输出离散轨迹点数组。4.如权利要求3所述的一种非实时与实时混合的工业机器人插补计算方法,其特征在于:所述步骤S34中离散轨迹点计算以位姿精度和速度变化量为计算依据,所述离散轨迹与原轨迹之间的弦高差在阈值范围内,所述前后离散点之间速度的变化量在阈值范围内,其中弦高差包括位置弦高差和姿态弦高差;运动学反解只针对笛卡尔空间下的轨迹,其过程为:通过设置的机器人运动学参数建立机器人运动学模型,根据笛卡尔空间下的位姿数据建立运动学方程,反向求解笛卡尔空间下轨迹点对应的各个关节角。5.如权利要求1所述的一种非实时与实时混合的工业机器人插补计算方法,其特征在于:所述步骤S3中非实时离散计算可实现并行计算,即多个非实时计算并行进行,根据预设条件计算截断点,将整个轨迹分成多段轨迹,每段轨迹的非实时离散计算相互独立,输入到不同的非实时插补线程中实现并行计算。6.如权利要求1所述的一种非实时与实时混合的工业机器人插补计算方法,其特征在于:所述步骤S4中插补点数组由插补点数据封装组成,插补点数组表示为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)其中表示插补点数据,表示插补点所处的离散轨迹点编号,时表示第个插补点处于第个离散轨迹点与第个离散轨迹点之间,表示插补点的总数。7.如权利要求1所述的一种非实时与实时混合的工业机器人插补计算方法,其特征在于:所述步骤S4中实时插补计算负责生成插补点数据,并保存于插补点数组所在“二号”共享内存区域中,实时插补计算设置为一个单独的线程,与伺服通讯的主线程相互独立,伺服通讯主线程负责从插补点数组中获取数据,发送给伺服驱动,从伺服驱动中获取反馈数据,用于实时插补计算,两者在相同的周期下实时执行;实时插补计算是基于离散轨迹点数组进行插补点计算,并且根据不同的控制信号选择不同的插补方法;插补方法包括常规插补、降停插补、重启插补,常规插补是按照离散轨迹点进行插补点计算,降停插补是在...

【专利技术属性】
技术研发人员:马磊李振瀚张艳芬颜昌亚何姗姗
申请(专利权)人:武汉瀚迈科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1