关键词:机器人控制
摘 要:本文针对地面移动机器人,在CAN总线的基础上,设计了一种模块化的控制器结构。这种设计具有可靠性强、扩展性好等特点。实际应用证明了该设计的可行性。
关键词:模块化;机器人控制器; CAN总线
1 引言
机器人控制器是根据指令及传感信息控制机器人完成一定的动作或作业任务的装置。作为机器人的核心部分,机器人控制器是影响机器人性能的关键部分之一[1]。
自1959年第一台控制机诞生以来,以工业控制为主要方向,控制系统的发展在上个世纪经历了直接数字控制(DDC)、集散式控制、PLC技术、现场总线等四个阶段[2]。伴随着控制系统的更新换代,机器人控制器也不断发展。目前,机器人控制器的发展方向是开放式机器人控制器。这种控制器突破了传统控制器信息封闭缺点,强调结构化、模块化,以及系统柔性、可配置性、可扩展性、交互性、可交换性、可移植性、可伸缩性、可靠性和复用性。设计完全通用的开放式机器人控制器是不现实的。而设计具有一定适应性结构的控制器则是比较容易且有实际意义的[3]。
具有模块化结构的控制系统已经得到了很好的应用,如美国的PackBot机器人[4]。在工程上这种结构具有可靠性高、易开发、易维护等特点。它虽然不是严格意义上的开放式控制器,但对于功能相对较少,实时性要求相对较低的地面移动机器人是很适用的。
CAN总线是一种可靠性强、通讯速率高、连接方便、扩展性能好、性能价格比高的现场总线。CAN总线最初应用在汽车的驾驶系统上,现在正在越来越多的场合得到应用,如温度监测系统、磁悬浮列车驾驶系统[5]、 仿人型机器人控制系统[6]、化工生产控制系统等。把机器人控制器的模块化结构构建在CAN总线的基础上,是十分方便的。
下面我们首先在CAN总线基础上完成了控制器模块化结构的设计,然后在软件层面上设计了整个控制器的系统管理协议,用以增强控制器的可靠性,最后给出了在一个履带式机器人上的应用实例。
2 控制器结构
对于一个地面移动机器人,比较典型的控制系统应该包括以下模块:
高层规划模块,功能是使机器人到达合适的位置,完成适当的动作;
运动控制模块,按照高层规划模块的要求,控制机器人运动到指定位置;
动作模块,能够在高层规划模块的指令引导下,完成功能性动作;
导航模块,给机器人提供导航信息;
检测模块,提供环境信息,供其它模块使用。
其中,运动控制模块又可以进一步划分为:路径规划模块,路径跟踪模块,速度伺服模块。系统的逻辑结构如图1所示。
至此,控制器的结构构建完毕。该结构具有以下特点:
① 各模块只要遵循CAN总线接口协议,可以分别设计、分别调试,给控制器的开发和维护带来了便利;
② 某些模块发生故障,可以由监控模块进行合理的处理,控制器不会失控或瘫痪;
③ 按照CAN总线接口协议设计的模块都可以增加到系统中,控制器容易扩展;
④ 某些模块对安装位置有严格的要求(如带有倾角传感器的模块,带有CCD的模块)。从工艺设计的角度出发,要求模块间的物理连接尽量简单。根据CAN总线协议,各模块之间只需要通过双绞线连接,布线简单,能很好地满足要求。
3 系统管理协议
系统管理协议包括两部分:数据交换协议,故障诊断与处理协议。