智能移动机器人实验平台设计白博_第1页
智能移动机器人实验平台设计白博_第2页
智能移动机器人实验平台设计白博_第3页
智能移动机器人实验平台设计白博_第4页
智能移动机器人实验平台设计白博_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、0引言目前,随着工业控制、视频技术以及智能化产品的发展,围绕机器人开展的各类学科的研究正是大学科研的热点。一套完整的智能机器人系统则是进行此类研究和实验的必要条件。本文给出了一套完整的以笔记本电脑和ARM处理器为核心的智能移动机器人实验平台的设计方案,并介绍了硬件和软件的解决方案和实施过程。该系统结合了PC的通用性和嵌入式系统的稳定性、专业性,涉及多种硬件接口以及操作系统,形成了一套较完整的解决方案。1实验平台的总体设计设计目标是提供一个开放的、实时的、高可靠性、高效率的移动机器人实验平台。在该平台上,开发人员经过培训学习,可以方便的进行各种相关学科领域(如图像处理、智能控制、模式识别等的实验

2、和算法的仿真及实现。这些实验包括:单桢及序列图像处理、语音识别、路经规划、智能蔽障等等。平台的层次可划分为:1硬件底层是由机器人主体、PC、嵌入式处理器以及外围电路模块共同构成的一个完整硬件平台;2硬件测试程序层。提供了PC、嵌入式处理器所有外接设备资源的测试程序;3实时操作系统。采用的是Windows XP+ RTX实时内核以及嵌入式实时操作系统uC/OS-II;4机器人应用程序接口以及示例程序。平台的功能分为以下5个部分:1运动控制。机器人在平整地形环境中,可精确执行前进、后退、刹车、转弯等动作,以及对摄像头云台的运动控制;2图像获取。获取图像信息,完成视频制式的选择,保存单帧图像,亮度、

3、对比度、饱和度、色度的调整,视频翻转,动态采集等等;3测距蔽障。为了避免机器人碰撞并完成蔽障运动,采用超声波传感器实时向机器人提供测距蔽障信息;4其他传感信息采集。可采集GPS定位信息、罗盘方向信息、温度传感器等等;5信息智能处理。这是智能机器人的核心部分,它汇总所有信息,并对信息进行处理,再下达给执行机构,完成智能任务。为了实现以上所述的功能,并满足实时性要求,智能移动机器人的核心控制部分采用了如下的设计方案:硬件方面:采用了“笔记本电脑+ARM嵌入式处理器”的双处理器协同工作的架构。其中,笔记本电脑主要负责部分传感器数据的采集以及对图像数据的处理、决策;嵌入式处理器及其外设则主要负责完成平

4、台运动控制、部分传感器数据采集等任务。这二者是通过RS232来进行数据智能移动机器人实验平台设计白博,郭宝龙(西安电子科技大学机电工程学院ICIE研究所,陕西西安710071摘要:以开放式、平台化为设计指导思想,设计了一个以笔记本电脑和ARM处理器为核心的智能移动机器人实验系统,并对平台的硬件实现和软件设计做了相应的分析和介绍。在该平台上可以进行相关学科领域(如图像处理、智能控制、模式识别等的实验,并可对其算法进行仿真。关键词:智能机器人;嵌入式;uC/OS-II;ARM处理器收稿日期:2006-09-18Electronic Component &Device Application

5、sJan.2007 2007年1月图1机器人系统框图和控制信号的通信。图1所示为该智能机器人的系统框图。软件方面:PC 机采用Windows XP 操作系统。为了满足实时性要求,采用了硬实时内核技术RTX 。RTX 是基于Windows 的实时方案,RTX 使用笔记本电脑通用的Intel X86硬件,结合Win32API 的编程方法,通过剥夺处理器任务的优先权,可实现微秒级的实时控制和数据采集,即实现“硬实时”,从而满足机器人控制和采集任务的实时性要求1-2。在Windows 环境中使用Microsoft VisualC+6.0作为应用程序的开发和界面设计软件。ARM 处理器采用uC/OS-I

6、I 嵌入式多任务操作系统。uC/OS-II 是一款为实时控制系统而设计的多任务实时操作系统,也称为RTOS 。uC/OS-II 提供了嵌入式操作系统的基本功能,其核心代码短小精悍,针对硬件进行优化后可以产生很高的执行效率。该操作系统可同时管理64个任务,采用抢占式实时调度策略,具有很强的实时性3。2硬件详细设计描述2.1机器人机械结构机器人主体为铝合金材料,由方形薄板和立体框架组成。箱内以及底部后方两侧设置了动力装置,具体包括伺服放大器、直流电机、编码器、减速箱及车轮。箱底前方两侧设置有两个万向轮作为支撑轮。2.2笔记本电脑及其周边模块采用DELL 公司的Inspiron !1300笔记本电脑

7、, 其配置为英特尔!奔腾!M 处理器(主频1.6GHz、1M 内存、30G 硬盘、USB2.0接口。所有串口设备通过USB 转RS232转接头进行连接。笔记本电脑周边模块包括:1视频采集、云台控制。采用SONY EVI-D100P 云台摄像头作为视觉传感器,通过MV-USB2820图像采集盒将视频数据通过USB2.0接口采集到笔记本电脑,并进行处理。笔记本电脑通过RS232串口可控制云台摄像头的各种操作,包括变焦、水平、垂直旋转等;2GPS 定位。GPS 接收机可采集经纬度、UTC 时间、海拔高度等信息。GPS 接收机与笔记本电脑通过RS232电缆以NMEA 0183标准格式通过串口发送GPS

8、 信息;3罗盘信息采集。电子罗盘可采集方向、倾斜度、翻滚度、温度等信息。并与笔记本电脑通过RS232电缆进行通信。2.3ARM 板及外围电路ARM 板的处理器选用Samsung (三星的S3C44B0,这是一款性价比很高的ARMCore SOC 。S3C44B0配置有2.5vARM7TDMI 内核、8kCACHE 、外部存储器控制器、LCD 控制器、2通道UART 、I 2C 、5个PWM 定时器、1通道内部定时器、看门狗定时器、71个通用I/O 口、8通道外部中断源、8通道10位ADC 、具有日历功能的RTC 、具有PLL 的片上时钟发生器。另外,S3C44B0还设计有16MB SDRAM

9、和2MB Flash Memory 以及12Bit 的串行DA TLV5638,并同时提供多个外部接口,如:10/100Mbps 以太网接口、RS2232接口、LCD 接口、JTAG 调试接口等。(1运动控制部分智能机器人的运动部分由ARM 控制器、D/A 、运放以及运动执行机构组成。图2为运动控制单元的原理框图。图中的TLV5638为串行12BitDAC ,其串行输入、片选信号均与ARM 的GPIO连接,通信时序如图3所示。ARM 通过GPIO 口模拟串行时序,来控制TLV5638。TLV5638的输出电压通过两级运放,可产生-5+5V 的控制电压,并作为驱动信号传递给运动执行机构。运动执行

10、机构由直流伺服放大器、直流电图2运动控制单元框图 机、数字编码器及车轮组成。直流伺服放大器供电电压V C C 表达式为:V CC =U N n 0n B +n M M B !"10.9+2V(1由上式可知,V C C 是由电机运行扭矩M B 、运行转速n B 、电机额定电压U N 、空载转速n 0、转速扭矩比n M等参数来确定的。(2超声测距单元超声测距单元采用渡越时间法4作为测距原理,有:D=ct/2(2ARM 向I /O 端口发出控制信号,以启动内部定时器进行计时。此控制信号经功率放大后可作为超声传感驱动电路的启动信号(1NIT,由超声传感器产生的遇到障碍物时返回的高频振荡信号经

11、放大(为弥补传播过程中信号的衰减可使超声传感驱动电路的ECHO 端产生高电平脉冲。E-CHO 电平的变化经过门电路后会引起ARM 外部中断,在中断程序内可获取定时器的计数值,并根据公式(2计算出距离;否则,认为传感器前方探测范围内无障碍物。测量距离约为25cm8m ,测量精度为±4cm 。3系统软件设计3.1笔记本电脑部分笔记本软件设计采用图4的函数架构。系统符号用RobotSystem 表示,主要用于管理设备、流程以及系统参数。具体包括设备的数据传递、设备的建立、设备的同步、内存管理等。设备接口库的设计应面向接口,而不是面向实现。这样做有利于应用程序的编写、修改以及维护。系统的“设

12、备”包括运动设备、图像采集设备、图像处理设备、超声测距设备、音频采集设备、精确定位设备(GPS 、罗盘等。各设备通过暴露自己的接口来开放自己可实现的功能。以下是各设备接口头文件:#include "RobotMotion.h":运动接口;#include "RobotSound.h":声音采集及播放接口;#include "RobotImageCapture.h":图象采集接口;#include "RobotSensor.h":声纳测距、PSD测距接口;#include "RobotImageProces

13、s.h":图象处理接口;#include "RobotPeriphery.h":串口通讯、数字罗盘、GPS 、云台等设备的接口;设备在创建和使用过程中要注意以下几点:设备的生存周期、参数设置、状态轮转、数据流管理、设备功能的扩展机制等。3.2嵌入式处理器部分(1操作系统的移植ARM 板上采用uC/OS-II 操作系统,首先应针对硬件平台进行uC/OS-II 的移植。uC/OS-II 在S3C44B0的移植工作在很多文献都有相关说明5,这里就不再介绍了。(2硬件驱动层扩展在硬件之上,必须有驱动程序来实现对硬件的基本操作。底层驱动程序使用汇编或C 语言编写,主要功能是

14、实现硬件初始化和释放硬件,并把数据从内核传到硬件和从硬件读取数据。同时,还必须将对某个硬件进行的某项操作的代码封装成函数,以供上层的程序调用。在该移动机器人控制系统中,底层驱动程序主要是完成通讯接口、运动控制器驱动、避障检测传感器等外设驱动函数的编写。(3应用程序代码的编写在编写应用代码之前,必需根据自己的应用系统对内核进行一些配置(OS_CFG.H。如:确定是否允许使用统计任务(OS_TASK_STAT_EN、图3TLV5638的通信时序图4软件系统结构图Electronic Component &Device ApplicationsJan.2007 2007年1月设定最大任务数(

15、OS_MAX_TASKS、设定总任务数(OS_LOWEST_PRIO、定制信号量(OSSem-Creat和邮箱(OSMboxCreate服务等,另外还需在INCLUDES.H 系统头文件中包含用户头文件。多任务的启动是通过在主函数main 中调用OSStart (来实现的。调用OSStart (后,先从任务就绪表中找到优先级最高的任务控制块,再启动高优先级任务启动函数OSStartHighRdy (,然后启动多任务内核。在主程序main (中我们需要做的是:调用OSInit (,对有关变量初始化,创建任务,调用OSStart (,进入实时多任务环境,同时启动时间节拍定时器,调度任务就绪表中优先

16、级最高的任务转入运行,获得CPU ,运行开始。程序结构如下:Main (voidOSInit (;/*Initialize uC/OS-II */OSTaskCreate (Task1,(void *&Id1,(void*&Stack1STACKSIZE -1,1;OSStart (;/*Start multitask */基于uC/OS-II 操作系统内核的应用代码编程,主要就是对各个任务进行编程。在移动机器人控制系统中,根据以上介绍的移动机器人基本控制功能,OSTaskCreate 创建了7个任务:主控任务;驱动电机控制任务;通信任务;避障检测与控制;系统检测和报警;防撞与

17、刹车任务;时钟任务。同时还包括两个系统任务即空闲任务I-DLE_TASK 和统计任务STAT_TASK 。其中,时钟任务优先级最高,它是一个超级任务,主要用来对其他任务(在每个任务中设置超时函数进行监控。在OSTimeTickhook (函数中预设一段时间,通过与任务中的超时函数比较,可避免程序跑飞或陷入死循环,并能防止系统因为个别任务内部出现问题而导致系统全面崩溃,从而提高了系统的可靠性;作为紧急任务的防撞与刹车任务的优先级其次,该任务是个非周期任务,通过中断的方式用信号量就绪该任务,使其能迅速得到运行,实现刹车制动功能,以提高移动机器人的交通安全性。任务函数代码的结构如下:Void You

18、rTask (Void *Idfor (;执行用户代码;OSMboxPend (;/*uC/OS-II 系统调用*/OSQPend (;OSSemPend (;OSTaskDel (OS_PRIO_SELF;OSTaskSuspend (OS_PRIO_SELF;OSTimeDly (;各个任务的工作单元和数据都用堆栈来实现,每个任务都有自己的任务堆栈区,其大小也可以根据实际应用和RAM 的容量在程序中自行设定。4结束语本文以笔记本电脑和ARM 处理器为核心设计了一套智能移动机器人实验平台,该平台结构清晰,有较强的通用性和扩展性。在此平台之上通过编程可进行各种实验以及算法仿真。其软硬件结构对同类智能产品的开发也具有借鉴意义。参考文献1张广立,付莹,杨汝清,等.基于Windows NT 的开放式机器人实时控制系统J.上海交通大学学报,2003,37(5:724-728.2迟永琳,明良玉,吴祖育,等.基于Window NT 和Linux 的开放式数控系统J.上海交通大学学

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论