串联机械臂运动控制系统设计
2016-04-14杨广泽马晓明
杨广泽,马晓明
(1.兴天通讯技术有限公司 工程部,天津 301700;2.广州铁路(集团)公司 工务检测所,广东 广州 510000)
串联机械臂运动控制系统设计
杨广泽1,马晓明2
(1.兴天通讯技术有限公司 工程部,天津301700;2.广州铁路(集团)公司 工务检测所,广东 广州510000)
摘要由于加工装配的累积误差,驱动控制,机械臂的柔性变形以及实际工作环境中振动等因素的干扰,导致无法准确获取机械臂的运动学模型和动力学模型,导致机械臂实际的运动性能与期望的高精度运动性能相比出现较大的差距。针对上述问题,文中通过研究串联机械臂轨迹优化算法,设计了一套简单且实时性的机械臂控制变量补偿系统,以减少甚至消除机械臂的运动学误差。这一技术的实现,将对提高装备制造业中机械臂运动精度关键技术的发展起到推动作用。
关键词串联机械臂;轨迹优化;运动学标定;变量补偿算法
Design of Serial Manipulator Motion Control System
YANG Guangze1,MA Xiaoming2
(1.Engnieering Department,Xingtian Communication Technology Engineering Co.,Ltd.,Tianjin 301700,China;2.Works Detection,Guangzhou Railway (Group) Company,Guangzhou 510000,China)
AbstractThe accumulated error of processing and assembling,driver control,the flexible deformation of manipulator,and vibration interference and other factors in the work environment make it difficult to obtain accurate manipulator kinematics model and dynamic models,causing a large gap between the manipulator’s actual performance and expectations.This paper studies s serial manipulator path optimization algorithm and designs a simple manipulator control variables and real-time compensation technology to reduce (or even eliminate) the serial manipulator kinematic errors.It improves the accuracy of equipment manufacturing arm movement to contribute to the development of key technologies.
Keywordsserial manipulator;trajectory optimization;kinematic calibration;variable compensation algorithm
机械臂作为工业机器人最为重要的部分之一,在工业领域中愈来愈被广泛应用,本文主要针对串联机械臂进行分析;串联机械臂运动精度的高低是其重要的性能指标,是衡量机械臂能否准确高效完成操作任务的决定因素。随着机械臂工作环境的逐步复杂化,人们期望机械臂具有较高的绝对定位精度,且能实现多种随机运动轨迹的高精度跟踪。串联机械臂的定位精度通常采用重复精度和绝对定位精度评价[1-2]。重复定位精度是指机械臂末端执行器根据存储的关节位置,重新到达示教点的定位精度;而绝对定位精度是指末端执行器到达从未示教位置的定位精度[3-4]。现阶段,工业机器人的重复定位精度范围为±2~0.01 mm。而绝对定位精度的范围是±100~0.1 mm[5]。尽管当前国内外的串联关节型机械臂的研究技术已较为成熟,但研究人员对串联机械臂的研究从未间断,如今模型的精确标定,机器视觉技术,多传感器融合的感知系统,智能控制系统及先进控制算法和轻量化设计等新型方向正成为串联机械臂的主要研发方向[6]。
1串联机械臂需求分析
在实际工作环境中,由于机械加工精度、装配误差和环境变化等因素,机器人的实际运动学模型与理论运动学模型之间存在较大误差,机械臂的绝对定位精度不可避免地受到影响;同时,考虑到机械臂的质量分布、负载变化、振动、机械摩擦力和反冲力影响等因素,获取机械臂准确的动力学模型较为困难,导致机械臂末端执行器的位姿、速度与关节位置速度的数学模型不匹配,从而在机械臂末端执行器上形成动态位置和方向的定位误差;且由于串联机械臂的运动过程伴随产生振动,从而严重影响串联机械臂的运动精度[7]。针对上述问题,可从标定技术、传感技术和智能控制系统等方面提出了提升机械臂运动精度的解决方法。
串联机械臂的误差主要包括由于机械臂的质量分布、负载变化、热效应以及振动等因素造成的随机误差,且由于机械臂采用伺服电机和控制系统来完成运动控制、反复起动等操作造成机械臂的系统误差两部分,图1为各部分误差来源的详细分析[8]。
图1 控制系统误差来源
2串联机械臂控制系统设计
串联机械臂完成操作任务时,位置、速度、加速度的瞬间改变会造成机械冲击,激起系统振荡,导致运动不稳定,降低机械臂的运动精度。快速精确的轨迹规划算法是保证运动系统的精度和性能的前提条件,对运动轨迹的合理规划与优化可提高机械臂的抗干扰性能,改善机械臂的定位精度以及轨迹跟踪精度,从而提高机械臂的工作效率。因此,为满足串联机械臂的髙精度运动性能需求,需对机械臂的运动轨迹进行规划与优化。
2.1串联机械臂系统硬件设计
串联机械臂控制系统组成如图2所示,机械臂的运动控制模块主要包括轨迹划分模块、机械臂运动控制模块、运动控制卡和伺服执行单元4部分;其通过接收双目视觉模块发送的关于目标物体的三维坐标信息,来完成关节空间的轨迹规划;将各关节变量值传输到运动控制卡,通过控制各个关节的伺服执行单元实现位置控制,并最终完成给定的任务。
图2 系统结构框图
在本系统中,串联机械臂的控制方式釆用了分层控制的设计模式,上层为规划控制级,由嵌入式计算机负责系统管理,其通过CAN总线与下层伺服控制级的多轴运动控制器模块通信;下层为伺服控制级,其主要由多轴运动控制器、直流伺服电机驱动器及通信接口组成。其中,多轴运动控制器与直流伺服电机驱动器一起完成直流伺服电机的位置、速度、力矩的闭环控制,实现对机械臂关节运动的实时控制。采用CAN总线读取并传输电机编码器的初始值;文中通过采用双端口RAM作为嵌入式PC的存储模块与PMAC通讯的高速缓冲区来改善两者之间数据交换的速度,由此便可实现,将嵌入式PC内存中的数据下载到PMAC中,或将关节位置的信息和伺服单元的数据传输至PC;控制系统釆用开放式控制结构,配备了多种网络接口,方便CAN总线与机器人的其他单元通讯。由于机械臂的系统架构采用了系统开放的特点,因此其既可作为独立的串联机械臂系统来实现自身独自的功能,也可通过通讯接口扩展为服务机器人的执行单元;机械臂控制系统的主控制器采用3.5英寸嵌入式工控主板,其具有功耗低和稳定性高的特点,主控制器采用Windows XP作为操作系统,可方便安装PMAC卡的驱动程序和动态链接库,伺服控制级的核心是基于DSP的多轴、多通道控制器,同时具备PLC控制和数据釆集的功能。因此,其具有编程简单、响应速度快和开发周期短且准确度高等优势。PMAC提供的执行软件支持动态链接库,并支持VC、C++开发或调用动态链接库的函数,便于完成运动控制器参数修改、执行任务文件下载等功能。通过直流电机伺服驱动器完成电机的速度控制和电流控制,该伺服驱动器配备多种信号接口,如CAN总线接口模块,用于获取电机编码器的信号的反馈接口;同时,还可用于接收多轴运动控制器传输的控制信号的接口。
图3 系统硬件设计结构图
2.2串联机械臂系统软件设计
机械臂控制软件开发使用Windows XP作为操作系统。控制软件采用模块化设计,上位机模块采用Visual C++6.0进行幵发,主要完成轨迹规划、机械臂运动学计算、参数设置与修改等任务;从机控制模块主要利用PMAC自身语言来完成开发,通过其高速运算功能实现轨迹插补、运动伺服控制等功能。联机械臂控制系统软件程序流程图,如图4所示。
图4 软件设计的流程图
参数初始化模块:在程序中输入机械臂连杆参数,设定各关节的电机编码器初始值和电机的额定参数,编写多轴运动控制器初始化程序,用C++语言编写运动学求解的数学运算,并将在笛卡尔空间描述的操作任务转换至关节空间;通讯模块:确定嵌入式PC与下层PMAC卡的通讯方式,设定数据传输规则,完成通讯端口初始化,机械臂在执行任务时,釆用通讯模块实时侦听视觉模块传递的数据,并进行任务判断。当确认任务后,通过轨迹规划模块完成机械臂各关节的轨迹运动参数计算。将参数传输至PMAC卡,控制伺服驱动器,从而实现串联机械臂各关节电机的伺服控制。
3控制系统通信方式
传统的机器人系统中通常釆用基于点对点连接的集中式通信方法。该方法结构简单,在传感器和执行器数量较少的控制系统中应用较广。但由于本文设计的串联机械臂的控制变量较多,且对控制精度要求较高。而传统的集中式通信方法布线复杂,导致系统难以维护,可靠性和灵活性较低。在本文的机械臂控制系统设计中,釆用总线实现机械臂控制系统的嵌入式PC与运动控制卡PMAC之间的高速通讯,由于机械臂控制系统需要获取视觉系统提供的目标物体位姿信息才能完成目标操作。因此,采用现场总线技术解决机械臂的通信问题,本文采用CAN总线(Controller Area Network)作为串联机械臂的通信方式,充分发挥了该总线具有的实时性强、成本低、灵活性好的优点,并在一定程度上满足了控制系统与视觉模块之间的通信需求。
4控制系统测试
为实现机械臂的伺服控制,首先在嵌入式PC中完成运动学计算程序、通讯程序等软件的编写,再依次连接PC机、运动控制卡、伺服电机驱动器和伺服电机,搭建机械臂控制系统,并实现控制系统与已装配电机、减速器、编码器的串联机械臂的电气连接,从而搭建完成串联机械臂的控制平台。实现各模块的通讯功能,实时读取嵌入式PC发送的位姿信息或指令,编写CAN端口侦听程序,并与视觉模块建立通讯,接收视觉系统检测到的位姿数据,完成机械臂的运动控制。安装串联机械臂及其控制系统后,对其进行性能测试。对其进行软件测试,在机械臂的操作空间内给定一个视觉目标点,查看上位机计算出的机械臂各关节的期望旋转角度值。图5为该控制系统实现机械臂的去接水杯过程。
图5 测试界面图
5结束语
本文设计了一套串联机械臂控制系统,该系统使
串联机械臂具备一定的负载能力,实现了自主抓取目标物体并完成给定预期任务,通过介绍机械臂的控制系统架构以及相应的硬件和软件设计模块,其不仅在功能上使机械臂完成了预期的任务,且使优化的串联机械臂具有性能稳定、控制精度高、运行速度快、实现友好人机交互等特点;通过釆用双微机分层控制方式完成串联机械臂开放式控制系统的设计和机械臂控制系统的硬件构成。同时,釆用面向对象程序设计方法完了串联机械臂的控制软件,实现了机械臂的位置补偿和参数初始化各个子模块的功能。最终,采用CAN总线实现机械臂两级控制器以及机器人各模块之间的数据交换功能,一定程度上解决了机器人通信量大与实时控制要求之间的矛盾,为机械臂高效地完成操作任务奠定了基础。
参考文献
[1]Selig J M.机器人学的几何基础[M].2版.杨向东,译.北京:清华大学出版社,2008.
[2]张微微.6-D0F串联机器人动力学性能指标分析与仿真[D].秦皇岛:燕山大学,2007.
[3]蔡自新.机器人学[M].北京:清华大学出版社,2000.
[4]蒋新松.机器人学导论[M].沈阳:辽宁科学技术出版社,1994.
[5]向先波.主从遥控作业机械手控制系统研究[D].武汉:华中科技大学,2003.
[6]朱世强,王宣银.机器人技术及其应用[M].杭州:浙江大学出版社,2001.
[7]唐新华.焊接机器人的现状及发展趋势[J].电焊机,2006,36(4):43-46.
[8]孙斌,杨汝清.幵放式机器人控制器综述[J].机器人,2001,23(4):374-378.
中图分类号TP241
文献标识码A
文章编号1007-7820(2016)03-071-04
doi:10.16180/j.cnki.issn1007-7820.2016.03.018
作者简介:杨广泽(1981—),男,工程师。研究方向:机械设计及其自动化。
收稿日期:2015- 06- 12