基于CAN的分布式机器人控制系统设计
2017-08-08王亚峰任杰夫
王亚峰,陈 昊,张 军,任杰夫
(北方工业大学 电气与控制工程学院,北京100000)
基于CAN的分布式机器人控制系统设计
王亚峰,陈 昊,张 军,任杰夫
(北方工业大学 电气与控制工程学院,北京100000)
机器人控制,囊括了信息传输、多传感器信息融合处理、多电机驱动等技术。因此对控制系统的通信能力有着较高的要求,传统的通讯方式,如RS485等,往往具有通讯实时性差,扩展不便等缺点,本文介绍了一种基于CAN总线通信的分布式机器人控制系统,CAN总线通信速率高并且可容纳的节点数目多,使得分布式控制系统中各个模块之间的数据传输和指令共享的性能大大提高。另外CAN总线的多主工作方式,使得总线网络上各个节点之间的实时通讯能力大大增强。文章对系统的硬件、软件设计做了详细阐述,最后经实验验证了系统的可行性。
机器人;CAN总线;分布式控制;人机交互
随着计算机技术和电子技术的蓬勃发展,机器人控制技术较过去有着飞跃式的进步,用户对机器人性能的要求也越来越高。现如今的高端机器人产品大都具有十分强悍的性能,可以在非结构化环境中进行各种任务,例如壁障、越野甚至浅水功能。然而随着性能需求的提高,以往的控制方式和通信手段已经不能充分满足需求,越来越复杂的传感设备被加装在机器人上,意味着更加复杂的信息需要处理,面对越来越复杂的系统结构,传统的控制方式也逐渐暴露出很多弊端。
文中根据机器人发展的需求和技术特点,从系统的可扩展性和可靠性出发设计了基于CAN的分布式机器人控制系统。并将系统应用在SENPOWER-HR-8S机器人上,结果表明,系统调试和故障排查非常方便,且能够胜任对仿人机器人的控制,验证了系统的可靠性和稳定性。
1 总体设计
将系统按照功能划分成不同模块,得到分布式体系结构,如图1所示。系统可分为上位机PC模块、通信模块和下位执行端模块。上位机主要负责整个系统的数据处理、指令下达和人机交互等功能;通讯模块即整个CAN通讯网络,负责指令和参数的传输;执行端主要是处理指令并控制电机动作。
图1 整体设计
2 上位PC机模块
文中采用个人电脑作为上位机,上位机程序在开发环境Visual Studio下编制,操作界面即人机交互界面,在接收到使用者的操作指令后,程序依次完成指令解析、任务规划、硬件配置、生成指令并最终将指令通过PC-CAN卡发送到总线网络上[1]。PC-CAN卡采用普创电子公司生产的CANUSB-I智能CAN接口卡,在实际操作中,PC通过接口卡连接至CAN总线网络,如图,上位机程序直接调用随卡提供的库函数实现PC对CAN网络的数据处理和采集。
3 控制方式的讨论
3.1 集中控制
集中式控制方式是在设计机器人控制系统时,比较传统也是常见的一种控制方式[2],结构如图2所示。这种结构往往存在以下缺点:1)数字信号、模拟信号、动作指令、配置指令都直接接入下位机,使得布线非常复杂,故障率较高而且故障排查十分困难。2)由于下位机要处理复杂的指令信息,所有程序就会十分复杂,出错率较高,另外为满足处理要求,要选择较高性能的芯片,因此软件开发成本和硬件成本都比较高。3)系统的可扩展性差。
图2 集中式控制系统简图
3.2 分布式控制
为了避免集中控制带来的种种缺点,本采用分布式控制方式[3],结构如图1。该结构主要有以下优点:1)所有的节点均挂载在总线上,布线简单,抗干扰能力强,故障易于排查。2)主要的运算和数据处理任务由上位机软件进行,对下位机的性能要求也随之降低,自然成本也节约不少[4]。3)分布式控制方式是模块化的系统设计,结构组成灵活,便于拓展[5]。
4 CAN总线通信的实现
4.1 CAN总线网络的优势
随着机器人产业的不断壮大,摄像头、GPS等复杂的传感装置被逐步引入到机器人上[6],随之而来的是对机器人信息处理能力要求的提升,庞大的信息网络和复杂的信息采集与运算方法,使得传统的通信方式已经不能满足当今机器人行业的发展需求。
早在上世纪80年代,德国的博世公司就提出将现场总线网络(Controller Area Network,CAN)引入到汽车内部设备通信体系的概念[7]。如今的北美和欧洲更是将CAN通信协议广泛应用到汽车工业和嵌入式控制系统中。近年来,现场总线技术不断发展,并逐渐成为工程上通信方式的不二选择,CAN总线技术是现场总线技术中应用最为广泛的[8]。
对于本设计中的分布式控制系统,采用CAN总线作为通信标准有以下优点:
1)CAN总线通信速率高并且可容纳的节点数目多,使得分布式控制系统中各个模块之间的数据传输和指令共享的性能大大提高[9]。
2)CAN总线是多主工作方式,使得总线网络上各个节点之间的实时通讯能力大大增强。
4.2 总线网络的连接
上位机通过CAN接口卡连接至CAN总线,系统的其他各个模块通过双绞线连接至总线网络,为提高CAN通信的可靠性和抗干扰性加入120欧的终端电阻。
4.3 通信协议的制定
在本设计中,总线上传输的信息可分为以下几类:
1)传感器数据信息。包含避障传感器信号、温度传感器信号和加速度传感器信号等[10]。
2)指令信息,包括上位PC机对机器人下达的动作指令和系统的初始化指令等。
3)一半信息,如各节点的初始化信息 、数据的反馈信息和对指令的应答信息等。
在CAN 2.0规范标准中,没有规定应用层协议,国际上很多公司推出了相应的高层协议,为节约成本和降低系统复杂程度,这里自行设计了应用层协议。
设计中,我们根据机器人的需求如运动指令、传感器数据等信息,定义不同的功能标识并定义优先级,协议将CAN标识符依次划分为功能标识、多帧标识和地址位.为功能标识,ID28 ~ ID26、ID25、ID24~ID21和ID20~ID18分别定义为功能标识、多帧标识、地址位和帧类型标识位。功能标识用来区分指令的不同功能,如区分送达机器人的动作指令信息和上位机下达的各个节点初始化信息,多帧表示用来区分数据是否为多帧传输,ID25为1时即为多帧,ID25为0时则为单帧传输,地址由ID24~ID21标识,帧类型标识符确定数据为何种数据类型,此处最多可表示8种帧类型,包括定义多帧传输中的 结束帧、非结束帧和广播帧等类型[11]。指令信息和普通信息等信息包含在数据域内。
5 系统硬件设计
对于机器人控制,传统的控制方法是采用工控机作为主控芯片,工控机的运算能力强、速度快,但也存在这功耗大,成本高而且体积较大比较笨重。考虑到设计中机器人是一个较小的 系统,这里采用STM32F103系列单片机作为执行端的主控芯片,在减小系统体积的同时降低了硬件成本和功耗[12]。STM32F103系列单片机内部集成了CAN通信模块,我们只需外加CAN收发模块即可[13]。W48SHVB225型CAN总线收发模块的原理图如图3所示。单片机的TxCAN与SW48SHVB225的输入脚连接,即单片机数据回传总线的通路,同时单片机的RxCAN与SW48SHVB225的输出脚连接,即总线向单片机传输指令额通路,SW48SHVB225模块采用光耦隔离,大大提高了系统的抗干扰能力。另外,我们在CANL和CANH脚处介入了120 Ω电阻作为终端电阻,以减小干扰[14]。CAN收发模块的实际电路如图4所示。单片机中的CAN总线收发函数在MDK4.0集成开发环境下使用C语言进行编写,主要代码如下:
图3 原理图
图4 实际电路
6 实验测试
文中将基于CAN总线的机器人控制系统应用到森汉机器人公司研发的SENPOWER-HR-8S仿人机器人上。SENPOWER-HR-8S身高300,宽165 mm,重1.2 Kg,17个自由度,关节采用森汉公司自主研发SENPOWER-SHM14伺服电机,扭力在7.4 V供电状态下可达14 kg.cm,机器人机身采用HR-8S金属套件。在实际操作中,根据设计需要将机器人的主控芯片由STC12C5A60S2单片机换成STM32F103系列单片机,并加装了CAN[16]收发模块,系统实物图如图5所示。通过实验,说明系统能够胜任对小型仿人机器人动作的控制,满足基本的控制需求。
图5 系统整体图
7 结束语
结合机器人控制的特点和性能要求,设计了控制系统的软件硬件,建立了基于CAN总线通信的机器人控制系统,系统采用分布式控制,易于扩展,模块条理清晰。采用CAN总线作为通信标准,较传统通讯方式传输速率较快,出错率低,且故障易于排查。最终在实测试验中验证了系统的可行性和稳定性。单通信协议还比较简单,传输的只是简单的指令数据,下一步的改进方向是进一步优化通信协议,使链路上的信息功能化。
[1]张薇,谢红梅,王保平.一种新型的分段logistic混沌扩频通信算法[J].计算机科学,2013,40(1):59-62.
[2]雷静桃,王峰,俞煌颖.四足机器人轨迹规划及移动能效率分析[J].机械设计与研究,2014,30(1):1-5.
[3]赵万华,杜超,张俊,等.主轴转子系统动力学解析建模方法[J].机械工程学报,2013,49(6):44-51.
[4]蔡自兴,郭璠.中国工业机器人发展的若干问题[J].机器人技术与应用,2013,3(5):8-12.
[5]周伟,廖文和,田威.基于空间插值的工业机器人精度补偿方法理论与试验 [J].机械工程学报,2013,49(3):42-47.
[6]JONE M.A brief history of awesome robots[EB/OL].[2013-06-02].http//www.motherjones.com/media/2013/05/robots-modern-unimate-watsonroomba-timeline.
[7]王栋,曹彤,宋虎,等.联合实验和仿真的机器人参数标定[J].机电工程,2013(10):1182-1187.
[8]张洁,李艳文.果蔬采摘机器人的研究现状、问题及对策[J].机械设计,2015,27(6):1-5.
[9]Rastegar J,Fardanesh B.Manipulator workspace analysis using the Monte Carlo method[J].Mechanism and Machine Theory,2013,25(2):233-239.
[10]ZHOU B,YANG J,WANG D P.Matching method of plane image based on random sample consensus algorithm [J].Journal of Computer Applications,2014,31(4):1053-1056.
[11]Lukashevich P,Zalesky B,Ablameyko S.Medicalimage registration based on SURF detector[J].Pattern Recognition and Image Analysis,2014,21(3):519-521.
[12]Strasdat H,Montiel J M M,Davison A J.VisualSLAM:Why filter[J].Image and Vision Computing,2012,30(2):65-77.
[13]苏灏庆,何玉珠.某型导引头测试系统的测量不确定度研究[J].电子测量技术,2013(2):31-33.
[14]王晨晨,费业泰,尚平.悬臂式坐标测量机误差分离与补偿的研究 [J].电子测量与仪器学报,2013,26(5):413-418.
[15]LIT,SUN K,JIN Y,etal.A noveloptimal calibration algorithm on a dexterous 6 DOF serial robot-with the optimizationof measurement poses number[C]//Robotics and Automation (ICRA),2011 IEEE International Conferenceon.IEEE,2014:975-981.
[16]邱春婷,刘红彦,齐静.一种改进的Canny边缘检测方法[J].纺织高校基础科学学报,2014,27(3):380-384.
The design of distributed robot control system based on CAN bus
WANG Ya-feng,CHEN Hao,ZHANG Jun,REN Jie-fu
(School of Electrical and Control Engineering,North China University of Technology,Beijing 100000,China)
The control system of mobile robot in unstructured environment includes multi sensor information fusion,multi motor drive control and wireless communication technology,and the system has a higher communication system requirements.The design of distributed robot control system based on CAN Bus is introduced in the following and this paper also expounds the hardware and software of the system at length.
robot; CAN bus; distributed control; human-computer interaction
TN916
:A
:1674-6236(2017)14-0148-04
2016-06-01稿件编号:201606011
王亚峰(1994—),男,河北唐山人。研究方向:计算机系统结构。