基于MATLAB的6R机械臂运动学的仿真研究

胡宇航, 张尚盈, 张晓艳

胡宇航, 张尚盈, 张晓艳. 基于MATLAB的6R机械臂运动学的仿真研究[J]. 制造技术与机床, 2022, (11): 27-32. DOI: 10.19287/j.mtmt.1005-2402.2022.11.004
引用本文: 胡宇航, 张尚盈, 张晓艳. 基于MATLAB的6R机械臂运动学的仿真研究[J]. 制造技术与机床, 2022, (11): 27-32. DOI: 10.19287/j.mtmt.1005-2402.2022.11.004
HU Yuhang, ZHANG Shangying, ZHANG Xiaoyan. Kinematics simulation of 6R mechanical arm based on MATLAB[J]. Manufacturing Technology & Machine Tool, 2022, (11): 27-32. DOI: 10.19287/j.mtmt.1005-2402.2022.11.004
Citation: HU Yuhang, ZHANG Shangying, ZHANG Xiaoyan. Kinematics simulation of 6R mechanical arm based on MATLAB[J]. Manufacturing Technology & Machine Tool, 2022, (11): 27-32. DOI: 10.19287/j.mtmt.1005-2402.2022.11.004

基于MATLAB的6R机械臂运动学的仿真研究

基金项目: 武汉工程大学第十三届研究生教育创新基金(CX2021067)
详细信息
    作者简介:

    胡宇航,男,1997年生,硕士研究生,研究方向为机电一体化。E-mail:641587526@qq.com

    通讯作者:

    张尚盈,男,1972年生,博士,高级工程师,研究方向为机电一体化、机器人。E-mail:witocomis@163.com

  • 中图分类号: TP241

Kinematics simulation of 6R mechanical arm based on MATLAB

  • 摘要: 为了更好地控制液压机械臂在工业生产中作业,以6R液压机械臂为研究对象,运用改进D-H法对其进行建模,建立正运动学方程,通过空间几何法和数值解析法结合的方式得到机械臂各关节角度变量的8组解。通过MATLAB软件中的Robots Toolbox对机械臂建模,在关节空间内对其进行运动轨迹仿真,得到各关节轴的角位移、角速度和角加速度随时间变化的平滑曲线,仿真结果验证了所建立的运动学方程的正确性以及该机械臂参数的合理性。为后续液压机械臂的运动规划及实时控制提供了必要的理论基础和正确的运动学模型。
    Abstract: In order to better control the operation of the hydraulic manipulator in industrial production, the 6R hydraulic manipulator is taken as the research object, the improved D-H method is used to model it, and the forward kinematics equation is established. Eight sets of solutions for the angle variables of each joint of the manipulator are obtained. The robotic arm is modeled by Robots Toolbox in MATLAB software, the motion trajectory of the robot was simulated in the joint space, and the smooth curves of angular displacement, angular velocity and angular acceleration of each joint axis with the time were obtained. The simulation results proved that the kinematics equation established is correct and the parameters of the robot are reasonable. It provides the necessary theoretical basis and correct kinematics model for the subsequent motion planning and real-time control of the hydraulic manipulator.
  • 近些年机械臂广泛应用于多个生产领域,这是因为它使用方便、动作灵敏,并且能适应各种复杂多变的工作环境,能有效地减少劳动力、提高生产效率。在工业拆卸及大物件搬运等起重比要求高的环境中,大多使用液压机械臂。

    为了提高液压机械臂的结构性能、作业精度等,其运动学的研究尤为重要。对于机械臂的建模及正逆运动学的研究方法选择上,不论是D-H建模还是其他的建模方式;数值解析法还是几何法,或是神经网络、遗传算法求逆解,都各有利弊。大部分专家学者在进行对机械臂运动学的研究中都采取了不同的方法。对机械臂建模而言,郭发勇等[1]使用一种实体建模的方式(CFDH)使机器人建模更直观准确,但建模步骤会繁琐一些;Li F T等[2]采用改进的D-H法和几何映射算法对液压机械臂建模。对运动学分析而言,郭志强等[3]和赵修琪等[4]采用矩阵逆乘的方式求逆解,此过程易懂明了,但出现了漏解现象;张普行等[5]用空间几何求反解,避免了大量矩阵乘和求矩阵逆;Peng J Q等[6]对6自由度机械臂划分成两个3自由度,用解析法对其求逆解;党浩明等[7]用中间变量替代齐次矩阵连乘,有效缩短逆解运算时间;Zarrin A等[8]提出一种逆运动学的优化几何解法,在笛卡尔坐标系下增加2个角度输入,增加机械臂工作空间,优化其效率,逆运动学求解大大降低了定位误差;Duka A V等[9]采用基于神经网络方式求逆解,并对其轨迹进行跟踪验证,结果非常稳定。

    本文以6R液压机械臂为研究对象,针对其正逆运动学进行研究和分析。首先,用改进的D-H参数法构建机械臂运动学模型及正运动学方程,运用几何法和解析法结合的方式求出运动学逆解,然后调用机器人工具箱对正逆解进行求解,分析对比计算值与真实值。最后,通过关节空间轨迹规划进行仿真,验证此建模及运动学分析的机械臂运动平稳有效,为之后运动规划及实时控制打下坚实基础[10]

    液压机械臂是一款6R关节串联机械臂,其三维模型如图1所示,它的主要组成包括腰部(回转)、大小臂(俯仰)以及手腕等部分,各相邻杆件通过转动关节连接,在工业拆卸、搬运等领域具有广泛的应用。机械臂全液压驱动,除肩部采用直线液压缸、腕部旋转采用液压马达,其余关节全部采用摆动液压缸。

    图  1  液压机械臂三维模型

    根据图12的机械臂三维模型及其尺寸参数,通过改进的D-H参数法,建立机械臂坐标系,$ i - 1 $系与$ i $系之间的变换关系可以用平移和旋转来表示。其建模的具体步骤如下:

    图  2  液压机械臂平面尺寸

    (1)令$ i - 1 $系绕$ {{\textit{z}} _{i - 1}} $轴旋转$ {\theta _i} $,使$ {x_{i - 1}} $$ {x_i} $平行,其算子为${{{\rm{Rot}}}}({{\textit{z}} _{i - 1}},{\theta _i})$

    (2)沿着$ {{\textit{z}} _{i - 1}} $轴平移$ {d}_{i} $,使$ {x_{i - 1}} $轴与$ {x_i} $轴重合,其算子为${{{\rm{Trans}}}}(0,0,{d}_{i})$

    (3)沿着$ {x_i} $轴平移$ {a_{i - 1}} $,使二者原点重合,其算子为${{{\rm{Trans}}}}({a_{i - 1}},0,0)$

    (4)沿着$ {x_i} $轴旋转$ {\alpha _{i - 1}} $,使得$ i - 1 $系和$ i $系重合,其算子为${{{\rm{Rot}}}}({x_i},{\alpha _{i - 1}})$

    构建的机械臂坐标系简图如图3所示,构建的连杆参数及关节变量如表1所示,其中$ {\alpha _{i - 1}} $表示连杆坐标系之间的扭转角度,$ {\theta _i} $表示各关节的旋转角度,$ {a_{i - 1}} $表示相邻关节之间的连杆长度,$ {d_i} $表示相邻连杆之间的偏移量。在表中各参数之中,只有$ {\theta _i} $为变值,$ {a_{i - 1}} $$ {\alpha _{i - 1}} $$ {d_i} $均为定值。

    图  3  机械臂坐标系简图
    表  1  液压机械臂D-H参数
    $ i $$ {a}_{i-1}/{\rm{mm}} $${\alpha _{i - 1} }/(^\circ )$$ {d_i}/{\rm{mm}} $${\theta _i}/(^\circ )$关节范围/$ (^\circ ) $
    1$ 0 $$ 0 $$ {d_1}(195) $$ {\theta _1} $$ (-120,120) $
    2$ {a_1}(120) $$ - 90 $$ 0 $$ {\theta _2} $$ ( - 32.5,87.5) $
    3$ {a_2}(850) $$ 0 $$ 0 $$ {\theta _3} $$ ( - 172,98) $
    4$ {a_3}(500) $$ 0 $$ 0 $$ {\theta _4} $$ ( - 90,90) $
    5$ {a_4}(130) $$ 90 $$ 0 $$ {\theta _5} $$ (-90,90) $
    6$ 0 $$ -90 $$ {d_6}(80) $$ {\theta }_{6} $$ ( - 360,360) $
    下载: 导出CSV 
    | 显示表格

    机械臂的正运动学是通过两连杆坐标系间的变换矩阵相乘得到末端位姿矩阵的过程。由于本文运用改进的D-H参数法,其变换矩阵的通式用式(1)表示。

    $$\begin{split} {}_i^{i - 1}{\boldsymbol{T}} =& {{{\rm{Rot}}}}({{\textit{z}} _{i - 1}},{\theta _i}) \times {{{\rm{Trans}}}}(0,0,{d_i}) \times \\&{{{\rm{Trans}}}}({a_{i - 1}},0,0) \times {{{\rm{Rot}}}}({x_i},{\alpha _{i - 1}}) \end{split}$$
    $$ {}_i^{i - 1}{\boldsymbol{T}} = \left( {\begin{array}{*{20}{c}} {\cos {\theta _i}} & { - \sin {\theta _i}} & 0 & {{a_{i - 1}}} \\ {\sin {\theta _i}\cos {\alpha _{i - 1}}} & {\cos {\theta _i}\cos {\alpha _{i - 1}}} & { - \sin {\alpha _{i - 1}}} & { - {d_i}\sin {\alpha _{i - 1}}} \\ {\sin {\theta _i}\sin {\alpha _{i - 1}}} & {\cos {\theta _i}\sin {\alpha _{i - 1}}} & {\cos {\alpha _{i - 1}}} & {{d_i}\cos {\alpha _{i - 1}}} \\ 0 & 0 & 0 & 1 \end{array}} \right) $$ (1)

    表1中各连杆的D-H的4个参数代入式(1)中,可依次得到如下各连杆变换矩阵。

    $$ {}_1^0{\boldsymbol{T}} = \left( {\begin{array}{*{20}{c}} {\cos {\theta _1}}&{ - \sin {\theta _1}}&0&0 \\ {\sin {\theta _1}}&{\cos {\theta _1}}&0&0 \\ 0&0&1&{{d_1}} \\ 0&0&0&1 \end{array}} \right) $$
    $$ {}_2^1{\boldsymbol{T}} = \left( {\begin{array}{*{20}{c}} {\cos {\theta _2}}&{ - \sin {\theta _2}}&0&{{a_1}} \\ 0&0&1&0 \\ { - \sin {\theta _2}}&{ - \cos {\theta _2}}&0&0 \\ 0&0&0&1 \end{array}} \right) $$
    $$ {}_3^2{\boldsymbol{T}} = \left( {\begin{array}{*{20}{c}} {\cos {\theta _3}}&{ - \sin {\theta _3}}&0&{{a_2}} \\ {\sin {\theta _3}}&{\cos {\theta _3}}&0&0 \\ 0&0&1&0 \\ 0&0&0&1 \end{array}} \right) $$
    $$ {}_4^3{\boldsymbol{T}} = \left( {\begin{array}{*{20}{c}} {\cos {\theta _4}}&{ - \sin {\theta _4}}&0&{{a_3}} \\ {\sin {\theta _4}}&{\cos {\theta _4}}&0&0 \\ 0&0&1&0 \\ 0&0&0&1 \end{array}} \right) $$
    $$ {}_5^4{\boldsymbol{T}} = \left( {\begin{array}{*{20}{c}} {\cos {\theta _5}}&{ - \sin {\theta _5}}&0&{{a_4}} \\ 0&0&{ - 1}&0 \\ {\sin {\theta _5}}&{\cos {\theta _5}}&0&0 \\ 0&0&0&1 \end{array}} \right) $$
    $$ {}_6^5{\boldsymbol{T}} = \left( {\begin{array}{*{20}{c}} {\cos {\theta _6}}&{ - \sin {\theta _6}}&0&0 \\ 0&0&1&{{d_6}} \\ { - \sin {\theta _6}}&{ - \cos {\theta _6}}&0&0 \\ 0&0&0&1 \end{array}} \right) $$

    将以上各连杆变换矩阵依次相乘得到机械臂正解,如式(2)所示。

    $$ {\boldsymbol{A}} = {}_6^0{\boldsymbol{T}} = {}_1^0{\boldsymbol{T}}{}_2^1{\boldsymbol{T}}{}_3^2{\boldsymbol{T}}{}_4^3{\boldsymbol{T}}{}_5^4{\boldsymbol{T}}{}_6^5{\boldsymbol{T}} = \left[ {\begin{array}{*{20}{c}} {{n_x}}&{{o_x}}&{{a_x}}&{{p_x}} \\ {{n_y}}&{{o_y}}&{{a_y}}&{{p_y}} \\ {{n_{\textit{z}} }}&{{o_{\textit{z}} }}&{{a_{\textit{z}} }}&{{p_{\textit{z}} }} \\ 0&0&0&1 \end{array}} \right] $$ (2)

    式(2)中:

    $$ \begin{gathered} {n_x} = - {c_6}{s_1}{s_5} + {c_{234}}{c_1}{c_5}{c_6} - {s_{234}}{c_1}{s_6} \\ {n_y} = {c_6}{c_1}{s_5} + {c_{234}}{s_1}{c_5}{c_6} - {s_{234}}{s_1}{s_6} \\ {n_{\textit{z}}} = - {c_{234}}{s_6} - {s_{234}}{c_5}{c_6} \\ {o_x} = {s_6}{s_1}{s_5} - {c_{234}}{c_1}{c_5}{s_6} - {s_{234}}{c_1}{c_6} \\ {o_y} = - {s_6}{c_1}{s_5} - {c_{234}}{s_1}{c_5}{s_6} - {s_{234}}{s_1}{c_6} \\ {o_{\textit{z}} } = {s_{234}}{c_5}{s_6} - {c_{234}}{c_6} \\ {a_x} = - {c_5}{s_1} - {c_{234}}{c_1}{s_5} \\ {a_y} = {c_5}{c_1} - {c_{234}}{s_1}{s_5} \\ {a_{\textit{z}} } = {s_{234}}{s_5} \\ {p_x} = ({a_1} + {a_3}{c_{23}} + {a_2}{c_2} + {a_4}{c_{234}}){c_1} - ({c_1}{c_{234}}{s_5} + {c_5}{s_1}){d_6} \\ {p_y} = ({a_1} + {a_3}{c_{23}} + {a_2}{c_2} + {a_4}{c_{234}}){s_1} - ({s_1}{c_{234}}{s_5} - {c_5}{c_1}){d_6} \\ {p_{\textit{z}} } = {d_1} + ({d_6}{s_5} - {a_4}){c_{23}}{s_4} + ({d_6}{s_5} - {a_4}){s_{23}}{c_4} - {a_3}{s_{23}} - {a_2}{s_2} \\ \end{gathered} $$

    其中:$ {c_{234}} = \cos ({\theta _2} + {\theta _3} + {\theta _4}) $$ {s_{234}} = \sin ({\theta _2} + {\theta _3} + {\theta _4}) $$ {c_{23}} = \cos ({\theta _2} + {\theta _3}) $

    机械臂运动学求逆解是通过已知的末端位姿矩阵来求解各个关节的旋转角度。求逆解的方法一般包括几何法、解析法等。几何法一般是将D-H参数通过空间几何转换到平面上来求解;而解析法是通过变换矩阵得到的三角函数方程来求解。本文则通过几何法和解析法结合的方式来求解机械臂运动学逆解,这样可以大大减少其计算量。

    (1)计算$ {\theta _1},{\theta _5},{\theta _6} $

    由于关节2~4是俯仰关节,通过俯视角度观其始终在一条直线上。关节5为偏摆关节,关节6为回转关节连接在关节5上,可知关节6相对于关节5的相对位姿是固定的。当给定末端位姿,可通过齐次变换得到关节5相对于基座下的位姿,再通过图4就能确定$ {\theta _1} $的表达式。

    图  4  关节5在基座坐标系下的投影
    $$ {}_5^0{\boldsymbol{T}} = {\boldsymbol{A}}{({}_6^5{\boldsymbol{T}})^{ - 1}} = \left( {\begin{array}{*{20}{c}} * & * & * &{ - {a_x}{d_6} + {p_x}} \\ * & * & * &{ - {a_y}{d_6} + {p_y}} \\ * & * & * &{ - {a_{\textit{z}} }{d_6} + {p_{\textit{z}} }} \\ 0&0&0&1 \end{array}} \right) $$ (3)

    通过式(3)可得

    $$ \tan {\theta _1} = \frac{{ - {a_y}{d_6} + {p_y}}}{{ - {a_x}{d_6} + {p_x}}} = \frac{{{a_y}{d_6} - {p_y}}}{{{a_x}{d_6} - {p_x}}} $$ (4)

    通过式(4)可得

    $$ {\theta _1} = a\tan 2( - {a_y}{d_6} + {p_y}, - {a_x}{d_6} + {p_x}) $$ (5)

    $$ {\theta _1} = a\tan 2({a_y}{d_6} - {p_y},{a_x}{d_6} - {p_x}) $$ (6)

    通过${({}_1^0{\boldsymbol{T}})^{ - 1}}({}_6^0{\boldsymbol{T}}) = {({}_1^0{\boldsymbol{T}})^{ - 1}}{\boldsymbol{A}}$,等式两边(2, 3)相等得

    $$ - {a_x}{s_1} + {a_y}{c_1} = {c_5} $$ (7)

    再利用$ {s_5} = \pm \sqrt {1 - c_5^2} $求解$ {\theta _5} $

    $$ {\theta _5} = a\tan 2\left( \pm \sqrt {1 - c_5^2} ,{c_5}\right) $$ (8)

    通过${({}_1^0{\boldsymbol{T}})^{ - 1}}({}_6^0{\boldsymbol{T}}){({}_6^5{\boldsymbol{T}})^{ - 1}} = {({}_1^0{\boldsymbol{T}})^{ - 1}}{\boldsymbol{A}}{({}_6^5{\boldsymbol{T}})^{ - 1}}$,等式两边(2, 3)相等得

    $$ - {s_6}( - {n_x}{s_1} + {n_y}{c_1}) - {c_6}( - {o_x}{s_1} + {o_y}{c_1}) = 0 $$ (9)
    $$ {\theta _6} = a\tan 2({o_x}{s_1} - {o_y}{c_1}, - {n_x}{s_1} + {n_y}{c_1}) $$ (10)

    (2)计算$ {\theta _2},{\theta _3},{\theta _4} $

    根据${({}_1^0{\boldsymbol{T}})^{ - 1}}({}_6^0{\boldsymbol{T}}){({}_6^5{\boldsymbol{T}})^{ - 1}} = {({}_1^0{\boldsymbol{T}})^{ - 1}}{\boldsymbol{A}}{({}_6^5{\boldsymbol{T}})^{ - 1}}$等式两边(1, 3)和(3, 3)相等得

    $$ \left\{ {\begin{array}{*{20}{l}} { - {s_6}({n_x}{c_1} + {n_y}{s_1}) - {c_6}({o_x}{c_1} + {o_y}{s_1}) = {s_{234}}} \\ { - {s_6}{n_{\textit{z}} } - {c_6}{o_{\textit{z}} } = {c_{234}}} \end{array}} \right. $$ (11)

    再根据(1, 4)和(3, 4)相等后移项得

    $$ \left\{ {\begin{array}{*{20}{l}} {{a_3}{c_{23}} + {a_2}{c_2} = - {d_6}({a_x}{c_1} + {a_y}{s_1}) + {p_x}{c_1} + {p_y}{s_1} - {a_4}{c_{234}} - {a_1}} \\ {{a_3}{s_{23}} + {a_2}{s_2} = {d_6}{a_{\textit{z}} } - {p_{\textit{z}} } + {d_1} - {a_4}{s_{234}}} \end{array}} \right. $$ (12)

    $ {X_1} $$ {X_2} $分别与式(12)右部分相等得

    $$ X_1^2 + X_2^2 = {({a_3}{c_{23}} + {a_2}{c_2})^2} + {({a_3}{s_{23}} + {a_2}{s_2})^2} = a_3^2 + a_2^2 + 2{a_2}{a_3}{c_3} $$ (13)

    从而通过(13)求解$ {\theta _3} $

    $$ \left\{ {\begin{array}{*{20}{l}} {{\theta _3} = a\tan 2({s_3},{c_3})} \\ {{c_3} = (X_1^2 + X_2^2 - a_3^2 - a_2^2)/(2{a_2}{a_3})} \\ {{s_3} = \pm \sqrt {1 - c_3^2} } \\ {{X_1} = - {d_6}({a_x}{c_1} + {a_y}{s_1}) + {p_x}{c_1} + {p_y}{s_1} - {a_4}{c_{234}} - {a_1}} \\ {{X_2} = {d_6}{a_{\textit{z}} } - {p_{\textit{z}} } + {d_1} - {a_4}{s_{234}}} \end{array}} \right. $$ (14)

    根据式(12)~(14)可求出$ {\theta _2} $

    $$ \left\{ {\begin{array}{*{20}{l}} {{\theta _2} = a\tan 2({s_2},{c_2})} \\ {{s_2} = \dfrac{{({a_2} + {c_3}{a_3}){X_2} - {s_3}{a_3}{X_1}}}{{{{({a_2} + {c_3}{a_3})}^2} + s_3^2a_3^2}}} \\ {{c_2} = \dfrac{{({a_2} + {c_3}{a_3}){X_1} + {s_3}{a_3}{X_2}}}{{{{({a_2} + {c_3}{a_3})}^2} + s_3^2a_3^2}}} \\ {{X_1} = - {d_6}({a_x}{c_1} + {a_y}{s_1}) + {p_x}{c_1} + {p_y}{s_1} - {a_4}{c_{234}} - {a_1}} \\ {{X_2} = {d_6}{a_{\textit{z}} } - {p_{\textit{z}} } + {d_1} - {a_4}{s_{234}}} \end{array}} \right. $$ (15)

    再根据式(13)~(15)可求出$ {\theta _4} $

    $$ {\theta _4} = a\tan 2({s_{234}},{c_{234}}) - {\theta _2} - {\theta _3} $$ (16)

    通过以上几何法和解析法结合的方式已求出此液压机械臂全部关节角,从以上各式可看出存在多解的情况,经过组合可生成8组逆解,具体的求解流程如图5所示。大部分的机械臂都会存在多个逆解,会让机械臂的末端位姿有多种选择。但是在实际运动过程中,要充分考虑到机械臂参数的约束,会有部分逆解在机械臂可达空间之外,或是末端位姿不符合操作任务的要求,所以对求得的逆解需要进行验证。

    图  5  运动学求逆解流程图

    在MATLAB软件中,使用机器人工具箱Robotics Toolbox对机械臂进行运动学建模,它包含机器人所需要的多种运动学函数。根据表1所给出的数据,运用机器人工具箱对机械臂建模,得到的初始模型如图6所示。

    图  6  机械臂初始姿态

    对机械臂进行正运动学的验证,只需要将一组关节角代入式(10),得到的位姿矩阵与MATLAB得到的是否一致,若一样则正运动学验证正确。

    取随机一组关节角$ {q_1} = \left[ {0{\text{ 0 0 0 0 0}}} \right] $,代入到运动学正解公式中得到末端姿态矩阵$ {{\boldsymbol{T}}_1} $,与机器人工具箱所得到的末端位姿矩阵(如图6)一样,验证了机械臂正运动学方程与运动学模型的正确性。

    $$ {{\boldsymbol{T}}_1} = \left( {\begin{array}{*{20}{c}} 1 & 0 & 0 & {{a_1} + {a_2} + {a_3} + {a_4}} \\ 0 & 0 & 1 & {{d_6}} \\ 0 & { - 1} & 0 & {{d_1}} \\ 0 & 0 & 0 & 1 \end{array}} \right) = \left( {\begin{array}{*{20}{c}} 1 & 0 & 0 & {1.6} \\ 0 & 0 & 1 & {0.08} \\ 0 & { - 1} & 0 & {0.195} \\ 0 & 0 & 0 & 1 \end{array}} \right) $$

    $ {q_2} = [30{\text{ 60 45 75 45 120}}] * pi/180 $代入到机器人工具箱中进行求解,可得到末端位姿矩阵$ {{\boldsymbol{T}}_2} $

    $$ {{\boldsymbol{T}}_2} = \left( {\begin{array}{*{20}{c}} {0.4830}&{0.8365}&{0.2588}&{0.2680} \\ { - 0.1294}&{ - 0.2241}&{0.9659}&{0.2201} \\ {0.8660}&{ - 0.5000}&{0.0000}&{ - 1.0241} \\ 0&0&0&{1.0000} \end{array}} \right) $$

    将上述得到的位姿矩阵代入到(1.3)节中的计算公式,可计算出对应的运动学逆解。在MATLAB对机械臂逆解计算得出结果如表2所示。

    表  2  运动学逆解数值
    组别$ {\theta _1} $$ {\theta _2} $$ {\theta _3} $$ {\theta _4} $$ {\theta _5} $$ {\theta _6} $
    10.523 61.047 20.785 41.309 00.785 42.094 4
    20.523 61.618 6−0.785 4−3.974 80.785 42.094 4
    30.523 61.047 20.785 41.309 0−0.785 42.094 4
    40.523 61.618 6−0.785 4−3.974 8−0.785 42.094 4
    5−2.618 01.858 20.342 9−2.201 02.356 2−1.047 2
    6−2.618 02.111 3−0.342 9−1.768 52.356 2−1.047 2
    7−2.618 01.858 20.342 9−2.201 0−2.356 2−1.047 2
    8−2.618 02.111 3−0.342 9−1.768 5−2.356 2−1.047 2
    下载: 导出CSV 
    | 显示表格

    根据表2的数据可知,对于每组末端位姿均可求出8组逆解。当然在实际应用中,对机械臂的约束不同,机械臂能到达的关节角度只会是其中的一部分。经过数据对比,发现$ {q_2} $的取值与表2第一组一致,至此验证了建立此种逆运动学的正确性。

    这里所指的轨迹规划方法是指机械臂在运动时,对其位置、角速度及角加速度进行规划,通过得到的曲线观察其具体的运动状态[11-12]

    选用关节空间轨迹规划,在空间中选择任意两点,在机器人工具箱中调用函数对机械臂进行轨迹规划。设关节空间中初始点所对应的关节转角为$ {q_1} = [0{\text{ 0 0 0 0 0}}] $,末端点所对应的关节转角为${q_3} = [45\;\; -60\;\; 90\;\; 60\;\; - 36\;\; - 30]$,得到的机械臂末端运动轨迹如图7所示。

    图  7  机械臂末端运动轨迹

    需要对机械臂的6个关节进行分析,分别对其位移、角速度及角加速度进行仿真。由图8可知,机械臂在运行过程中,6个关节所有关节的角位移、角速度、角加速度随时间变化曲线能平稳运行,不存在间断和突变。由以上分析可知此液压机械臂及末端执行器可连续平稳的完成作业任务。

    图  8  液压机械臂各关节仿真曲线

    本文以液压机械臂为研究对象,基于改进D-H法对其进行运动学建模,建立正运动学方程。通过空间几何法和数值解析法结合的方式求出其8组逆解,在MATLAB编写程序验证了正逆运动学的正确性。借助机器人工具箱,在关节空间中进行机械臂运动轨迹的仿真,通过观察各关节角位移、角速度和角加速度的平滑曲线,验证了机械臂参数的合理性。

  • 图  1   液压机械臂三维模型

    图  2   液压机械臂平面尺寸

    图  3   机械臂坐标系简图

    图  4   关节5在基座坐标系下的投影

    图  5   运动学求逆解流程图

    图  6   机械臂初始姿态

    图  7   机械臂末端运动轨迹

    图  8   液压机械臂各关节仿真曲线

    表  1   液压机械臂D-H参数

    $ i $$ {a}_{i-1}/{\rm{mm}} $${\alpha _{i - 1} }/(^\circ )$$ {d_i}/{\rm{mm}} $${\theta _i}/(^\circ )$关节范围/$ (^\circ ) $
    1$ 0 $$ 0 $$ {d_1}(195) $$ {\theta _1} $$ (-120,120) $
    2$ {a_1}(120) $$ - 90 $$ 0 $$ {\theta _2} $$ ( - 32.5,87.5) $
    3$ {a_2}(850) $$ 0 $$ 0 $$ {\theta _3} $$ ( - 172,98) $
    4$ {a_3}(500) $$ 0 $$ 0 $$ {\theta _4} $$ ( - 90,90) $
    5$ {a_4}(130) $$ 90 $$ 0 $$ {\theta _5} $$ (-90,90) $
    6$ 0 $$ -90 $$ {d_6}(80) $$ {\theta }_{6} $$ ( - 360,360) $
    下载: 导出CSV

    表  2   运动学逆解数值

    组别$ {\theta _1} $$ {\theta _2} $$ {\theta _3} $$ {\theta _4} $$ {\theta _5} $$ {\theta _6} $
    10.523 61.047 20.785 41.309 00.785 42.094 4
    20.523 61.618 6−0.785 4−3.974 80.785 42.094 4
    30.523 61.047 20.785 41.309 0−0.785 42.094 4
    40.523 61.618 6−0.785 4−3.974 8−0.785 42.094 4
    5−2.618 01.858 20.342 9−2.201 02.356 2−1.047 2
    6−2.618 02.111 3−0.342 9−1.768 52.356 2−1.047 2
    7−2.618 01.858 20.342 9−2.201 0−2.356 2−1.047 2
    8−2.618 02.111 3−0.342 9−1.768 5−2.356 2−1.047 2
    下载: 导出CSV
  • [1] 郭发勇, 梅涛, 赵江海. D-H法建立连杆坐标系存在的问题及改进[J]. 中国机械工程, 2014, 25(20): 2710-2714. DOI: 10.3969/j.issn.1004-132X.2014.20.003
    [2]

    Li F T, Zhu X C, Cao J, et al. Kinematics modeling and workspace analysis of a 5-dof hydraulic manipulator[C]. 2019 5th International Conference on Control, Automation and Robotics (ICCAR). IEEE, 2019: 2251-2446.

    [3] 郭志强, 崔天时, 吕信超, 等. 六自由度机械臂逆运动学求解[J]. 农机化研究, 2016, 38(12): 51-55. DOI: 10.3969/j.issn.1003-188X.2016.12.010
    [4] 赵修琪, 卢继霞, 陈相如, 等. 五自由度镀膜机械臂的运动学分析与仿真[J]. 机械设计与制造, 2022(1): 257-261. DOI: 10.3969/j.issn.1001-3997.2022.01.058
    [5] 张普行, 严军辉, 贾秋玲. 六自由度机械手的运动学分析[J]. 制造业自动化, 2011, 33(20): 68-71. DOI: 10.3969/j.issn.1009-0134.2011.10(x).22
    [6]

    Peng J Q, Xu W F, Wang Z Y, et al. Analytical inverse kinematics and trajectory planning for a 6DOF grinding robot[C]. IEEE International Conference on Information & Automation. IEEE, 2014.

    [7] 党浩明, 周亚丽, 张奇志. 六自由度串联机械臂建模与运动学分析[J]. 实验室研究与探索, 2018, 37(10): 9-14,23. DOI: 10.3969/j.issn.1006-7167.2018.10.004
    [8]

    Zarrin A, Azizi S, Aliasghary M, et al. A novel inverse kinematics scheme for the design and fabrication of a fve degree of freedom arm robot[J]. International Journal of Dynamics and Control, 2020, 8: 604-614. DOI: 10.1007/s40435-019-00558-1

    [9]

    Duka A V. Neural network based inverse kinematics solution for trajectory tracking of a robotic arm[J]. Procedia Technology, 2014, 12(1): 20-27.

    [10] 熊有伦, 李文龙, 陈文斌. 机器人学建模、控制与视觉[M]. 武汉: 华中科技大学出版社, 2018: 93-97.
    [11]

    Qi F, Ping X L, Liu J, et al. The analysis and simulation of robot kinematics and dynamics based on robot analyzer[J]. International Journal of Emerging Technology and Advanced. Engineering, 2015, 5(4): 16-20.

    [12] 张程, 张卓. 码垛机器人运动学分析及关节空间轨迹规划研究[J]. 组合机床与自动化加工技术, 2020(2): 19-21,25. DOI: 10.13462/j.cnki.mmtamt.2020.02.005
  • 期刊类型引用(13)

    1. 程潜,张大庆,唐琦军,彭轩昂,阳松波. 基于MATLAB的应急救援机器人工作装置运动学分析. 农业装备与车辆工程. 2025(01): 96-102 . 百度学术
    2. 苏赫朋,苗鸿宾,李梦虔,申光鹏,余浪. 双机器人不同约束下的协调运动轨迹规划方法的研究. 制造技术与机床. 2024(01): 85-92 . 本站查看
    3. 孔令竹. 基于灰狼优化算法的机械臂避障轨迹规划. 机械工程与自动化. 2024(01): 29-32 . 百度学术
    4. 刘学深,曹立佳. 基于改进RRT*算法的机械臂路径规划研究. 四川轻化工大学学报(自然科学版). 2024(01): 61-70 . 百度学术
    5. 钱福福,刘义亭,郁汉琪,颜庭武,杜俊峰,张昊. 基于UR5苹果采摘机械臂的运动学分析及轨迹优化. 自动化应用. 2024(05): 8-11 . 百度学术
    6. 梅诺,李艳杰. 二自由度机械臂建模与仿真. 上海电气技术. 2024(01): 63-66+87 . 百度学术
    7. 张君,李万业,郭家华,李京凯,贺欣悦,武仲斌. 钻锚机器人机械臂轨迹规划方法研究. 矿业科学学报. 2024(05): 807-816 . 百度学术
    8. 陈大光,刘兴德,钱程,孔志成. 工业机械臂的改进粒子优化群轨迹优化规划算法. 制造业自动化. 2024(11): 57-63 . 百度学术
    9. 白保鑫,吴伟,张建伟,王金超. 井下原位测量装置推靠机构力学分析及仿真. 机电工程技术. 2023(01): 237-241 . 百度学术
    10. 黄鑫,张文亭,任雪娇,焦峥辉,赵君. 基于虚拟样机的六自由度机械臂轨迹规划研究. 内燃机与配件. 2023(03): 40-42 . 百度学术
    11. 陈大光,刘昱鑫,刘兴德,钱程. 六自由度机械臂运动分析及轨迹规划. 吉林化工学院学报. 2023(01): 80-86 . 百度学术
    12. 施展,谭晓东,类延磊. 真空手套箱过渡室自动化设计. 机电工程技术. 2023(10): 158-161 . 百度学术
    13. 殷杰,席万强. 一种基于Denavit-Hartenberg参数法6R机器人主动解耦方法. 机械传动. 2023(12): 89-96 . 百度学术

    其他类型引用(16)

图(8)  /  表(2)
计量
  • 文章访问数:  256
  • HTML全文浏览量:  38
  • PDF下载量:  61
  • 被引次数: 29
出版历程
  • 收稿日期:  2022-05-04
  • 网络出版日期:  2022-10-27
  • 刊出日期:  2022-10-31

目录

/

返回文章
返回