王 硕
(中国科学院自动化研究所复杂系统管理与控制国家重点实验室,北京,100190)
机器人系列标准介绍
——《机器人ROBBUS通信总线》
王 硕
(中国科学院自动化研究所复杂系统管理与控制国家重点实验室,北京,100190)
本文介绍了国家标准《机器人ROBBUS通信总线》的撰写背景、起草过程和标准主要内容。
机器人,通信总线,模块化
近年,我国工业机器人和服务机器人的市场规模越来越大,发展速度越来越快。而如何依靠国内机器人市场发展促进产业发展已成为国内企业、科研机构、大专院校必须共同面对的重要课题。对此,个人计算机(PC)产业的发展模式和发展历程对于机器人产业的发展具有极大的借鉴意义。
PC产业通过合理的上下游分工,建立完整的产业链,逐步确立标准体系,吸引众多不同专业的厂商加入,在设计、生产和制造等环节上充分竞争,最终实现个人计算机性能提升、价格降低和市场普及,而随着产品的普及,PC产业的规模迅速膨胀、产业链不断延展。
受PC产业的启发,机器人产业和技术相关国内企业、科研机构、大专院校希望通过机器人的标准化、模块化重复PC产业的发展模式和发展历程,促进国内机器人产业发展。在国家863计划的大力支持下,北京航空航天大学、中国科学院自动化研究所、清华大学等科研机构、大专院校与新松、奇瑞、上海沃迪等国内企业密切合作,开展机器人模块化关键技术研究、产业化应用和标准制定。国家标准《机器人ROBBUS通信总线》就是在这一产学研密切合作过程中形成的标准化成果。
总线技术在服务机器人不同的传感、执行、控制部件的模块化方面具有重要应用价值,并可简化系统结构,增强系统可靠性、方便维护。随着基于总线技术设计的模块化机器人部件的发展,基于总线技术的模块化机器人也必将成为未来机器人产业的主流之一。国家标准《机器人ROBBUS通信总线》正是针对这一现实需求而组织制定的。
《机器人ROBBUS通信总线》由中国机械工业联合会在2010年6月提出,并获得国家标准化管理委员会批准进入行业标准制定计划(项目编号:20100954-T-604)。在全国自动化系统与集成标准化技术委员会(SAC/ TC159)的支持下,由中国科学院自动化研究所牵头,邀请北京航空航天大学、北京机械工业自动化所、北京理工大学等机构的教授,以及新松公司、广州数控、上海沃迪、博创兴盛、苏州博实、佛山勤联等企业的专家共同组成标准工作组,开展标准起草工作。
经过两年多的工作,标准工作组完成了《机器人ROBBUS通信总线》的撰写。
《机器人ROBBUS通信总线》是针对低成本、模块化机器人而设计的一种通信总线标准。总线技术在中低端机器人系统上的应用有特殊需求,如通信总线上所传输的主要是基本的控制命令和外部环境及机器人自身状态信息,数据量相对较小,对带宽的要求也较低,但对成本、可靠性、成熟度、配套组件有较高的要求。针对这些特殊需求,结合企业和市场情况,标准工作组起草并形成了机器人实时控制总线ROBBUS。
《机器人ROBBUS通信总线》标准是一种无主式总线,具有良好的实时性和可扩展性,抗干扰性强,适用于模块化机器人系统的模块间通信,具有多通道特性。标准规定了模块化机器人系统中的通信总线的数据格式和程序规范,包括协议层次、格式定义、工作流程,主要适用于模块化机器人系统中不同功能模块构件之间的数据交互和信息共享,其他非模块化机器人中的通信总线亦可根据实际需要使用本标准。
标准引用了国际标准“ISO11898-1-2003 Road vehicles — Controller area network (CAN) — Part 1: Data link layer and physical signalling”、“ISO11898-4-2004 Road vehicles — Controller area network (CAN) — Part 4: Timetriggered communication”、“ISO11898-5-2007 Road vehicles — Controller area network (CAN) — Part 5: Highspeed medium access unit with low-power mode”,并在国际标准基础上,通过增加新的属性,使其更加适合模块化机器人的需要,同时也可以充分利用企业和市场成熟的产品方便机器人系统设计开发。
针对标准中使用的名词和术语,对模块化机器人、模块、部件、帧、管道、位图、ROBBUS总线接口、ROBBUS节点、报文标识符算进行了定义和说明。总线的机械标准和电气标准引用了相关国际标准。
标准针对总线协议格式和程序实现给出了具体说明。在总线协议设计上,充分考虑了与11位标识符的CAN总线通信协议和CAN Open协议的兼容性,并增加了对多线程通信的支持,使大数据块的传输更为方便。总线通信协议由物理层、数据链路层、传输层、应用层组成,其中物理层和数据链路层参照ISO11898-1:2003标准,传输层和应用层允许针对机器人控制需求进行修改。数据链路层采用点对点方式和广播方式相结合来实现,各模块的地址号采用7位数据表示;传输层采用基于报文头的数据打包方式,在29位报文头中包含目的地址、源地址、帧号、管道号、帧类型等,并结合相应的数据冗错机制,实现长数据内容的并行可靠传输,提高总线的利用率。传输层实现块数据的打包传输,应用层实现机器人系统的各模块间的功能通信,支持大于8字节的数据包的拆分和重组。
ROBBUS的传输层协议主要针对机器人系统中数据量长度不固定、实时性传输要求高的通信数据的处理。ROBBUS的传输层既要能处理长度只有几个字节的数据,又要能传输几十或几百字节的长数据;既要支持主控制器与从控制器之间的数据通信,又要支持从控制器之间的数据传输;通信协议既有数据打包能力,又必须快速高效。
ROBBUS应用层规定了节点信息,模块间的控制命令和数据传输格式等,允许针对机器人控制需求进行修改。每个ROBBUS节点具有一个说明节点信息的列表,包括节点基本信息、数据信息列表、节点支持的控制命令列表等。其中控制命令编码为两字节并保证其兼容性。
为了方便标准的使用,本标准还以附录形式介绍了一个应用实例,描述如何在一个典型的控制系统中使用本标准。
本文介绍了《机器人ROBBUS通信总线》国家标准,简要说明了制定标准的目标、编制过程和标准主要内容。目前,机器人使用的通信总线在带宽、成本、接口形式、软硬件复杂度等方面都有特殊的要求,因此一种合理的机器人系统内部通信总线标准将有助于机器人模块化的设计和模块化机器人的生产、应用和维护。
[1] 机器人模块化体系结构总体设计课题组. 机器人发展战略研究报告-历程、技术、产业、标准与政策. 兵器工业出版社,2009.
[2] 国家标准《机器人ROBBUS通信总线》.
[3] ISO11898-1-2003 Road Vehicles - Controller Area Network (CAN)- Part 1: Data Link Layer and Physical Signalling.
[4] ISO11898-4-2004 Road Vehicles - Controller Area Network (CAN)- Part 4: Time-Triggered Communication.
[5] ISO11898-5-2007 Road Vehicles - Controller Area Network (CAN)- Part 5: High-Speed Medium Access Unit with Low-Power Mode.
本项目获国家863计划资助,项目编号2012AA041402。