一种焊接机械手及其路径学习方法与流程

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

技术特征:

1.一种焊接机械手及其路径学习方法,其特征在于:第1和第5个关节的转轴始终共面,5个关节上安装电机和编码器,编码器用于测量关节转动角度,测量结果通过数据线送计算机记录;第5个关节带有滑动伸缩杆以保证焊条与工件的接触;滑动伸缩杆由滑动箱(1)、滑动块(2)、滑动杆(3)和弹簧(4)组成;滑动箱(1)是一个带有立方体空腔的圆柱,一端与电机转轴固连,另一端与滑动杆(3)滑动连接;滑动杆(3)的一端与滑动箱(1)空腔内的滑动块(2)连接,另一端穿过弹簧(4)与末端执行器(5)连接。

2.根据权利要求1所述的一种焊接机械手及其路径学习方法,其特征在于:以O表示坐标系X0Y0Z0的原点,O1,…,O5分别表示第1,2,…,5个坐标系的原点,长度、时间、角度、速度和角速度分别以毫米、秒、弧度、毫米/秒和弧度/秒为单位,且记

|OO1|=d1,|O2O3|=a1,|O3O4|=a2

O5与夹在末端执行器(5)上的焊条端点的距离为a3,T表示各关节上的编码器的采样周期,分别表示第1,2,…,5个关节在第i个采样时刻的角位移,n+1为样本个数,||·||表示向量模,v表示焊接过程中焊条相对于焊缝的移动速度,对于i=0,1,…,n,记

<mrow> <msub> <mi>&Theta;</mi> <mi>i</mi> </msub> <mo>=</mo> <msup> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>,</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>,</mo> <mo>...</mo> <mo>,</mo> <msubsup> <mi>&theta;</mi> <mn>5</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mi>T</mi> </msup> </mrow>

<mrow> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>cos&theta;</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>cos&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> <mo>+</mo> <msub> <mi>a</mi> <mn>3</mn> </msub> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>4</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <msubsup> <mi>cos&theta;</mi> <mn>5</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>sin&theta;</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>cos&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> <mo>-</mo> <msub> <mi>a</mi> <mn>3</mn> </msub> <msubsup> <mi>sin&theta;</mi> <mn>5</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>sin&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mi>sin</mi> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>a</mi> <mn>5</mn> </msub> <mi>sin</mi> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>4</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <msubsup> <mi>cos&theta;</mi> <mn>5</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mtd> </mtr> </mtable> </mfenced> <mi>T</mi> </msup> </mrow>

<mrow> <msub> <mi>&omega;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>&theta;</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mi>v</mi> <mo>/</mo> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow>

<mrow> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>i</mi> </munderover> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> <mo>/</mo> <mi>v</mi> </mrow>

以t表示当前时刻,θj(t)表示t时刻第j个关节的实际角位移,表示变量赋值号,路径规划和焊接过程的程序为:

(1)焊条端点对准焊缝始点;对i=1,2,…,n,j=1,2,…,5,计算

<mrow> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>=</mo> <msup> <mfenced open = "(" close = ")"> <mtable> <mtr> <mtd> <mrow> <msubsup> <mi>cos&theta;</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>cos&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> <mo>+</mo> <msub> <mi>a</mi> <mn>3</mn> </msub> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>4</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <msubsup> <mi>cos&theta;</mi> <mn>5</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msubsup> <mi>sin&theta;</mi> <mn>1</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mrow> <mo>(</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>cos&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mi>c</mi> <mi>o</mi> <mi>s</mi> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>)</mo> <mo>-</mo> <msub> <mi>a</mi> <mn>3</mn> </msub> <msubsup> <mi>sin&theta;</mi> <mn>5</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <msub> <mi>d</mi> <mn>1</mn> </msub> <mo>-</mo> <msub> <mi>a</mi> <mn>1</mn> </msub> <msubsup> <mi>sin&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msub> <mi>a</mi> <mn>2</mn> </msub> <mi>sin</mi> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mo>+</mo> <msub> <mi>a</mi> <mn>5</mn> </msub> <mi>sin</mi> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mn>2</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>3</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>+</mo> <msubsup> <mi>&theta;</mi> <mn>4</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <msubsup> <mi>cos&theta;</mi> <mn>5</mn> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> </mrow> </mtd> </mtr> </mtable> </mfenced> <mi>T</mi> </msup> </mrow>

<mrow> <msub> <mi>t</mi> <mi>i</mi> </msub> <mo>=</mo> <munderover> <mo>&Sigma;</mo> <mrow> <mi>k</mi> <mo>=</mo> <mn>1</mn> </mrow> <mi>i</mi> </munderover> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mi>k</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mrow> <mi>k</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> <mo>/</mo> <mi>v</mi> </mrow>

<mrow> <msub> <mi>&omega;</mi> <mrow> <mi>i</mi> <mi>j</mi> </mrow> </msub> <mo>=</mo> <mrow> <mo>(</mo> <msubsup> <mi>&theta;</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>)</mo> </mrow> </msubsup> <mo>-</mo> <msubsup> <mi>&theta;</mi> <mi>j</mi> <mrow> <mo>(</mo> <mi>i</mi> <mo>-</mo> <mn>1</mn> <mo>)</mo> </mrow> </msubsup> <mo>)</mo> </mrow> <mi>v</mi> <mo>/</mo> <mo>|</mo> <mo>|</mo> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mi>i</mi> </msub> <mo>)</mo> </mrow> <mo>-</mo> <mi>A</mi> <mrow> <mo>(</mo> <msub> <mi>&Theta;</mi> <mrow> <mi>i</mi> <mo>-</mo> <mn>1</mn> </mrow> </msub> <mo>)</mo> </mrow> <mo>|</mo> <mo>|</mo> </mrow>

(2)t=0,i=1;

(3)若对t<ti,对j=1,2,…,5,第j个关节以角速度ωij旋转,否则

(4)若i<n,转(3);

(5)停止

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