一种工业机器人工具参数自动设定方法与流程

文档序号:11155779阅读:来源:国知局

技术特征:

1.一种工业机器人工具参数自动设定方法,其特征在于,包括以下步骤:

(1)以机器人固定工具的法兰位置为坐标原点建立空间直角坐标系,包括X轴、Y轴、Z轴,将工具安装在工业机器人上,在地面上设置一个固定的尖端;

(2)将工业机器人上的工具的尖端瞄准固定在地面上的尖端,改变瞄准姿势至少四次,分别记录每次瞄准姿势的动作作为示教点,选择四个示教点,进行如下计算:

设工具长度为l,工具中心点的坐标为(x,y,z),固定在地面的尖端的坐标为(X0,Y0,Z0),四个示教点的坐标分别为(nx,ny,nz)、(ox,oy,oz)、(ax,ay,az)、(ex,ey,ez),建立如下一个变换矩阵T:

<mrow> <mi>T</mi> <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>e</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>e</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>e</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>

是三维的列向量,其中,是相互正交的单位向量,为机器人实际坐标点,可以列出如下方程:

<mrow> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>&CenterDot;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>X</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Y</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>Z</mi> <mn>0</mn> </msub> </mtd> </mtr> <mtr> <mtd> <mn>1</mn> </mtd> </mtr> </mtable> </mfenced> <mo>,</mo> <mi>i</mi> <mo>=</mo> <mn>1</mn> <mo>,</mo> <mn>2</mn> <mo>,</mo> <mn>3</mn> <mo>,</mo> <mn>4</mn> </mrow>

利用其中的4个示教点可以列出4个方程组成方程组,然后其中两式相减可以得出如下方程:

<mrow> <mo>(</mo> <msub> <mi>H</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> <mo>)</mo> <mo>&CenterDot;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mn>2</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>y</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>y</mi> <mn>2</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>z</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>z</mi> <mn>2</mn> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

式中Hi(i=1,2,3,4)表示实际位置的旋转矩阵;

其余方程进行相减,可以得出以下方程:

<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mo>&CenterDot;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mn>2</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>z</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>z</mi> <mn>4</mn> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow>

采用线性最小二乘法的算法来对(x,y,z)进行计算得:

<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mi>x</mi> </mtd> </mtr> <mtr> <mtd> <mi>y</mi> </mtd> </mtr> <mtr> <mtd> <mi>z</mi> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfrac> <mrow> <msup> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mi>T</mi> </msup> <mo>&CenterDot;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>x</mi> <mn>2</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mtable> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> <mtr> <mtd> <mo>.</mo> </mtd> </mtr> </mtable> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>e</mi> <mrow> <mi>z</mi> <mn>1</mn> </mrow> </msub> <mo>-</mo> <msub> <mi>e</mi> <mrow> <mi>z</mi> <mn>4</mn> </mrow> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> <mrow> <msup> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> <mi>T</mi> </msup> <mo>&CenterDot;</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>2</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>3</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>H</mi> <mn>4</mn> </msub> <mo>-</mo> <msub> <mi>H</mi> <mn>1</mn> </msub> </mrow> </mtd> </mtr> </mtable> </mfenced> </mrow> </mfrac> </mrow>

再根据下式求出工具的长度l:

<mrow> <mi>l</mi> <mo>=</mo> <msqrt> <mrow> <msup> <mi>x</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>y</mi> <mn>2</mn> </msup> <mo>+</mo> <msup> <mi>z</mi> <mn>2</mn> </msup> </mrow> </msqrt> <mo>.</mo> </mrow>

2.根据权利要求1所述的工业机器人工具参数自动设定方法,其特征在于,重复步骤(2)记录多个不同的示教点并求工具长度,计算工具长度的平均值以减少误差。

3.根据权利要求1或2所述的工业机器人工具参数自动设定方法,其特征在于,还包括:编写机器人示教程序,依次对机器人每个轴进行旋转动作,读取各轴对应伺服驱动器的转矩值,根据转矩利用贝叶斯法则计算出工具的重心及重量。

4.根据权利要求1或2所述的工业机器人工具参数自动设定方法,其特征在于,还包括:分别选择X轴、Y轴、Z轴,编写程序使机器人沿着所选轴动作,测试工具惯性矩沿所选轴的分量;读取各轴对应伺服驱动器的转矩,根据各轴对应的伺服驱动器的转矩,通过贝叶斯法则计算出需要调整的工具惯性矩分量并进行调整。

5.根据权利要求1或2所述的工业机器人工具参数自动设定方法,其特征在于,工业机器人是六轴机器人。

6.根据权利要求1或2所述的工业机器人工具参数自动设定方法,其特征在于,所述步骤(2)中瞄准姿势改变的幅度至少大于15度。

7.根据权利要求4所述的工业机器人工具参数自动设定方法,其特征在于,机器人沿着所选轴进行动作时,每次只沿一个轴进行动作。

当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1