CN106393106B - 参数自适应密化的机器人nurbs曲线运动插补方法 - Google Patents
参数自适应密化的机器人nurbs曲线运动插补方法 Download PDFInfo
- Publication number
- CN106393106B CN106393106B CN201610822342.0A CN201610822342A CN106393106B CN 106393106 B CN106393106 B CN 106393106B CN 201610822342 A CN201610822342 A CN 201610822342A CN 106393106 B CN106393106 B CN 106393106B
- Authority
- CN
- China
- Prior art keywords
- interpolation
- representing
- formula
- point
- nurbs
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000000280 densification Methods 0.000 title claims abstract description 20
- 230000003044 adaptive effect Effects 0.000 title claims abstract description 10
- 230000014509 gene expression Effects 0.000 claims abstract description 32
- 230000008569 process Effects 0.000 claims abstract description 29
- 230000001133 acceleration Effects 0.000 claims description 40
- 238000004364 calculation method Methods 0.000 claims description 13
- 238000009795 derivation Methods 0.000 claims description 13
- 238000009499 grossing Methods 0.000 claims description 4
- 238000005457 optimization Methods 0.000 claims description 4
- 230000011218 segmentation Effects 0.000 claims description 3
- 230000017105 transposition Effects 0.000 claims description 3
- 238000004422 calculation algorithm Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 5
- 230000008859 change Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 238000004519 manufacturing process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000011217 control strategy Methods 0.000 description 1
- 238000005520 cutting process Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000005507 spraying Methods 0.000 description 1
- 238000003466 welding Methods 0.000 description 1
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Manipulator (AREA)
- Numerical Control (AREA)
Abstract
本发明公开了一种参数自适应密化的机器人NURBS曲线运动插补方法,步骤10)根据输入的运动参数,获得NURBS曲线表达式及参数密化过程中采用的导函数表达式;步骤20)利用改进的Admas微分方程,对运动参数中的节点矢量u进行预估;步骤30)根据约束条件,自适应对运动参数中的节点矢量u进行校正;步骤40)对自适应过程中的运动参数进行平滑处理;步骤50)采用球面线性插值slerp方法完成姿态插补,得到的位置插补坐标和姿态插补坐标;步骤60)进行机器人正逆解计算,得到关节角插补序列。该方法可有效解决NURBS轨迹插补过程中曲率变化大的地方减速距离长的问题,提高工业机器人关节运动过程中的柔顺性。
Description
技术领域
本发明涉及诸如焊接、切割、喷涂、搬运等工业机器人先进制造产业技术领域,特别是涉及一种参数自适应密化的机器人NURBS曲线运动插补方法。
背景技术
工业机器人控制系统要求能够在一定的控制策略的作用下,使机器人能够快速准确地根据预先规划的轨迹运行,其中,插补算法作为实现工业机器人运动控制的软件核心,是实现工业机器人复杂轨迹规划算法的基础,其性能决定着工业机器人运动的实时性和精度的好坏,是工业机器人机器人运动控制特性的重要评价指标之一。
传统的插补算法主要有直线和圆弧插补等,当需要复杂曲线时,需要通过直线或圆弧的逼近来完成,这种实现方法存在以下问题:①采用直线或圆弧逼近时,会产生大量的端点数据,造成数据量过大;②大量的小线段插补引起进给速度的波动,影响加工效率和精度。
随着复杂曲线加工需求的增多以及加工精度和效率要求越来越高,曲线插补算法成为研究热点。其中,NURBS(Non-Uniform Rational B-Spline,非均匀有理B样条)描述的曲线曲面技术得到重视,并在CNC中得到广泛研究,也引起了机器人界的关注。NURBS曲线插补算法可以应用于复杂轨迹插补,但计算过程复杂,且机器人关节在加减速过程中存在振动和冲击。总的来说,上述常用的工业机器人运动轨迹插补方法存在以下问题:1)现有的插补算法应用于复杂曲线插补过程的运动平稳性和运动精度较低,导致目前对于复杂曲线插补问题仍然没有完善的解决方法;2)现有的NURBS插补算法多采用前瞻方法来确定减速点的位置,只能对减速过程进行规划,而不能完全保证加速过程的柔顺性,无法应用于工业场合;3)现有的插补算法不能解决在曲率变化大的地方,所需减速距离长的情况,导致很难满足生产过程的安全要求。
发明内容
本发明的目的是为了克服已有的技术缺陷,解决基于三次NURBS曲线的工业机器人运动轨迹插补方法中复杂曲线插补过程的运动平稳性和运动精度较低问题、只能对减速过程进行规划而不能完全保证加速过程的柔顺性问题以及在曲率变化较大的地方所需减速距离较长的问题,本发明提供一种参数自适应密化的机器人NURBS曲线运动插补方法,实现工业机器人高效率、高精度且兼顾柔性的轨迹插补。
本发明采用一种参数自适应密化的机器人NURBS曲线运动插补方法,该方法包括以下步骤:
步骤10)根据输入的运动参数,获得NURBS曲线表达式及参数密化过程中采用的导函数表达式;
步骤20)利用改进的Admas微分方程,对步骤10)输入的运动参数中的节点矢量u进行预估,并根据约束条件,自适应对运动参数中的节点矢量u进行校正;
步骤30)通过分段进行S型曲线位置插补,对自适应过程中的运动参数进行平滑处理;
步骤40)采用球面线性插值slerp方法完成姿态插补,得到的位置插补坐标和姿态插补坐标;
步骤50)对步骤40)得到的位置插补坐标和姿态插补坐标,进行机器人正逆解计算,得到关节角插补序列。
作为优选例:所述的步骤10)具体包括:
步骤101)确定三次NURBS曲线表达式:对于给定的控制顶点{d0,d1,...,dn}及其权值{ω0,ω1,...,ωn}和节点矢量{u0,u1,...,un+k+1},其中,k=3,得到三次NURBS曲线表达式p(u),如式(1)所示:
其中,ωi表示控制顶点di的权值,di表示第i个控制顶点,Ni,3表示3次B样条基函数,B3、B2、B1和B0分别为分子系数;b3、b2、b1和b0分别为分母系数;
步骤102)求解三次NURBS曲线第i-2段表达式:
令其中3≤j≤n+1,代入式(1),得到式(2):
式中,dj表示第j个控制顶点,ωj表示控制顶点dj的权值,Nj,3表示3次B样条基函数,di-3表示第i-3个控制顶点,ωi-3表示控制顶点di-3的权值,di-2表示第i-2个控制顶点,ωi-2表示控制顶点di-2的权值,di-1表示第i-1个控制顶点,ωi-1表示控制顶点di-1的权值,di表示第i个控制顶点,ωi表示控制顶点di的权值,上标T表示转置,
步骤103)求解NUBRS曲线第i-2段表达式的分子系数和分母系数:将Mi代入式(2),得分子系数和分母系数分别为:
步骤104)计算NURBS曲线的导函数表达式:首先在式(2)所示的NURBS曲线表达式上,利用求导公式对节点矢量u求导,获得NURBS曲线的一阶导函数;然后对一阶导函数再次利用求导公式对节点矢量u求导,获得NURBS曲线的二阶导函数。
作为优选例:所述的步骤20)具体包括:
步骤201)密化自变量u:
当参数u索引i>2时,根据式(6)预估下一个参数;
当参数u索引1≤i≤2时,采用一阶泰勒级数展开,如式(3)所示:
式中,ui+1表示规划节点矢量,ui表示已知节点矢量,ΔLi表示规划周期内的步长,T表示规划周期,表示机器人末端速度, px(u)表示直角坐标系下x轴方向位置插补序列,py(u)表示直角坐标系下y轴方向位置插补序列,pz(u)表示直角坐标系下z轴方向位置插补序列;
根据三步四阶Admas微分方程,表示参数密化的递推公式如式(4)所示:
其中,ui+1表示规划节点矢量,表示规划节点矢量的导数,ui表示已知的第i个节点矢量,表示已知的第i个节点矢量的导数,表示已知的第i-1个节点矢量的导数,表示已知的第i-2个节点矢量的导数;
步骤202)用差分代替微分:式(4)中的微分采用式(5)替换为差分,如式(6)所示:
其中,表示预估参数;
步骤203)计算相对误差:根据预估参数获得预估点位置坐标并获得相应的预估步长如式(7)所示:
其中,表示预估步长,表示预估点x轴位置坐标,表示预估点y轴位置坐标,表示预估点z轴位置坐标,xi表示已知点x轴位置坐标,yi表示已知点y轴位置坐标,zi表示已知点z轴位置坐标;
计算预估步长与期望步长ΔLi的相对误差δi,如式(8)所示:
其中,期望步长ΔLi为自适应步长调节过程中获得的步长;
步骤204)校正预估参数:如果相对误差δi超出给定阈值,则采用式(9)对预估参数进行校正:
其中,表示预估的插补点参数;
若预估的插补点数目大于等于1,则对预估的插补点进行位置插补,否则返回步骤201)重新计算密化自变量u。
作为优选例:所述的步骤203)中,计算期望步长具体包括:
步骤2031)计算弦高误差约束:采用式(10)计算弦高误差:
其中,为预估的插补点参数,ui为已知的插补点参数,pi为ui的插补点坐标,为的插补点坐标,为和ui的中位点坐标,εi为预估点与已知点的距离,为弦高误差;
设允许的最大弦高误差为hmax,则最大弦高误差约束下,允许的最大步长ΔLi1如式(11)所示:
步骤2032)计算最大进给速度约束:在给定最大进给速度vmax约束下,允许的最大步长ΔLi2如式(12)所示:
ΔLi2=vmaxT 式(12)
步骤2033)计算给定最大进给加速度约束:在给定最大进给加速度约束下,允许的步长ΔLi3如式(13)所示,其中,进给加速度不能超过给定最大进给加速度amax;
ΔLi-1-amaxT2≤ΔLi3≤ΔLi-1+amaxT2 式(13)
其中,ΔLi-1表示第i-2插补点和第i-1插补点间的步长;
即步长满足式(14):
其中,ΔLi表示第i-1插补点和第i插补点间的步长;
如果ΔLi3>ΔLi-1+amaxT2,则令ΔLi3=ΔLi-1+amaxT2;如果ΔLi-1-amaxT2>ΔLi3,则令ΔLi3=ΔLi-1-amaxT2;
步骤2034)计算给定最大法向加速度约束:
首先根据NURBS插补过程中进给速度vi与法向加速度ani的关系,采用式(15)计算法向加速度ani:
式中,ρi表示ΔLi的曲率半径;
设允许的最大法向加速度为anmax,采用式(16)获得最大法向加速度约束下允许的最大步长ΔLi4:
根据式(15)和式(16),得出即最大法向加速度约束下允许的最大步长为ΔLi4,如式(17)所示:
步骤2035)步长自适应优化调节:在自适应步长规划过程中,当前段的期望步长ΔLi满足式(18):
通过上述自适应步长调节获得一系列期望步长序列,然后选取步长序列中的极小值点作为曲率最大的点,即拐点,最后根据获得的拐点将期望步长序列分成若干段,并记录每段的总长度,以及拐点处的期望步长。
作为优选例:所述的步骤30)具体包括:首先根据拐点步长和各段的长度,对每段采用七段式S曲线速度规划,获得速度序列,从而得到各个周期的进给步长;然后再次通过参数密化过程获得参数u序列;最后每隔插补周期T'取参数u,获得在直角坐标系下的位置插补序列p(u)。
作为优选例:所述的步骤40)具体包括:
步骤401)采用四元数表示姿态:将起点、终点姿态以及中间插补姿态采用四元数的表示形式,记法如下:
[r,q]=[r,(R,P,Y)]
其中,r为姿态插补系数,取值范围为[0,1];q为姿态向量;R为插补点的α旋转轴的姿态值,P为插补点的β旋转轴的姿态值,Y为插补点的γ旋转轴的姿态值;
步骤402)选定姿态插补系数r:将已完成位置插补的总步长之和与NURBS曲线的总长作为姿态插补系数r;
步骤403)采用slerp插补方法完成姿态插补,如式(19)所示:
qr=k0qbeg+k1qend 式(19)
其中,qr表示系数r的姿态向量,qbeg表示起始姿态向量,qend表示终止姿态向量,k0表示起始点系数,k1表示终止点系数;
ω表示qbeg到qend弧所截的角;
采用式(20)所示slerp插补方法完成姿态插补:
作为优选例:所述步骤50)具体为:首先根据位置插补坐标和姿态插补坐标,经机器人正逆解计算得到对应的关节角插补序列,然后将该序列发送给伺服控制器,以控制机器人完成相应的运动操作。
有益结果:本发明采用参数自适应密化的方法有效地解决了NURBS曲线插补加减速过程的柔顺性问题以及曲率变化较大的地方所需减速距离较长的问题,通过改进的Adams微分方程方法及自适应步长调节对参数进行预估-校正,从弦高误差、给定最大进给速度、给定最大进给加速度和给定最大法向加速度四个约束条件下获得步长序列,提高了预估参数的精度,通过规划周期T与插补周期T'不同的方式,对自适应参数密化过程进行进一步密化,降低规划误差。结合S型曲线速度规划方法对运动参数进行分段平滑处理,极大的降低了计算量的同时保证了计算精度,实现了柔性加减速。此方法简单高效,能够满足工业机器人在复杂曲线插补过程中的的运动平稳性和运动精度的需求,提高机器人的工作效率和柔性加工能力,具有广阔的应用前景和良好的经济效益。
附图说明
图1为本发明实施例的流程图;
图2为本发明实施例中步骤10)的流程图;
图3为本发明实施例中步骤20)和步骤30)的流程图;
图4为本发明实施例中步骤20)参数密化校正过程示意图;
图5为本发明实施例中步骤203)的流程图;
图6为本发明实施例中步骤2031)中弦高误差示意图;
图7为本发明实施例中步骤2031)中弦高误差计算方法对比示意图;
图8为本发明实施例中步骤40)的流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步说明。
如图1所示,本发明的一种参数自适应密化的机器人NURBS曲线运动插补方法,包括以下步骤:
步骤10)根据输入的运动参数,获得NURBS曲线表达式及参数密化过程中采用的导函数表达式。
步骤10)首先根据给定的NURBS控制顶点及其权值、节点矢量等参数确定三次NURBS曲线的表达式形式;其次选择合理的时间间隔,确定每段NURBS曲线的表达式;然后求解每段NURBS曲线的分子分母系数;最后在NURBS曲线表达式的基础上,获得NURBS曲线的一阶和二阶导函数表达式。步骤10)可以以降低插补阶段任务计算量。如图2所示,所述的步骤10)具体包括步骤101)至步骤104):
步骤101)确定三次NURBS曲线表达式:对于给定的控制顶点{d0,d1,...,dn}及其权值{ω0,ω1,...,ωn}和节点矢量{u0,u1,...,un+k+1},其中,k=3,得到三次NURBS曲线表达式p(u),如式(1)所示:
其中,ωi表示控制顶点di的权值,di表示第i个控制顶点,Ni,3表示3次B样条基函数,B3、B2、B1和B0分别为分子系数;b3、b2、b1和b0分别为分母系数;
步骤102)求解三次NURBS曲线第i-2段表达式:
令其中3≤j≤n+1,代入式(1),得到式(2):
式中,dj表示第j个控制顶点,ωj表示控制顶点dj的权值,Nj,3表示3次B样条基函数,di-3表示第i-3个控制顶点,ωi-3表示控制顶点di-3的权值,di-2表示第i-2个控制顶点,ωi-2表示控制顶点di-2的权值,di-1表示第i-1个控制顶点,ωi-1表示控制顶点di-1的权值,di表示第i个控制顶点,ωi表示控制顶点di的权值,上标T表示转置,
步骤103)求解NUBRS曲线第i-2段表达式的分子系数和分母系数:将Mi代入式(2),得分子系数和分母系数分别为:
步骤104)计算NURBS曲线的导函数表达式:首先在式(2)所示的NURBS曲线表达式上,利用求导公式对节点矢量u求导,获得NURBS曲线的一阶导函数;然后对一阶导函数再次利用求导公式对节点矢量u求导,获得NURBS曲线的二阶导函数。
步骤20)利用改进的Admas微分方程,对步骤10)输入的运动参数中的节点矢量u进行预估,并根据约束条件,自适应对运动参数中的节点矢量u进行校正。
步骤20)首先对NURBS曲线表达式的自变量u采用Admas微分方程法进行密化;然后采用差分代替微分法以降低计算量;最后根据预估步长与期望步长的相对误差对预估参数进行校正以保证计算精度。如图3所示,所述的步骤20)具体包括:
步骤201)密化自变量u:
当参数u索引i>2时,根据式(6)预估下一个参数;
当参数u索引1≤i≤2时,采用一阶泰勒级数展开,如式(3)所示:
式中,ui+1表示规划节点矢量,ui表示已知节点矢量,ΔLi表示规划周期内的步长,T表示规划周期,表示机器人末端速度, px(u)表示直角坐标系下x轴方向位置插补序列,py(u)表示直角坐标系下x轴方向位置插补序列,pz(u)表示直角坐标系下x轴方向位置插补序列;
当精度要求高时,泰勒级数展开需要高阶求导,计算复杂,因此根据三步四阶Admas微分方程,表示参数密化的递推公式如式(4)所示:
其中,ui+1表示规划节点矢量,表示规划节点矢量的导数,ui表示已知的第i个节点矢量,表示已知的第i个节点矢量的导数,表示已知的第i-1个节点矢量的导数,表示已知的第i-2个节点矢量的导数;
步骤202)用差分代替微分:式(4)中的微分采用式(5)替换为差分,如式(6)所示:
其中,表示预估参数;
步骤203)计算相对误差:根据预估参数获得预估点位置坐标并获得相应的预估步长如式(7)所示:
其中,表示预估步长,表示预估点x轴位置坐标,表示预估点y轴位置坐标,表示预估点z轴位置坐标,xi表示已知点x轴位置坐标,yi表示已知点y轴位置坐标,zi表示已知点z轴位置坐标;
计算预估步长与期望步长ΔLi的相对误差δi,如式(8)所示:
其中,期望步长ΔLi为自适应步长调节过程中获得的步长;
步骤204)校正预估参数:如图4所示,如果相对误差δi超出给定阈值,则采用式(9)对预估参数进行校正:
其中,表示预估的插补点参数;
若预估的插补点数目大于等于1,则对预估的插补点进行位置插补;否则返回步骤201)重新计算密化自变量u。
在步骤203)中,根据约束条件,自适应对运动参数中的节点矢量u进行校正。
步骤203)首先采用自适应步长调节的方法,根据弦高误差、给定最大进给速度、给定最大进给加速度和给定最大法向加速度等四个约束条件,对步长进行自适应优化调节;然后通过选取拐点将步长序列分为若干段。如图5所示,所述的步骤203)具体包括步骤2031)至步骤2035):
步骤2031)计算弦高误差约束:弦高误差是指以直线代替曲线的所产生的误差,如图6所示。本发明采用式(10)所示的近似方法计算弦高误差,即近似等于如图7中所示的弧长ε。
其中,为预估的插补点参数,ui为已知的插补点参数,pi为ui的插补点坐标,为的插补点坐标,为和ui的中位点坐标,εi为预估点与已知点的距离,为弦高误差;
设允许的最大弦高误差为hmax,则最大弦高误差约束下,允许的最大步长ΔLi1如式(11)所示:
步骤2032)计算最大进给速度约束:在给定最大进给速度vmax约束下,允许的最大步长ΔLi2如式(12)所示:
ΔLi2=vmaxT 式(12)
步骤2033)计算给定最大进给加速度约束:在给定最大进给加速度约束下,允许的步长ΔLi3如式(13)所示,其中,进给加速度不能超过给定最大进给加速度amax;
ΔLi-1-amaxT2≤ΔLi3≤ΔLi-1+amaxT2 式(13)
其中,ΔLi-1表示第i-2插补点和第i-1插补点间的步长;
即步长满足式(14):
其中,ΔLi表示第i-1插补点和第i插补点间的步长;
如果ΔLi3>ΔLi-1+amaxT2,则令ΔLi3=ΔLi-1+amaxT2;如果ΔLi-1-amaxT2>ΔLi3,则令ΔLi3=ΔLi-1-amaxT2;
步骤2034)计算给定最大法向加速度约束:
首先根据NURBS插补过程中进给速度vi与法向加速度ani的关系,采用式(15)计算法向加速度ani:
式中,ρi表示ΔLi的曲率半径;
设允许的最大法向加速度为anmax,采用式(16)获得最大法向加速度约束下允许的最大步长ΔLi4:
根据式(15)和式(16),得出即最大法向加速度约束下允许的最大步长为ΔLi4,如式(17)所示:
步骤2035)步长自适应优化调节:在自适应步长规划过程中,当前段的期望步长ΔLi满足式(18):
通过上述自适应步长调节获得一系列期望步长序列,然后选取步长序列中的极小值点作为曲率最大的点,即拐点,最后根据获得的拐点将期望步长序列分成若干段,并记录每段的总长度,以及拐点处的期望步长。
步骤30)通过分段进行S型曲线位置插补,对自适应过程中的运动参数进行平滑处理。
步骤30)可以实现柔性加减速。步骤30)具体包括:首先根据拐点步长和各段的长度,对每段采用七段式S曲线速度规划,获得速度序列,从而得到各个周期的进给步长;然后再次通过参数密化过程获得参数u序列;最后每隔插补周期T'取参数u,获得在直角坐标系下的位置插补序列p(u)。
步骤40)采用球面线性插值slerp方法完成姿态插补,得到的位置插补坐标和姿态插补坐标。
步骤40)采用球面线性插值slerp(Spherical Linear Interpolation)完成姿态插补,首先将起点、终点姿态以及中间插补姿态采用四元数的表示形式;然后将已完成位置插补的总步长之和与NURBS曲线的总长作为姿态插补参数r;最后根据起点和终点的姿态采用slerp插补方法完成NURBS姿态插补。如图8所述,所述的步骤40)具体包括步骤401)至步骤403):
步骤401)采用四元数表示姿态:将起点、终点姿态以及中间插补姿态采用四元数的表示形式,记法如下:
[r,q]=[r,(R,P,Y)]
其中,r为姿态插补系数,取值范围为[0,1];q为姿态向量;R为插补点的α旋转轴的姿态值,P为插补点的β旋转轴的姿态值,Y为插补点的γ旋转轴的姿态值;
步骤402)选定姿态插补系数r:将已完成位置插补的总步长之和与NURBS曲线的总长作为姿态插补系数r;
步骤403)采用slerp插补方法完成姿态插补,如式(19)所示:
qr=k0qbeg+k1qend 式(19)
其中,qr表示系数r的姿态向量,qbeg表示起始姿态向量,qend表示终止姿态向量,k0表示起始点系数,k1表示终止点系数;
ω表示qbeg到qend弧所截的角;
采用式(20)所示slerp插补方法完成姿态插补:
步骤50)对步骤40)得到的位置插补坐标和姿态插补坐标,进行机器人正逆解计算,得到关节角插补序列。
所述步骤50)具体为:首先根据位置插补坐标和姿态插补坐标,经机器人正逆解计算得到对应的关节角插补序列,然后将该序列发送给伺服控制器,以控制机器人完成相应的运动操作。
应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。
Claims (7)
1.一种参数自适应密化的机器人NURBS曲线运动插补方法,其特征在于:该方法包括以下步骤:
步骤10)根据输入的运动参数,获得NURBS曲线表达式及参数密化过程中采用的导函数表达式;
步骤20)利用改进的Admas微分方程,对步骤10)输入的运动参数中的节点矢量u进行预估,并根据约束条件,自适应对运动参数中的节点矢量u进行校正;
步骤30)通过分段进行S型曲线位置插补,对自适应过程中的运动参数进行平滑处理;
步骤40)采用球面线性插值slerp方法完成姿态插补,得到的位置插补坐标和姿态插补坐标;
步骤50)对步骤40)得到的位置插补坐标和姿态插补坐标,进行机器人正逆解计算,得到关节角插补序列。
2.根据权利要求1所述的参数自适应密化的机器人NURBS曲线运动插补方法,其特征在于:所述的步骤10)具体包括:
步骤101)确定三次NURBS曲线表达式:对于给定的控制顶点{d0,d1,...,dn}及其权值{ω0,ω1,...,ωn}和节点矢量{u0,u1,...,un+k+1},其中,k=3,得到三次NURBS曲线表达式p(u),如式(1)所示:
其中,ωi表示控制顶点di的权值,di表示第i个控制顶点,Ni,3表示3次B样条基函数,B3、B2、B1和B0分别为分子系数;b3、b2、b1和b0分别为分母系数;
步骤102)求解三次NURBS曲线第i-2段表达式:
令其中3≤j≤n+1,代入式(1),得到式(2):
式中,dj表示第j个控制顶点,ωj表示控制顶点dj的权值,Nj,3表示3次B样条基函数,di-3表示第i-3个控制顶点,ωi-3表示控制顶点di-3的权值,di-2表示第i-2个控制顶点,ωi-2表示控制顶点di-2的权值,di-1表示第i-1个控制顶点,ωi-1表示控制顶点di-1的权值,di表示第i个控制顶点,ωi表示控制顶点di的权值,上标T表示转置,
步骤103)求解NUBRS曲线第i-2段表达式的分子系数和分母系数:将Mi代入式(2),得分子系数和分母系数分别为:
步骤104)计算NURBS曲线的导函数表达式:首先在式(2)所示的NURBS曲线表达式上,利用求导公式对节点矢量u求导,获得NURBS曲线的一阶导函数;然后对一阶导函数再次利用求导公式对节点矢量u求导,获得NURBS曲线的二阶导函数。
3.根据权利要求1所述的参数自适应密化的机器人NURBS曲线运动插补方法,其特征在于:所述的步骤20)具体包括:
步骤201)密化自变量u:
当参数u索引i>2时,根据式(6)预估下一个参数;
当参数u索引1≤i≤2时,采用一阶泰勒级数展开,如式(3)所示:
式中,ui+1表示规划节点矢量,ui表示已知节点矢量,ΔLi表示规划周期内的步长,T表示规划周期,表示机器人末端速度, px(u)表示直角坐标系下x轴方向位置插补序列,py(u)表示直角坐标系下y轴方向位置插补序列,pz(u)表示直角坐标系下z轴方向位置插补序列;
根据三步四阶Admas微分方程,表示参数密化的递推公式如式(4)所示:
其中,ui+1表示规划节点矢量,表示规划节点矢量的导数,ui表示已知的第i个节点矢量,表示已知的第i个节点矢量的导数,表示已知的第i-1个节点矢量的导数,表示已知的第i-2个节点矢量的导数;
步骤202)用差分代替微分:式(4)中的微分采用式(5)替换为差分,如式(6)所示:
其中,表示预估参数;
步骤203)计算相对误差:根据预估参数获得预估点位置坐标并获得相应的预估步长如式(7)所示:
其中,表示预估步长,表示预估点x轴位置坐标,表示预估点y轴位置坐标,表示预估点z轴位置坐标,xi表示已知点x轴位置坐标,yi表示已知点y轴位置坐标,zi表示已知点z轴位置坐标;
计算预估步长与期望步长ΔLi的相对误差δi,如式(8)所示:
其中,期望步长ΔLi为自适应步长调节过程中获得的步长;
步骤204)校正预估参数:如果相对误差δi超出给定阈值,则采用式(9)对预估参数进行校正:
其中,表示预估的插补点参数;
若预估的插补点数目大于等于1,则对预估的插补点进行位置插补,否则返回步骤201)重新计算密化自变量u。
4.根据权利要求3所述的参数自适应密化的机器人NURBS曲线运动插补方法,其特征在于:所述的步骤203)中,计算期望步长具体包括:
步骤2031)计算弦高误差约束:采用式(10)计算弦高误差:
其中,为预估的插补点参数,ui为已知的插补点参数,pi为ui的插补点坐标,为的插补点坐标,为和ui的中位点坐标,εi为预估点与已知点的距离,为弦高误差;
设允许的最大弦高误差为hmax,则最大弦高误差约束下,允许的最大步长ΔLi1如式(11)所示:
步骤2032)计算最大进给速度约束:在给定最大进给速度vmax约束下,允许的最大步长ΔLi2如式(12)所示:
ΔLi2=vmaxT 式(12)
步骤2033)计算给定最大进给加速度约束:在给定最大进给加速度约束下,允许的步长ΔLi3如式(13)所示,其中,进给加速度不能超过给定最大进给加速度amax;
ΔLi-1-amaxT2≤ΔLi3≤ΔLi-1+amaxT2 式(13)
其中,ΔLi-1表示第i-2插补点和第i-1插补点间的步长;
即步长满足式(14):
其中,ΔLi表示第i-1插补点和第i插补点间的步长;
如果ΔLi3>ΔLi-1+amaxT2,则令ΔLi3=ΔLi-1+amaxT2;如果ΔLi-1-amaxT2>ΔLi3,则令ΔLi3=ΔLi-1-amaxT2;
步骤2034)计算给定最大法向加速度约束:
首先根据NURBS插补过程中进给速度vi与法向加速度ani的关系,采用式(15)计算法向加速度ani:
式中,ρi表示ΔLi的曲率半径;
设允许的最大法向加速度为anmax,采用式(16)获得最大法向加速度约束下允许的最大步长ΔLi4:
根据式(15)和式(16),得出即最大法向加速度约束下允许的最大步长为ΔLi4,如式(17)所示:
步骤2035)步长自适应优化调节:在自适应步长规划过程中,当前段的期望步长ΔLi满足式(18):
通过上述自适应步长调节获得一系列期望步长序列,然后选取步长序列中的极小值点作为曲率最大的点,即拐点,最后根据获得的拐点将期望步长序列分成若干段,并记录每段的总长度,以及拐点处的期望步长。
5.根据权利要求1所述的参数自适应密化的机器人NURBS曲线运动插补方法,其特征在于:所述的步骤30)具体包括:首先根据拐点步长和各段的长度,对每段采用七段式S曲线速度规划,获得速度序列,从而得到各个周期的进给步长;然后再次通过参数密化过程获得参数u序列;最后每隔插补周期T'取参数u,获得在直角坐标系下的位置插补序列p(u)。
6.根据权利要求1所述的参数自适应密化的机器人NURBS曲线运动插补方法,其特征在于:所述的步骤40)具体包括:
步骤401)采用四元数表示姿态:将起点、终点姿态以及中间插补姿态采用四元数的表示形式,记法如下:
[r,q]=[r,(R,P,Y)]
其中,r为姿态插补系数,取值范围为[0,1];q为姿态向量;R为插补点的α旋转轴的姿态值,P为插补点的β旋转轴的姿态值,Y为插补点的γ旋转轴的姿态值;
步骤402)选定姿态插补系数r:将已完成位置插补的总步长之和与NURBS曲线的总长作为姿态插补系数r;
步骤403)采用slerp插补方法完成姿态插补,如式(19)所示:
qr=k0qbeg+k1qend 式(19)
其中,qr表示系数r的姿态向量,qbeg表示起始姿态向量,qend表示终止姿态向量,k0表示起始点系数,k1表示终止点系数;
ω表示qbeg到qend弧所截的角;
采用式(20)所示slerp插补方法完成姿态插补:
7.根据权利要求1所述的参数自适应密化的机器人NURBS曲线运动插补方法,其特征在于:所述步骤50)具体为:首先根据位置插补坐标和姿态插补坐标,经机器人正逆解计算得到对应的关节角插补序列,然后将该序列发送给伺服控制器,以控制机器人完成相应的运动操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610822342.0A CN106393106B (zh) | 2016-09-13 | 2016-09-13 | 参数自适应密化的机器人nurbs曲线运动插补方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610822342.0A CN106393106B (zh) | 2016-09-13 | 2016-09-13 | 参数自适应密化的机器人nurbs曲线运动插补方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106393106A CN106393106A (zh) | 2017-02-15 |
CN106393106B true CN106393106B (zh) | 2018-11-06 |
Family
ID=58000139
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610822342.0A Active CN106393106B (zh) | 2016-09-13 | 2016-09-13 | 参数自适应密化的机器人nurbs曲线运动插补方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106393106B (zh) |
Families Citing this family (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106802625B (zh) * | 2017-03-14 | 2019-03-01 | 成都工业学院 | 一种导数多维空间机床轨迹运动再现方法 |
CN110231041B (zh) * | 2018-03-06 | 2021-05-25 | 北京京东尚科信息技术有限公司 | 一种车道切换的导航方法和装置 |
CN110515346A (zh) * | 2018-05-22 | 2019-11-29 | 兰州荣翔轨道交通科技有限公司 | 一种工业机器人铣削复杂曲面无过切刀具路径插补方法 |
CN111339621B (zh) * | 2018-11-30 | 2022-09-23 | 中国石油化工股份有限公司 | 一种钻井过程仿真方法以及系统 |
CN109828535B (zh) * | 2019-01-11 | 2021-07-27 | 天津理工大学 | 一种基于四阶龙格-库塔算法的nurbs曲线插补方法 |
CN110132195B (zh) * | 2019-05-30 | 2021-04-20 | 华中科技大学无锡研究院 | 叶片截面接触式扫描测量的探针测球三维半径补偿方法 |
CN110440806A (zh) * | 2019-08-12 | 2019-11-12 | 苏州寻迹智行机器人技术有限公司 | 一种激光与二维码融合的agv精确定位方法 |
CN111198561B (zh) * | 2019-12-05 | 2021-10-22 | 浙江大华技术股份有限公司 | 目标跟踪的运动控制方法、装置、计算机设备及存储介质 |
CN110879614B (zh) * | 2019-12-12 | 2021-09-21 | 上海交通大学 | 无人机速度规划方法 |
CN111085995B (zh) * | 2019-12-13 | 2021-04-02 | 珠海格力电器股份有限公司 | 一种机器人速度规划方法、装置、存储介质及机器人 |
CN113031510B (zh) * | 2019-12-24 | 2022-04-05 | 沈阳智能机器人创新中心有限公司 | 面向复杂多轴系统的b样条曲线计算加速方法 |
CN111496798B (zh) * | 2020-05-18 | 2022-06-14 | 北京配天技术有限公司 | 机器人传送带跟踪方法、设备及存储装置 |
CN111722591B (zh) * | 2020-06-05 | 2021-10-08 | 浙江工业大学 | 一种商标模切机高精度联动插补的方法 |
CN111633668B (zh) * | 2020-07-27 | 2021-07-02 | 山东大学 | 一种用于机器人加工三维自由曲面的运动控制方法 |
CN112269356B (zh) * | 2020-10-27 | 2022-03-18 | 南京溧航仿生产业研究院有限公司 | 一种机器人nurbs轨迹插补方法 |
CN113103241B (zh) * | 2021-04-29 | 2022-08-23 | 哈尔滨工业大学 | 用于实现g2连续的机器人双nurbs轨迹插补方法、装置及系统 |
CN113290558A (zh) * | 2021-05-24 | 2021-08-24 | 南京航空航天大学 | 一种基于参数密化的nurbs曲线速度插补方法 |
CN113970905B (zh) * | 2021-10-26 | 2023-07-18 | 广东工业大学 | 用于高精度运动平台控制的任意阶s型曲线运动规划方法 |
CN113997157A (zh) * | 2021-11-11 | 2022-02-01 | 吉林大学 | 基于宏微复合驱动的多面共体光学曲面抛光机床及方法 |
CN115097785B (zh) * | 2022-06-29 | 2023-05-09 | 西安电子科技大学 | 一种五轴联动曲面喷墨打印按位置采样触发方法 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006227724A (ja) * | 2005-02-15 | 2006-08-31 | Mitsubishi Electric Corp | ロボットの制御装置および制御方法 |
CN102722141A (zh) * | 2012-06-28 | 2012-10-10 | 华南理工大学 | 一种基于pc-fpga的nurbs曲线实时插补方法 |
CN103440645A (zh) * | 2013-08-16 | 2013-12-11 | 东南大学 | 一种基于自适应粒子滤波和稀疏表示的目标跟踪算法 |
CN104020718A (zh) * | 2014-05-28 | 2014-09-03 | 张万军 | 一种nurbs曲线参考模型自适应实时插补方法 |
CN104238458A (zh) * | 2013-06-08 | 2014-12-24 | 沈阳高精数控技术有限公司 | 一种nurbs曲线高速前瞻插补方法 |
CN104636522A (zh) * | 2013-11-12 | 2015-05-20 | 中国科学院沈阳计算技术研究所有限公司 | 一种优化的nurbs和dda曲线两级插补方法 |
CN105785921A (zh) * | 2016-03-25 | 2016-07-20 | 华南理工大学 | 一种工业机器人nurbs曲线插补时的速度规划方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5306313B2 (ja) * | 2010-12-20 | 2013-10-02 | 株式会社東芝 | ロボット制御装置 |
-
2016
- 2016-09-13 CN CN201610822342.0A patent/CN106393106B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006227724A (ja) * | 2005-02-15 | 2006-08-31 | Mitsubishi Electric Corp | ロボットの制御装置および制御方法 |
CN102722141A (zh) * | 2012-06-28 | 2012-10-10 | 华南理工大学 | 一种基于pc-fpga的nurbs曲线实时插补方法 |
CN104238458A (zh) * | 2013-06-08 | 2014-12-24 | 沈阳高精数控技术有限公司 | 一种nurbs曲线高速前瞻插补方法 |
CN103440645A (zh) * | 2013-08-16 | 2013-12-11 | 东南大学 | 一种基于自适应粒子滤波和稀疏表示的目标跟踪算法 |
CN104636522A (zh) * | 2013-11-12 | 2015-05-20 | 中国科学院沈阳计算技术研究所有限公司 | 一种优化的nurbs和dda曲线两级插补方法 |
CN104020718A (zh) * | 2014-05-28 | 2014-09-03 | 张万军 | 一种nurbs曲线参考模型自适应实时插补方法 |
CN105785921A (zh) * | 2016-03-25 | 2016-07-20 | 华南理工大学 | 一种工业机器人nurbs曲线插补时的速度规划方法 |
Also Published As
Publication number | Publication date |
---|---|
CN106393106A (zh) | 2017-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106393106B (zh) | 参数自适应密化的机器人nurbs曲线运动插补方法 | |
CN105785921B (zh) | 一种工业机器人nurbs曲线插补时的速度规划方法 | |
US11188056B2 (en) | Feedrate scheduling method for five-axis dual-spline curve interpolation | |
CN109571473B (zh) | 一种误差可控的小线段轨迹光顺方法 | |
CN111791236B (zh) | 一种工业机器人笛卡尔空间轨迹过渡方法 | |
CN108549328B (zh) | 自适应速度规划方法及系统 | |
CN114131612A (zh) | 基于nurbs曲线插补算法的冗余机械臂实时前瞻轨迹规划方法 | |
CN105773620B (zh) | 基于倍四元数的工业机器人自由曲线的轨迹规划控制方法 | |
US8774965B2 (en) | Method and device for controlling a manipulator | |
CN108568817B (zh) | 一种基于贝塞尔曲线的Delta机器人轨迹连接控制方法 | |
CN106814694B (zh) | 一种高速高精度的参数曲线前瞻插补方法 | |
CN109664303B (zh) | 一种误差可控的四轴工业机器人b样条过渡式平顺轨迹生成方法 | |
CN110900612B (zh) | 一种位姿同步的六轴工业机器人轨迹平顺方法 | |
CN104007705A (zh) | 小线段路径压缩平滑的前瞻插补系统 | |
CN112975992B (zh) | 一种误差可控的机器人轨迹同步优化方法 | |
CN103048953B (zh) | 一种基于arm9嵌入式系统和fpga的nurbs曲线分段插补方法 | |
CN112486101B (zh) | Nurbs曲线自适应前瞻插补方法 | |
CN102707671A (zh) | 应用于工具机的加工路径最佳化方法 | |
WO2024124794A1 (zh) | 一种五轴联动同步刀具路径插补方法和系统 | |
CN114265367B (zh) | 一种高精度参数路径插补方法及系统 | |
CN114115131A (zh) | 一种应用于五轴数控机床的时间样条曲线拟合与插补方法 | |
CN113848809A (zh) | 基于数值滤波的轨迹规划方法 | |
CN112327758B (zh) | 基于b样条拟合及分段插补的小线段刀轨局部光顺方法 | |
CN116117796B (zh) | 一种工业机器人姿态轨迹过渡与速度规划方法及系统 | |
CN109283892B (zh) | 一种基于参数化曲线几何特征和弓高误差限制的进给速率自适应插补算法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |