基于CAN总线的多机械手并行任务控制系统设计
2015-12-02李春龙吕琳烨
李春龙,邹 鲲,陆 晨,吕琳烨,叶 勇
LI Chun-long, ZOU Kun, LU Chen, LV Lin-ye, YE Yong
(东华大学 机械工程学院,上海 201620)
0 引言
阿克斯明斯特地毯毯面平整、丰满,达到国际商业重量级地毯标准,需求量持续增长。但阿克明斯特地毯织机存在织造效率低,换纱工作量大,耗费时间长的缺点,通过智能纱架系统对地毯织机进行自动化改造,缩短换纱时间。该系统采用多机械手换纱及分布式控制系统设计,动作流程复杂,信号传输频繁。针对这些特点,本文设计了基于CAN总线的并行任务控制系统。
设计通过同步控制器将功能分层、控制分散[1],有效将控制重心下移,提高了系统的可靠性和应用灵活性,避开了传统多机械手系统由上而下集中控制的缺陷,各机械手可以分布在相对开阔的工作现场。对于复杂任务,通常以有意识协作协的异构多机器人系统来完成,该类系统一般规模较小,个体智能水平较高[2,3],能够获得更优化的解,但系统功能的实现要依赖复杂的协调控制机制[4,5],对通信的要求较高,设备成本明显增加。本设计充分利用分布式控制的特点,将单一层面的并行控制[6]扩展到多层控制,使中转机械手、使中转站和续纱机器人等多机械手的智能性大大提高,系统能够以简化的协调控制机制完成复杂的任务。通过对CAN总线功能的扩充,文中设计了树状的通信网络拓扑结构,使各节点具有一定的互用性和可扩充性,简化了系统的安装和调试,增强了多机械手系统在纺织行业中的适用性。
1 总体结构设计
1.1 拓扑结构
系统机械结构包括络纱机、中转机械手、中转站、续纱机器人和纱架五个部分。系统同时控制多台络纱机进行卷绕,卷绕好的纱团由一台中转机械手分批放入两个不同工位的纱箱中,再由两台中转站将纱箱分别转运给两台续纱机器人。在换纱过程中,续纱机器人在纱架组成的巷道中长距离运动,完成不同位置的换纱任务。
由于纱线的卷绕、运输、续纱等都是同时进行且任务之间也存在着一定的逻辑顺序,所以机械手间必然要求灵活的并行或串行控制。另外系统中机械手数量较多,单就续纱机器人的电机数量就有将近20个,上位机控制负荷过重。本设计模仿生产车间的运行机制,将控制系统划分为工长级、工人级和肢体级的三个控制层级,具体如图1所示,为CAN总线网络树状结构示意图。络纱机、中转站和续纱机器人等工人级节点既能接收上位机的并行任务也能控制肢体级节点顺序执行同步控制器分解的底层任务。
系统应用层协议则采用主从通讯模式[7]。工长级节点(即上位机)将整体任务分解为一级子任务下发到工人级节点(即同步控制器)或以查询的方式获取机械手的状态。通过控制各个肢体级节点,多机械手能够独立地完成一级子任务,同时机械手之间也可以通过同步控制器完成状态信息的交互,实现任务的并行执行。该设计将控制中心划分给同步控制器节点,机械手在任务执行过程中摆脱了上位机的大部分干预,上位机更多的是起到监视记和录的作用。工人节点在二级网络中处于支配地位。它将接收到的一级子任务分解为二级子任务,使任务清单层层细化。同步控制器还兼具分支信息过滤的作用,降低了信息通道的通讯负荷。在任务的调度上,同步节点能根据节点的算法为相应的肢体级节点索引底层的二级子任务,为任务的调整和修改提供了独立的空间。
图1 CAN总线网络树状结构示意图
该设计将系统的控制功能彻底下放到现场,控制体间既有横向的交互也有纵向的控制拓展。同时,控制的下移也代表着通信负荷的重新分配,使信息流向更趋合理。同步控制器的任务分配和信息传输具有一定的周期性,使控制器中预置控制程序的编写和修改大大简化,各机械手的动作流程和运行轨迹更加趋于模块化,系统的灵活性和可靠性增强。
1.2 同步控制器硬件结构
节点采用图2的通讯板连接,其芯片采用ARM的LPC11C14,CAN收发模块选用CTM8251。LPC11C14包含片上C_CAN驱动的CAN控制器,作为节点间的通讯接口,具有CAN总线通讯能力,有效地支持了多机械手的实时控制。在各通讯节点的硬件结构上,中继器和同步控制器结构相同,使硬件互换性提高,设备维护简单易操作。
图2 网桥/同步控制器硬件结构框图
2 同步节点控制程序
同步控制器能够对肢体级任务进行分解、协调和分配,负责状态的监控及反馈,直通信息的传递等。所以同步控制器的两个M0芯片分配有不同的功能,定义为:状态芯片M0_1和任务芯片M0_2。状态芯片主管运行状态,储存二级子任务的完成情况及其他相关状态信息;任务芯片主管任务调度,二级子任务的决策及Flash存储器的任务索引等,任务的增加、删减及顺序的修改都能在该节点实现。当一级子任务指令到达同步节点后,控制程序通过判断状态芯片内的状态信息来索引任务芯片Flash中的清单任务,并经CTU(CAN To UART的缩写)传递给执行机构,二级子任务完成后状态芯片即改写状态变量,以供后续查询。判断状态-索引任务-更改状态三个阶段循环执行,辅助完成一级子任务。
图3 同步节点控制程序流程图
同步控制器将整个网络改造成分级递阶的结构,使智能体具有了一定的自主性。另外,片内存储器的使用能够起到掉电保护的作用,使系统能够在断电重启后仍保持系统掉电前的工作状态。
3 地址分配
系统在不同的运行模式下,任务指令和状态信息所能到达的节点范围不同,如在调试模式下,上位机可以将指令发送给网络中的任意节点,而在正常运行模式下,同步节点可以向平行节点发送状态信息或向子节点发送二级子任务。这就要求系统能够在全局进行纵向和横向的通讯,而CAN节点ID的配置则在其中起着关键作用。
考虑到所设置ID地址中要包含中继器,同步控制器,CTU地址以及其他预留位信息,所占用的位数较多,所以使用29位ID地址的扩展帧较为合适。如表1所示。
表1 ID接收地址的分配表
对于CAN报文的接收过程,我们采用分层式的地址接收方式加方向位辅助配合。该方式整体分为三层,由上到下各层分别对应中继器位、同步控制器位和CTU位。纵向发送信息时,接收地址层层递进,每个节点只对比接收相应层级上的的相应地址位,中继器即通过中继器位的仲裁对接收的报文进行过滤,信息流在该层节点分流。同时,由于分层式地址接收方式只过滤本层级的地址位,同步节点可以只设置同步控制器位将报文约束在工人级的控制层,完成机械手间的横向信息交互。
这种地址设置方式降低了统筹设计的复杂性,不需要反复的全局衡量和计算,ID和MASK设置较之前更加直观简单。相对集中的地址位设置使该种方式的ID配置与硬件的结合成为可能,如拨码开关的使用等,能够简化通讯设备的安装和更换,降低了操作人员的技术要求水平。
4 组合帧
从不同的运行模式看,8个字节的数据帧不能完全满足单次数据传输的需要,特别是在调试模式下,上位机单次下发的数据甚至会超过20个字节,必须进行帧数据的组合传输。以上位机发送到续纱机器人下的CTU3节点为例,发送过程如表2和表3所示。
表2 ID配置
表3 组合帧发送过程
在传输过程中,CAN报文的接收是对扩展帧特定地址区域的仲裁,解决的是信息来源的问题,数据的去向则是由主程序配合完成。程序提取并检查扩展帧中相邻层级的地址位(向下发送时,则检查下一级地址位;反之则检查上一级地址位),决定是否继续发送。
组合帧解决了长字节数据的传输问题,弥补了CAN报文8字节数据传输的缺陷,使长字节数据能够顺利到达目标节点。
5 结束语
本设计确定了并行任务控制系统分层式的总体设计架构,将部分控制功能配置给工人级节点,使机械手具有一定的自主性,实现了并行任务和串行任务的交叉控制,增强了系统的控制灵活性。文中提出基于CAN总线的树状网络组网方案,采用分层式的地址分配方式,实现了分支信息的过滤及横向信息的传输,同时,组合帧过程还解决了CAN报文数据空间不足的问题,实现了长字节数据在CAN总线中的传输。控制系统设计促进了阿克明斯特地毯织造系统的自动化改造,使分布式控制技术更好的应用于纺织行业。
[1]刘桥,蒋梁中,谢存禧,国蓉.集散控制系统与现场总线控制系统[J].现代电子技术,2003(13):89-93.
[2]吴军,徐昕,连传强,贺汉根.协作多机器人系统研究进展综述[J].智能系统学报,2011,6(1):13-27.
[3]石志国,王志良,刘冀伟.异构多机器人协作系统研究进展[J].智能系统学报,2009,4(5):377-391.
[4]马斌奇.多机器人协作与控制策略研究[D].西安电子科技大学,2009.
[5]冯睿.基于蚁群算法的多机器人协作机制研究[D].西北大学,2011.
[6]刘金琨,王树青.多智能体控制系统的设计与实现[J].控制理论与应用,1999,16(4):580-582.
[7]李忠奎,姚永辉,温良,贾晓娣.CAN多主通讯技术在煤矿顶板监测系统中的应用[J].电子设计工程,2011,19(21):93-96.