- 1 -
传感网络环境下智能机器人控制框架的研究
贾一博 时良平
北京邮电大学自动化学院, 北京(100876)
摘 要:近年来随着机器人技术的日益成熟以及传感器网络研究的飞速发展,使得网络化、
智能化的机器人成为可能。文章介绍了一个以嵌入式 Linux 系统为核心的移动机器人控制
系统的设计与实现,阐述了运动控制与传感模块、主控制模块、人机交互界面和无线通信模
块。该系统具有良好的可扩展性和可移植性。在无线通信模块中,集成了 Zigbee 协议,从
而为无线传感器网络与移动机器人的协作性研究提供了可能。目的是使用无线连接来构建一
个分布式的传感信息传输。
关键词:无线传感器网络;智能机器人;控制框架;嵌入式 Linux
1 引言
无线传感器网络是由大量分布的不同规格和功能的传感器节点所构成的一个小范围的
无线网络。每个传感器节点包含传感器、低能量处理器、无线收发器等。传感器节点周期性
的收集环境信息,发出处理后的数据。由于传感器网络是大量分布在区域内并且处理器分布
在每个节点,就能从每个现象中获得许多的采样数据且有很高的容错力。此外,每个节点都
能作为灵活的标识相对于传统的被动标识能提供更多有用的信息用于移动机器人的定位和
行走[1-5]。
在机器人学的研究中,机器人感知系统一直是人们关注的焦点之一,随着电子、计算机、
网络通信等技术的发展,大大推动了机器人感知系统体系结构逐渐向开放式、分布式体系结
构转变。然而,机器人在环境感知中仍然存在许多问题,这主要是由于机器人工作空间的动
态改变以及信息收集的缺乏。近年来,人们逐渐认识到善于适应新环境的网络化的传感器通
过提供活跃的标识能够帮助移动机器人感知环境和自我定位。传感器网络已经被发展来收集
工作空间的全面有效的信息以及其他智能的应用用于移动机器人。
本文中,我们提出了一个基于无线传感器网络的具有动态环境感知传感器节点的智能移
动机器人的控制系统设计。给出了系统的总体结构包括硬件结构、软件数据结构以及通讯接
口设计等。该系统中我们使用新兴的 ZigBee 协议来作为传感器网络的通信协议,使机器人
感知系统更好地适应机器人控制系统体系结构向网络化、开放式、分布式体系结构发展。
2 系统设计
随着微处理器(advanced RISC machine, ARM) 技术的发展,以及得到许多成熟的操作系
统的支持,基于 ARM 的嵌入式系统得到了广泛的研究和应用。本文提出的基于 ARM9 嵌
入式系统硬件体系结构如图 1 所示:
- 2 -
图 1 基于 ARM9 嵌入式系统硬件体系结构
ARM9 处理器采用 SAMSUNG公司的 S3C2410A微处理器,它采用了 ARM920T核,
由 ARM9TDI、存储器管理单元(memory management unit, MMU) 和高速缓存三部分组成。
S3C2410A 处理器工作频率为 203M,片内集成了大量外围接口,如同步动态随机存储器
(synchronous dynamic random access memory, SDRAM) 控制器、4通道存储器直接访问单元
(direct asynchronous receiver transmitter, DMA)、3 通道异步收发器(universal asynchronous
receiver/ transmitter, UART) 等,这些片上系统通过片内先进微控制器总线结构(advanced
microcontroller bus architecture, AM2BA) 总线规范进行通讯。S3C2410A 将系统的存储空间
分为 8 个 Bank,每个 Bank 的大小是 128M 字节,共 1G 字节。在本系统中,Bank0 空间
连接 SAMSUNG公司的 K9F1208 构建 8 位 Flash 存储器系统;在 Bank6 空间接入两片容
量为 32MB,数据宽度为 16 位的 K4S561632E,并联构建 32 位 SDRAM 存储系统,共 64MB
的 SDRAM 空间可以满足嵌入式操作系统和各种复杂算法的运行需求。利用 S3C2410A 处
理器的数据、地址总线以及控制信号可以与视觉子系统中 TMS320C5416 数字信号处理器
(digital signal processor, DSP) 的 HPI 端口实现无缝连接。
下面将分模块介绍整个机器人的设计与实现。
运动控制与传感模块
如前所述,运动控制与传感模块负责接收并执行上位机即主控制模块的命令,返回移动
机器人的状态信息,如速度、方位和周围障碍物的距离等等。该模块采用一片 8 位的
PIC18F8520 单片机作为微控制器。该模块的控制程序开始运行后,即将串口中断打开,当
有数据到达时,就按照预先定义好的格式将其解析成正确的命令,然后调用相应的函数来执
行;没有新命令时,该模块就不断地采集各个传感器的数据。
主控制模块
主控制模块基于三星 S3C2410 微处理器进行开发。S3C2410 微处理器为 ARM920T 内
核,工作频率可达到 203MHz。控制板上扩展了 16MB的 Flash和 64MB的 SDRAM,运行
嵌入式 Linux操作系统。接口上提供了 3个串口、一个网口和一个带触摸功能的液晶屏。主
控制模块硬件设计框图见图 2。
- 3 -
图 2 主控制模块硬件设计
图 2中,串口 0作为 Linux 系统的控制台,串口 1用于连接无线通信模块,串口 2用
于连接运动控制与传感模块以太网口和 JTAG口,可以方便对系统进行调试;液晶屏用来实
现人机交互界面。
人机交互界面设计
人机交互界面是利用MiniGUI 来进行设计的。它的主要功能有:
1. 设置机器人运动参数,如速度、方位等;
2. 查看机器人运行状态信息;
3. 查看机器人从无线传感器网络中获取的信息。
人机交互界面主程序的入口点在 MiniGUIMain()函数。在该函数中先定制好对话框的模
板,然后再通过调用 DialogBoxIndirectParam()函数来建立主窗口。当主窗口中有按扭被按下
时,会向该按钮的回调函数发送消息,回调函数根据发送消息的按钮 ID值的不同,进行相
应的处理。 主控制模块可以接收外部的数据信息,在对这些信息处理之后,产生相应控制
命令传递给运动控制与传感模块,来控制机器人的动作。这部分的功能也被集成到了人机交
互界面中。主程序专门建立了一个线程来完成与无线传感器节点的通信,从而保证了信息采
集的实时性;另外,这样做也使得主程序在无线通信失败的情况下也能继续稳定的工作。主
程序还使用了一个定时器,每隔 ,定时器就会向主窗口的过程函数发送 MSG_TIMER
消息。过程函数在收到该消息后,就可以对获取的信息进行处理。
无线通信模块
无线通信模块实际上相当于一个机器人与无线传感器网络的桥接器,它把从 RF 收到
的信息通过串口发送到机器人,而把从串口收到的信息通过 RF发送到无线网络中去。另外,
其上还使用了 Microchip 公司发布的 Zigbee 协议栈,从而可以通过这种自组织、多跳的网
络协议,更有效地获取和发送大范围的信息。
由于 是 ISO预留频段,不会产生无线电频率限制的问题,因此无线通信工作频
率也选择该频段。为了满足无线传感器网络的要求,支持 Zigbee 协议,选择 CC2420 为射
频芯片,PIC18LF4620为微控制器来进行开发。PIC18LF4620和 CC2420都工作在 ,这
样可以减少电量的消耗。
图像处理模块
机器人视觉图像处理技术的应用是智能机器人发展过程中的一个重要里程碑。机器人视
觉技术使机器人具有了一定的模拟人感知的功能,在本系统中,机器人具有视觉图像、视频
- 4 -
采集和传输的能力,能够对不同颜色的物体进行识别和判断。下面将详细介绍图像处理的实
现过程。
(1) 摄像头图像采集软件设计
Linux中 USB子系统的结构分为三层:USBD 层、HCD 层和客户端驱动程序层,驱动
程序的作用就是要实现数据在这几个层之间正常传输。
在 Linux系统中有一种叫 VideoForLinux的视频采集设备的处理标准,它对各种视频设
备驱动程序进行了底层的封装,并提供了统一的 API 接口函数集, 给应用程序的编写带来
了极大的便利[6]。
以下是基于 V4L 的视频设备软件的编写步骤:
a) 通过 V4L提供 ioctl命令对视频设备进行初始化配置。
b) 通过 VIDIOCMCAPTURE命令, 打开所有的 BUF,使它们能够存储图像数据, 从
而开始进行图像的采集。
c) 调用 VIDIOCSYNC命令,等待,直到 actual buffer被填满为止。
d) 从内存映射的相应地址空间中读取视频数据。
(2) 颜色识别算法
采用 HSV 模型将采集的颜色信息分为色调、饱和度和亮度三种属性,选取其中的 H和
V 参数作为识别处理的判断依据。首先将图象从 RGB 空间映射到 HSV 空间,使用灰度图
门限分割技术得到对应图像的二值图;然后对二值图像进行标签化。即可通过标签化之后的
二值图像计算各种物体的特征参数,如面积、周长、弧度及重心位置等。通过对各种参数进
行判别,便可确定对应物体的颜色。颜色识别算法实现的软件流程图如图 3。
图 3 识别算法实现的软件流程图
3 结论
本文以整个机器人系统的开发过程为主线, 展示了图像数据的采集与处理、多传感器
信息融合、无线网络通信、电源管理等功能相对应的硬件平台和软件模块的设计及实现过程。
在未来的机器人系统中, 图像识别技术、神经网络、遗传算法等理论将逐渐深入运用到机
器人设计中来提高机器人的自我决策能力,燃料电池以及新型电机的开发应用也将进一步提
高机器人的运动性能。我们将在本系统的基础上, 运用新技术,进一步开发更加智能化的
机器人。
- 5 -
参考文献
[1] 刘峥嵘,张智超,许振山。嵌入式 Linux 应用开发详解[M]。北京:机械工业出版社,2004。
[2] 陈章龙等。嵌入式技术与系统-Intel XScale 结构与开发[M]。北京:北京航空航天大学出版社,2003。
[3] Karim Yaghmour. Building Embedded LINUX Systems[M]。O'Reilly &Associates, Inc. 2003。
[4] 马伟。计算机 USB系统原理及其主/从机设计[M]。北京:北京航空航天大学出版社,2004。
[5] Gong Y, Sakauchi M. Detection of Regions Matching Specified Chromatic Features [J]. Computer Vision
and Image Under-standing, 1995, 61 (2): 263- 269.
[6] 李士勇。 模糊控制和智能控制理论的应用[M]。 哈尔滨:哈尔滨工业大学出版社, 2003。
A Control Frame for Intelligent Robot within Sensor
Network Environment
Jia Yibo Shi Liangping
School of Automation, Beijing University of Posts and Telecommunications, Beijing(100876)
Abstract
Recent advances in mobile robot navigation and technological progress in wireless technology have
made possible the network and intelligent of mobile robot. This paper describes the design and
implementation of a mobile robot control system based on embedded Linux. The four main modules,
namely motion control and sense module, main control module, human-machine interface, and wireless
communication module, are discussed. The whole system is easy to expand and port. The Zigbee
protocol is integrated into the wireless communication module, which makes it possible to study the
corporation between the mobile robot and wireless sensor network.
Keywords: Wireless Sensor Network;Intelligent Robot;Control Frame;Embedded Linux