CN104199999B - 一种关节对中误差对多自由度机械臂末端定位精度影响的定量分析方法 - Google Patents
一种关节对中误差对多自由度机械臂末端定位精度影响的定量分析方法 Download PDFInfo
- Publication number
- CN104199999B CN104199999B CN201410341106.8A CN201410341106A CN104199999B CN 104199999 B CN104199999 B CN 104199999B CN 201410341106 A CN201410341106 A CN 201410341106A CN 104199999 B CN104199999 B CN 104199999B
- Authority
- CN
- China
- Prior art keywords
- mtd
- mrow
- msub
- mtr
- joint
- 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
Landscapes
- Manipulator (AREA)
- Numerical Control (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Medicines Containing Antibodies Or Antigens For Use As Internal Diagnostic Agents (AREA)
Abstract
本发明公开了一种关节对中误差对多自由度机械臂末端定位精度影响的定量评价方法,其步骤为:(1)对机械臂关节位姿变换进行建模,利用D‑H表示法建立各个连杆位姿变换矩阵;(2)对机械臂关节对中误差进行建模;(3)导入对中误差模型,确定各关节初始位置态,确定各关节初始位置;(4)采用Monte Carlo法分析关节误差对于末端运动位置影响的模拟仿真;(5)根据步骤(4)绘制末端执行器位置分布图,统计分布特征,做出影响评价。本发明具有原理简单、操作简便、精度高等优点。
Description
技术领域
本发明主要涉及到多自由度机械臂的设计领域,特指一种适用于多自由度机械臂设计的由关节对中误差引起的机械臂末端定位精度分析方法。
背景技术
如图1所示,在进行多自由度机械臂的设计过程中,众多因素将会对串联机械臂运动精度产生影响,如:系统误差和随机误差,系统误差一般包括刚性误差、几何误差、定位偏差及反向误差等,随机误差包括定位散布度、负荷及振动等。在这些因素中刚性误差、几何误差、定位偏差与反向误差作为系统误差可以通过反复测量修正传递模型参数进行补偿。由负荷与振动引起的误差可由控制依据具体情况进行补偿。定位散布度就体现出作为机械臂关节的对中误差,其具有很强的随机性,分布情况统计困难,难以补偿修正。
目前,对于“对中误差”大部分的研究均集中于对单关节对中误差的测量与修正上,很少讨论对中误差对于末端定位精度的影响,以及多关节的误差传递问题,同时也缺乏对于由于对中误差之类的随机误差对多自由度机械臂末端定位精度影响的分析评价方法。
发明内容
本发明要解决的技术问题就在于:针对现有技术存在的技术问题,本发明提供一种原理简单、操作简便、精度高的关节对中误差对多自由度机械臂末端定位精度影响的定量评价方法。
为解决上述技术问题,本发明采用以下技术方案:
一种关节对中误差对多自由度机械臂末端定位精度影响的定量评价方法,其步骤为:
(1)对机械臂关节位姿变换进行建模,利用D-H表示法建立各个连杆位姿变换矩阵;
(2)对机械臂关节对中误差进行建模;
(3)导入对中误差模型,确定各关节初始位置态,确定各关节初始位置;
(4)采用Monte Carlo法分析关节误差对于末端运动位置影响的模拟仿真,即在对中误差范围内对各个误差关节变量产生服从误差分布规律的随机数,得到各个关节样本数据;根据产生的各关节的误差变换矩阵计算出末端执行器实际位置,存储当前实际位置点;
(5)根据步骤(4)绘制末端执行器位置分布图,统计分布特征,做出影响评价。
作为本发明的进一步改进:在步骤(1)中,利用D-H表示法建立各个连杆位姿变换矩阵如下,其中表示连杆坐标系{n}相对于连杆坐标系{m}的描述:
机械臂的末端相对于原点的位姿变换矩阵为:
其为关于6个关节变量的函数,可以得到机械臂位姿变换矩阵为:
其中,P表示末端执行器的位置,n、o、a表示末端执行器的姿态;di为第i-1关节与第i关节间两法线连杆距离,ai为第i-1关节与第i关节间连杆长度,αi为第i-1连杆与第i连杆间扭角,θi为第i-1连杆与第i连杆间夹角。
作为本发明的进一步改进:在所述步骤(2)的对中误差模型中,第i关节的实际坐标系位姿的变化矩阵Ei为:
ω为实际坐标系绕理论坐标系的轴xi-1的转动角度;θ为实际坐标系绕理论坐标系的yi-1轴转动的角度;为P2点的x坐标值,为P2点的y坐标值。此时,末端执行器的位姿由上述累计误差产生,经过六个关节后的实际位姿为:
作为本发明的进一步改进:在所述步骤(4)中采用Monte Carlo分析关节误差对于末端运动位置影响的模拟仿真步骤如下:
(3.1)依据机械臂末端位置,反解得到各关节角度参数,计算出理想姿态矩阵Ω0,理想末端位置向量P0;
(3.2)在对中误差范围内对各个误差关节变量产生服从误差分布规律的随机数,得到各个关节样本数据i=1,2,3,4,5,6;i为关节编号,m代表进行的实验次数。R1i为第i关节1端面轴线偏离中心点距离,R2i为第i关节2端面轴线偏离中心点距离,为第i关节1端面中圆柱坐标表示法的转角,为第i关节2端面中圆柱坐标表示法的转角;
(3.3)根据误差变换矩阵求解,得到第i关节第m次实验的误差变换矩阵Eim;
(3.4)将误差变换矩阵Eim代入到正解模型,得到末端执行器第m次实验的实际姿态矩阵Ωm与第m次实验的末端位置点Pm;
(3.5)将位置向量Pm与理想位置向量P0取差,得到以理想点为原点的机械臂末端误差向量△Pm;
(3.6)执行步骤(3.2)至(3.5)即为完成一次试验,重复(3.2)至(3.5)m次,得到机械臂末端误差向量集{△Pm};
(3.7)绘制机械臂末端误差向量图及机械臂末端误差概率密度分布图,统计误差分布特征。
与现有技术相比,本发明的优点在于:
1、本发明通过设计基于D-H坐标表示法和抽象出的对中误差模型建模,其建模方法简单,所需参数直观易得,误差的传递表达准确。
2、本发明采用的Monte Carlo实验方法采用随机抽样原理模拟机器人各个关节的原始误差,能良好的符合关节对中误差分布特性,实验原理相符,试验方法可靠。
3、本发明将误差分布情况通过三维图及二维投影直观出来,效果直观,并且可将误差分布范围及概率定量化表示出来,参考性强。
附图说明
图1是影响串联机械臂运动精度的因素组成示意图。
图2是六自由度机械臂模型示意图。
图3是机械臂关节误差对中误差模型示意图。
图4是关节坐标系变换过程示意图。
图5是末端误差分布三维云图。
图6是X-Y平面上的误差分布密度图。
图7是Y-Z平面上的误差分布密度图。
图8是X-Z平面上的误差分布密度图。
图9是机械臂末端执行器误差概率密度图。
图10是机械臂末端执行器误差累计概率密度图。
图11是本发明方法的流程示意图。
具体实施方式
以下将结合说明书附图和具体实施例对本发明做进一步详细说明。
本发明的一种关节对中误差对多自由度机械臂末端定位精度影响的定量评价方法,主要针对的是六自由度机械臂。目前,六自由度机械臂的应用十分广泛,且机械臂关节越多,对中误差对于机械臂末端定位精度的影响就越明显,对于对中误差的分析也越加必要,所以针对六自由度机械臂进行评价尤为重要。在具体应用时,其他数量的自由度的机械臂也可以参照本发明来进行。
如图11所示,在具体应用实例中,本发明的详细步骤为:
(1)对机械臂关节位姿变换进行建模;
如图2所示,为六自由度机械臂的结构原理示意图,其中包含了结构原理与基本参数。其中,di为第i-1关节与第i关节间两法线连杆距离,ai为第i-1关节与第i关节间连杆长度,αi为第i-1连杆与第i连杆间扭角,θi为第i-1连杆与第i连杆间夹角。机械臂关节D-H参数如下表1所示:
表1 机械臂关节D-H参数
连杆i | 变量θi | αi-1 | ai-1 | di |
1 | θ1 | 0 | 0 | 0 |
2 | θ2 | -90 | a1 | 0 |
3 | θ3 | 90 | a2 | d3 |
4 | θ4 | 0 | 0 | d4 |
5 | θ5 | 0 | a4 | d5 |
6 | θ6 | 0 | 0 | d6 |
利用D-H表示法建立各个连杆位姿变换矩阵如下,其中表示连杆坐标系{n}相对于连杆坐标系{m}的描述:
机械臂的末端相对于原点的位姿变换矩阵为:
其为关于6个关节变量的函数,可以得到机械臂位姿变换矩阵为:
其中,P表示末端执行器的位置,n、o、a表示末端执行器的姿态;di为第i-1关节与第i关节间两法线连杆距离,ai为第i-1关节与第i关节间连杆长度,αi为第i-1连杆与第i连杆间扭角,θi为第i-1连杆与第i连杆间夹角。
(2)对机械臂关节对中误差进行建模;
在安装以及加工过程中,设备的表面不可能平整,且由于关节轴与轴套存在装配间隙,关节轴与安装基座基准轴存在下面四种相对位置情况:a、两轴对中;b、两轴平行但不对中;c、两轴端同心但倾斜;d、两轴倾斜,由以上状态引起的误差称为“对中误差”。
如图3所示,为关节对中误差模型图,其中关节基准坐标系为X-Y-Z,旋转轴线为Z轴。由于对中误差影响所形成的某一状态下实际转轴为P1P2,其与关节上下底面交点分别为P1(R1,),P2(R2,)。
P1、P2两点分别在面Σ1、Σ2内满足等概率分布,此时的概率密度函数为:
f(R1)=2πR1/(πR0 2)
其中R0为径向最大间隙。根据图3中关节误差对中误差模型,建立机械臂D-H关节坐标系变换过程如图4所示。
在对中误差影响下的实际坐标系相对于原始标准坐标系所产生的变换为:
Ri为实际坐标系相对于原始坐标系的姿态变换,Pi为实际坐标系相对于原始坐标系的位置变换。产生平动:
由图6可知实际坐标系的矢量方向为:
在Y-O-Z面投影向量:
那么绕原始坐标系的轴xi-1转动角度ω:
对应位姿变化矩阵Rot(x,ω):
绕变换坐标系的轴yi-1转动角度θ:
对应位姿变化矩阵Rot(y,θ):
坐标系偏移产生的位置变换矩阵
可以得到实际坐标系位姿的变化矩阵Ei:
此时,末端执行器的位姿由上述累计误差产生,经过五个关节后的实际位姿为:
(3)仿真实验;
Monte Carlo方法是在已知随机变量概率分布的基础上,利用计算机对有关变量乃至整个工程系统进行随机抽样模拟的强有力工具。通过随机抽样程序生成的具有一定分布规律的随机数,模拟机器人各个关节的原始误差,从而对抽样数据做统计分析来完成复杂概率分析的近似方法。采用Monte Carlo分析关节误差对于末端运动位置影响的模拟仿真步骤如下:
(3.1)依据机械臂末端位置,反解得到各关节角度参数,计算出理想姿态矩阵Ω0,理想末端位置向量P0;
(3.2)在对中误差范围内对各个误差关节变量产生服从误差分布规律的随机数,得到各个关节样本数据i=1,2,3,4,5,6;i为关节编号,m代表进行的实验次数。R1i为第i关节1端面轴线偏离中心点距离,R2i为第i关节2端面轴线偏离中心点距离,为第i关节1端面中圆柱坐标表示法的转角,为第i关节2端面中圆柱坐标表示法的转角;
(3.3)根据误差变换矩阵求解,得到第i关节第m次实验的误差变换矩阵Eim;
(3.4)将误差变换矩阵Eim代入到正解模型,得到末端执行器第m次实验的实际姿态矩阵Ωm与第m次实验的末端位置点Pm;
(3.5)将位置向量Pm与理想位置向量P0取差,得到以理想点为原点的机械臂末端误差向量△Pm;
(3.6)执行步骤(3.2)至(3.5)即为完成一次试验,重复(3.2)至(3.5)m次,得到机械臂末端误差向量集{△Pm};
(3.7)绘制机械臂末端误差向量图及机械臂末端误差概率密度分布图,统计误差分布特征。
(4)对中误差分析评价方法;
本实施例中,以下表2所示的结构参数条件进行实验,所得到的末端误差分布三维云图如图5所示。
表2 机械臂关节D-H参数
连杆i | 变量θi | αi-1 | ai-1 | di | 关节径向间隙R0 |
1 | 100 | 0 | 0 | 0 | 0.05 |
2 | 60 | -90 | 200 | 0 | 0.05 |
3 | -10 | 90 | 200 | 1000 | 0.05 |
4 | -120 | 0 | 0 | 1000 | 0.05 |
5 | 90 | 0 | 200 | 100 | 0.05 |
6 | 0 | 0 | 0 | 100 | 0.05 |
依据图5可知,由关节对中误差引起的六自由度机械臂末端误差三维空间分布情况。如果想针对某一平面进行误差分布分析评价,则可对某一平面进行误差分布概率密度投影,通过观察分析投影可直接了解到平面内的误差分布范围和不同位置的误差分布密度。如图6所示,为在X-Y平面上的误差分布密度图;如图7所示,为Y-Z平面上的误差分布密度图;如图8所示,为X-Z平面上的误差分布密度图。图中黑点为理想末端执行器的位置。
如果机械臂的评价敏感问题为机械臂末端的误差范围,则依据机械臂末端的误差分布频数进行概率统计。可知不同误差的出现概率。同时可以依据每个关节不同的对中误差范围进行频数分布对比,如图9所示。转化为机械臂末端执行器误差累计概率密度后如图10所示。依据图10可统计出表3内相关项目信息。
表3 机械臂末端执行器误差统计数值(单位:mm)
公差带 | 概率峰值点 | CDF50%误差范围 | CDF90%误差范围 | CDF98%误差范围 |
0.025 | 0.1595 | 0.22 | 0.42 | 0.56 |
0.05 | 0.3147 | 0.44 | 0.84 | 1.12 |
0.075 | 0.4844 | 0.66 | 1.26 | 1.7 |
依据以上所得的图、表、相关信息等结果,可参照机械臂的性能指标要求对由对中误差引起的机械臂末端定位误差进行定量分析与评价。
以上仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,应视为本发明的保护范围。
Claims (3)
1.一种关节对中误差对多自由度机械臂末端定位精度影响的定量评价方法,其特征在于,步骤为:
(1)对机械臂关节位姿变换进行建模,利用D-H表示法建立各个连杆位姿变换矩阵;
(2)对机械臂关节对中误差进行建模;
(3)导入对中误差模型,确定各关节初始位姿态,确定各关节初始位置;
(4)采用Monte Carlo法分析关节误差对于末端运动位置影响的模拟仿真,即在对中误差范围内对各个误差关节变量产生服从误差分布规律的随机数,得到各个关节样本数据;根据产生的各关节的误差变换矩阵计算出末端执行器实际位置,存储当前实际位置点;
在所述步骤(4)中采用Monte Carlo分析关节误差对于末端运动位置影响的模拟仿真步骤如下:
(3.1)依据机械臂末端位置,反解得到各关节角度参数,计算出理想姿态矩阵Ω0,理想末端位置向量P0;
(3.2)在对中误差范围内对各个误差关节变量产生服从误差分布规律的随机数,得到各个关节样本数据i为关节编号,m代表进行的实验次数;R1i为第i关节1端面轴线偏离中心点距离,R2i为第i关节2端面轴线偏离中心点距离,为第i关节1端面中圆柱坐标表示法的转角,为第i关节2端面中圆柱坐标表示法的转角;
(3.3)根据误差变换矩阵求解,得到第i关节第m次实验的误差变换矩阵Eim;
(3.4)将误差变换矩阵Eim代入到正解模型,得到末端执行器第m次实验的实际姿态矩阵Ωm与第m次实验的末端位置点Pm;
(3.5)将位置向量Pm与理想位置向量P0取差,得到以理想点为原点的机械臂末端误差向量ΔPm;
(3.6)执行步骤(3.2)至(3.5)即为完成一次试验,重复(3.2)至(3.5)m次,得到机械臂末端误差向量集{ΔPm};
(3.7)绘制机械臂末端误差向量图及机械臂末端误差概率密度分布图,统计误差分布特征;
(5)根据步骤(4)绘制末端执行器位置分布图,统计分布特征,做出影响评价。
2.根据权利要求1所述的关节对中误差对多自由度机械臂末端定位精度影响的定量评价方法,其特征在于,在步骤(1)中,当为六自由度机械臂时,利用D-H表示法建立各个连杆位姿变换矩阵如下,其中表示连杆坐标系{n}相对于连杆坐标系{m}的位姿变换描述:
<mrow>
<mmultiscripts>
<mi>T</mi>
<mn>1</mn>
<mn>0</mn>
</mmultiscripts>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>cos</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>1</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mmultiscripts>
<mi>T</mi>
<mn>2</mn>
<mn>1</mn>
</mmultiscripts>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mn>1</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
</mrow>
<mrow>
<mmultiscripts>
<mi>T</mi>
<mn>3</mn>
<mn>2</mn>
</mmultiscripts>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mn>1</mn>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>cos</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>2</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mn>3</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mmultiscripts>
<mi>T</mi>
<mn>4</mn>
<mn>3</mn>
</mmultiscripts>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>c</mi>
<mi>o</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>4</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>4</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>d</mi>
<mn>3</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>s</mi>
<mi>i</mi>
<mi>n</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>4</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>cos</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>4</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
<mrow>
<mmultiscripts>
<mi>T</mi>
<mn>5</mn>
<mn>4</mn>
</mmultiscripts>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>5</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>cos</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>5</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<msub>
<mi>d</mi>
<mn>4</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mi>cos</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>5</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>5</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mn>4</mn>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
<mo>,</mo>
<mmultiscripts>
<mi>T</mi>
<mn>6</mn>
<mn>5</mn>
</mmultiscripts>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mrow>
<mi>cos</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>6</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>6</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<msub>
<mi>d</mi>
<mn>5</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mrow>
<mo>-</mo>
<mi>sin</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>6</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<mi>cos</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>&theta;</mi>
<mn>6</mn>
</msub>
<mo>)</mo>
</mrow>
</mrow>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
<mrow>
<mmultiscripts>
<mi>T</mi>
<mn>7</mn>
<mn>6</mn>
</mmultiscripts>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
<mtd>
<mrow>
<mo>-</mo>
<msub>
<mi>d</mi>
<mn>6</mn>
</msub>
</mrow>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
机械臂的末端相对于原点的位姿变换矩阵为:
其为关于6个关节变量的函数,可以得到机械臂位姿变换矩阵为:
<mrow>
<mmultiscripts>
<mi>T</mi>
<mn>7</mn>
<mn>0</mn>
</mmultiscripts>
<mo>=</mo>
<mfenced open = "[" close = "]">
<mtable>
<mtr>
<mtd>
<msub>
<mi>n</mi>
<mi>x</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>o</mi>
<mi>x</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mi>x</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>p</mi>
<mi>x</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>n</mi>
<mi>y</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>o</mi>
<mi>y</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mi>y</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>p</mi>
<mi>y</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<msub>
<mi>n</mi>
<mi>z</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>o</mi>
<mi>z</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>a</mi>
<mi>z</mi>
</msub>
</mtd>
<mtd>
<msub>
<mi>p</mi>
<mi>z</mi>
</msub>
</mtd>
</mtr>
<mtr>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>0</mn>
</mtd>
<mtd>
<mn>1</mn>
</mtd>
</mtr>
</mtable>
</mfenced>
</mrow>
其中,p表示末端执行器的位置,n、o、a表示末端执行器的姿态;di为第i-1关节与第i关节间两法线连杆距离,ai为第i-1关节与第i关节间连杆长度,ai为第i-1连杆与第i连杆间扭角,θi为第i-1连杆与第i连杆间夹角。
3.根据权利要求2所述的关节对中误差对多自由度机械臂末端定位精度影响的定量评价方法,其特征在于,在所述步骤(2)的对中误差模型中,第i关节的实际坐标系位姿的变化矩阵Ei为:
<mrow>
<msub>
<mi>E</mi>
<mi>i</mi>
</msub>
<mo>=</mo>
<mi>T</mi>
<mi>r</mi>
<mi>a</mi>
<mi>n</mi>
<mi>s</mi>
<mrow>
<mo>(</mo>
<msub>
<mi>x</mi>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
</msub>
<mo>,</mo>
<msub>
<mi>y</mi>
<msub>
<mi>P</mi>
<mn>2</mn>
</msub>
</msub>
<mo>,</mo>
<mn>0</mn>
<mo>)</mo>
</mrow>
<mi>R</mi>
<mi>o</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>x</mi>
<mo>,</mo>
<mi>&omega;</mi>
<mo>)</mo>
</mrow>
<mi>R</mi>
<mi>o</mi>
<mi>t</mi>
<mrow>
<mo>(</mo>
<mi>y</mi>
<mo>,</mo>
<mi>&theta;</mi>
<mo>)</mo>
</mrow>
</mrow>
ω为实际坐标系绕理论坐标系的轴xi-1的转动角度;θ为实际坐标系绕理论坐标系的yi-1轴转动的角度;为P2点的x坐标值,为P2点的y坐标值;对中误差影响所形成的某一状态下实际转轴为P1P2,其与关节上下底面交点分别为P1、P2两点分别在面∑1、∑2内满足等概率分布;此时,末端执行器的位姿由累计形成的误差产生,经过六个关节后的实际位姿为:
<mrow>
<msub>
<mi>T</mi>
<mrow>
<mi>r</mi>
<mi>e</mi>
<mi>a</mi>
<mi>l</mi>
<mn>1</mn>
</mrow>
</msub>
<mo>=</mo>
<mmultiscripts>
<mi>T</mi>
<mn>1</mn>
<mn>0</mn>
</mmultiscripts>
<mo>&CenterDot;</mo>
<msub>
<mi>E</mi>
<mn>1</mn>
</msub>
<mo>&CenterDot;</mo>
<mmultiscripts>
<mi>T</mi>
<mn>2</mn>
<mn>1</mn>
</mmultiscripts>
<mo>&CenterDot;</mo>
<msub>
<mi>E</mi>
<mn>2</mn>
</msub>
<mo>&CenterDot;</mo>
<mmultiscripts>
<mi>T</mi>
<mn>3</mn>
<mn>2</mn>
</mmultiscripts>
<mo>&CenterDot;</mo>
<msub>
<mi>E</mi>
<mn>3</mn>
</msub>
<mo>&CenterDot;</mo>
<mmultiscripts>
<mi>T</mi>
<mn>4</mn>
<mn>3</mn>
</mmultiscripts>
<mo>&CenterDot;</mo>
<msub>
<mi>E</mi>
<mn>4</mn>
</msub>
<mo>&CenterDot;</mo>
<mmultiscripts>
<mi>T</mi>
<mn>5</mn>
<mn>4</mn>
</mmultiscripts>
<mo>&CenterDot;</mo>
<msub>
<mi>E</mi>
<mn>5</mn>
</msub>
<mo>&CenterDot;</mo>
<mmultiscripts>
<mi>T</mi>
<mn>6</mn>
<mn>5</mn>
</mmultiscripts>
<mo>&CenterDot;</mo>
<msub>
<mi>E</mi>
<mn>6</mn>
</msub>
<mo>&CenterDot;</mo>
<mmultiscripts>
<mi>T</mi>
<mn>7</mn>
<mn>6</mn>
</mmultiscripts>
<mo>.</mo>
</mrow>
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410341106.8A CN104199999B (zh) | 2014-07-17 | 2014-07-17 | 一种关节对中误差对多自由度机械臂末端定位精度影响的定量分析方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410341106.8A CN104199999B (zh) | 2014-07-17 | 2014-07-17 | 一种关节对中误差对多自由度机械臂末端定位精度影响的定量分析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104199999A CN104199999A (zh) | 2014-12-10 |
CN104199999B true CN104199999B (zh) | 2018-01-12 |
Family
ID=52085292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410341106.8A Active CN104199999B (zh) | 2014-07-17 | 2014-07-17 | 一种关节对中误差对多自由度机械臂末端定位精度影响的定量分析方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104199999B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106547207B (zh) * | 2016-10-13 | 2020-04-24 | 浙江理工大学 | 一种非线性多输入多输出系统混合式观测器构建方法 |
CN107038275B (zh) * | 2016-12-19 | 2020-05-19 | 中国科学院沈阳自动化研究所 | 一种机械臂误差分析方法 |
CN106647248B (zh) * | 2017-01-13 | 2020-02-07 | 中国科学院深圳先进技术研究院 | 一种确定串联机器人反解结果的方法及装置 |
CN107553496B (zh) * | 2017-09-29 | 2020-09-22 | 南京阿凡达机器人科技有限公司 | 机械臂逆运动学求解方法误差的确定及校正方法和装置 |
CN108225239B (zh) * | 2018-01-25 | 2019-10-22 | 哈尔滨工业大学 | 一种星载天线的伸展臂末端位姿静态误差域的计算方法 |
CN108594657A (zh) * | 2018-04-11 | 2018-09-28 | 福建省德腾智能科技有限公司 | 一种基于神经网络的机械臂自适应控制方法 |
CN108789470A (zh) * | 2018-06-15 | 2018-11-13 | 长沙琢冶信息技术有限公司 | 一种末端工具的配置方法 |
CN109591052A (zh) * | 2018-12-10 | 2019-04-09 | 珠海格力智能装备有限公司 | 机器人定位精度的设计方法、装置、存储介质和处理器 |
CN109615644B (zh) * | 2018-12-25 | 2021-05-04 | 北京理工大学 | 一种球碗偶件精密装配的面型匹配方法 |
CN110253574B (zh) * | 2019-06-05 | 2020-11-17 | 浙江大学 | 一种多任务机械臂位姿检测和误差补偿方法 |
CN110515350B (zh) * | 2019-08-13 | 2020-10-16 | 北京城建道桥建设集团有限公司 | 一种群孔群锚对中及误差理论分析方法 |
CN112632675A (zh) * | 2020-12-22 | 2021-04-09 | 上海市建工设计研究总院有限公司 | 一种建筑结构逆向轴线建模方法 |
CN117290980B (zh) * | 2023-11-27 | 2024-02-02 | 江西格如灵科技股份有限公司 | 一种基于Unity平台的机械臂仿真方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314690A (zh) * | 2011-06-07 | 2012-01-11 | 北京邮电大学 | 机械臂运动学参数分离辨识方法 |
-
2014
- 2014-07-17 CN CN201410341106.8A patent/CN104199999B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102314690A (zh) * | 2011-06-07 | 2012-01-11 | 北京邮电大学 | 机械臂运动学参数分离辨识方法 |
Non-Patent Citations (3)
Title |
---|
基于蒙特卡洛方法的导航机器人的误差分析;赵永涛等;《航空制造技术》;20040315(第03期);第52-54、61页 * |
考虑减速机构间隙的机械臂动力学建模分析;卢剑伟等;《机械工程学报》;20130831;第49卷(第15期);第15-21页 * |
隧道凿岩机器人控制系统及定位误差分析与补偿研究;谢习华;《中国博士学位论文全文数据库信息科技辑》;20110515(第05期);第18-40页 * |
Also Published As
Publication number | Publication date |
---|---|
CN104199999A (zh) | 2014-12-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104199999B (zh) | 一种关节对中误差对多自由度机械臂末端定位精度影响的定量分析方法 | |
CN102566577B (zh) | 一种工业机器人简易标定方法 | |
Petuya et al. | Educational software tools for the kinematic analysis of mechanisms | |
CN104007700B (zh) | 一种基于全局敏感度分析的三轴数控机床的关键性几何误差辨识方法 | |
Lu et al. | Fixture layout optimization for deformable sheet metal workpiece | |
CN105159228B (zh) | 五轴联动数控机床实现rtcp功能的五轴标定方法 | |
CN107247832B (zh) | 基于Web的三维轻量化模型虚拟装配方法及其装置 | |
CN104890013A (zh) | 一种基于拉线编码器的工业机器人标定算法 | |
CN106813638A (zh) | 一种3rps并联机器人几何参数辨识方法 | |
Jiao et al. | Processing configuration off-line optimization for functionally redundant robotic drilling tasks | |
CN103673976A (zh) | 复合式精度测量坐标系的转换与统一方法及系统 | |
CN104977816B (zh) | 基于Compact Particle Swarm Optimization算法的光刻机掩模台微动台的机械参数软测量方法 | |
CN107102617A (zh) | 一种高精度空间椭圆曲线实时插补方法 | |
CN106096099B (zh) | 一种机械产品误差传递分析方法及其装置 | |
CN106017326B (zh) | 龙门制孔机床点位精度评价方法 | |
Yin et al. | Vision-based measurement for decoupling identification of geometric errors of rotating axes for five-axis platform | |
CN104502128B (zh) | 一种基于微重力模拟系统的空间机械臂碰撞算法验证方法 | |
CN112476435B (zh) | 重力加速度方向的标定方法、标定装置及存储介质 | |
CN106248000B (zh) | 零件孔轴线的测量方法 | |
Khodaygan | Manufacturing error compensation based on cutting tool location correction in machining processes | |
CN104715133B (zh) | 一种待辨识对象的运动学参数在轨辨识方法和装置 | |
CN107665616B (zh) | 一种九自由度运动模拟器相对运动等效方法及系统 | |
CN106914896A (zh) | 一种机器人离线编程的构建方法 | |
CN113878586B (zh) | 机器人运动学标定装置、方法及系统 | |
Hu et al. | A force and moment compensation method for a hardware-in-the-loop docking simulator based on the stiffness identification of the docking mechanism |
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 |