摘要:针对机械手臂在运动过程中出现的不稳定现象,本文利用多项式插值规划关节空间的轨迹,并利用MATLAB中的SimMechanics建立逆运动学仿真模型,由轨迹规划模块得到的各关节变量的角度、角速度和角加速度来驱动各关节运动;同时对机械手臂末端轨迹规划进行分析仿真。
关键词:机械臂;SimMechanics;仿真;轨迹规划
1、机械手臂模型建立
为了具体分析机械臂运动详情,建立运动学方程是必要的,而现在大多数是多自由度的机械臂,具有多根连杆和关节,也就需要针对每一根连杆和关节来建立坐标系,并建立起各个坐标系的关联。为了论述邻近两连杆之间空间位置关系,引入了D-H参数法。D-H参数法为关节链中的每一根连杆杆件建立了对应坐标系。[1]
2、基于SimMechanics的机械臂模型
根据图1和图2,并利用SimMechanics中的模块,建立模拟人体手臂的机械模型。其中,肩部关节的3个自由度分别绕X轴、Y轴和Z轴旋转,以实现3个自由度相互正交;肘部关节的2个自由度分别绕Y轴和Z轴旋转;腕关节绕Z轴旋转。上臂关节的Body模块参数设置如图2所示。
在各关节放置JointActuator模块,输入运动信号Motion,包括角度、角速度、角加速度等。将关节传感器Sensors模块连接到转动副端口上,测量角加度、角度、角速度等,然后输出到Scope示波器模块,打开Scope观察各参数曲线轨迹的变化情况。在执行器末端放置BodySensor刚体传感器,连接X,Ygraph模块和Terminator模块,以显示末端运动轨迹、状态以及轨迹到达目标位置停止,完成运动仿真模型。
采用轨迹规划方法可以验证模型的正确性。期望轨迹为1条直线,起始点为(0.05,0.305,0.225),终止点为(0.25,0.345,0.45),运用SimMechanics建立六自由度机械手臂模型,其中Pathplanning模块是根据运动学方程的逆解,通过Simulink编写程序建立的轨迹规划模块。已知机械手臂的位置和姿态,求出各个关节变量的角度,并在此基础上依次对角度进行微分,得到角速度和角加速度,驱动关节(JointActuator)模块来驱动各个关节的运行仿真。
3、机械臂轨迹规划仿真
机械臂轨迹仿真需要利用MATLAB自帶画图程序来实现,用到拆分窗口函数,以及画图函数。[2]将预先规划好的时间、关节旋转角度、角速度及其加速度等参数输入进函数,即可绘图模拟。用分析函数进行曲线拟合分析。
3.1仿真轨迹规划
关节空间中机械臂的每一条轨迹运动通过拆解为每个关节转动一定角度所形成,反映各关节转角与机器人末端执行器的位置或姿态一一对应。对机械臂仿真,进行轨迹规划时,用到工具箱中的 jtraj 函数和 ctraj 函数。Jtraj 函数是已知初始和终止的关节角度,利用五次多项式公式来进行关节空间轨迹分析; ctraj 函数是已知初始和终止的末端关节姿态,利用匀速加速度和匀速减速度来规划笛卡尔空间坐标轨迹规划。
3.2轨迹曲线拟合
在现实生活中,机械臂接收信号频率过疏,则会造成机械臂的反应迟钝,不能很好地拟合理想化的规划轨迹。但接收信号过密,则会造成机械臂为了更好地拟合理想化的规划轨迹产生过平滑,而不停抖动或偏离规划轨迹。因此在轨迹规划时要选择更高效实惠的轨迹规划,兼顾轨迹平滑与机械臂动作平滑。为了验证仿真中更符合实际需求的轨迹规划,先设置横向比较,再进行纵向排除,得到最优轨迹规划。选择有效的关节角函数图像,挑选出第一关节角的旋转角度、角速度和角加速度作为参考基准图像。
4、结束语
本文根据D-H参数方法建立了机械手臂坐标系,并基于MATLAB中的SimMechanics工具箱,对机械手臂进行建模和运动仿真;同时利用轨迹规划模块,合理的对机械手臂末端运行轨迹提前预定,仿真模型输出轨迹和预定轨迹相吻合,但仿真轨迹变粗,说明运行过程中出现忽快忽慢的现象。针对这一点可以进一步对控制的准确性进行分析研究,并可考虑用PID控制。利用SimMechanics可以对机械手臂多个关节轨迹进行仿真规划,既快速又准确。MATLAB软件为机械手臂的研究提供了强大的分析运算和仿真能力,也为机械手臂的运动控制提供可靠的数据。
参考文献:
[1] 罗家佳,胡国清.基于MATLAB的机器人运动仿真研究[J].厦门大学学报,2005.
[2] 王永龙,张兆忠,张桂红.Matlab 语言基础与应用[M].北京: 电子工业出版社,2010.
作者简介:夏明(1996.05-),山东交通学院本科学生,指导老师:李光。