【机器人学】机械臂球形手腕的逆解

        如图1所示的球形手腕(三个关节的轴线相交于一点)是常用的机械臂结构,我们希望在已知坐标系3至坐标系6的旋转矩阵的条件下求解3个关节值 q3 q 3 <script type="math/tex" id="MathJax-Element-658">q_{3}</script>, q4 q 4 <script type="math/tex" id="MathJax-Element-659">q_{4}</script>, q6 q 6 <script type="math/tex" id="MathJax-Element-660">q_{6}</script>。旋转矩阵可通过欧拉角集合、四元数或直接用3×3的矩阵给出。


这里写图片描述
图1 典型腕关节结构

        假设现在已知的旋转矩阵为:

R63=nxnynzsxsyszaxayaz R 3 6 = [ n x s x a x n y s y a y n z s z a z ]
<script type="math/tex; mode=display" id="MathJax-Element-661">R_{3}^{6}=\left[ \begin{matrix} {{n}_{x}} & {{s}_{x}} & {{a}_{x}} \\ {{n}_{y}} & {{s}_{y}} & {{a}_{y}} \\ {{n}_{z}} & {{s}_{z}} & {{a}_{z}} \\ \end{matrix} \right]</script>

         q3 q 3 <script type="math/tex" id="MathJax-Element-662">q_{3}</script>, q4 q 4 <script type="math/tex" id="MathJax-Element-663">q_{4}</script>, q6 q 6 <script type="math/tex" id="MathJax-Element-664">q_{6}</script>的值为 :
        当 q5(0π) q 5 ∈ ( 0 , π ) <script type="math/tex" id="MathJax-Element-665">{{q}_{5}}\in \left( 0,\pi \right)</script>

q4=atan2(ay,ax)q5=atan2(ax2+ay2,az)q6=atan2(sz,nz)(205)(206)(207) (205) q 4 = atan ⁡ 2 ( a y , a x ) (206) q 5 = a tan ⁡ 2 ( a x 2 + a y 2 , a z ) (207) q 6 = a tan ⁡ 2 ( s z , − n z )
<script type="math/tex; mode=display" id="MathJax-Element-666">\begin{align} & {{q}_{4}}=\operatorname{atan}2\left( {{a}_{y}},{{a}_{x}} \right) \\ & {{q}_{5}}=a\tan 2\left( \sqrt{{{a}_{x}}^{2}+{{a}_{y}}^{2}},{{a}_{z}} \right) \\ & {{q}_{6}}=a\tan 2\left( {{s}_{z}},-{{n}_{z}} \right) \\ \end{align}</script>
        当 q5(π0) q 5 ∈ ( − π , 0 ) <script type="math/tex" id="MathJax-Element-667">{{q}_{5}}\in \left( -\pi ,0 \right)</script>
q4=atan2(ay,ax)q5=atan2(ax2+ay2,az)q6=atan2(sz,nz)(208)(209)(210) (208) q 4 = atan ⁡ 2 ( − a y , − a x ) (209) q 5 = a tan ⁡ 2 ( − a x 2 + a y 2 , a z ) (210) q 6 = a tan ⁡ 2 ( − s z , n z )
<script type="math/tex; mode=display" id="MathJax-Element-668">\begin{align} & {{q}_{4}}=\operatorname{atan}2\left( -{{a}_{y}},-{{a}_{x}} \right) \\ & {{q}_{5}}=a\tan 2\left( -\sqrt{{{a}_{x}}^{2}+{{a}_{y}}^{2}},{{a}_{z}} \right) \\ & {{q}_{6}}=a\tan 2\left( -{{s}_{z}},{{n}_{z}} \right) \\ \end{align}</script>

参考文献:
布鲁诺・西西里安诺.《机器人学:建模,规划和控制》 西安交通大学出版社 2015

posted @ 2018-07-29 17:32  gpeng832  阅读(212)  评论(0)    收藏  举报  来源