基于PMAC的开放式机器人控制系统
导语:本文对控制系统的整体结构、软、硬件组成等进行了简要的介绍。
以IPC+DSP作为六轴工业机器人的, 设计了一种基于PMAC (Programmable Multi-Axis Controller)的开放式机器人控制系统。本文对控制系统的整体结构、软、硬件组成等进行了简要的介绍。 机器人控制系统是一种典型的多轴实时运动控制系统。传统的机器人控制系统基本上是设计者基于自己的独立结构和生产目的而开发的,它采用了专用计算机、专用机器人语言、专用操作系统、专用微处理器的封闭式体系结构。这种结构的存在制造和使用成本高,开发周期长,升级换代困难,无法添加系统的新功能等一系列缺点。本文介绍了一种基于PMAC运动控制卡的开放式结构机器人控制系统,采用IPC+DSP的结构来实现机器人的控制。这种机器人控制系统采用开放式硬件、软件结构,可以根据需要方便地扩展功能,使之适应于不同类型机器人或机器人自动生产线。它采用多个微机分级控制方式,具有良好的开放性和扩展性。
1 机器人控制系统硬件构成 开放式机器人系统从概念上应该是一个以公用平台为基础(如Windows),但windows存在实时性差的缺点,很难保证计算周期在毫秒级的伺服控制周期之内,为了解决这个问题,就需要使用快速DSP运动控制卡,让Windows处理相对慢一些的任务,而让运动控制卡处理速度很快的运动伺服控制。在本文中,使用带双端口RAM的PMAC多轴运动控制卡,双端口RAM作为windows和PMAC之间的高速缓冲区,将IPC内存中的轨迹插补数据下载到PMAC,或将每个关节位置的传感器信息和伺服系统的总体状态信息反馈到windows。根据以上分析和开放式机器人的基本设计思想,设计了如图1所示的机器人控制系统。 [align=center]
图1 总体结构[/align] 采用多个微机分级控制方式,即上级IPC负责整个系统管理、路径规划,下级PMAC则实现对各个关节的伺服控制。
1.1 PMAC多轴运动控制卡特点 PMAC是遵循开放式系统体系结构标准开发的开放式可编程多轴运动,它采用Motolora DSP56001数字信号处理器作为CPU,利用DSP的强大运算功能实现1-8轴的实时伺服控制。在许多应用中,PMAC是一台计算机,能够同时执行多个任务并能正确地进行优先级的排序,使它能够在处理时间和任务切换的复杂性这两个方面减轻主机的负担。PMAC能适应多种硬件操作平台,能和主机以各种总线或串口方式通讯,适用于所有电动机,对不同电动机可提供相应的控制信号。标准的PMAC运动提供了PID+速度和加速度前馈和阶式滤波器(5~500Hz)实现位置闭环。
1.2 运动伺服系统 机器人关节驱动器使用松下的MSMA系列小惯量型交流永磁同步伺服电机,伺服电机同轴安装有旋转角度传感器,能提供分辨率为2500p/r的增量编码器信号。使用速度控制方式,伺服系统完成扭矩(电流)和速度两个闭环的控制。交流伺服系统电流环采用比例进行电流闭环控制,而速度环采用比例积分进行速度环控制。这类电机具有良好的速度控制特点,可以实现平滑控制,几乎没有震荡出现。
2 控制系统联结和调试 在本控制系统中采用的是松下交流伺服驱动器和伺服电机,电机编码器和驱动器通过联接器CN SIG连在一起,驱动器的CN 1/F联接器和PMAC连在一起。采用的是速度控制方式,因此,驱动器和PMAC所用的信号连线主要有:编码器差动输入信号、速度指令输入、模拟地及数字地、伺服使能、伺服报警、安全限位。在整个联接过程中,特别要注意的是在选择编码器信号传输线上要使用双绞屏蔽线,这对于整个系统工作的稳定性、抗干扰能力以及信号的传输有非常大的影响。
2.1 开环零漂调整 本系统选用PMAC一型卡,输出16位速度电压模拟量信号,可以通过驱动器和PMAC卡双方面调节零漂,但机器人的编码器反馈电缆和动力线电缆之间的距离有限,不可避免地存在动力电缆的电磁场污染反馈信号。这样,机器人本体上电瞬时各电机开环运行,各关节可能出现微小的偏移。必须通过控制驱动器SRV-ON和COM-的通断,来释放或者禁止电机的动态制动器,进而控制电流是否流入马达,达到消除机器人各关节的漂移,如图2所示。 [align=center]
图2 控制关节开环漂移示意图
图3 单个关节工作示意框图[/align]
2.2 位置闭环PID参数调整 图3为单个关节工作于位置闭环方式时的结构示意框图。首先,计算机按绝对坐标或相对坐标方式将目标位置送给运动,然后再发送运动开始命令,接到运动开始命令后,根据当前的加速度和速度设置进行运动轨迹计算,给出每一时刻应达到的理想位置坐标,PID控制部分负责实际位置对理想位置的跟踪控制,跟踪过程直至达到目标位置,或被计算机发出的新的位置目标及运动开始命令所更新。 PID控制是一种最优的控制策略,其输入e(k)和输出u(k)之间成比例、积分、微分关系。
PMAC运动提供了PID和前馈位置伺服环滤波器。要使系统伺服特性达到刚性好,又稳定并且跟随误差少,需要调整PID参数。PMAC本身提供了调节PID参数的软件PmacTuningPro,通过采集到系统的各种响应特性曲线来改变改变比例、积分、微分参数而获得最好的闭环稳态特性和改变速度前馈增益、加速度前馈增益来获得最小的跟随误差。典型的位置控制响应过程如图4所示。 [align=center]
图4 腰关节位置闭环阶越响应曲线
图5 安全功能[/align]
2.3 安全功能 在机器人运行过程中,有可能出现运动程序设计的欠缺或其他原因导致关节超出了运动空间,这种情况很危险,有可能造成电机的飞车或损坏,因此必须在各关节上安装限位开关和报警处理。PMAC为每个通道都设计了正限位LIM+、负限位LIM-、和报警信号FAULT用于故障保护。 这些输入都作了数字信号和模拟信号的光电隔离,当正限位LIM+、负限位LIM-、和报警信号FAULT与模拟地相连时,PMAC认为是正常工作状态。但当它们与模拟地断开后,PMAC认为到了限位或者出现错误而停止DAC输出,停止电机。
2.4 回零功能实现 机器人在空间要想准确的定位,首先必须要确定各个关节的零点,而松下的小惯量电机使用的是增量编码器,不具备记忆功能,那么就必须在开机时首先确定哪里是机器人的零点。根据应用的需要,使用限位开关回零。可以先让电机运动到一个方向的限位开关,然后再反向偏移这段限位开关到规定零点的距离,最后设定当前位置为零点。
2.5 手爪步进电机的控制 机器人末端使用一个步进电机来驱动手爪开合,而PMAC一型卡只具备模拟量输出,不能直接控制步进电机,并且手爪运动还需要和轴的运动协调。可以通过PMAC的数字I/OJ5口发出脉冲信号经过光电隔离后来控制手爪步进电机,PLC程序设计流程图如图6所示。 [align=center]
图6 控制手爪流程图
图7 控制软件设计[/align]
3 系统软件设计 系统软件采用模块化结构设计,系统分为上位机部分和伺服控制软件部分。上位机采用高级语言进行开发,界面友好,主要用于运动轨迹规划、机器人动态分析、运动仿真、智能算法处理等管理模块;下位机利用PMAC的DSP的高速运算速度来实现高速伺服插补运算、运动伺服控制等。图7是系统的模块化软件结构。而DeltaTau公司提供的PMAC通讯驱动函数库Pcomm32作为Windows与PMAC通讯桥梁。采用中断机制完成伺服控制、轨迹插补、速度处理等高实时性的任务,当缓冲区清空时,PMAC会发出中断请求信号,主机接收到该信号后,对后面的轨迹段进行路径规划控制,并将计算出的新的控制数据写入到DPRAM中,PMAC则从DPRAM中读出数据送入伺服驱动装置,完成对机器人各关节的控制。
4 结论 本文介绍了一种工业机器人伺服控制系统。运行结果证明这种力矩、速度、位置三闭环控制系统满足机器人控制要求,运行平稳。分层的系统体系结构极大的提高了系统的效率,模块化的软件设计则具有很强的可移植性、扩展性和开放性。