郑为凑, 蔡楷倜, 于振中, 刘伟, 惠晶
(江南大学轻工过程先进控制教育部重点实验室,江苏无锡214122)
轻工包装机器人专用运动控制系统设计
郑为凑, 蔡楷倜, 于振中*, 刘伟, 惠晶
(江南大学轻工过程先进控制教育部重点实验室,江苏无锡214122)
分析轻工包装机器人运动控制系统的特点,提出一种低成本、高性能的专用运动控制系统,并进行了软硬件分析与设计。系统采用Cortex-M4内核的STM32F407为主CPU,运动控制芯片PCL6045BL为从CPU的主从CPU结构,将Cortex-M4在人机界面,通信接口与运动控制规划上的优势与PCL6045BL高控制精度的优点相结合。软件上通过移植μC/OS-II与μC/GUI实现实时系统运行与人机交互,编写相应的应用程序实现对机器人的控制,最后通过插补实验对机器人控制系统进行验证。
运动控制系统;机器人;实时操作系统
工业机器人作为高端装备制造产业的重要组成部分,在近几年取得了长足的进步,并广泛应用于工业生产中[1-2]。随着机器人的发展,机器人的大脑——机器人控制系统的研究越来越受重视。国内目前也涌现了一大批优秀企业自主研发的开放式多轴控制系统(如成都卡诺普公司开发的CRP-S系列,深圳迈科讯的IMC系列等)。目前,国内市场上的机器人控制器,大多采用嵌入式技术,并结合工业PC以提高系统稳定性,并提供系统的解决方案[3-4];国外的机器人运动控制器发展很快,智能水平很高[5-7],并且正在进行许多开创性的探索[7-8]。轻工包装机器人作为自动化流水线上的核心设备能实现大部分产品的存储、搬运、装卸、包装等动作[9],在自动化流水线上的应用越来越广泛。目前,市场上并没有针对这类机器人的专用运动控制系统,使用现有的国内外机器人通用控制器控制轻工包装机器人普遍存在开放性能差,用户需自己规划机器人控制策略与控制算法,二次开发难度较大,无法自用裁剪与添加相应的功能,开发周期长,且造价昂贵等问题。
针对上述存在的问题,文中提出一种低成本、低功耗、高性能的运动控制系统设计方案。
为保证所研究的运动控制系统与包装流水线上的机器人控制无缝对接,首先研究轻工包装机器人工艺需求,保证开发的运动控制系统能够满足流水线需求;其次,针对常用的几种轻工包装机器人(如直角坐标机器人,DELTA机器人与SCARA机器人等),对其进行运动学建模,分析其运动学与动力学方程。在此基础上,编写相应的API函数实现机器人运动控制,并将这些库函数集成至控制器中,为机器人控制器的规划与系统搭建奠定基础。机器人控制系统是一个实时系统,需要移植实时嵌入式控制系统。确定嵌入式运动控制器的设计方案,并对嵌入式运动控制的硬件进行设计;将设计好的运动控制系统与机器人本体联机调试,综合分析并进一步优化。轻工包装机器人专用运动控制系统研究流程图如图1所示。
图1 轻工包装机器人运动控制系统研究流程Fig.1 Flow chart of the light packaging robot m otion control system
机器人控制系统由机器人运动控制器、上位机、伺服系统与I/O输入输出等部件构成。其中:上位机与运动控制器通过通信实现系统参数的初始化,系统数据采集与处理,监控与报警,任务调度与管理等;运动控制器根据所接收到的参数与控制命令,实现对外部输入输出信号的控制与采集,同时对伺服系统进行控制,实现机器人的动作。控制系统框图如图2所示。
图2 控制系统框架Fig.2 Block diagram of the control system
机器人运动控制器作为机器人控制系统的核心,是文中研究的主要对象。控制系统主要由硬件部分与软件部分组成,控制器软硬件构成如图3所示。
图3 控制器软硬件构成Fig.3 Com ponent of the controller hardware and software
软件部分由嵌入式控制系统,设备驱动程序与应用程序组成。因为机器人控制系统是一个实时系统,所以运动控制器控制系统采用实时控制系统μC/OS-II。该系统可以高效地执行实时应用程序,为应用程序的设计和扩展奠定基础。硬件部分采用主从CPU结构。由意法公司针对工业机器人市场新推出的的STM32F407芯片构成主控平台, PCL6045BL运动控制芯片作为从CPU,二者通过总线连接实现,完成信号的采集和通信,以及机器人的运动控制。
2.1 系统硬件设计
运动控制器的硬件部分主要以STM32F407ZGT作为主CPU,PCL6045BL运动控制芯片作为从CPU。由STM32F407构成的主控平台如图4所示。
STM32F407是高性能的32位处理器,基于ARM Cortex-M4内核,结合了DSP技术,具有高效的数字信号控制与易于使用等特点[10]。STM32F407系列采用多重AHB总线与多通道DMA控制器,支持以太网与相机接口,具有良好的可拓展性,同时具有高性能处理低功耗等优点,能够很好地满足系统控制要求。
PCL6045BL运动控制芯片是专门为步进和伺服控制设计的DSP运动处理器[11]。PCL6045BL为核心的从CPU主要作为运动控制部分,其硬件框图如图5所示。
图5 从CPU硬件框架Fig.5 Block diagram of the slave CPU hardware
图5中硬件设计合理采用隔离电路与反馈信号,使系统具有较强的抗干扰能力,能适应较复杂的工业现场环境。利用PCL6045BL运动控制芯片可以处理包括匀速和变速脉冲输出、加减速规划、直线或圆弧插补、原点及限位开关管理、编码器信号处理等运动控制工作,大幅度简化了系统软硬件结合和开发工作,同时可以提高系统的效率。
主从CPU通过地址总线与数据总线实现控制,能够实现快速双向信息交互,具有控制灵活、效率高、实时性好等特点。STM32F407通过控制地址总线决定PCL6045BL控制的轴与读写端口,通过数据总线实现控制参数的传输,将主CPU中编写的运动学库函数发出的控制指令传递给伺服控制系统,实现轻工包装机器人与外设的灵活控制。STM32F407与PCL6045主从结构的连接如图6所示。
图6 STM 32F407与PCL6045BL连接框架Fig.6 Connected diagram of STM 32F407 andPCL6045BL
2.2 系统软件设计
系统软件部分主要由嵌入式操作系统、设备驱动程序和应用程序3部分组成。嵌入式操作系统采用μC/OS-Ⅱ实时嵌入式操作系统,同时在控制器中移植μC/GUI,提供有效的图形用户接口;设备驱动程序是实时操作系统内核和硬件之间的接口,是连接底层硬件和内核的纽带;应用程序主要为用户应用程序和机器人运动学与动力学相关的API函数。
2.2.1 嵌入式系统的Bootloader Bootloader是嵌入式系统软件开发的第一个环节。它把操作系统和硬件开发平台紧密结合在一起。通过Bootloader初始化硬件设备,建立内存空间的映射图,将系统的软硬件环境带到一个合适的状态,以便为最终操作系统内核准备好环境。
2.2.2 μC/OS-Ⅱ的移植 μC/OS-Ⅱ是一个可以基于ROM运行的、可裁减的、抢占式、实时多任务内核,具有高度可移植性,执行效率高、占用空间小、实时性能优良和可扩展性强等特点[12]。系统移植,就是使一个实时内核能在其他的微处理器或微控制器上运行。文中使用μC/OS-Ⅱv2.91版本,该版本较低版本增加了许多功能,且修复了很多已知bug,具有更好的稳定性。将μC/OS-Ⅱ移植到微控制器STM32F407上,需要完成的工作是修改4个和处理器相关的文件os_cpu_c.c,os_cpu_a.asm, os_cpu.c,os_dbg.c。μC/OS-Ⅱ文件系统结构如图7所示。
图7 μC/OS-Ⅱ文件系统结构Fig.7 File system structure of theμC/OS-Ⅱ
2.2.3 μC/GUI的移植与设备驱动程序设计
μC/GUI由Micrium公司开发的开源的嵌入式用户图形界面软件,在μC/OS-Ⅱ添加图形化用户界面,既可发挥嵌入式的实时性,又能实现良好的人机界面[13]。μC/GUI提供了操作系统的接口与输入输出设备的接口。
驱动程序是实时操作系统内核和硬件之间的接口,是连接底层硬件和内核的纽带。当外围设备改变时,只需要更换相应的驱动程序,不必修改操作系统的内核以及运行在操作系统中的软件。
2.3 系统应用程序设计
μC/OS-Ⅱ是嵌入式实时操作系统,需要将应用程序划分为多个任务,每个任务负责完成一部分工作,多个任务协调完成系统功能。合理的任务划分可充分体现操作系统任务调度算法的效率,从而提高系统的实时性。采用μC/OS-Ⅱ提供的信号量、邮箱、消息队列进行通信,实现对任务的统一调度和管理。文中根据运动控制器的需求,给出任务划分与各任务间相互关系,具体结果如图8所示。
应用程序包括总体的控制模块、人机界面的设计、示教程序、运动控制、状态监测与通信模块等。STM32F407通过操作系统可便于实现各任务间的调度,运动控制通过编写运动控制API函数,实现轻工包装机器人的运动学解算。通过运动控制函数向PCL6045BL发送控制指令。PCL6045BL根据接收的指令,完成控制算法与路径规划,发送相应的脉冲和指令使伺服系统完成相应的动作,从而实现对机器人动作的控制;同时PCL6045BL反馈光电编码器信号与相关的开关量信号,实现系统的闭环控制。
图8 程序总体任务规划Fig.8 Planning scheme
在搭建好控制系统的基础上,对控制器进行调试,验证文中设计方案的可行性。用户在开发应用程序中不需要关心底层的设计,只需要根据控制需求编写人机界面与调用函数,并配置相应的设置,机器人的运动控制功能主要取决于集成的运动函数库。为使系统能够较好地控制机器人,需要编写大量的运动控制API函数。考虑到在工业机器人中,插补运算的广泛应用,文中通过编写人机界面实现两轴的直线插补控制,从而对运动控制器进行验证。
直线插补API的函数模型:
//直线插补的参数结构
实验组、参照组产妇自然分娩率以及新生儿窒息率结果见表1。经统计学软件计算,结果差异有统计学意义P<0.05。
typedef struct
{long P[2];//2轴上的脉冲
unsigned V;//速度
long DP;//减速脉冲
}LineData;
void PulseOutMode(unsigned axis,short mode)//设置脉冲输出模式
void SetV(unsigned axis,unsigned wdata)//设置速度参数V
void Sets(void)//启动S曲线加/减速
void Clear(void)//停止S曲线加/减速
void SetA(unsigned axis,unsigned wdata)
//设置加速度参数A
void SetD(unsigned axis,unsigned wdata)
//设置减速度参数D
void SetSV(unsigned axis,unsigned wdata)//设置初始速度参数SV
void LineXY(LineData*pLD)//2轴直线插补
在编写的插补运动库函数的基础上,用户只需通过上位机进行坐标与参数输入,即可实现两轴直线插补轨迹控制。上位机程序采用μCGUI Builder编写,上位机插补轨迹实验界面如图9所示。
图9 插补实验界面Fig.9 Interpolation experimental interface
图9中,设置起点为(0,0),终点为(2 000, 3 000),初始速度为0 m/s,运行速度为1 m/s,加减速时间为300 ms。通过示波器可以观察到如图10所示的控制器所发出的脉冲。
图10 直线插补脉冲输出Fig.10 Linear interpolation pulse output
由图10可以看出,系统以y轴作为主轴,x轴为从轴,控制器按照以y=1.5x的直线轨迹发送脉冲,与设置的起点到终点构成直线的斜率一致。两轴插补脉冲输出实验图如图11所示。
图11 两轴脉冲输出实验Fig.11 Two-axis pulse output test
从插补实验可以得到,通过设置的参数,主CPU可利用接收到的数据进行任务分析,向从CPU发出运动控制命令,从CPU根据所得到的命令输出相应的脉冲。在控制器开发中,需编写大量的运动控制算法,这样用户通过人机界面设置参数与调用程序,就可以高效地控制轻工包装机器人。在两轴直角坐标机器人控制中,该控制器运行稳定,有效精度为1 mm,且重复精度较高,有效最高脉冲速度可以达50 kHz。实验证明,所设计控制器可以实现高精度、高速、多轴的脉冲输出,以及控制普通的输入输出,能够高效满足轻工包装机械手的控制需求。
文中采用针对工业自动化推出的Cortex-M4处理器STM32F407与运动控制芯片PCL6045BL设计主从CPU结构的运动控制器,结合轻工包装流水线机器人在工业现场中的工艺要求,编写相应的运动控制函数,用户通过编写人机界面,即可便于的实现机器人的运动控制和相应的辅助动作。通过编写最具广泛用途的机器人插补运动控制API函数,验证控制器设计的合理性。另外,运动控制器的可靠性需要大量的时间与实验去验证。今后可致力于研究其他常见轻工包装机器人的运动学与控制,将相应的函数添加至控制器,增加控制器的应用范围,同时对控制器的软硬件可靠性进行进一步优化与改进。
[1]蒋刚,龚迪琛,蔡勇.工业机器人[M].成都:西南交通大学出版社,2011.
[2]Executive Summary.Executive Summary WR 2013[EB/OL].(2013-08-12)[2014-09-20].http://www.worldrobotics.org/uploads/media/
[3]张玫.机器人技术[M].北京:机械工业出版社,2011.
[4]谢广明,范瑞峰,何宸光,等.机器人控制与应用[M].哈尔滨:哈尔滨工程大学出版社,2013.
[5]Aryania A,Daniel B,Thomessen T,et al.New trends in industrial robot controller user interfaces[C]//2012 IEEE 3rd International Conference on Cognitive Infocommunications.Kosice,Slovakia:IEEE,2012:365-369.
[6]Soga S,Kobayashi I.A study on the efficiency of learning a robot controller in various environments[J].Adapative Dynamic Programming and Reinforcement Learning,2013(4):164-169.
[7]Parker C A C,Croft E A.Design and personalization of a cooperative carrying robot controller[C]//2012 IEEE International Conference on Robotics and Automation.Saint Paul,MN:IEEE,2012:3916-3921
[8]Ganesh G,Albu-Schäffer A,Haruno M,et al.Biomimetic motor behavior for simultaneous adaptation of force,impedance and trajectory in interaction tasks[C]//Proceedings of IEEE International Conference on Robotics and Automation.Anchorage, Alaska:IEEE,2010:2705-2711.
[9]刘进长,王伟,区和坚.市场“井喷”带来的机遇与挑战—我国工业机器人发展的思考与建议[J].机器人技术和应用, 2014(1):14-18.
LIU Jinchang,WANGWei,OU Hejian.Market“blowout“opportunities and challenges-thoughts and suggestions of development of industrial robots[J].Robotics and Applications,2014(1):14-18.(in Chinese)
[10]廖义奎.ARM Cortex-M4嵌入式实战开发精解—基于STM32F4[M].北京:北京航空航天大学出版社,2013.
[11]叶佩青,张辉.PCL6045B运动控制与数控应用[M].北京:清华大学出版社,2007.
[12]邵贝贝.嵌入式实时操作系统μC/OS-Ⅱ[M].北京:北京航空航天大学出版社,2003.
[13]王兰英.基于STM32嵌入式系统的μCGUI移植与实现[J].四川理工学院学报:自然科学版,2012,25(1):56-58.
WANG Lanying.Porting and implementation ofμcGUIbased on STM32 embedded system[J].Journal of Sichuan University of Science and Engineering:Natural Science Editton,2012,25(1):56-58.(in Chinese)
(责任编辑:邢宝妹)
Desigh of the Light Packaging Robot Dedicated M otion Control System
ZHENGWeicou, CAIKaiti, YU Zhenzhong*, LIUWei, HUIJing
(Key Laboratory of Advanced Process Control for Light Industry,Ministry of Education,Jiangnan University,Wuxi214122,China)
With the use of the light packaging robots in the pipeline,the development of the dedicated motion control system has the important significance.In this paper,a dedicated motion control system with low cost and good performance is proposed after the analysis of the features of light packaging robotmotion control systems,and the hardware and software are analyzed and designed.The system uses the core STM32F407 of Cortex-M4 as the master CPU,and themotion control chip PCL6045BL as slave CPU,to combine the Cortex-M4 which has the advantages in the man-machine interface,communication interface and motion control programs strengths and the PCL6045BLcontrol which has the high precision.The real-time system operation and human-computer interation can be achieved by transplanting theμC/OS-II andμC/GUI,the robot control can be achieved by writting appropriate programs.The performance of themotion control system can be verified by experiments.
motion control systems,robot,RTOS
*通信作者:于振中(1980—),男,安徽宿州人,副教授,硕士生导师。主要从事机电一体化技术、电力电子技术等研究。Email:yzzrobot@126.com
TP 273.5
A
1671-7147(2015)03-0289-06
2014-12-02;
2015-02-28。
江苏省自然科学基金项目(BK20130159)。
郑为凑(1990—),男,福建古田人,电气工程专业硕士研究生。