资源描述
机械臂控制系统的设计1 引言近年来,随着制造业在我国的高速发展,工业机器人技术也得到了迅速的发展。根据负载的大小可以将机械臂分为大型、中型、小型三类。大型机械臂主要用于搬运、码垛、装配等负载较重的场合;中小型机械臂主要用于焊接、喷漆、检测等负载较小的场合。随着国外工业机器人技术的不断发展,尤其是一些中小型机器人,它们具有体积小、质量轻、精度高、控制可靠的特点,甚至研发出更为轻巧的控制箱,可以在工作区域随时移动,这样大大方便了工作人员的操作。在工业机器人的应用中最常见的是六自由度的机械臂。它是由6个独立的旋转关节串联形成的一种工业机器人,每个关节都有各自独立的控制系统。2机械臂硬件系统设计2.1 机械臂构型的选择要使机器臂的抓持器能够以准确的位置和姿态移动到给定点,这就要求机器人具有一定数量的自由度。机器臂的自由度是设计的关键参数,其数目应该与所要完成的任务相匹配。为了使安装在双轮自平衡机器人上的机械臂能够具有完善的功能,能够完成复杂的任务,将其自由度数目定为6个,这样抓持器就可以达到空间中的任意位姿,并且不会出现冗余问题。在确定自由度后,就可以合理的布置各关节来分配这些自由度了。由于计算数值解远比封闭解费时,数值解很难用于实时控制,这样,后3个关节就确定了末端执行器的姿态,而前3个关节确定腕关节原点的位置。采用这种方法设计的机械臂可以认为是由定位结构及其后面串联的定向结构或手腕组成的。这样设计出来的机器人都具有封闭解。另外,定位结构都采用简单结构连杆转角为0或90的形式,连杆长度可以不同,但是连杆偏距都为0,这样的结构会使推倒逆解时计算简单。 定位机构是涉及形式主要有以下几种:SCARA型机械臂,直角坐标型机械臂,圆柱坐标型机械臂,极坐标型机械臂,关节坐标型机械臂等。SCARA机械臂是平面关节型,不能满足本文对机械臂周边3维空间任意抓取的要求;直角坐标型机械臂投影面积较大,工作空间小;极坐标方式需要线性移动,机械臂如需较大的工作空间,则臂长较长;和其他类型相比关节型机械臂在其工作空间内干涉是最小的,是一种较为优良的结构。所以初步确定本文机械臂构型为关节型。2.2臂杆长度的确定机械臂的臂杆设计如表2-1所示:表2-1 机械臂臂杆长度臂体名称大臂L1小臂L2机械手长度(mm)5505001502.3 机械臂结构设计2.3.1 关节结构方案为了便于机械臂关节的模块化涉及和简化结构,本设计使用电机直接连接减速器,减速器连接臂体连接结构。图2-1是关节结构动力传递方案。图2-1 关节结构动力传递方案使用这种联接方式因中间零件少,故形变量与回程间隙都较小,且能保持较高的结构刚度。2.4 关键部件的选型2.4.1 关节负载的估算各关节的动态参数是驱动元件的选择和关节传动零件选择的重要依据。由机器人动力学相关知识可知完整的机器人动力学方程为:式中一般使用静力学方法和动力学方法计算机器人的动力参数,速度较低的机械,在运行过程中,惯性引起的动载荷较小,一般使用静力学方法,忽略C和F的影响。而对于运行速度较高机械,其动载荷也较大,即C项的影响较大,甚至超过静载荷;且粘滞摩擦也较大,同时考虑静载荷和动载荷,需使用动力学计算。本文的设计要求是一款可以安装在全向移动平台上的轻型机械臂,对关节的旋转速度要求不高,因此估算机械臂力矩时采用静力学方法。图2-2 机械臂受力简图估计关节力矩之前,首先假设每个关节的重力作用集中在中心,将连杆的重量均分于各关节,机械臂受力简图如图 2-2 所示,使用静力学方法计算关节所受力矩的最大值。六自由度机械臂三维静态仿真图如图2-3所示:图2-3 三维静态仿真图2.4.2 关节驱动系统电机的选型机械臂的驱动系统,有三种基本类型,即电动驱动、液压驱动和气动驱动,也可以根据需要组合成为复合式的驱动系统。(1) 电机驱动目前机械臂上使用最多的一种驱动方式是电动驱动,它利用各种电机产生的力和力矩,直接或通过机械传动装置来驱动执行机构。这类系统效率比液压驱动和气动驱动系统高,且电源方便,所以在机器人中得到了广泛的应用。(2) 液压驱动液压驱动的主要优点是功率密度大。液压缸也可直接作为臂体的一部分,因而结构紧凑,刚性好。由于液压油液的不可压缩性,系统的固有频率较高,快速响应好,可实现频繁平稳的变速和换向。液压系统易于实现过载保护,动作平稳、耐冲击、耐振动、防爆性好。(3) 气动驱动气动驱动系统通常由气缸、气阀、气罐和空压机组成,其特点是气源方便、结构简单、造价较低、维修方便。与液压驱动系统相比,同体积条件下功率较小,也难以进行速度控制,多用于中、小负荷且精度要求不高的机器人控制系统中。综上,本设计决定使用电动驱动方式为机械臂提供动力,步进电机为驱动电机。2.4.3驱动系统减速器的选型结合上文,本文将使用步进电机为驱动电机为机械臂提供动力,结合各关节受力和机械臂关节传动机构组合方式,应在驱动电机和机械臂关节间安装减速器做扭矩适配,降低输出轴的速度,增大输出扭矩。一般行星齿轮减速器、蜗轮蜗杆减速器、谐波减速器、齿轮减速器等可以和步进电机适配。1、行星齿轮减速器行星齿轮减速器通常由一个或者多个外部齿轮围绕着一个中心齿轮旋转,就像行星绕着太阳公转一样。在工作状态中多个行星齿轮协同工作,因而承载能力大,属纯扭矩传动,工作平稳。单级行星齿轮减速器的减速比一般较小,需要增加减速比时只需增加行星轮系的级数即可,而整体体积变化较小。2、蜗轮蜗杆减速器蜗轮蜗杆减速器的传动比大,一般为 10-80,也可以达到 80 以上。此外,蜗轮蜗杆减速器机械结构紧凑、热交换性能好、工作平稳、噪声小、具备机械自锁能力,安全性高。3、谐波减速器波发生器,柔轮,刚轮是谐波减速器的三大部分,谐波齿轮减速器传动结构简单,减速比高,同时啮合的齿数多,运行平稳、传动承载力大,齿侧间隙小,传动精度高,传动误差只有普通圆柱齿轮传动的 1/4 左右,传动空程小,适用于反向转动,在机器人领域有着广泛应用。但对柔轮材料有较高的强度要求,工艺复杂。4、齿轮减速器圆柱齿轮减速机构为定传动比齿轮机构,其传动准确,平稳高效,传动功率范围和速度范围大,广泛用于各种仪器仪表中,但其制造和安装精度要求高,高减速比时结构较为复杂,体积一般较大。综上,初步去确定使用谐波齿轮减速器,减速比大,传动精度高,体积小巧,输入轴与输出轴轴线重合,可很方便地与步进电机组合安装成为机械臂关节的一部分,同时便于机械臂的模块化设计。本文将采用 Harmonic Drive CSF-mini 系列组合型谐波减速器,其中腰关节采用型号为 CSF-14-100-2XH-F;肘关节俯仰和肘关节旋转采用 CSF-11-100-2XHF,腕俯仰采用 CSF-8-100-2XH-F。2.4.4电机驱动器的选型虽然步进电机广泛地应用于各行各业,但步进电机并不能像普通的直流电机那样通过控制输入的等效电压就可以驱动和调速。它必须利用电子电路,将直流电变成分时多相时序控制电流,用这种电流为步进电机供电,步进电机才能正常工作。常见的有单片机 I/O 直接控制,步进电机驱动芯片、运动控制卡。1、单片机 I/O 直接控制方式使用单片机内部的锁存器、计数/定时器,和并行 I/O 接口,可以实现对步进电机的控制,脉冲环形分配器的功能由单片机系统实现完成,通过软件中断方式实现步进电机的变速控制,改变通电顺序则可改变转向。2、步进电机专用驱动芯片步进电机专用驱动芯片一般集成度较高,外围电路简单,一般有 ENABLE、STEP 和 DIR 三个输入端,ENABLE 为使能端,使能有效时方可驱动步进电机;STEP 为脉冲输入,输入一个脉冲,即可驱动步进电机产生微动;DIR 为方向 ,改变 DIR 逻辑电平即可换向。3、运动控制卡驱动控制通过计算机可直接控制步进电机,运动控制卡是专用于步进电机控制的 PC 插卡,是应对复杂系统的控制而出现的,一般可同时控制十几台甚至几十台步进电机的运动,一般价格很高。综上,本设计将使用步进电机专用驱动芯片来驱动步进电机。其中肩关节和肘关节俯仰有自锁需求,使用东芝 THB7128 3A 128 高细分步进电机专用驱动芯片驱动,其他轴选用 A4988 微步驱动器。表 2-3 步进电机驱动芯片相关参数型号最高耐压电流使用温度自锁性能细分模式THB712840VDC3.3A-40-85()半流锁定1-128(8 种)A498835VDC2A-20-85()无1-16(5 种)2.4.5传感器的选型本文将使用步进电机和谐波齿轮减速器为机械臂提供动力,步进电机只需要通控制驱动脉冲的数量,即可简单实现较高精度的定位,并使工作物在精确地停在目标位置。步进电机以细分后的步距角为基本单位进行定位。以两相电机为例,其步距角为1.8,使用 1/16 细分方式进行驱动,那么每给驱动器一个脉冲步进电机转子旋转的角度为角度=1.8*1/16=0.1125,转子旋转一周需要脉冲数为 360/0.1125=3200,需要旋转到其他任意角度的计算方式与上式相同。本文使用限位开关的型号为 Omron 微动开关 SS-5 摆杆型限位开关。表 2-4 微动限位开关参数型号按键力度接触规格触发精度耐热温度SS-51.47N1C(双投型)0.5mm852.4.6下位机的选型对于机器臂控制,需要对多台电机进行联动控制。为了实现多台电机之间的通信和控制,必须建立一套数据通信系统来完成主计算机与各运动控制单元间的数据交换。基于现场总线的分布式控制技术能够解决这些问题。但常见的分布式控制系统又有 USB 总线,SERCOS总线,RS-485 总线和 CAN 总线等这几种。本设计将采用RS-485 总线来实现机械臂的分布式控制。本设计选用了TI公司的2000系列 DSP TMS320LF2407 作为控制单元。其时钟频率可达 40MHz,具有高速的处理能力,片内资源丰富,特别是它特有两个内置事件管理器模块(EVA、EVB)。通过JTAG 接口可以方便的对 DSP 进行全速的在系统调试仿真。TMS320LF2407 的电源电压为 3.3V,正常下作电流为 80m A 左右,抗干扰能力较强。2.4.6.1 关节控制器硬件电路 关节控制器是以 DSP 芯片为核心,芯片本身及其外围电路的性能直接决定了系统的性能。故芯片的选择及其外围电路的设计,也就显得十分的重要。下面将通过单个模块电路的方式分别介绍控制器硬件电路。(1) 电源电路通过开关电源,接入B0505LS模块产生稳定的的5V 电压作为TPS7333芯片的供电电压,管脚8做为2407 的上电复位信号。管角 5,6 通过滤波电容输出作为 2407 的供电电压(3.3V)。如图2-5。图2-4 电源电路(2) 时钟电路TMS320LF2407 的时钟源可以来自外部有源晶振也可以用晶体,利用内部振荡器。一般经常使用外部时钟输入,因为使用外部时钟时,时钟的精度高、信号比较稳定,外部时钟电路和锁相环电路如图 2-6 所示。图2-5 时钟电路(3) JTAG 接口电路仿真接口电路如图2-7所示.目标层次的TI调试标准使用5个标准的IEEE1149.1(JTAG)信号(TRST、TCK、TMS、TDI、TDO)和两个TI扩展口(EMU0、EMU1)。JTAG 目标器件通过专用的仿真端口支持仿真,此端口由仿真器直接访问并提供仿真功能。JTAG 接口电路为仿真器与微机的接口电路,便于系统进行在线调试。图2-6 JTAG电路(4) 外接SRAM电路TMS320LF2407最多可寻址64K的外部程序空间和64K的外部数据空间。由于控制算法的需要,本系统需扩充外部 RAM。TMS320LF2407片内的 Flash可用作程序存储器,但在开发阶段使用 Flash 作为程序存储器极为不便,因为每一次程序的修改都需要对 Flash 进行清除、擦除和编程操作,而且进行CCS 调试时只能设置硬件断点,故从调试的角度考虑,应扩充程序 RAM。这里用的是CY7C1021V33芯片,它是64K*16bit的SRAM,存取时间为15ns,故不需要插入等待周期,可保证系统全速运行。图 2-8 为外接 SRAM 扩展电路图。图2-7 SRAM扩展电路图(5) 编码器处理电路增量式编码器信号处理电路如图2-9所示。图 2-8 增量式编码器信号处理电路(6) 霍尔接近开关电路本设计选用 A31443E 常开型霍尔接近开关。其接法如图 2-10,提供电压为5V,由于输出采用了集电极开路门,必须通过 10K 的上拉电阻接到 5V 电源上。当磁源的某一极与霍尔传感器的距离达到一定范围以内时,输出低电平,否则输出高电平,不需要外接放大电路。一套关节控制器将采用 3 支霍尔接近开关。HALL1、HALL2 分别固定在关节控制器运动的极限位置,其信号通过 IOPE5、IOPE6 不断查询。HALL3 用于绝对零位检测,采用中断的方式。图2-9 霍尔接近开关的接法2.5 机械臂的模块化设计机械臂的大小臂体和关节在整个机械臂中具有高度的相似性,同时机械臂是机电一体化的典型,其主体结构和联接结构都有一定的复杂性,而采用模块化设计思想,可以一定程度上简化设计流程,只需对不同的应用对象进行少量修改便可完成组合适配。2.5.1 旋转关节的设计机械臂的基本单元有旋转关节和俯仰关节,其结构具有相似性,本文重点介绍旋转关节的设计。旋转关节包含有电机、减速器、编码器、制动器以及其他附件,本文使用步进电机直连谐波减速器的驱动方式,使用限位微动开关确定机械臂初始定位零点,以计步进电机已发脉冲数为关节相对旋转角度参考,是一个开环的运动控制系统,动力传递链路为:电机-波发生器-柔轮-刚轮输出轴。机械臂的旋转关节模块在运行过程中会受到来自机械臂末端的弯矩,因此需要对输出轴做轴向和径向卸荷,减少输出轴的负载,保证系统的刚度,延长使用寿命。一般来说,一根轴需要两个支点,每个支点由一个或一个以上的轴承组成,每组轴承间有以下三种常用的配置方法。1、双支点各单向固定这种轴承配置常用两个反向安装的圆锥滚子轴承或角接触球轴承,两个轴承各限制轴向一个方向的轴向移动。这种配置方式轴向移动限制比较精确、也便于调整轴承的预紧程度。另外深沟球轴承也可用于双支点各单向固定,通过调整外壳与轴承端盖端面的厚度来补偿轴的受热伸长,因而这种配置方式不适合需要对轴做精确轴向定位的场合。2、一支点双向固定,另一端支点游动对于热伸长量较大的轴,这种轴一般跨距较大且工作温度较高,应该采用一支点双向固定,另一支点游动的支撑结构。其双向固定端需要使用能承受双向轴向载荷的轴承,内外圈都需要固定。3、两端游动支撑对于人字齿轮轴,由于本身具有相互间的轴向限位作用,其中只需保证一根轴与机座有相对固定的轴向位置,另一根轴上的两个轴承必须游动,防止人字齿轮卡死或两侧受力不均匀。本文将采用一支点双向固定,另一端支点游动的方式组合成卸荷轴承组,其中双向固定端使用深沟球轴承,游动端使用滚针轴承。其中腰关节使用型号为 HRB 61809-2Z、SKF HK5020,肘关节旋转使用型号为 HRB 61806-2Z、SKF HK3512。2.5.2 旋转关节的设计各运动轴基于模块化设计,设计时已考虑各运动轴的联接,使用简单的金属板件便能将各运动轴连接可靠,并具有一定的刚度。本文各运动轴均为法兰端面输出,与金属板材间通过螺钉联接固定,依靠金属板与法兰端面的摩擦力传递扭矩到金属板材。图 2-11 为肩关节联接金属板材机械加工工程图:图2-10 肩关节联接金属板2.5.3 抓手的设计一款通用型的机械臂应该具有抓取多种物体的能力,也为某一目标物体专门设计一款抓手,因而在设计机械臂臂体与机械抓手时,需要设计一个合理的联接结构,以便机械抓手能够快速更换。机械抓手在抓取物体时需要保持一定的夹持力,本文将使用舵机为机械手爪提供动力,舵机在旋转到位后能持续提供一定的扭矩以保持夹持状态。使用舵机型号为 TowerPro MG945 全金属齿舵机,表2-5舵机型号及相关参数型号舵机类型机械尺寸(mm)扭力工作电压工作死区MG945模拟舵机40.7*19.7*42.912kg/cm(6V)4.8-6V5us图2-12 为和机械抓手配合的臂体联接结构。同理只要末端执行器设计为可与该联接结构配合,即可实现更换,以完成对不同物体的抓取任务。图2-11 机械臂执行器联接结构3机械臂软件系统设计整个机械臂控制系统软件包括主计算机监控软件和各关节控制器软件。主计算机接收目标位姿数据,完成路径规划算法。另外,主计算机要实时读取关节控制器的反馈数据,记录机械臂的当前位姿,并显示在屏幕上。不仅直线运动、点到点运动、复位动作的完成需要主计算机监控软件协调,而且像各关节绝对位置的确定过程、各关节运动范围是否越界也必须由主计算机实时参与,及时做出决策。主计算机还要提供给用户友好的人机交互界面,方便于用户输入各种命令,存储设置好的参数,允许数据以表格或者曲线等形式导出。3.1 关节控制器软件设计3.1.1 PID控制算法关节控制器TMS320LF2407来实现,完成电机的位置环控制和速度环控制,如图3-1所示。位置环的控制周期设为2ms,速度环的控制周期也设为2ms。由于采用了速度环,系统的动态性性能可以得到显著提高。两个闭环都采用积分分离PD控制,根据实际调试情况,可以对控制律进行适当的化简。零位霍尔接近开关在系统上电时用于较粗略的确定电机的绝对位置,再结合增量编码器的Z通道的信号,就可以较精确的确定出电机的绝对位置。主计算机路径规划求得的目标位置,应该换算成增量码盘的脉冲数后,再发给关节控制器。关节控制器利用它和从增量编码器实际测得的脉冲数进行比较,利用积分分离PID算法求解位置环的控制量。3.1.2 关节控制器程序流程主程序的流程图如3-2所示:图3-1 主程序流程图寄存器初始化操作主要包括:设置CPUCLK为外部晶振的2倍频,即16MHZ;设置串口通讯波特率为:38.4kbPs;设置定时器/计数器相关寄存器;设置QEP电路单元相关寄存器;设置中断控制寄存器等等。串口数据接收中断服务程序流程图如3-3所示。在中断服务程序中,读取数据接收寄存器中的数据,存入数据接收区,而并不作任何进一步分析和处理。数据接收区是内存中暂时存放数据的区域,当存满一条完整指令信息后,由主程序分析和处理。图 3-2 串口数据接收中断服务程序流程图控制周期2ms定时中断服务程序的流程见图3-4。定时器/计数器3为位置环和速度环控制周期定时2ms,每3ms进入定时中断服务程序一次,读取位置反馈值和速度反馈值,进行积分分离PID运算,最后输出给DA转换成模拟量。每一个插补周期(50ms),主计算机向关节控制器发送一次运动规划后的目标位置。该目标位置是以增量编码器信号四倍频后的脉冲数为单位,以前一次的目标位置作为脉冲计数的零点,因此,关节控制器在读取新的目标位置后,也应该以前一次的目标位置作为新的增量码盘脉冲计数零点,测量实际的电机位置,与新的目标位置比较、运算。主计算机根据需要可以查询当前电机运行的实际位置,关节控制器返回的位置则是关节角的绝对位置,单位是0.1度。图3-3 控制周期定时中断服务服务程序流程图4 结束语本文提出了一套机械臂结构方案。硬件上,对机械臂的构型、臂杆长度、电机、驱动器、减速器、传感器和主控制器进行了选型。并且对机械臂进行了模块化设计,其中包括旋转关节的设计、连接件的设计和抓手的设计。软件方面设计了DSP关节控制器,实现了电机位置和速度闭环控制。基于RS485总线和DSP的分布式控制体系结构,具有高速、稳定、可靠、易于维护等优点,适合于六自由度机械臂的实时控制。5 参考文献1 王罗罗. 机械臂的结构设计及控制研究D. 哈尔滨工业大学, 2009.2 招绍坤. 轻型机械臂模块化设计与运动控制的研究D. 哈尔滨工业大学, 2010.3 王再明. 轻型臂电控系统的研究D. 哈尔滨工业大学, 2007.4 方红根,杨军. 基于模块化关节轻型机械臂的研制J. 上海电气技术, 2011.5 濮良贵. 机械设计M. 北京:高等教育出版社,2012:186-273.6 李世其, 刘洋, 朱文革 ,刘燕, 贾阳. 多关节轻型机械臂的设计研究J. 航天器工程, 2009.7 刘宝志. 步进电机的精确控制方法研究D. 山东大学, 2010.8 雷凯. 步进电机细分驱动技术的研究D. 苏州大学, 2003.
展开阅读全文