基于CAN总线的分布式机器人控制系统设计
0 引言
本文引用地址:http://www.amcfsurvey.com/article/152547.htm机器人控制系统是机器人信息处理和控制的主体,其设计好坏将决定机器人系统的整体行为和性能。机器人控制系统结构一般可分为三种类型:(1)集中控制方式,利用一台微型计算机实现全部功能,这种方式具有结构简单、经济的特点,但处理能力有限,难以满足高性能控制要求并且控制风险高度集中。(2)主从控制方式,用主从两个CPU进行控制,主CPU担当系统管理,机器人语言编译和人机接口功能,同时也利用它的运算能力完成坐标变换、轨迹插补;从CPU完成全部关节位置数字控制,主从CPU间通过公用内存交换数据,对采用更多的CPU进一步分散功能比较困难。(3)分布式控制,普遍采用上、下位机二级分布式结构,上位机负责整个系统管理以及运动学计算、轨迹规划等,下位机由多个CPU组成,每个CPU控制一个关节运动,这些CPU和上位机通过总线形式相联系。这种结构的控制器工作速度和控制性能明显提高,是一种比较理想的机器人控制方式[1]。传统的机器人控制器采用MCU作为控制芯片,其运算速度和处理能力难以满足日益复杂的机器人控制。在通讯方式上,常用的是RS422或RS485通讯,通讯的实时性较差,故障率较高,出现故障时,不容易排查[2]。本文所设计的机器人控制系统采用分布式控制方式,上位机采用高性能的工业PC机,下位关节控制器选用集成DSP的高速运算处理能力和MCU的控制特性于一体的Motorola DSP56F807作为控制芯片,上位机和下位各关节控制器之间采用了有效地支持分布式控制和实时控制的CAN(Controller Area Network)总线通讯方式,既能快速地实现机器人控制的复杂算法,又具有较高的控制实时性,是一个高性能的机器人控制系统。
1 控制系统结构
机器人是一个多自由度系统。机器人控制本质上是对各个关节的运动进行控制,使其协调运动,从而完成一些相对复杂的动作。该控制系统采用分布式控制方式,由上位主控计算机模块、通讯模块和下位关节控制器模块组成,如图1 所示。上位主控计算机负责整个系统的调度管理、在线运动规划、故障诊断和人机交互等功能;通讯模块负责上位计算机与下位各关节控制器之间的实时信息交换;各关节控制器和驱动直流无刷电机集成在一起,各个关节的运动由各关节控制器发出PWM信号驱动直流无刷电机实现。
图1控制系统简图
1.1 上位主控计算机模块
上位计算机是控制系统的中枢,要求体积小,运算速度快,满足机器人实时控制的要求,通常采用高性能工业控制计算机。上位机应用程序在可视化编程环境VC++6.0下编制,分为程序界面、通讯初始化部分和控制部分。控制部分是整个上位机软件控制的核心,可实现单关节控制和多关节协调控制,图2为单关节控制部分流程图,单关节控制是从上位机输入关节应该运动的期望位置值,然后向下位关节控制器发送单关节控制指令,并从下位关节控制器接受关节实际位置信息;下位关节控制器从上位机接收位置信息并加以运算处理,输出PWM信号驱动直流无刷电机运动到期望位置。上位计算机的控制周期为20ms,它通过CAN总线接口卡连接到通讯总线上,与通讯总线上的各关节控制器交互信息。
图2上位机单关节控制程序流程图
1.2 通讯模块
机器人的分布式控制系统中,对通信方式的选择至关重要,上位计算机和下位各关节控制器间的通信既要满足硬件连接简单,扩充方便,又要满足通信的高可靠性和实时性。本设计采用CAN总线作为通信标准,CAN总线是一种有效支持分布式控制和实时控制的串行通讯网络,与一般的通信网络相比具有可靠性高、实时性和灵活性好的优点,非常适合作为机器人控制系统中的通讯方式[3]。
本控制系统中,上位计算机通过周立功单片机公司的USBCAN-II智能CAN接口卡连接到CAN网络,在上位机中调用随卡提供的ZLGVCI驱动库函数,来实现CAN通信的管理和监控。CAN网络各设备间通过双绞线连接,因为双绞线的特性阻抗为120欧,为了增强CAN通信的可靠性和抗干扰性,在CAN网络的两个端点加入120欧的抑制反射的终端匹配电阻。
1.3 下位关节控制器模块
下位关节控制器模块是整个控制系统的底层,与各关节驱动电机集成在一起,实际上是一个单关节运动控制和驱动模块,主要用来控制各个关节运动具体执行过程。关节控制器接收主控计算机的控制命令,对各个关节的运动进行控制,同时把底层信息反馈给上位计算机,便于上位计算机协调规划,统一管理。所有的下位关节控制器在硬件结构上完全相同,根据各关节运动控制的差异,内部灌注的软件程序有所不同。关节控制器是整个控制系统的核心,也是本文研究的重点,它的性能好坏直接关系到机器人的整体性能。
2 控制器硬件系统设计
控制器硬件系统按结构和功能可分为主处理器单元、电源电路、电机驱动电路、CAN接口电路、欠压保护电路、过流检测电路等模块,具体电路如图3所示。
伺服电机相关文章:伺服电机工作原理
pid控制器相关文章:pid控制器原理
双绞线传输器相关文章:双绞线传输器原理
评论