一种基于ARM的救援探测机器人的设计

时间:2022-08-09 07:42:22

一种基于ARM的救援探测机器人的设计

摘要:本文主要介绍了一种基于arm内核的S3C44B0救援探测机器人的设计,该机器人由将实时性较高的操作系统Linux移植到S3C44B0的控制系统、多传感器系统、运行与避障电路系统、图像采集处理系统、无线数据收发系统组成。在Linux开发环境下编写应用程序,实现能远程控制救援探测机器人行走与自动避障、温度和湿度以及O2、H2S、C2H4O等几十种可燃和有毒气体含量的检测、现场图像的采集、无线传输与控制的功能,其特点是能够远程无线控制机器人和远程采集信息。

关键词:S3C244B0 救援探测机器人 传感器 Linux

中图分类号:TP242.6 文献标识码:A 文章编号:1007-9416(2013)03-0178-03

近年来,地震、海啸、矿难、泥石流等灾害频发,如我国的汶川地震,印尼的海啸,日本的福岛核事故。当这些灾难发生时,如何最大限度最大效率的搜救幸存人员是救援的首要问题,引起了国际社会的广泛的思考。传统的人工搜救效率低,救灾周期长,危险性大。基于这种情况,国内外开展了一种集合环境感知、动态感知与规划,运动的控制与执行的综合机器人的研究,而救援探测机器人就是这么一种在各种复杂环境下展开搜救工作、实时对多个目标的进行探测、通过远程通信采集灾难现场有效数据传给控制中心和方便展开人员部署的机器人。本文是在广泛的查阅了国内外相关资料和实验的基础上,设计的一种集合了自动行走,避障,定位,探测以及远程通信于一体的救援探测机器人。

1 机器人系统总体架构设计

该机器人采用了可变形双侧履带式运动设计,采用双履带驱动力大,越野性能,稳定性好。在前部装有能够攀爬的辅助臂,行走时遇到斜坡,辅助臂向上摆动,当辅助臂上前轮高度等于坡的高度时,夹角(一般为0%-80%,最大的可达100%),能够顺利通过斜坡。机器人上装有两台直流电机来调节控制机器人运行的速度和转弯的方向。救援探测机器人运动机构如下图1所示。

该机器人的云台采用臂式结构,可以实现云台上的USB摄像头升降、水平转动和俯仰运动,升降高度范围0-300mm,摄像头水平旋转角度范围为-90°到90°,俯仰运动角度范围为0到90°,实现了摄像头全方位探测。机器人在搜救时,由于前方的路况不确定,云台升降关闭,摄像头在最低位置,有效保护了摄像头,待需要观测时,机器人停下,通过舵机驱动实现摄像头(升降、转向、俯仰),达到搜救目的。同时云台上还装配了一台LED照明灯,当所处环境光线很暗时,起补光作用,采集的图像更加清楚。

该机器人还装有压力检测装置和释放CO2的存储罐,压力检测装置检测机器人体内与体外的气压,如果机器人内部的气压>=外部的气压,机器人处于安全状态;如果机器人内部的气压=外部的气压,这样的设计有效防止了可燃气体进入机器人内部去烧毁机器人从而达到保护机器人的目的。

2 硬件系统的组成与设计

该救援探测机器人的硬件系统主要由电机控制系统,舵机控制系统,通信系统,多传感器系统,电源系统等组成的。硬件系统的主控制芯片采用三星的ARM7芯片S3C44BO,S3C44BO是32位RISC处理器,S3C44BO具有抗干扰能力强、运行速度快、移植性好等优点,很好地实现对探测系统传来的图像,温度,湿度,可燃有害气体含量等数据进行处理,同时将这些数据转化成为电机的驱动控制信号,使整机器人实现智能化的控制行动和有效的避障,同时又可以按照地面指挥系统的指挥人工操作,还要对其他一些辅助设备进行控制。

电机驱动模块选择驱动芯片L293D,L293D内部集成了双极型H-桥电路,L293D将2个H-桥电路集成到一片芯片上,用可以一片芯片可以同时控制两个直流电机工作。H-桥电路的输入量可以用来设置马达转动方向,使能信号可以用于脉宽调整(PWM),通过PWM来控制两个电机的转速来控制机器人的速度与转向。

BISS0001是一款具有较高性能的传感信号处理集成电路,它配以热释电红外传感器和少量外接元器件构成,用于搜寻生命体征。E18-D80NK-N这是一种集发射与接收于一体的光电传感器,该传感器具有探测距离远、受可见光干扰小、使用方便等特点,用于实现机器人的避障。N55A是一款能够检测O2、H2S、CO2、C2H4O等几十种可燃气体和有毒气体含量的多气体传感器,耗电(100-300mA)小,误差(≤±10%)低寿命(10年)长。PT100是一款热电阻温度传感器,它是集温度湿度采集于一体的智能传感器。温度的采集范围可以在-200℃~+200℃,湿度采集范围是0%~100%,测量温度的精度在±0.2℃。

电源系统由电池,电压转换电路,以及充电电路等构成的。电源采用的是锂离子电池,锂离子电池是专为移动机器测仪设计的高效、便携、轻便、充足的大容量锂电池组。电源系统提供机器人能源,并保持稳定性,这时机器人才能工作。

救援探测机器人硬件系统如下图2所示。

3 软件系统的组成与设计

3.1 软件系统总体框架概述

救援探测机器人控制系统软件有三部分组成:上位机控制软件部分,下位机控制软件部分,以及它们之间的通信部分。上位机主要实现收集下位机采集的信息,用户分析后发出指令,编译后经通信部分传给下位机,实时对救援探测机器人进行控制。通信部分实现上下位机之间数据传输提供了通道,保证了通信的安全与通畅。下位机主要实现用各种传感器采集数据,必将采集到的数据发传给上位机,同时实现接收上位机发送的指令完成救援探测机器人进行调整。上位机控制软件流程图图3所示,下位机控制软件流程图如图4所示。

3.2 Linux系统的移植

Linux是一种可裁剪,可移植,支持多线程多任务的占先式实时多任务内核,它采用标准的ANSIC语言编写,适用于多种CUP和多种硬件平台,Linux开放源代码,不存在黑箱技术,是一种开放性操作系统。Linux的软件体系分为四层,分别是Boot loader,Linux 内核,根文件系统和应用程序,Linux的开发环境采用交叉编译环境,将应用程序的编译过程放到高性能的PC机上进行,生成可在S3C44BO开发板上运行的二进制代码,通过交叉编译后移植到S3C44BO开发板上运行,Linux的软件体系如下图5所示。

Boot loader是在操作系统内核运行前运行的一段程序,Boot loader经过初始化硬件设备,建立内存空间的映射,使系统的软硬件环境进入合适的状态,为调用操作系统内核准备正常的环境。Linux内核以独占的方式执行最底层的任务,是Linux操作系统的核心,负责管理系统的进程中使用的内存,设备驱动程序,文件与网络系统,决定Linux操作系统的性能与稳定。根文件系统是Linux内核启动时第一个文件系统,确保Linux的正常启动,内核代码映像文件保存在根文件系统中,系统引导程序在根文件系统挂载之后从中把一些基本的初始化脚本和服务等加载到内存中去运行。设计时要精心选择用到的系统库,内核模块和应用程序等,并配置好各种初始化脚本,选择合适的文件系统并放置到实际存储设备的合适位置。应用程序是为了完成某项或几项特定任务而被开发运行与操作系统之上的计算机程序,位于Linux操作系统的最顶层。本设计应用程序主要涉及LCD显示;图像采集与处理;运动控制避障;各传感器数据采集等部分。

4 结语

本设计采用了可变形双侧履带式运动设计,很好的解决了搜救探测机器人的攀爬问题,同时采用臂式云台结构和多传感器系统,很好的实现了全方位的观察与探测功能,将实时性较高的Linux操作系统移植到S3C44B0内核中,极大的提高了系统的实时性。程序经仿真调试后编译烧入S3C44BOX处理器中,运行测试结果证明,工作安全可靠、数据收发正确。搜救探测机器人安装有压力检测装置,检测机体内外气压,防止可燃性气体进入机体,达到保护机器人的目的。随着科学技术的不断发展,机器人越来越多的出现在危险领域(地震,海啸,火灾现场,井下事故等),有着越来越广泛的应用前景。

参考文献

[1]林晓飞,刘彬,张辉.基于ARM嵌入式Linux应用开发与实例教程[M].北京:清华大学出版社,2007.

[2]张绮文,解书钢.ARM嵌入式常用模块与综合系统设计实例精讲[M].北京:电子工业出版社,2007.

[3]严芳,李颖冲.基于ARM9 的智能小车控制器设计[J].电气传动自动化,2009(5):48 -50.

[4]朱孟强,卢博友,雷永锋,周茂雷.基于ARM 的智能机器人小车控制系统设计[J].微计算机信息,2008(14):240-241.

[5]杨继华,严国萍.基于Linux嵌入式与S3C44B0平台的视频采集[J].北京:单片机与嵌入式系统应用,2004,82-946.

上一篇:新理念让数学课堂充满活力 下一篇:新课改下初中地理教学方法