一种工业机器人快速示教装置及其实现方法与流程

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

技术特征:

1.一种工业机器人快速示教装置,其特征在于:包括一工业机器人、一机器人控制器、一末端执行工具、一示教模组、一信号放大器、一数据采集器以及一计算机;所述末端执行工具固定于所述工业机器人的末端,所述示教模组固连于所述末端执行工具,所述信号放大器的一端连接至所述示教模组,另一端连接至所述数据采集器,所述数据采集器连接至所述计算机,所述计算机连接至所述机器人控制器,所述机器人控制器与工业机器人相连;所述示教模组包括一六维力/力矩传感器、一示教手柄以及一按钮,所述示教手柄固连于所述六维力/力矩传感器,所述按钮安装于所述示教手柄上。

2.根据权利要求1所述的一种工业机器人快速示教装置,其特征在于:该装置在X、Y、Z、Rx、Ry、Rz六个方向的示教行程与所述六维力/力矩传感器检测到的纯净力信号相关,其算法为:

移动步长计算公式:

<mrow> <msub> <mi>x</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mo>|</mo> <msub> <mi>F</mi> <mi>i</mi> </msub> <mo>|</mo> </mrow> <msub> <mi>F</mi> <mi>i</mi> </msub> </mfrac> <mo>&times;</mo> <mrow> <mo>(</mo> <mo>|</mo> <msub> <mi>F</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>-</mo> <mn>3</mn> <mo>)</mo> </mrow> <mo>&times;</mo> <msub> <mi>k</mi> <mi>x</mi> </msub> </mrow>

其中Fi代表x、y、z三个方向的力值,3代表力的最小的阀值,当力的绝对值大于3N时才会执行移动,其中kx是移动系数,根据实际应用进行设定,进行运算之前设定一个力最大阀值,当超过一定的最大限值后移动步长不再随之而增加,而是定值;

转动步长计算公式:

<mrow> <msub> <mi>&theta;</mi> <mrow> <mi>s</mi> <mi>t</mi> <mi>e</mi> <mi>p</mi> </mrow> </msub> <mo>=</mo> <mfrac> <mrow> <mo>|</mo> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>|</mo> </mrow> <msub> <mi>T</mi> <mi>i</mi> </msub> </mfrac> <mo>&times;</mo> <mrow> <mo>(</mo> <mo>|</mo> <msub> <mi>T</mi> <mi>i</mi> </msub> <mo>|</mo> <mo>-</mo> <mn>2</mn> <mo>)</mo> </mrow> <mo>&times;</mo> <msub> <mi>k</mi> <mi>&theta;</mi> </msub> </mrow>

其中Ti代表x、y、z三个方向的力矩值,2代表力矩的最小的阀值,当力矩的绝对值大于2时才会执行转动,其中kθ是转动系数,根据实际应用进行设定,进行运算之前设定一个力最大阀值,当超过一定的最大限值后转动步长不再随之而增加,而是定值;

速度的计算公式:

<mrow> <mi>v</mi> <mo>=</mo> <mfrac> <mn>60</mn> <mrow> <mn>1</mn> <mo>+</mo> <msup> <mi>e</mi> <mrow> <mn>10</mn> <mo>-</mo> <mo>|</mo> <mi>F</mi> <mo>|</mo> </mrow> </msup> </mrow> </mfrac> </mrow>

速度的计算采用Sigmoid型函数,当力大于某值时速度达到极限值不再增加。

3.根据权利要求2所述的一种工业机器人快速示教装置,其特征在于:所述纯净力信号是通过对所述六维力/力矩传感器进行重力补偿而得到,所述重力补偿算法为:

计算初始位置手持器重力在基坐标系下的向量大小并记录:

<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>G</mi> <mrow> <mi>x</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>G</mi> <mrow> <mi>y</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>G</mi> <mrow> <mi>z</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>n</mi> <mrow> <mi>x</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>o</mi> <mrow> <mi>x</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mrow> <mi>x</mi> <mn>2</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>n</mi> <mrow> <mi>y</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>o</mi> <mrow> <mi>y</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mrow> <mi>y</mi> <mn>2</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>n</mi> <mrow> <mi>z</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>o</mi> <mrow> <mi>z</mi> <mn>2</mn> </mrow> </msub> </mtd> <mtd> <msub> <mi>a</mi> <mrow> <mi>z</mi> <mn>2</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>F</mi> <mrow> <mi>x</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>F</mi> <mrow> <mi>y</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>F</mi> <mrow> <mi>z</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>

当机器人位姿改变时,重力在传感器坐标系下的三个方向分力计算:

其中是程序启动时传感器坐标系相对于机器人基坐标系的位姿矩阵,是程序启动时手持器重力在力传感器坐标系下的分力表示,是末端手持器重力分力在基坐标系下的矩阵表示,是传感器相对于基坐标系的实时的位姿矩阵的逆,是重力随位姿改变后末端手持器重力在工具坐标系下的分力表示,其随机器人的位姿改变而实时刷新,从而完成对重力补偿的计算;

手持器重力矩补偿算法为:重力矩的补偿通过对重心位置的确定,从而快速确定重力引起的三个分力矩的大小,通过如下算法进行计算:

<mrow> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>M</mi> <mrow> <mi>x</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>M</mi> <mrow> <mi>y</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>M</mi> <mrow> <mi>z</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> </mtable> </mfenced> <mo>=</mo> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>F</mi> <mrow> <mi>z</mi> <mn>0</mn> </mrow> </msub> </mrow> </mtd> <mtd> <msub> <mi>F</mi> <mrow> <mi>y</mi> <mn>0</mn> </mrow> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>F</mi> <mrow> <mi>z</mi> <mn>0</mn> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> <mtd> <mrow> <mo>-</mo> <msub> <mi>F</mi> <mrow> <mi>x</mi> <mn>0</mn> </mrow> </msub> </mrow> </mtd> </mtr> <mtr> <mtd> <mrow> <mo>-</mo> <msub> <mi>F</mi> <mrow> <mi>y</mi> <mn>0</mn> </mrow> </msub> </mrow> </mtd> <mtd> <msub> <mi>F</mi> <mrow> <mi>x</mi> <mn>0</mn> </mrow> </msub> </mtd> <mtd> <mn>0</mn> </mtd> </mtr> </mtable> </mfenced> <mfenced open = "[" close = "]"> <mtable> <mtr> <mtd> <msub> <mi>d</mi> <mi>x</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>d</mi> <mi>y</mi> </msub> </mtd> </mtr> <mtr> <mtd> <msub> <mi>d</mi> <mi>z</mi> </msub> </mtd> </mtr> </mtable> </mfenced> </mrow>

在末端手持器作用力前,使用该计算方法,求解出重心相对于传感器中心的位置矩阵表达式:[dx,dy,dz]T,然后保存用于补偿重力分力产生的重力矩,求解出重心的位置矩阵。

4.一种根据权利要求1所述的工业机器人快速示教装置的实现方法,其特征在于:示教步骤如下:

步骤S01:根据不同的示教加工任务选取适合的执行工具,选取完成后和示教模组一起安装于工业机器人末端,完成安装后,装置上电,所述计算机完成对六维力/力矩传感器及程序的初始化,所述工业机器人回到初始化程序起点,判断六维力/力矩传感器及工业机器人初始化是否完成,未完成继续等待,等待初始化完成后力/力矩传感器开始工作;

步骤S02:所述六维力/力矩传感器采集末端的力及力矩信息,通过信号放大器将采集的信号放大以便于采集;

步骤S03:所述数据采集模块采集放大器的模拟量,对采集信号进行滤波、整形并完成模拟信号与数字信号的转换;

步骤S04:所述计算机建立六维力/力矩传感器坐标系与工具坐标系之间的转换,完成对末端执行件重力引起的重力分力以及重力分力矩补偿,将补偿完成后的六维力/力矩传感器力信息实时显示在人机界面上;

步骤S05:所述计算机将补偿后的力以及力矩信息通过移动算法得出工业机器人末端执行工具端点的移动量以及旋转量,实现机器人的移动示教,当工业机器人到达示教点后,按下手持器的开关按钮,通过数据采集模块检测开关是否按下,如按下则通过计算机储存示教点信息;

步骤S06:所述示教模组示教完成后可以进行快速拆卸,拆卸完成后末端执行工具可以根据之前示教储存的点数据完成示教加工任务,保证在示教加工过程中六维力/力矩传感器的安全使用,同时拆卸下的力/力矩传感器可用于下一台机器人快速示教工作。

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