1四自由度码垛机器人控制系统设计一、四自由度码垛机器人简介随着科技工业自动化的发展,很多轻工业都相继通过自动化流水线作业.尤其是食品工厂,后道包装机械作业使用一些成套设备不仅效率提高几十倍,生产成本也降低了。其中四自由度码垛机器人每天自动对1000箱食品进行托盘处理,这些码垛机器人夜以继日地工作,从不要求增加工资。码垛机器人的应用越来越广。码垛机器人配备有特殊定制设计的多功能抓取器,不管包装箱尺寸或重量如何,机器人都可以使用真空吸盘牢固地夹持和传送包装箱。如图1所示,四自由度码垛机器人本体由腰部、大臂、小臂、腕部组成。图1码垛机器人简图腰部大臂小臂腕部2如图2所示,码垛机器人具有独特的线性执行机构,使其保证了手部在水平与垂直方向的平行移动。图2码垛机器人的线性执行机构运动示意图此四自由度码垛机器人的应用案例如图3所示。具有示教作业简单,现场操作简便。图3码垛机器人的应用案例只需对抓取点与放置点进行示教,最优轨迹规划自动由控制器生成。无耦合水平线性运动无耦合垂直线性运动3二、四自由度码垛机器人控制要求及其控制方案1、控制要求如图1所示,四自由度码垛机器人的运动主要由控制腰部、大臂、小臂、腕部的驱动电机实现。在此均采用松下A5伺服电机;抓取部件等其他辅助运动采用气动,由电磁阀动作来控制抓取部件的动作。四自由度码垛机器人的运动控制系统主要包括感知部分、硬件部分和软件部分,其运动控制系统的主要任务是要控制此机器人在工作空间中的运动位置、姿态和轨迹以及作业流程等。此外,还要求:1)防碰撞检测和在线编程控制,可以进行离线仿真;2)人机界面友善、高度可靠作性和安全性;3)便携式触摸屏示教器、全中文界面;4)利用使能开关双电路设计使在紧急状态下自动切断伺服动作,从而保证安全。2、控制方案控制方案1:基于PLC的运动控制方案基于PLC的机器人运动控制系统,一般利用触摸屏进行人机交互。在触摸屏上的人机界面,由组态软件编写人机操作界面实现人机交互;PLC则通过I/O模块与码垛机器人以及现场设备通信并实现控制,通过接受PLC的控制命令,实现机器人及其周边、物流设备的启停与协调,同时将码垛机器人及其周边、物流设备的运行状态返回给PLC。控制方案2:基于嵌入式PC的运动控制方案4基于嵌入式PC的运动控制模式,实现控制系统的模块化,同时又兼具开放性,可通过调用驱动器的基本功能函数在嵌入式PC上编程来实现机器人的复杂控制算法。图中运动控制器实现对电机的基本控制,包括插补,控制加减速等。嵌入式PC主要完成对运动控制器的控制,实现复杂的运动控制算法和人机界面。码垛机器人轴数:4轴(即4个伺服电机,分别是3个750W,型号MSMJ082G1U,一个400w,型号MSMJ042G1U)伺服系统选择日本松下A5系列电机和配套驱动器。工控机选用工业以太网口嵌入式工控机。控制软件系统整体需求:首先需要实现的机器人在运动空间内实现单关节,单电机驱动,也就是能够实现关节空间的单轴运动;同时还需要实现在笛卡尔坐标系中X轴、Y轴和Z轴的单轴运动。这些基本的运动能作为示教编程的基础。然后需要实现示教编程功能,要实现示教编程,需要保存机器人的当前位置状态信息,利用机器人的运动学方程及轨迹规划算法来实现空间直线和空间圆弧的运动。最后要实现离线编程功能,则需要利用虚拟现实技术用计算机来模拟真实的机器人和工作环境。通过对虚拟机器人的控制和编程来实现离线编程的功能。软件应包含的功能:——按面向对象的类进行功能规划与设计功能1:设计轴类,能够实现对码垛机器人单轴的控制;通过轴类能够设置和读5取运动控制卡中的针对各轴的参数;通过轴类维护一个轴类的参数和位置的数据结构;通过轴类可以将其内部的速度结构读出;通过轴类可以实现单轴运动。功能2:设计正逆运动学算法类,能够随时调用,通过正逆运动学算法类实现码垛机器人的正逆运动学求解;通过正逆运动学算法类维护一个数据结构记录机器人结构尺寸、运动范围;通过正逆运动学算法类维护一个数据结构可以接受外界传入的关节坐标系位置值和笛卡尔坐标系位置值;通过正逆运动学算法类实现正运动学计算并返回运算结果;通过正逆运动学算法类实现逆运动学计算并返回运算结果。功能3:设计机器人类,在机器人类添加4个轴类分别代表不同的轴,同时还添加正逆运动学算法类。通过机器人类实现将笛卡尔坐标系中的位置值转换为关节空间的位置值,并传入轴类的PT运动缓存器(PT模式是固高运动卡中内置的一种运动模式,可以实现任意的速度曲线控制;另一含义:PT可编程终端)。通过机器人类维护一个数据结构来指示机器人当前状态;通过机器人类启动机器人运动PT缓存中的轨迹。功能4:实现控制器数据读取,数据转换,维护一个描述机器人运动数据的数据结构。(1)机器人运动数据是指,各关节的运行位移,速度,加速度,各轴的运行位移,速度,加速度,执行点的运行位移,速度,加速度,电机编码器的位移,速度,加速度。实现:读取控制器的运动数据,通过读取的数据参数、通过机器人的运动和结构算法求出其他数据。作用:用于参数显示,用于绘制图形,用于控制虚拟模型。(2)通过以上说明,可以设计一个类,维护一个机器人的数据结构,可以调用数据进行单独显示,可以整体调用。功能5:可以设置机器人结构参数、运动参数、运动控制器参数和其他辅助参数。同时可以显示机器人运动状态参数,系统参数和已经设置的参数。说明:(1)由于机器人和运动控制器都有多种不同的组合形式,需要设置不同的参数,来达到某种配置形式。(2)维护机器人结构参数,机器人运动参数,运动控制器参数,他辅助参数等多个数据结构,可对这几个数据结构,进行单独和组合配置,显示。功能6:绘制单轴的位移图,绘制单轴的速度图,绘制单轴的加速度图,绘制执行点的位移图,绘制执行点的速度图,绘制执行点的加速度图,绘制工作点的位移图,绘制工作点的速度图,绘制工作点的加速度图。说明:(1)通过菜单栏的工具选择不同的图实时显示,显示时创建新的窗口,可以同时显示多个窗口。(2)对于每一个窗口,确定一组显示数据y轴,确定时间参数为X轴,确定显示数据的大小,确定y轴数据的范围,生成X,y轴的坐标,刻度,背景,网格,动态的显示数据曲线,绘制曲线图,可以同时在一张图上显示一组数据或者多组数据。6(3)通过上面两条可以确定一个类MDrawWave,这个类的属性包括:A.时间t要显示的范围timeScale;B.显示数据的范围yinScale;C.时间间隔tGap;D.显示的数据数组指针;E.显示数据数组的大小;F.计算数据数组大小,生成数据数组,生成刻度,绘制网格。接口函数包括:A.写入t的变动范围函数;B.写入yinScale的函数;C.写入时间间隔;D.写入待显示数据FIFO;E.调用显示。在对话框类中通过菜单的Id来调用Windows消息响应函数,在消息响应函数里来实现不同数据的图形绘制。功能7:设计机器人轨迹规划类,完成不同轨迹规划的任务。功能8:指令类,读取输入的指令,对指令进行译码,并执行指令代码。功能9:指令文档类,控制指令的输入,和修改,检查,报错。功能10:状态栏显示类,实现机器人状态的检测,程序的检测。功能11:维护类,对出现的程序错误进行诊断。功能12:虚拟机器人类,实现码操机器人的实时监控。机器人控制系统整体构架采用自顶向下的设计方法。首先将要控制系统分为主要的四大模块,包括机器人模块,数据库模块,控制模块,虚拟模块和检测模块。下面重点对机器人模块进行一些结构描述。该模块主要实现机器人的各轴运动控制,算法,手抓和数据维护。其结构如图