2008 年第 4 期
液压与气动
93
基于 ARM 嵌入式系统的高空爬壁机器人
于 今 ,田 蔚 ,李绍军
A Wall
climbing Robot Platform with ARM Embedded System
YU Jin , TIAN Wei ,L I Shao
jun
(重庆大学 机械工程学院七教 136 ,重庆 400044)
摘 要 :针对爬壁机器人及其作业环境的特点 ,文章介绍一种应用常见经济型器件构建的爬壁机器人平
台 ,它满足低成本 、装配简单 、可扩展性好等要求 。我们选择了高速低功耗的 ARM 芯片作为处理器 ,为机器
人设计了丰富的功能 ,并与上位机视觉定位和控制系统结合 ,使其适用于导航与定位 、运动控制策略 、多机器
人系统体系结构与协作机制等领域研究 。此项移动机器人平台的研究未来前景广阔 。
关键词 :爬壁机器人 ;ARM ;嵌入式系统 ;多机器人
中图分类号 : TP24 文献标识码 :B 文章编号 :1000
4858 (2008) 04
0039
04
引言
最近数十年中 ,在机器人领域的研究重点从传统
的工业机器人转向了自主的移动机器人 ,最近 ,又从单
个机器人的控制转向了多机器人的协调控制 。嵌入式
系统以应用为中心 ,计算机技术为基础 ,软 、硬件可剪
裁 ,适用于应用系统对功能 、可靠性 、成本 、体积 ,功耗
要求严格的专用计算机系统 。由于嵌入式系统具有微
内核 、系统精简 ,强实时性 、专用性强等特点 ,因此特别
适合具有实时性能要求的机电控制系统 。在控制任务
比较单一 ,控制逻辑结构比较简单的应用系统中 ,控制
软件的设计相对比较容易 。随着控制功能和控制逻辑
变得日渐复杂 ,控制系统软件设计的工作量和时间也
会跟着成倍的增长 ,而且系统实时性也会受到软件复
杂度的影响 。为了保证系统的实时性 ,简化控制系统
10
收稿日期 :2007
作者简介 :于今 (1964 —) ,男 ,贵州安顺人 ,副教授 ,博士研究
生 ,主要从事机电一体化 、流体智能传动及控制工作 。
16
器 、过 滤 器 等 阻 力 损 失 ( 一 般 取 值 ≤0. 05 ~ 0. 10
MPa) 10 。
4 结论
(1) 应根据喷气织机的数量和用气特性选择空压
机 ,对数量大 、品种单一 、运行平稳 ,要求压缩空气品质
高的系统宜采用离心式空压机以节约能源 。对于小批
量 、多品种喷气织机生产 ,用气负荷变化较大的系统 ,
宜采用并联特性好的螺杆式空压机 ;
(2) 合理计算喷气织机耗气量和用气压力 ,正确
选择空压机台数 ,使空压机在较高负荷和高性能区运
行 ,这对节约能源至关重要 ;
(3) 应根据每个企业的生产规模 、地理位置 、当地
气候条件和水资源条件选择空压机的冷却方式 ,充分
利用当地廉价的能源 ,降低能源消耗 ,提高压缩机的运
行效率 ;
(4) 合理选择机型和机台数量 ,螺杆机可采用多
台并联 ,离心机并联台数不宜多于 3 台 ;
(5) 应合理确定系统压力 ,合理设计管道系统 ,尽
量降低空压站供气压力 ,减少安全阀开启 、节约能源 。
参考文献 :
1 严鹤群 ,戴继光 ,徐立红 ,等. 喷气织机原理与使用 M .
北京 :中国纺织出版社 ,1996.
2 王凤贵. 螺杆式空压机在纺织业的应用 J . 纺织信息周
刊 ,2000 (2) :12.
3 李晓英. 微油螺杆与无油螺杆的特点及运行费用比较
J . 压缩机技术 ,2005 (3) :24 - 25.
4 中国机械工业联合会. 压缩空气站设计规范 M . 北京 :
中国计划出版社 ,2003.
5 压缩空气站设计手册编写组. 压缩空站设计手册 M .
北京 :机械工业出版社 ,1993 :163 - 190.
6 彦鹤群 ,朱双霞. 美国寿力 (SULLAIR) 24 KT 型螺杆空压
机使用实践分析J . 棉纺织技术 ,1997 ,25 (6) :51 - 54.
7 杨寿亭. 压缩空站的节能设计 J . 节能 ,2003 (1) :42 -
44.
8 许圣召. ZR 系列空压机的特性及使用实践 J . 棉纺织
技术 ,2001 ,29 (2) :49 - 50.
9 津田驹工业株式会社. ZA 喷气织机引进指南 J . 2000
(12) :2 - 5.
10 郭兴峰. 现代织造技术 M . 北京 : 中国纺织出版社 ,
2004.
04
液压与气动
2008 年第 4 期
软件的设计 ,在控制系统中引入嵌入式实时操作系统
成为越来越迫切的需要 。同时 ,基于 SOC 技术的高性
能 32 位嵌入式微处理器的出现也为实时操作系统的
引入奠定了物质基础 。基于高性能嵌入式微处理器和
实时操作系统的嵌入式实时系统必将是机电控制系统
的发展方向 。
本文提供了一种价格经济 ,功能丰富的机器人平
台 。它适用于导航与定位 、运动控制策略 、多机器人系
统体系结构与协作机制等领域的研究 。它的硬件成本
在一千元左右 ,而且制造简单 ,维护方便 。这是一种开
放式的平台 ,具有丰富的接口 ,用户可以很容易的添加
修改软硬件 ,以适应不同用途 。
1 LPC2214 简介
ARM7 TDM I 是世界上广泛使用的 32 位嵌入式
RISC 处理器 。其内核提供高达 4000 M IPS/ W 的低
功耗特性 ,采用三级流水线和冯·诺依曼结构 ,提供
9M IPS/ M Hz 的性能 。最适合应用于对价位和功耗
0
敏感的系统 ,如图 1 所示 。
图 1 ARM7TDMI 内核
采用某公司的 L PC2214 芯片是基于 ARM7 TDMI
的 32 位 MCU ,主用负责调度各项任务 ,包括与上位机
通信、处理中断、控制算法、将相关图象控制等信息送
LCD 显示等。L PC2212/ L PC2214 是一款基于 16/ 32 位
S ,并支持实时仿真和跟踪的 CPU ,它带有
ARM7 TDMI
128/ 256 k 字节(kB) 嵌入的高速 Flash 存储器。128 位
宽度的存储器接口和独特的加速结构使 32 位代码能够
在最大时钟速率下运行。对代码规模有严格控制的应
用可 使 用 16 位 Thumb 模 式 将 代 码 规 模 降 低 超 过
30 % ,而性能的损失却很小。L PC2212/ L PC2214 采用
144 脚封装、极低的功耗、多个 32 位定时器、8 路 10 位
ADC、PWM 输出以及多达 9 个的外部中断 ,这款微控制
器特别适合工业控制、医疗系统、收款机控制等应用领
域。其可用 GPIO 范围为 76 脚 (外部存储区) 到 112 脚
(单片) 。由于内置了宽范围的串行通信接口 ,它们也非
常适合于通信网关协议转换器、嵌入式软件调制解调器
以及其他各种类型的应用。
ARM7 TDMI 内核高速的运算性能 ,使得 LPC2214
可以实时完成移动机器人复杂的控制算法 、电机的控
制 、传感器信息的处理以及与外 部 的 通 信 等 任 务 。
PWM 定时器 、ADC 与丰富的 I/ O 和中断有利于运动
控制的实现 。L CD 控制器可以方便地实现 L CD 显
示 。丰富的片上资源 ,使得我们能够为移动机器人设
计多种外部接口 。
同时 ,作为目前国内使用较为普遍的 ARM 处理
器 ,有较为丰富的资源可以参考 ,采购方便 ,成本较低 。
2 爬壁机器人的设计与分析
2
1 机械主体与硬件结构
爬壁机器人设计的主要难点和重点是其 3 个基本
功能 :在壁面上的吸附功能 、移动越障功能和灵活的转
向功能 。在此基础上进一步使系统结构简单 ,动作灵
活 ,小型化和轻量化 ,操作安全方便 。如图 2 所示 ,本
文综合考虑机器人系统的作业环境和性质 ,使其既能
达到减轻重量 ,结构简单 ,又能达到安全和控制方便的
要求 ,确定了爬壁机器人的总体设计要求和方案 ,吸附
方式采用多吸盘真空吸附 ,以适应混凝土 、瓷砖 、玻璃 ,
金属等各种材质的壁面 ;移动机构采用框架式 ,以满足
对壁面的适应能力和越障能力 ,实现全方位移动 ;电机
和气缸混合驱动方式具有良好的控制特性 ,又能减轻
重量 ;控制系统采用基于 ARM7 TM IDS 的 UC/ OS II
实时操作系统 ;该机器人有一定的越障能力 ,能跨越
50 mm 高 、宽为 100 mm 的障碍物或者焊缝 。据此总
体方案所设计的机器人本体结构如图 1 所示 。该系统
主要由上 、下两层框架 、中间安装板 、涡轮蜗杆 、丝杠螺
母副和一系列真空元件构成 ,实现相对移动 、相对转动
和跨越运动 。
1. 吸盘 2. 吸盘安装板 3. 下框架 4. 导轨
5. 涡轮 6. 蜗杆 7. 上框架 8. 电动缸
图 2 爬壁机器人本体结构
1
2008 年第 4 期
液压与气动
14
本机器人控制器采用“主控器 + FP GA 图像采集模块”
的形势 。FP GA 负责完成现场信息的采集和运算 。在
机器人控制中 ,要求运动平稳无超调 ,所以控制器的运
算任务很繁重 。主控制器主要完成除 FP GA 所作的
信息运算以外的所有工作 ,包括上位机命令接收 ,机器
人状态监视 、显示 ,根据一定的控制算法实现空间轨迹
插补以及传感器信息综合处理等工作 。所以主控制器
的任务也很繁重 。控制结构如图 3 所示 。
图 3 硬件控制系统
2
2 运动控制器
运动控制器以 L PC2214 为核心 ,包括电磁阀驱
动 、电流检测 、和图象处理模块等部分 。目前实现避障
的主要方法有红外避障 、超声避障 、激光避障 、微波雷
达避障 、接近式传感器避障和视觉避障 。近几年来 ,由
于计算机图像处理能力和技术的飞速发展以及大量的
数字图像处理设备性能价格比的提高 ,加之视觉系统
具有信号探测范围宽 、目标信息完整等优势 ,视觉传感
器在移动机器人导航中的应用越来越受到人们的重视
并表现出很好的发展前景 。针对该机器人的特点 ,本
文提出了一种基于双目立体视觉的机器人实时避障策
略 ,并进行了针对性的模拟实验 。结果表明 ,该方法具
有处理的数据量较小 ,实时性好 ,实现简单 ,避障较可
靠的特点 。根据视觉定位系统得到的信息 ,上位机对
移动机器人的路径进行规划 ,然后发送运动控制命令
给移动机器人 。如此整个机器人平台形成两层控制 。
微处理器作为底层的控制负责电磁阀的动作 ,传感器
和外部通信 。上位机进行高层的运动规划和控制 。移
动机器人按照上位机给定运行方式和路径运行 ,减少
了微处理器的负担和机器人与上位机之间的通信量 ,
保证了运动控制的实时性 ,扩展了机器人的能力 。
机器人通常处于初态 ,每次循环动作均从初态开
始 。初态时机器人腿部气缸均伸出 , 所有的吸盘吸
附 。机器人有平动和转动两种运动状态 。在上 、下框
架吸盘组内部 ,安装了两个真空开关 ,一个用于检测
吸盘内部的真空度 ,当真空度达到 - 0
08 MPa 时为
ON 状态 ;另一个用于检测吸盘内部是否已经解除真
空 ,当内部真空度为 0 时为 ON 状态 。机器人处于初
态时 ,按下自动/ 手动启动按钮 ,系统启动 ,首先检测
上框架吸盘内部的真空度 ,如果内部真空已经解除才
可以进行下一步的缩腿动作 。机器人腿部气缸和平
动气缸伸出/ 缩回的执行气缸均采用双线圈的二位电
磁阀驱动实现 ,每个线圈完成一个动作 。当机器人经
过一个动作循环又进入初态时 ,自动启动压力检测 ,
当满足接触真空的条件时自动进入下一个工作循环 。
按下停止按钮后 ,应等到一个工作循环结束 ,所有的
吸盘吸附后 ,让机器人恢复到初态才停止工作 。按下
紧急停止按钮时 ,机器人立即停止工作 ,只有当前状
况下为处于吸附状态的吸盘提供真空的真空发生器
继续工作 ,其他的一起动作立即停止 ,以保证机器人
能继续吸附在壁面上 。
2
3 通信
本设计采用选用无线收发一体数据传输 Modem
模块 P TR2000 ,该模块在内部集成了高频接收 、PLL
合成 、FS K 调制解调 、参量放大 、功率方法 、频道切换
等功能 ,工作频率为国际通用的数传频段 433 M Hz ,
使用时无需申请许可证 。采用 FS K 调制/ 解调 ,工作
数率最高达 20 kbit/ s ,有效距离 1000 m 。采用低发射
功率 ,高接收灵敏的设计 ,接口方便 ,抗干扰能力强 ,特
别适合工业控制场合 。
图 4 所示是 P TR2000 与计算机串口及微处理器
接口的典型应用电路 。连接时 , P TR2000 无线 MO
DEM 的 D I 端应接单片串口的发送端 ,DO 接单片机
串口的接收端 。利用单片机的 I/ O 可以控制模块的
发射 控 制 、频 道 转 换 和 低 功 耗 模 式 。如 果 直 接 将
P TR2000 与 计 算 机 串 口 连 接 , 则 可 用 R TS 来 控 制
P TR2000 无线 MODEM 模块的收/ 发状态转换 ( R TS
需经电平转换) 。
图 4 无线传输模块
2
4 嵌入式操作系统
传统的单任务顺序执行机制已经不能满足系统的
实时性要求 ,且系统的可靠性不高 。本次设计的爬壁
2
24
液压与气动
2008 年第 4 期
机器人系统是一个典型的实时多任务系统 ,每个任务
优先级不同 ,当某个高于现任务优先级的任务就绪时就
会产生一个任务调度。因此 , 选用的软件平台是基于移
植到 LPC2214 的 实 时 多 任 务 操 作 系 统 UC/ OS Ⅱ。
它是基于优先级 、抢占式的实时内核 ,主要提供了任务
管理 、进程调度 、任务间通信及内存管理等功能 , 具有
源代码公开 、可移植性好等特点 ,采用全占先多任务机
制 ,可支持 56 个用户任务 ,其中断管理功能提供了深
达 255 层的中断嵌套 。通过 UC/ OS Ⅱ进行多任务的
管理 ,任务处于休眠 、等待 (挂起) 、就绪 、运行 、中断 5
种状态之一 。它避免了传统的前后台方式下实时性
差 、任务混乱及多任务调试困难等缺点 。
移植 UC/ OS
Ⅱ, 主要包括 : 设置堆栈的增长方
向 ,声明 3 个宏 ( 开中断 、关中断和任务切换) ,声明 10
个与编译器相关的数据类型 ;用 C 语言编写 6 个与操
作系统相关的函数 (任务堆栈初始化函数和 5 个钩子
函数) ;用汇编语言编写 4 个与处理器相关的函数 。用
汇编语言编写的 4 个与处理器相关的函数如下 :
①OSStart HighRdy ( ) 用于在调度中使最高优先
级的任务处于就绪态并开始执行 ;
②OSCtxSw () 完成任务级的上下文切换 ;
③OSIntCtxSw ( ) 完成中断级任务切换 ,其过程
与 OSCtxSw () 类似 ,只是在执行中断服务子程序后可
能使更高优先级的任务处于就绪态 ;
④OSTick ISR () 是系统节拍中断服务子程序 。
此系统中有如下 4 个用户任务 , Task1 : 接收上位
机命 令 ; Task2 : 轨 迹 规 划 ; Task3 : 系 统 状 态 监 视 ,
Task4 :系统状态发送和显示 。任务的优先级是依次降
低的 。任务之间通过邮箱完成信息的交换与资源的共
享 。主控制器通过 Task1 接收上位机的位置和速度指
令 。由于上位机发送指令是随机的 ,而下位机除了接
受上位机的指令外还要处理其他的事情 ,为了保证运
动过程中命令的不丢失 ,采取了两种措施 : 首先将该
任务设置为优先级最高的用户任务 ,另外主处理器允
许 UAR T1 的接收中断 ,并根据指令的长度将接收缓
冲区的触发深度设置为 12 字节 。(根据需要 ,此处上
位机 发 送 给 下 位 机 的 指 令 每 帧 长 度 为 12 字 节 ,
L PC2214 的 UAR T 接收触发深度可以软件编程设置
为 4 、8 、12 、16 字节) 。当上位机不发送指令时 ,该任
务处于挂起状态 ,当上位机发送 12 字节命令时 ,将激
发 UAR T 中断 。在该中断服务程序中唤醒 Task1 进
入就绪态 。由于它具有最高的优先级 ,所以可以马上
执行 ,从接收缓冲区中接收上位机的指令 。这样避免
了单个字节就激发中断而导致主处理器频繁的响应中
断的情况和没有实时操作系统的前后台调度方式中命
令丢失的情况 。Task2 根据传感器提供的机器人的当
前位置信息和障碍物信息以及接收到的上位机指令进
行世界坐标系中的总体任务规划 、机器人运动学逆解 ,
生成下一个节拍每个关节应该转动的角位移 、转动的
角速度 ,然后通过总线写到相应的的寄存器中 ,这个任
务的优先级仅低于 Task1 , 运行周期 100 ms。Task3
主要处理传感器的信息 ,运行周期 100 ms。包括通过
状态寄存器获得当前编码器的信息 ,再经过运动学计
算得到机器人当前位置信息 ,通过视觉传感器获得当
前机器人周围障碍物的信息 。另外下位机的一些运行
状态 ,如当前位置 、障碍物信息等也需要发送给上位机
同时送液晶模块显示 , 这个由 Task4 来完成 ,这个任
务具有最低的优先级 ,运行周期 300 ms。系统的软件
在 ADS1
2 下调试通过 。由于 ARM7 TDM I 中没有
MMU (内存管理单元) ,所以其操作系统和用户程序
要编译在一起 ,最后生成一个文件 。在这一点上不同
于在 DOS 或 Windows 下的概念 ,它的操作系统和用
户程序是分开的 ,而且可以由多个应用程序同时存在
于主机中 。另外在 ADS1
2 下可以使用 c 语言进行软
件开发 ,并且可以使用数学库 ,缩短了软件开发周期 。
3 结论
以上设计方案综合考虑了各方面因素 , 兼顾了
ARM 处理器和 FP GA 协处理器的性能状况和资源需
求来分配任务 ,减少了内存操作的次数 ,提高了系统的
实时性 ,满足应用要求 。本文中设计的嵌入式机器人
控制系统在应用取得了一定成效 ,实时性 、可靠性 、通
用性均有良好的表现 ,其体积小 、功耗低 , 实际情况比
较令人满意 ;此控制系统不需要计算机的控制 ,可独立
自主地判断如何动作 。目前 ,该嵌入式控制系统的性
能上还存在着诸多不足 ,主要表现在控制器中控制算
法的设计和功能的完善上 ,这也是今后努力的方向 。
参考文献 :
1 王树国 ,等. 智能机器人的现状及未来 J . 机器人技术与
应用 ,1998 (4) :32 - 36.
2 张连明 ,等. 嵌入式系统的设计与开发 J . 现代电子技
术 ,2003 (5) :18 - 20.
3 马少华. 嵌入式操作系统的设计与实现 D . 南京 :南开大
学 ,2002.
4 任哲 ,潘树林. 嵌入式操作系统基础 UC/ OS
M . 北京 :北京航空航天大学出版社 ,2006.
Ⅱ和 Linux