《基于CAN总线的分布式机器人控制系统设计.docx》由会员分享,可在线阅读,更多相关《基于CAN总线的分布式机器人控制系统设计.docx(10页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、基于CAN总线的分布式机器人控制系统设计ronggang导语:根据机器人控制性能的要求,设计了一个基于CAN总线的分布式机器人控制系统,该控制系统由上位主控计算机、通讯局部和下位各关节控制器组成,具有连线简单,扩大方便,通讯稳定可靠,控制实时性高等特点摘要:根据机器人控制性能的要求,设计了一个基于CAN总线的分布式机器人控制系统,该控制系统由上位主控计算机、通讯局部和下位各关节控制器组成,具有连线简单,扩大方便,通讯稳定可靠,控制实时性高等特点。并对机器人关节控制器的硬件电路设计和控制软件设计作了具体阐述。该控制系统已用于研制的6DOF机械手,控制效果良好。关键词:CAN总线;Motorola
2、DSP;分布式控制;机器人控制器Abstract:Accordingtotherequirementsofrobotcontrolperformance,adistributedrobotcontrolsystembasedonCANbusisdesigned,whichiscomposedofcomputer,communicationmoduleandjointcontrollers.Thecontrolsystemhasmanyfeatures,includingsimpleconnection,convenientextension,reliablecommunicationandgo
3、odreal-time,andsoon.Besidesthese,itmainlydescribesthedesignofhardwarecircuitandcontrolsoftwareofjointcontroller.A6DOFrobothasbeencontrolledbythecontrolsystem,andthegoodcontrolresulthasbeengotten.Keywords:CANbus;MotorolaDSP;distributedcontrol;robotcontroller机器人控制系统是机器人信息处理和控制的主体,其设计好坏将决定机器人系统的整体行为和性能
4、。机器人控制系统构造一般可分为三种类型:1集中控制方式,利用一台微型计算机实现全部功能,这种方式具有构造简单、经济的特点,但处理才能有限,难以知足高性能控制要求并且控制风险高度集中。2主从控制方式,用主从两个CPU进展控制,主CPU担当系统治理,机器人语言编译和人机接口功能,同时也利用它的运算才能完成坐标变换、轨迹插补;从CPU完玉成部关节位置数字控制,主从CPU间通过公用内存交换数据,对采用更多的CPU进一步分散功能比拟困难。3分布式控制,普遍采用上、下位机二级分布式构造,上位机负责整个系统治理以及运动学计算、轨迹规划等,下位机由多个CPU组成,每个CPU控制一个关节运动,这些CPU和上位机
5、通过总线形式相联络。这种构造的控制器工作速度和控制性能明显进步,是一种比拟理想的机器人控制方式1。传统的机器人控制器采用MCU作为控制芯片,其运算速度和处理才能难以知足日益复杂的机器人控制。在通讯方式上,常用的是RS422或者RS485通讯,通讯的实时性较差,故障率较高,出现故障时,不轻易排查2。本文所设计的机器人控制系统采用分布式控制方式,上位机采用高性能的工业PC机,下位关节控制器选用集成DSP的高速运算处理才能和MCU的控制特性于一体的MotorolaDSP56F807作为控制芯片,上位机和下位各关节控制器之间采用了有效地支持分布式控制和实时控制的CANControllerAreaNet
6、work总线通讯方式,既能快速地实现机器人控制的复杂算法,又具有较高的控制实时性,是一个高性能的机器人控制系统。1控制系统构造机器人是一个多自由度系统。机器人控制本质上是对各个关节的运动进展控制,使其协调运动,进而完成一些相对复杂的动作。该控制系统采用分布式控制方式,由上位主控计算机模块、通讯模块和下位关节控制器模块组成,如图1所示。上位主控计算机负责整个系统的调度治理、在线运动规划、故障诊断和人机交互等功能;通讯模块负责上位计算机与下位各关节控制器之间的实时信息交换;各关节控制器和驱动直流无刷电机集成在一起,各个关节的运动由各关节控制器发出PWM信号驱动直流无刷电机实现。align=cent
7、er图1控制系统简图/align1.1上位主控计算机模块上位计算机是控制系统的中枢,要求体积小,运算速度快,知足机器人实时控制的要求,通常采用高性能工业控制计算机。上位机应用程序在可视化编程环境VC+6.0下编制,分为程序界面、通讯初始化局部和控制局部。控制局部是整个上位机软件控制的核心,可实现单关节控制和多关节协调控制,图2为单关节控制局部流程图,单关节控制是从上位机输入关节应该运动的期望位置值,然后向下位关节控制器发送单关节控制指令,并从下位关节控制器承受关节实际位置信息;下位关节控制器从上位机接收位置信息并加以运算处理,输出PWM信号驱动直流无刷电机运动到期望位置。上位计算机的控制周期为
8、20ms,它通过CAN总线接口卡连接到通讯总线上,与通讯总线上的各关节控制器交互信息。align=center图2上位机单关节控制程序流程图/align1.2通讯模块机器人的分布式控制系统中,对通讯方式的选择至关重要,上位计算机和下位各关节控制器间的通讯既要知足硬件连接简单,扩大方便,又要知足通讯的高可靠性和实时性。本设计采用CAN总线作为通讯标准,CAN总线是一种有效支持分布式控制和实时控制的串行通讯网络,与一般的通讯网络相比具有可靠性高、实时性和灵敏性好的优点,非常合适作为机器人控制系统中的通讯方式3。本控制系统中,上位计算机通过周立功单片机公司的USBCAN-II智能CAN接口卡连接到C
9、AN网络,在上位机中调用随卡提供的ZLGVCI驱动库函数,来实现CAN通讯的治理和监控。CAN网络各设备间通过双绞线连接,由于双绞线的特性阻抗为120欧,为了增强CAN通讯的可靠性和抗干扰性,在CAN网络的两个端点参加120欧的抑制反射的终端匹配电阻。1.3下位关节控制器模块下位关节控制器模块是整个控制系统的底层,与各关节驱动电机集成在一起,实际上是一个单关节运动控制和驱动模块,主要用来控制各个关节运动详细执行经过。关节控制器接收主控计算机的控制命令,对各个关节的运动进展控制,同时把底层信息反应给上位计算机,便于上位计算机协调规划,统一治理。所有的下位关节控制器在硬件构造上完全一样,根据各关节
10、运动控制的差异,内部灌注的软件程序有所不同。关节控制器是整个控制系统的核心,也是本文研究的重点,它的性能好坏直接关系到机器人的整体性能。2控制器硬件系统设计控制器硬件系统按构造和功能可分为主处理器单元、电源电路、电机驱动电路、CAN接口电路、欠压保护电路、过流检测电路等模块,详细电路如图3所示。align=center图3控制器硬件电路原理简图/align2.1主处理器芯片本设计核心控制芯片采用MotorolaDSP56F807,该芯片混合了DSP的高速运算才能与MCU的控制特性于一体,提供了很多专用于电动机控制的外设,包括两个脉宽调制模块PWMA、PWMB、2个相位检测器模块quadratu
11、redecoder、12位精度的模数转换模块ADC、4个定时器模块、通讯外设模块SCI、SPI、CAN等,因此非常合适于对实现机器人各关节运动的直流无刷电机进展数字控制4。2.2CAN接口电路DSP56F807芯片内集成了CAN控制器,要完成数据帧的收发还需外加CAN驱动器芯片,本设计采用Philips公司的PCA82C250为CAN驱动器。为了增强抗外部干扰,在DSP56F807的MSCAN_TX和MSCAN_RX引脚与CAN驱动器之间加两个高速光电耦合器6N137。2.3电机驱动电路电机驱动采用Motorola公司的MPM3003,它内部由上桥臂的3个P-沟道功率型MOSFET和下桥臂的3
12、个N-沟道功率型MOSFET组成三相桥式电路,是理想的伺服电机驱动集成电路芯片5。因PWM输出电压不能直接推动MPM3003,在PWM输出口和MPM3003之间加一个TTL到CMOS转换芯片MC14504B。2.4电源电路控制器上同时需要5.0V和3.3V两种电源。外部采用的是直流24V电源,通过MAX724将24V稳压到5.0V,再通过MAX604将5.0V稳压到3.3V。为了减少电磁干扰,使用磁珠隔离3.3V的数字电源和模拟电源。因篇幅有限,其它的电路模块不再逐一介绍。3控制器软件设计控制器软件设计是在Codewarrior6.0集成开发环境下进展的,采用模块化设计,可分为初始化模块、主循
13、环模块和中断子程序模块,整个控制功能由各中断子程序实现,如图4所示。初始化模块的作用是初始化DSP及控制参数,主循环模块是一个死循环,主要是查询是否有中断产生,假如有中断那么转而去执行相应的中断效劳子程序。数字PID控制子程序是实现控制功能的主体,完成对关节的位置、速度PID控制,通过定时器中断实现。align=center图4控制器软件构造简图/align对于数字PID控制子程序中的PID算法,采用了一种改良的变速积分PID算法,有效地克制了常规PID算法中出现积分饱和时,造成超调量增加,使调节品质变坏的缺点。变速积分法的根本思想是设法改变积分项的累加速度,使其与偏向大小相对应,偏向大时,减
14、弱积分作用,反之那么加强。常规PID算法数字离散化为:式中,KP,KI,KD分别为调节器的比例、积分和微分系数;Ek,Ek-1分别为第k次和k-1次的期望偏向值;Uk为第k次的调节器输出。改良后的变速积分PID算法为:fEk是Ek的函数,当|Ek|B时,进展常规的PID控制;当|Ek|A+B后,不再进展积分项的累加;而当BA+B时,fEk随Ek的减小而增大,累加速度加快。其中,A,B为别离区间。本文设计的机器人分布式控制系统,采用CAN总线作为通讯方式,和过去机器人控制中常用的RS485总线相比具有通讯稳定可靠、实时性高等优点。在下位关节控制器中选用了MotorolaDSP56F807作为控制
15、芯片,既能方便地利用丰富的外围模块实现控制功能,又能以较快的运算速度实现复杂的控制算法,克制了过去利用MCU作为控制芯片时,难以实现复杂的控制算法的缺点。在控制器软件中采用了改良的变速积分PID算法,对关节位置、速度进展数字PID控制。该控制系统即插即用,功能扩展和故障处理方便;连线简单,过去对6DOF的机械手进展控制,需118根线缆包括电机线、传感器线和其它开关量控制线,如今只需一根双绞线,外观也很美观;另外,各关节控制器直接分布在控制现场,使模拟信号传输间隔明显缩短,有效地改善了抗干扰才能。参考文献:1范永,谭民.机器人控制器的现状及展望.机器人.1999,212刘华,程莉等.机器人控制器与被控机器人的通讯方法研究.机器人技术与应用.2002,43邬宽明.CAN总线原理和应用系统设计.北京:北京航空航天大学出版社,19964DSP56F800UserManual.Rev.6.0MotorolaInc,20045陈粤初.Motorola单片机及专用集成芯片应用系统设计.北京:北京航空航天大学出版社,19946杨飞,郑贵林.基于CAN总线的监控系统设计.微计算机信息.2005,217
限制150内