智能移动机器人实验平台设计白博概要.docx
- 文档编号:30738079
- 上传时间:2023-08-20
- 格式:DOCX
- 页数:11
- 大小:23.70KB
智能移动机器人实验平台设计白博概要.docx
《智能移动机器人实验平台设计白博概要.docx》由会员分享,可在线阅读,更多相关《智能移动机器人实验平台设计白博概要.docx(11页珍藏版)》请在冰豆网上搜索。
智能移动机器人实验平台设计白博概要
0引言
目前,随着工业控制、视频技术以及智能化产品的发展,围绕机器人开展的各类学科的研究正是大学科研的热点。
一套完整的智能机器人系统则是进行此类研究和实验的必要条件。
本文给出了一套完整的以笔记本电脑和ARM处理器为核心的智能移动机器人实验平台的设计方案,并介绍了硬件和软件的解决方案和实施过程。
该系统结合了PC的通用性和嵌入式系统的稳定性、专业性,涉及多种硬件接口以及操作系统,形成了一套较完整的解决方案。
1实验平台的总体设计
设计目标是提供一个开放的、实时的、高可靠性、高效率的移动机器人实验平台。
在该平台上,开发人员经过培训学习,可以方便的进行各种相关学科领域(如图像处理、智能控制、模式识别等的实验和算法的仿真及实现。
这些实验包括:
单桢及序列图像处理、语音识别、路经规划、智能蔽障等等。
平台的层次可划分为:
1硬件底层是由机器人主体、PC、嵌入式处理器以及外围电路模块共同构成的一个完整硬件平台;
2硬件测试程序层。
提供了PC、嵌入式处理器所有外接设备资源的测试程序;
3实时操作系统。
采用的是WindowsXP+RTX实时内核以及嵌入式实时操作系统uC/OS-II;
4机器人应用程序接口以及示例程序。
平台的功能分为以下5个部分:
1运动控制。
机器人在平整地形环境中,可精确执行前进、后退、刹车、转弯等动作,以及对摄像头云台的运动控制;
2图像获取。
获取图像信息,完成视频制式的选择,保存单帧图像,亮度、对比度、饱和度、色度的调整,视频翻转,动态采集等等;
3测距蔽障。
为了避免机器人碰撞并完成蔽障运动,采用超声波传感器实时向机器人提供测距蔽障信息;
4其他传感信息采集。
可采集GPS定位信息、罗盘方向信息、温度传感器等等;
5信息智能处理。
这是智能机器人的核心部分,它汇总所有信息,并对信息进行处理,再下达给执行机构,完成智能任务。
为了实现以上所述的功能,并满足实时性要求,智能移动机器人的核心控制部分采用了如下的设计方案:
硬件方面:
采用了“笔记本电脑+ARM嵌入式处理器”的双处理器协同工作的架构。
其中,笔记本电脑主要负责部分传感器数据的采集以及对图像数据的处理、决策;嵌入式处理器及其外设则主要负责完成平台运动控制、部分传感器数据采集等任务。
这二者是通过RS232来进行数据
智能移动机器人实验平台设计
白博,郭宝龙
(西安电子科技大学机电工程学院ICIE研究所,陕西西安710071
摘要:
以开放式、平台化为设计指导思想,设计了一个以笔记本电脑和ARM处理器为核心的智能移动机器人实验系统,并对平台的硬件实现和软件设计做了相应的分析和介绍。
在该平台上可以进行相关学科领域(如图像处理、智能控制、模式识别等的实验,并可对其算法进行仿真。
关键词:
智能机器人;嵌入式;uC/OS-II;ARM处理器
收稿日期:
2006-09-18
ElectronicComponent&DeviceApplications
Jan.2007
2007年1月图1
机器人系统框图
和控制信号的通信。
图1所示为该智能机器人的系统框图。
软件方面:
PC机采用WindowsXP操作系统。
为了满足实时性要求,采用了硬实时内核技术
RTX。
RTX是基于Windows的实时方案,RTX使用
笔记本电脑通用的IntelX86硬件,结合Win32API的编程方法,通过剥夺处理器任务的优先权,可实现微秒级的实时控制和数据采集,即实现“硬实时”,从而满足机器人控制和采集任务的实时性要求
[1-2]
。
在Windows环境中使用MicrosoftVisual
C++6.0作为应用程序的开发和界面设计软件。
ARM处理器采用uC/OS-II嵌入式多任务操作
系统。
uC/OS-II是一款为实时控制系统而设计的多任务实时操作系统,也称为RTOS。
uC/OS-II提供了嵌入式操作系统的基本功能,其核心代码短小精悍,针对硬件进行优化后可以产生很高的执行效率。
该操作系统可同时管理64个任务,采用抢占式实时调度策略,具有很强的实时性[3]
。
2
硬件详细设计描述
2.1
机器人机械结构
机器人主体为铝合金材料,由方形薄板和立
体框架组成。
箱内以及底部后方两侧设置了动力装置,具体包括伺服放大器、直流电机、编码器、减速箱及车轮。
箱底前方两侧设置有两个万向轮作为支撑轮。
2.2笔记本电脑及其周边模块
采用DELL公司的Inspiron!
1300笔记本电脑,
其配置为英特尔!
奔腾!
M处理器(主频1.6
GHz、1M内存、30G硬盘、USB2.0接口。
所有
串口设备通过USB转RS232转接头进行连接。
笔记本电脑周边模块包括:
1视频采集、云台控制。
采用SONYEVI-D100P云台摄像头作为视觉传感器,通过MV-USB2820图像采集盒将视频数据通过USB2.0接口
采集到笔记本电脑,并进行处理。
笔记本电脑通过RS232串口可控制云台摄像头的各种操作,包括变焦、水平、垂直旋转等;
2GPS定位。
GPS接收机可采集经纬度、UTC时间、海拔高度等信息。
GPS接收机与笔记
本电脑通过RS232电缆以NMEA0183标准格式通
过串口发送GPS信息;
3罗盘信息采集。
电子罗盘可采集方向、
倾斜度、翻滚度、温度等信息。
并与笔记本电脑通过RS232电缆进行通信。
2.3ARM板及外围电路
ARM板的处理器选用Samsung(三星的
S3C44B0,这是一款性价比很高的ARMCoreSOC。
S3C44B0配置有2.5vARM7TDMI内核、8kCACHE、外部存储器控制器、LCD控制器、2
通道UART、I2C、5个PWM定时器、1通道内部定时器、看门狗定时器、71个通用I/O口、8通道外部中断源、8通道10位ADC、具有日历功能的
RTC、具有PLL的片上时钟发生器。
另外,S3C44B0还设计有16MBSDRAM和2MBFlashMemory以及12Bit的串行DATLV5638,并同时提
供多个外部接口,如:
10/100Mbps以太网接口、
RS2232接口、LCD接口、JTAG调试接口等。
(1运动控制部分
智能机器人的运动部分由ARM控制器、D/A、运放以及运动执行机构组成。
图2为运动控制单元的原理框图。
图中的TLV5638为串行12Bit
DAC,其串行输入、片选信号均与ARM的GPIO
连接,通信时序如图3所示。
ARM通过GPIO口模拟串行时序,来控制TLV5638。
TLV5638的输出电压通过两级运放,可产生-5 ̄+5V的控制电压,并作为驱动信号传递给运动执行机构。
运动执行机构由直流伺服放大器、直流电
图2
运动控制单元框图
机、数字编码器及车轮组成。
直流伺服放大器供电电压VCC表达式为:
VCC=
UNn0
・nB+
ΔnΔM・MB!
"
・10.9+2[V](1
由上式可知,VCC是由电机运行扭矩MB、运行转速nB、电机额定电压UN、空载转速n0、转速
扭矩比Δ
nΔM
等参数来确定的。
(2超声测距单元
超声测距单元采用渡越时间法[4]
作为测距原
理,有:
D=ct/2(2
ARM向I/O端口发出控制信号,以启动内部
定时器进行计时。
此控制信号经功率放大后可作为超声传感驱动电路的启动信号(1NIT,由超声传感器产生的遇到障碍物时返回的高频振荡信号经放大(为弥补传播过程中信号的衰减可使超声传感驱动电路的ECHO端产生高电平脉冲。
E-
CHO电平的变化经过门电路后会引起ARM外部中
断,在中断程序内可获取定时器的计数值,并根据公式(2计算出距离;否则,认为传感器前方探测范围内无障碍物。
测量距离约为25cm ̄8m,测量精度为±4cm。
3
系统软件设计
3.1
笔记本电脑部分
笔记本软件设计采用图4的函数架构。
系统
符号用RobotSystem表示,主要用于管理设备、流程以及系统参数。
具体包括设备的数据传递、设备的建立、设备的同步、内存管理等。
设备接口库的设计应面向接口,而不是面向实现。
这样做有利于应用程序的编写、修改以及维护。
系统的“设备”包括运动设备、图像采集设备、图像处理设备、超声测距设备、音频采集设备、精确定位设备(GPS、罗盘等。
各设备
通过暴露自己的接口来开放自己可实现的功能。
以下是各设备接口头文件:
#include"RobotMotion.h":
运动接口;
#include"RobotSound.h":
声音采集及播放
接口;
#include"RobotImageCapture.h":
图象采
集接口;
#include"RobotSensor.h":
声纳测距、PSD
测距接口;
#include"RobotImageProcess.h":
图象处理接口;
#include"RobotPeriphery.h":
串口通讯、
数字罗盘、GPS、云台等设备的接口;
设备在创建和使用过程中要注意以下几点:
设备的生存周期、参数设置、状态轮转、数据流管理、设备功能的扩展机制等。
3.2嵌入式处理器部分
(1操作系统的移植
ARM板上采用uC/OS-II操作系统,首先应针
对硬件平台进行uC/OS-II的移植。
uC/OS-II在
S3C44B0的移植工作在很多文献都有相关说明[5],
这里就不再介绍了。
(2硬件驱动层扩展
在硬件之上,必须有驱动程序来实现对硬件的基本操作。
底层驱动程序使用汇编或C语言编写,主要功能是实现硬件初始化和释放硬件,并把数据从内核传到硬件和从硬件读取数据。
同时,还必须将对某个硬件进行的某项操作的代码封装成函数,以供上层的程序调用。
在该移动机器人控制系统中,底层驱动程序主要是完成通讯接口、运动控制器驱动、避障检测传感器等外设驱动函数的编写。
(3应用程序代码的编写
在编写应用代码之前,必需根据自己的应用系统对内核进行一些配置(OS_CFG.H。
如:
确
定是否允许使用统计任务(OS_TASK_STAT_EN、
图3
TLV5638的通信时序
图4
软件系统结构图
ElectronicComponent&DeviceApplications
Jan.2007
2007年1月设定最大任务数(OS_MAX_TASKS、设定总任务数(OS_LOWEST_PRIO、定制信号量(OSSem-
Creat和邮箱(OSMboxCreate服务等,另外还
需在INCLUDES.H系统头文件中包含用户头文件。
多任务的启动是通过在主函数main中调用
OSStart(来实现的。
调用OSStart(后,先从任
务就绪表中找到优先级最高的任务控制块,再启动高优先级任务启动函数OSStartHighRdy(,然后启动多任务内核。
在主程序main(中我们需要做的是:
调用OSInit(,对有关变量初始化,创建任务,调用OSStart(,进入实时多任务环境,同时启动时间节拍定时器,调度任务就绪表中优先级最高的任务转入运行,获得CPU,运行开始。
程序结构如下:
Main(void{
OSInit(;/*InitializeuC/OS-II*/
OSTaskCreate(Task1,(void*&Id1,(void
*&Stack1
[STACKSIZE-1],1;OSStart(;/*Startmultitask*/
}
基于uC/OS-II操作系统内核的应用代码编程,主要就是对各个任务进行编程。
在移动机器人控制系统中,根据以上介绍的移动机器人基本控制功能,OSTaskCreate创建了7个任务:
主控任务;驱动电机控制任务;通信任务;避障检测与控制;系统检测和报警;防撞与刹车任务;时钟任务。
同时还包括两个系统任务即空闲任务I-
DLE_TASK和统计任务STAT_TASK。
其中,时钟
任务优先级最高,它是一个超级任务,主要用来对其他任务(在每个任务中设置超时函数进行监控。
在OSTimeTickhook(函数中预设一段时间,通过与任务中的超时函数比较,可避免程序跑飞或陷入死循环,并能防止系统因为个别任务内部出现问题而导致系统全面崩溃,从而提高了系统的可靠性;作为紧急任务的防撞与刹车任务的优先级其次,该任务是个非周期任务,通过中断的方式用信号量就绪该任务,使其能迅速得到运行,实现刹车制动功能,以提高移动机器人的交通安全性。
任务函数代码的结构如下:
VoidYourTask(Void*Id{
for(;;{
执行用户代码;
OSMboxPend(;/*
uC/OS-II系统调用*/OSQPend(;OSSemPend(;
OSTaskDel(OS_PRIO_SELF;OSTaskSuspend(OS_PRIO_SELF;OSTimeDly(;}}
各个任务的工作单元和数据都用堆栈来实现,每个任务都有自己的任务堆栈区,其大小也
可以根据实际应用和RAM的容量在程序中自行设定。
4
结束语
本文以笔记本电脑和ARM处理器为核心设计
了一套智能移动机器人实验平台,该平台结构清晰,有较强的通用性和扩展性。
在此平台之上通过编程可进行各种实验以及算法仿真。
其软硬件结构对同类智能产品的开发也具有借鉴意义。
参考文献
[1]
张广立,付莹,杨汝清,等.基于WindowsNT的开放式机器人实时控制系统[J].上海交通大学学报,2003,37(5:
724-728.
[2]
迟永琳,明良玉,吴祖育,等.基于WindowNT和Linux的开放式数控系统[J].上海交通大学学报,2003,37(1:
45-53.
[3]李渊,言勇华,等.嵌入式实时系统在移动机器人中的应用研究[J].机器人技术,2006,22(5-2:
220-223.
[4]GtegoryDudek,MichaelJenkin.ComputationalPrinci-plesofMobileRobotics.CambridgeUniversityPress,2000.
[5]JeanJ,Labrosse,邵贝贝.uC/OS-II源码公开的嵌入式
实时操作系统[M].北京:
电力工业出版社,2001.[6]刘振山,李欣,周爱玉.自主移动机器人系统设计与实现[J].青岛大学学报,2004,19(3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 智能 移动 机器人 实验 平台 设计 概要
![提示](https://static.bdocx.com/images/bang_tan.gif)