发明名称 3-PRP平面三自由度并联机构定位方法
摘要 本发明提出一种3-PRP平面三自由度并联机构定位方法,通过建立一个随运动部件一同运动的动坐标系,并确定运动准则,再通过调试方法得到定位所需的零位状态参数,然后确定进行位置反解时的初始状态,最后根据两个位置点的运动前后坐标,由反解方法得到实现平台运动所需的驱动量。本发明方法中建立的动坐标系与测量仪器所在的地面静坐标系关系简单明了,易于计算;调试方法得到的零位状态参数相比于用其他测量手段得到的拥有更高的精度;反解方法在机构运动全过程提供方法支持,可满足工业实际应用中的需求;定位问题的解决对3-PRP平面三自由度并联机构的应用可以起到推进的作用,使得该机构能够准确到达平面内的期望位置,可应用于精确对准等工业领域。
申请公布号 CN102023643B 申请公布日期 2012.12.19
申请号 CN201010297536.6 申请日期 2010.09.30
申请人 北京航空航天大学 发明人 徐远志;焦宗夏
分类号 G05D3/00(2006.01)I 主分类号 G05D3/00(2006.01)I
代理机构 北京永创新实专利事务所 11121 代理人 周长琪
主权项 1.一种3-PRP平面三自由度并联机构定位方法,其特征在于,具体包括以下步骤:步骤一、在三个转动副中心所在的平面,以三个转动副中心建立一个随运动平台一同运动的平面动坐标系,所述三个转动副中心在该动坐标系中的某一个坐标轴方向的分量始终为零,第一个主动支链的转动副中心所在的坐标轴为y轴,第二个和第三个主动支链的转动副中心所在的坐标轴为x轴;步骤二、通过下面调试步骤得到机器原点M<sub>0</sub>在四种状态下相对于静坐标系的静坐标,并记录这四个静坐标;所述的机器原点M<sub>0</sub>是在矩形活动平台的中心位置设置的标记点;步骤2.1、令三个主动支链的主动滑动副均直线驱动距离A,获得机器原点M<sub>0</sub>此时的静坐标(mX<sub>1</sub>,mY<sub>1</sub>);步骤2.2、令第二个主动支链的主动滑动副再直线驱动距离B,获得机器原点M<sub>0</sub>此时的静坐标为(mX<sub>2</sub>,mY<sub>2</sub>);步骤2.3、令第一个主动支链的主动滑动副再直线驱动距离B,获得机器原点M<sub>0</sub>此时的静坐标为(mX<sub>3</sub>,mY<sub>3</sub>);步骤2.4、令第二个主动支链的主动滑动副再直线驱动距离B,获得机器原点M<sub>0</sub>此时的静坐标为(mX<sub>4</sub>,mY<sub>4</sub>);步骤三、根据步骤二中得到的四个静坐标,依据坐标系变换的关系,得到零位状态的信息:<maths num="0001"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mn>1</mn></msub><mo>=</mo><mi>arctan</mi><mfrac><mrow><msub><mi>mY</mi><mn>2</mn></msub><mo>-</mo><msub><mi>mY</mi><mn>3</mn></msub></mrow><mrow><msub><mi>mX</mi><mn>3</mn></msub><mo>-</mo><msub><mi>mX</mi><mn>2</mn></msub></mrow></mfrac></mrow></math>]]></maths><maths num="0002"><![CDATA[<math><mrow><msub><mi>&theta;</mi><mn>2</mn></msub><mo>=</mo><mn>2</mn><mi>arctan</mi><mfrac><mrow><msub><mi>mY</mi><mn>2</mn></msub><mo>-</mo><msub><mi>mY</mi><mn>3</mn></msub></mrow><mrow><msub><mi>mX</mi><mn>3</mn></msub><mo>-</mo><msub><mi>mX</mi><mn>2</mn></msub></mrow></mfrac></mrow></math>]]></maths><maths num="0003"><![CDATA[<math><mrow><msub><mi>X</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><mrow><mo>(</mo><msub><mi>mY</mi><mn>4</mn></msub><mo>-</mo><msub><mi>mY</mi><mn>2</mn></msub><mo>)</mo></mrow><mi>sin</mi><msub><mi>&theta;</mi><mn>1</mn></msub><mi>sin</mi><msub><mi>&theta;</mi><mn>2</mn></msub><mo>+</mo><mrow><mo>(</mo><mi>A</mi><mo>+</mo><mi>B</mi><mo>-</mo><msub><mi>mX</mi><mn>4</mn></msub><mo>)</mo></mrow><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>+</mo><mrow><mo>(</mo><mi>m</mi><msub><mi>X</mi><mn>2</mn></msub><mo>-</mo><mi>A</mi><mo>)</mo></mrow><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><mrow><mo>(</mo><mi>m</mi><msub><mi>X</mi><mn>1</mn></msub><mo>-</mo><mi>A</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><mo>)</mo></mrow></mrow><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>-</mo><msub><mi>&theta;</mi><mn>2</mn></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><mo>-</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths><maths num="0004"><![CDATA[<math><mrow><msub><mi>Y</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><mrow><mo>(</mo><msub><mi>mX</mi><mn>2</mn></msub><mo>-</mo><msub><mi>X</mi><mn>1</mn></msub><mo>-</mo><mi>A</mi><mo>)</mo></mrow><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>X</mi><mn>1</mn></msub><mo>+</mo><mi>A</mi><mo>+</mo><mi>B</mi><mo>-</mo><msub><mi>mX</mi><mn>4</mn></msub><mo>)</mo></mrow><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><msub><mi>mY</mi><mn>2</mn></msub><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><mo>+</mo><msub><mi>mY</mi><mn>4</mn></msub><mi>sin</mi><msub><mi>&theta;</mi><mn>2</mn></msub></mrow><mrow><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub></mrow></mfrac></mrow></math>]]></maths><maths num="0005"><![CDATA[<math><mrow><msub><mi>X</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><mrow><mo>(</mo><msub><mi>Y</mi><mn>2</mn></msub><mo>+</mo><mi>A</mi><mo>+</mo><mi>B</mi><mo>+</mo><msub><mi>mY</mi><mn>2</mn></msub><mo>)</mo></mrow><mi>cos</mi><msub><mi>&theta;</mi><mn>1</mn></msub><mo>+</mo><mrow><mo>(</mo><mo>-</mo><msub><mi>Y</mi><mn>2</mn></msub><mo>-</mo><mi>A</mi><mo>-</mo><mn>2</mn><mi>B</mi><mo>+</mo><msub><mi>mY</mi><mn>4</mn></msub><mo>)</mo></mrow><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><msub><mi>mX</mi><mn>2</mn></msub><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><mo>+</mo><msub><mi>mX</mi><mn>4</mn></msub><mi>sin</mi><msub><mi>&theta;</mi><mn>2</mn></msub></mrow><mrow><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub></mrow></mfrac></mrow></math>]]></maths><maths num="0006"><![CDATA[<math><mrow><msub><mi>Y</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><mrow><mo>(</mo><msub><mi>mX</mi><mn>2</mn></msub><mo>-</mo><msub><mi>mX</mi><mn>4</mn></msub><mo>)</mo></mrow><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>+</mo><mrow><mo>(</mo><mi>A</mi><mo>+</mo><mn>2</mn><mi>B</mi><mo>-</mo><msub><mi>mY</mi><mn>4</mn></msub><mo>)</mo></mrow><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>+</mo><mrow><mo>(</mo><msub><mi>mY</mi><mn>2</mn></msub><mo>-</mo><mi>A</mi><mo>-</mo><mi>B</mi><mo>)</mo></mrow><msub><mrow><mi>cos</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><mrow><mo>(</mo><msub><mi>mY</mi><mn>1</mn></msub><mo>-</mo><mi>A</mi><mo>)</mo></mrow><mrow><mo>(</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><mo>)</mo></mrow></mrow><mrow><mi>sin</mi><mrow><mo>(</mo><msub><mi>&theta;</mi><mn>2</mn></msub><mo>-</mo><msub><mi>&theta;</mi><mn>1</mn></msub><mo>)</mo></mrow><mo>-</mo><mrow><mo>(</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>2</mn></msub><mo>-</mo><msub><mrow><mi>sin</mi><mi>&theta;</mi></mrow><mn>1</mn></msub><mo>)</mo></mrow></mrow></mfrac></mrow></math>]]></maths>Y<sub>3</sub>=Y<sub>2</sub><maths num="0007"><![CDATA[<math><mrow><msub><mi>X</mi><mn>3</mn></msub><mo>=</mo><msub><mi>X</mi><mn>2</mn></msub><mo>+</mo><mfrac><mi>B</mi><mrow><mi>tan</mi><msub><mi>&theta;</mi><mn>1</mn></msub></mrow></mfrac></mrow></math>]]></maths>其中,θ<sub>1</sub>为步骤2.2形成的动坐标系相对于步骤2.1形成的动坐标系逆时针旋转的角度;θ<sub>2</sub>为步骤2.4形成的动坐标系相对于步骤2.1形成的动坐标系逆时针旋转的角度;(X<sub>1</sub>,Y<sub>1</sub>)、(X<sub>2</sub>,Y<sub>2</sub>)和(X<sub>3</sub>,Y<sub>3</sub>)分别为三个转动副中心在零位状态时相对于静坐标系的坐标;步骤四、根据步骤三得到的零位状态的信息,标定初始状态,所述的初始状态是指由用户设定的或者上一次运动停止后的状态;标定得到的初始状态为:<maths num="0008"><![CDATA[<math><mrow><mi>&theta;</mi><mo>=</mo><mi>arctan</mi><mfrac><mrow><msub><mi>Y</mi><mn>2</mn></msub><mo>-</mo><msub><mi>Y</mi><mn>3</mn></msub><mo>+</mo><mi>b</mi><mo>-</mo><mi>c</mi></mrow><mrow><msub><mi>X</mi><mn>3</mn></msub><mo>-</mo><msub><mi>X</mi><mn>2</mn></msub></mrow></mfrac></mrow></math>]]></maths>P=(Y<sub>2</sub>+b-Y<sub>1</sub>)sinθcosθ+X<sub>2</sub>sin<sup>2</sup>θ+(X<sub>1</sub>+a)cos<sup>2</sup>θQ=-(X<sub>1</sub>+a-X<sub>2</sub>)sinθcosθ+Y<sub>1</sub>sin<sup>2</sup>θ+(Y<sub>2</sub>+b)cos<sup>2</sup>θ其中,a、b、c分别为用户设定的初始状态时三个主动支链相对于零位状态下的直线推进量,θ为初始状态相对于零位状态时逆时针方向移动的角度,P为初始状态相对于零位状态时在x轴方向移动的距离,Q为初始状态相对于零位状态时在y轴方向移动的距离;步骤五、根据两个位置点在活动平台运动前后相对于静坐标系的静坐标,得到相对于初始状态下的三个直线主动驱动量:<maths num="0009"><![CDATA[<math><mrow><msub><mi>&Delta;X</mi><mn>1</mn></msub><mo>=</mo><mfrac><mrow><msub><mi>Y</mi><mn>1</mn></msub><mi>sin</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow><mo>-</mo><mi>S </mi><mi>sin</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow><mo>+</mo><mi>R</mi><mi>cos</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow></mrow><mrow><mi>cos</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><msub><mi>X</mi><mn>1</mn></msub><mo>-</mo><mi>a</mi><mo>,</mo></mrow></math>]]></maths><maths num="0010"><![CDATA[<math><mrow><msub><mi>&Delta;Y</mi><mn>2</mn></msub><mo>=</mo><mfrac><mrow><mo>-</mo><msub><mi>X</mi><mn>2</mn></msub><mi>sin</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow><mo>+</mo><mi>R </mi><mi>sin</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow><mo>+</mo><mi>S </mi><mi>cos</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow></mrow><mrow><mi>cos</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><msub><mi>Y</mi><mn>2</mn></msub><mo>-</mo><mi>b</mi><mo>,</mo></mrow></math>]]></maths><maths num="0011"><![CDATA[<math><mrow><msub><mi>&Delta;Y</mi><mn>3</mn></msub><mo>=</mo><mfrac><mrow><mo>-</mo><msub><mi>X</mi><mn>3</mn></msub><mi>sin</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow><mo>+</mo><mi>R</mi><mi>sin</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow><mo>+</mo><mi>S</mi><mi>cos</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow></mrow><mrow><mi>cos</mi><mrow><mo>(</mo><mi>&theta;</mi><mo>+</mo><mi>r</mi><mo>)</mo></mrow></mrow></mfrac><mo>-</mo><msub><mi>Y</mi><mn>3</mn></msub><mo>-</mo><mi>c</mi><mo>,</mo></mrow></math>]]></maths>其中,两个位置点是指在活动平台上标记的两个点M与N,点M在活动平台运动前后的静坐标分别为(Mx<sub>1</sub>,My<sub>1</sub>)和(Mx<sub>2</sub>,My<sub>2</sub>),点N在活动平台运动前后的静坐标分别为(Nx<sub>1</sub>,Ny<sub>1</sub>)和(Nx<sub>2</sub>,Ny<sub>2</sub>),r为运动后动坐标系相对于初始状态时逆时针方向移动的角度,<img file="FDA00001958733300025.GIF" wi="812" he="107" />R为运动后动坐标系相对于零位状态时在x轴方向移动的距离,R=Gcos(θ+r)+Hsin(θ+r);S为运动后动坐标系相对于零位状态时在y轴方向移动的距离,S=-Gsin(θ+r)+Hcos(θ+r);其中,参数G、H分别为:G=-Mx<sub>1</sub>cosθ+My<sub>1</sub>sinθ-Qsinθ+Pcosθ+Mx<sub>2</sub>cos(θ+r)-My<sub>2</sub>sin(θ+r),H=Mx<sub>1</sub>sinθ-My<sub>1</sub>cosθ+Psinθ+Qcosθ+Mx<sub>2</sub>sin(θ+r)+My<sub>2</sub>cos(θ+r),根据上述得到的三个直线主动驱动量,控制驱动电机输出相应的位移量,推动活动平台实现准确定位。
地址 100191 北京市海淀区学院路37号