APP下载

基于ROS平台的机械臂精确控制分析

2020-07-05张瑜刘冰马雪管晓宏

装备维修技术 2020年26期
关键词:机械臂

张瑜 刘冰 马雪 管晓宏

摘 要:传统的机器人虚拟控制与仿真平台在控制机器人运动时存在诸多问题,例如控制系统设计工作量大、开发难度大等,需要利用基于开源软件平台即ROS平台的机械臂运动控制方法解决问题,加大软件控制的力度,提高机器人运动控制的精准性。

关键词:ROS平台;机械臂;精确控制

前言:

一直以来,软件控制领域都十分关注机械臂的精确控制问题。从控制工程这一层面来看,机械臂属于含有非线性模型的物理系统。但是,当前基于ROS平台的机械臂控制器研究的都是线性PID控制器,为此应该加大对基于ROS平台的机械臂精确控制的研究力度。

1 机器人操作系统分析

ROS指的是以UNIX环境为基础的用于机器人的操作系统,具有多重功能,主要包括硬件抽象描述、底层驱动程序管理、程序发行包管理、程序消息传递、共用功能执行等【1】。同时,该系统也可以提供一些程序与库,从而编写程序、运行程序。

1.1 构建ROS中的仿真模型

ROS作为机器人操作系统不仅可以和真实的机器人通信,也可以对机器人仿真模型进行相应的操作。ROS当中有标准化机器人描述格式,可以识别机器人模型文件,可以描述机器人的结构、自由度以及关节等各个方面的情况,可以为机器人提供多种物理响应,例如运动学链、结构参数等。应该利用SolidWorks构建机械臂的三维模型,之后利用SW2urdf插件设置机械臂的各个关节与连接,这样就可以导出标准化机器人描述格式。

1.2  ROS控制架构

机器人机械系统的运行需要控制系统的支持,以ROS平台为基础的机械臂控制系统架构。机械系统控制架构是由五个层次共同构成的,即关节状态反馈、被控对象机械臂、运动控制层、路径规划层、用户层。其中,关节状态观测器可以实时掌握机器人关节的状态,并处理突发情况;运动控制层是控制框架的核心,可以运算规划轨迹,驱动机械臂;路径规划层可以根据用户层设置的机械臂运动目标位置规划运动轨迹;用户层可以根据机器人模型规划任务,明确机械臂运动的目标位置【2】。

2 机器人运动学分析

2.1机械臂正运动学

本文主要研究UR5机器人,这一机器人的旋转关节有6个,根据D-H参数法建立了该机器人的坐标系(如图一所示)。在完成坐标系的建立后,需要根据相邻坐标系之间的约束关系明确D-H参数(如表1所示)。根据参数并进行计算便可以得到机器人运动学正解。

2.2机械臂逆运动学

机械臂逆运动学可以实现机械臂位姿从工作空间到关节空间的映射,从本质上来看机械臂逆运动学是在已知末端执行器位置与姿态的条件下,对关节变量进行求解。可以通过三角函数与关节角的角度求出六个关节变量。

3  计算力矩控制器

可以通过牛顿欧拉方程分析机械臂,即τ = Dn (q)·u + Hn (q, q) + Gn (q)。其原理是在机械臂控制系统内控制回路当中增添非线性补偿,加入非线性补偿后将机械臂简化为线性系统。可以根据计算力矩控制方法将PD控制引入到机械臂控制内回路当中,这样控制系统就可以反馈位置信号,并通过一次微分获得速度信号,但是两次微分之间的偏差较大,所以需要进行优化。可以通过OROCOS运动学与动力学库进行机器人运动学与动力学模型的计算,增强计算结果的准确性。

4 仿真与结果分析

4.1机械臂运动规划

需要通過ROS平台当中的MoveIt!这一模块进行机械臂的运动规划。在进行机械臂的运动规划之前需要明确机械臂各个关节的初始位置以及目标位置的取值。之后需要利用RRTconnect规划算法规划UR5机械臂的轨迹,在规划机械臂轨迹时需要获取在关节空间中解算的关节角度插值,所以需要在笛卡尔空间当中进行轨迹规划【3】。在笛卡尔空间中进行轨迹规划需要利用机器人逆运动学计算转化其表示方式。而在ROS平台当中,可以利用数值迭代算法进行机械臂运动学的求解,并转化工作空间。同时,利用RRTconnect算法获得的轨迹也可以避开自身干涉与障碍物等碰撞状态。

4.2运动控制

运动规划在获取机械臂轨迹信息之后会将信息传输给ROS平台的底层关节控制器。底层关节控制器获取信息之后会进行插值运算,使机械臂沿着预定的轨迹运动,而ROS可以通过gazebo_ros_control插件控制Gazebo当中的机械臂模型,即通过软件控制的方式控制机械臂模型。ROS平台当中的底层关节控制器属于插件,所以更换控制器具有较强的灵活性。

4.3实验结果分析

在对UR5机器人的运动进行控制时,可以通过joint_states节点监测机械臂运动时各个关节的位置以及速度等各方面信息,并将这些信息保存到文本当中,利用MATLAB分析这些信息,从而明确UR5机械臂各个关节的运动关系。UR5机械臂在进行运动规划时理论关节角与不同控制器影响下的实际关节角,这两种控制器都可以控制机械臂按照预定的轨迹运动,可有效增强软件控制的效果,但是都存在相应的误差。经过分析发现,相比于PID控制器,CTC控制器的控制效果更好一些,误差也更小。

结语:

总而言之,应该加大对机器人操作系统、机器人运动学等各个方面的研究力度,从而实现基于ROS平台的机械臂精确控制。

参考文献:

[1]王好, 范平清, 王岩松,等. 基于ROS平台的机械臂精确控制研究[J]. 轻工机械, 2018(02):018-022.

[2]刘亚秋, 陶然, 丁峰,等. 基于ROS和EtherCAT的视觉伺服7DOF机械臂仿真研究[J]. 黑龙江大学自然科学学报, 2018, 35(1): 94-101.

[3]张松伟, 冯常. 基于ROS的四轴机械臂运动仿真与控制的研究[J]. 电子设计工程, 2018, 026(010):124-128.

(福鞍控股有限公司,辽宁 鞍山 114000)

猜你喜欢

机械臂
一种六自由度机械臂的控制系统设计
码头集装箱机械臂的研究与设计
书画手臂的模型设计
六自由度机械臂控制系统设计
基于无人机平台的垃圾搜索及拾取系统设计
机械臂平面运动控制与分析
机械臂工作空间全局相对可操作度图的构建方法
人机交互课程创新实验
基于S7?300 PLC不规则空间曲线自动焊接系统设计
智能下水道清理装置