嵌入式课程设计.docx

上传人:b****4 文档编号:3861545 上传时间:2023-05-06 格式:DOCX 页数:14 大小:275.61KB
下载 相关 举报
嵌入式课程设计.docx_第1页
第1页 / 共14页
嵌入式课程设计.docx_第2页
第2页 / 共14页
嵌入式课程设计.docx_第3页
第3页 / 共14页
嵌入式课程设计.docx_第4页
第4页 / 共14页
嵌入式课程设计.docx_第5页
第5页 / 共14页
嵌入式课程设计.docx_第6页
第6页 / 共14页
嵌入式课程设计.docx_第7页
第7页 / 共14页
嵌入式课程设计.docx_第8页
第8页 / 共14页
嵌入式课程设计.docx_第9页
第9页 / 共14页
嵌入式课程设计.docx_第10页
第10页 / 共14页
嵌入式课程设计.docx_第11页
第11页 / 共14页
嵌入式课程设计.docx_第12页
第12页 / 共14页
嵌入式课程设计.docx_第13页
第13页 / 共14页
嵌入式课程设计.docx_第14页
第14页 / 共14页
亲,该文档总共14页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

嵌入式课程设计.docx

《嵌入式课程设计.docx》由会员分享,可在线阅读,更多相关《嵌入式课程设计.docx(14页珍藏版)》请在冰点文库上搜索。

嵌入式课程设计.docx

嵌入式课程设计

摘要

为满足低成本、高性能的要求,提出在拟人机器人控制器的设计中引入基于ARM处理器和RTOS(Real2timeOS)的嵌入式系统。

使用ARM9处理器S3C2410和RT2Linux构建小型拟人机器人控制器的系统架构,以拟人机器人的行走控制为例,从硬件和软件上介绍了控制器的实现方法。

硬件选用高集成度的嵌入式处理器并采用模块化设计;软件开发中使用Petri网建模并利用Linux良好的驱动程序框架,降低了开发难度,提高了系统的可扩展性。

最后给出了在机器人避障中的应用,验证了控制器方案的可行性,为拟人机器人的进一步研究提供了平台,年来全密封免维护铅酸蓄电池其密封好、无泄漏、无污染等优点,能够保证人体和各种用电设备的安全,而且在整个寿命期间,无需任何维护,从而揭开了铅酸蓄电池发展历程新的一页。

众所周知,通信设备一般都采用免维护电池作为备用电源,许多电子设备必须的不间断电源系统(UPS)也离不开免维护电池,此外在应急灯、汽车、游艇中也越来越多的选用免维护电池。

然而,由于充电方法不正确,充电技术不能适应免维护电池的特殊需求,造成电池很难达到规定的循环寿命。

关键词:

拟人机器人;舵机;嵌入式系统;Petri网;设备驱动。

 

Abstract

Alowcost,highperformancehumanoidrobotcontrollerwasdevelopedbasedontheARMprocessorandtheRTOS(real2timeOS).ThecontrollersystemarchitectureconsistsofaS3C2410chipwiththeARM9corerunningRT2Linux.Theimplementationincludinghardwareandsoftwareisillustratedbyarobotwalkingexample.ThehardwareplatformusesamodulardesignwithahighlyintergratedembeddedCPU.APetrinetisusedtomodelthecontrolflow.ThesoftwareisbasedontheLinuxdevicedriverframewithsimplifiesthesystemandimprovestheexpansibility.Thecontrolsystemsuccessfullyenabledtherobottoevadeobstaclesandprovidesaplatformforfurtherdevelopmentofhumanoidrobots.withoutleakage,andpollution-freeadvantages,withoutanymaintenance,thusunveilsthelead-acidbatteriesdevelopmentanewpage.andmanyelectronicequipmentmustbeuninterruptedpowersupplysystem(UPS)isinseparablefrommianweihubattery,inadditioninemergencylight,automobile,yachtalsomoreandmorechoosemianweihubatteries.However,duetothechargingmethodsisnotcorrect,chargingtechnologycannotadapttothefreemaintenancebattery'sspecialdemand,itisdifficulttoreachtheprescribedcausedbatterylifecycle.

Keywords:

humanoidrobot;servo;embeddedsystem;Petrinet;devicedriver;

目录

 

1设计简介1

1.1嵌入式简介1

1.2拟人机器人简介2

1.3嵌入式系统的设计简介4

2拟人机器人系统架构8

2.1 拟人机器人机械结构设计8

2.2 拟人机器人控制器硬件设计9

2.3 拟人机器人控制器软件设计11

3拟人机器人步行控制方案12

4 应用实例16

5心得与体会17

参考文献18

1设计简介

1.1嵌入式简介

根据国际电气和电子工程师协会(IEEE)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”,原文为devicesusedtocontrol,monitor,orassisttheoperationofequipment,machineryorplants.

目前,国内普遍认同的定义是:

以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。

北京航空航天大学何利民教授给出这样的定义:

“嵌入式系统是嵌入到对象体系中的专用计算机系统。

”可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。

嵌入式系统一般有嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序4个部分组成。

“嵌入性”、“专用性”和“计算机系统”是嵌入式系统的三个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系统。

嵌入式系统无处不在,在移动电话、数码相机、MP4、数字电视机顶盒、微波炉等设备中都使用了嵌入式系统。

嵌入式计算机系统是整个嵌入式的核心,可以分为硬件层、中间层、系统软件层和应用软件层。

1.2拟人机器人简介

拟人机器人是机器人研究的一个重要分支,是由仿生学、机械工程学和控制理论等多种学科相互融合而形成的一门综合学科。

研究人员除了通过软件进行仿真,还制作了各种类型的机器人实体。

比较著名的国外有本田公司的Asimo、sony公司的Qrio、开放机器人项目OpenPINO等,国内有北京理工大学牵头研制的“汇童”拟人机器人、哈工大的“HIT”足球机器人、清华大学的THBIP2I等。

不过这些机器人体积庞大,成本高昂。

目前也开发了很多简易的小型机器人,但其中大部分采用简单的单片机进行控制,可实现的动作和功能非常有限,或者需要连接上位机来对它进行控制,自主性不足。

基于现有的条件,综合考虑系统的性能和成本,研制了一种基于ARM9处理器,采用嵌入式Linux的小型拟人机器人,可以实行静步行走,同时可扩展视觉、无线网络和音频输入输出功能,是一种可完全独立自主化的拟人机器人,为相关学科的研究提供了一个验证平台,还可以作为大学和中专院校机电专业、自动化专业、计算机专业、仪表与检测专业的试验平台,进一步完善后,也是机器人舞蹈和机器人足球等项目的良好载体.机器人技术作为20世纪人类最伟大的发明之一,它的研究开始于20世纪中期。

第一代遥控机械手1948年诞生于美国原子能委员会的阿尔贡研究所,当时用来对放射性材料进行远距离操作,以保护原子能工作者免受放射线照射。

第一台工业机器人产生于1956年,是英格尔博格(Engelberger)将数字控制技术与机械臂结合的产物。

当时主要是为了克服串联机构累积的系统误差,以便达到较高的空间定位精度,提出了示教再现的编程方式,从而使重复定位精度差不多比绝对定位精度提高了一个数量级。

1968年,日本川崎重工引进美国IMATION公司的UNIMATE机器人制造技术,开始了日本机器人时代。

1970年,在美国召开了第一届国际工业机器人学术会议。

此后,机器人的研究得到迅速广泛的普及。

1979年IMATION公司推出了PUMA系列工业机器人,它的关节由电动机驱动,可配备视觉、触觉、力觉传感器。

到1990年己有30万台机器人在全世界使用。

其中高性能的机器人所占比例不断增加,特别是各种装配机器人的产量增加较快,和机器人配套使用的的机器视觉技术和装备也得到迅速发展。

进入20世纪90年代后,装配机器人及柔性装配技术进入了大发展时期。

日本一直拥有全世界机器人总数的60%左右。

到1998年,美国拥有机器人8万台,德国为7万多台,分别占世界机器人总数的15%和13%左右。

到2005年,全世界的机器人总数约100万台。

自50年代第一台机器人装置在美国诞生以来,机器人的发展经历了一个从低级到高级的发展过程。

第一代机器人是示教再现型工业机器人,它们装有记忆存储器,由人将作业的各种要求示范给机器人,使之记住操作的程序和要领。

当它接到再现命令时,则自主地模仿示范的动作作业。

第二代机器人是装有小型计算机和传感器的离散编程的工业机器人,它能感知外界信息并进行“思维”,它比第一代机器人更灵活、更能适应环境变化的需求。

第三代机器人是智能机器人,它不但有第二代机器人的感觉功能和简单的自适应能力,而且能充分识别工作对象和工作环境,并能根据人给的指令和它自身的判断结果自动确定与之相适应的动作,是人工智能发展到高级阶段的产物,也是当今机器人发展的重点和热点。

随着机器人技术的发展,机器人的用途越来越广,开始从传统的工业领域,向军事、公安、医疗、服务等领域渗透。

与此同时,机器人的概念也越来越宽,己从狭义的机器人,开始向机器人技术扩展。

世界上一些发达国家,都非常重视机器人技术的研究,都将机器人作为一个战略高技术给予支持。

这是因为机器人不仅将形成一个大产业,而且将对国家的综合国力,对国家的可持续发展有着巨大而深远的影响。

1.3嵌入式系统的设计简介

嵌入式系统设计是一个很复杂的过程,在设计嵌入式的过程中,不仅要对设计嵌入式系统的软硬件有很广泛的了解,同时还要熟悉行业的内容。

下面是设计过程中必须考虑的一些问题:

(l)需要硬件的数量。

在系统设计中,不仅要选择使用何种微处理器,还要选择存储器的数量、所使用的外设及其它的内容。

因为在满足性能要求的同时也要考虑制造费用的约束,硬件设备的选择是十分重要的,硬件太少,将不能达到性能的要求,硬件设备过多又会使产品变得过于昂贵。

(2)时限要求。

通过提高CPU的时钟频率的方法来提高程序运行速度以解决时间约束的方法显得十分笨拙,因为程序的速度有可能受存储系统的限制,因此必须从整个系统的观点来考虑这个问题。

(3)系统的功耗。

对于电池供电的电器而言,功耗是一个十分重要的问题;对于非电池供电的电器而言,高功耗也会带来高的散热量。

降低系统功耗的一种方法就是降低它的运算速度,但是单纯的降低运算速度显然会导致不能满足性能需求。

所以必须从全局的角度进行设计,以便通过降低系统非关键部分的速度来降低系统功耗,而同时又能满足系统整体性能的要求。

(4)系统的可升级性。

系统的硬件平台可能使用几代,或者使用在同一代的不同级别的产品中,而这些仅仅需要一些简单的改变就应实现,所以我们必须能够通过改变软件来改变系统的特性。

这就要求我们在软件设计中必须考虑系统的升级问题。

进行嵌入式系统设计有两种最基本的方法。

一种是自顶向下的方法,从对系统最抽象的描述开始,一步一步地推进到细节内容。

另外一种方法是自底向上的方法,这种方法从构成系统的每一个构件开始向上。

图1.1汇总了嵌入式系统设计的主要步骤。

从自顶向下的角度来看,先从系统的需求开始分析,然后是规格说明,在这一步对整个系统进行更加细致的描述,但是规格说明只是对系统如何工作进行了描述,并不涉及它的组成。

系统内部的详细构造要在开发系统的体系结构时才能展现出来,这一阶段以大的构件为单位给出了系统的结构。

一旦知道了需要的构件,就可以开始设计这些构件,包括软件模块和所需要的专用硬件模块。

在这些构件的基础上,就可以构造出所需要的完整的系统。

上述设计过程中的这些步骤只是嵌入式系统的全貌的一个轴线,同时还需要考虑其它一些相关因素。

图1.1设计过程的主要抽象层次

具体的说,第一步“需求”就是要清楚要设计什么,从用户那里收集系统的非形式描述,然后对这些要求进行提炼,以得到系统的规格说明。

第二步“规格说明”更精确一些,它起到客户和生产者之间合同的作用。

第三步“体系结构,’是系统整体结构的一个计划,而后用于设计搭建整个体系结构的构件。

结构设计的创建也是许多设计者认为的设计的第一阶段,形象化的话就是把系统用功能框图来表示,然后可以再细分成硬件框图和软件框图。

第四步“软硬件构件,,使得构件与体系结构和规格说明达到一致,一些构件可能是现成的,比如CPU、存储芯片或者各种模块等,同样软件也有标准的模块可以利用,比如现有的操作系统、TCP/IP协议等,但也要自己设计一些构件,硬件方面如一些电路等,软件方面如定制一些文件系统或者网络协议以满足特别的要求。

第五步“系统集成,,是将构件集成到一个能运转的系统。

 

2拟人机器人系统架构

2.1 拟人机器人机械结构设计

在机械结构和自由度分配上,设计的拟人机器人采用双轴输出伺服电机(也称为“舵机”)个活动关节,其中2条下肢各6个关节,2条上肢各4个关节,头部1个关节,共需使用21个舵机。

舵机是一种位置伺服的驱动器,适用于那些需要角度不断变化并可以保持的控制系统。

其工作原理是:

控制信号进入舵机内部的信号调制芯片,获得直流偏置电压;内部还有一个基准电路,产生周期为20ms、宽度为1.5ms的基准信号,将获得的直流偏置电压与电位器的电压比较,获得电压差输出;最后,电压差的正负输出到电机驱动芯片决定电机的正反转。

当电机转速一定时,通过级联减速齿轮带动电位器旋转,使得电压差为0,电机停止转动。

舵机的控制信号是脉宽调制(PWM)信号,利用占空比的变化改变舵机的位置,通常控制周期T=20ms,高电平脉宽0.5~2.5ms,对应于-90°~+90°的转角。

2.2 拟人机器人控制器硬件设计

控制器平台的处理器选用了三星公司基于ARM9内核的S3C2410嵌入式处理器。

S3C2410被广泛应用于PDA、移动通讯、路由器、工业控制等领域,芯片中集成了下列模块:

16kB指令Cache、16kB数据Cache、MMU、外部存储器控制器、LCD控制器、NANDFlash控制器、4个DMA通道、3通道UART、1个I2C总线控制器、1个IIS总线控制器,以及4通道PWM定时器和一个内部定时器、通用IöO口、实时时钟、8通道10bitAD和触摸屏接口、USBHost和USBDevice控制器、SDöMMC卡接口等。

从可调试、可重用、可扩展等方面考虑,整个控制系统硬件采用模块化设计,由核心板和扩展板2部分构成,系统结构如图1所示。

 

图1拟人机器人控制平台硬件结构图

核心板使用了SO2DIMM的接口方式,6层板设计,长宽分别为76mm和52mm,实物照片如图2所示。

核心板提供了一个最小系统,包括了S3C2410嵌入式处理器、2片HY57V561620并联构成32bit的64MBSDRAM内存空间,一片K9F1208U0构成64MB的NANDFlash空间。

扩展板上设计了电源模块、2个USBHOST接口、1个串口、音频输入输出模块和舵机接口模块。

设计电源模块时,为了防止舵机对控制系统产生干扰,分别对舵机和控制系统供电,二者不共地,通过光藕来隔离。

USB接口用来连接摄像头、USB无线网卡、U盘等设备,串口用来输出调试信息。

音频输入输出模块则用来和外界做语音交流。

舵机接口模块主要由电平驱动芯片、光耦、斯密特反相器构成。

电平驱动芯片用来提高驱动能力,光耦用来传输控制信号。

控制信号经过光耦后会反相和畸变,需要反相器对它经行反相和整形后再输出给舵机。

考虑到机器人的移动性,没有加入以太网模块。

核心板上的操作系统和应用程序下载通过专门的调试接口板完成,然后再安装到扩展板上,机器人运行过程中的软件实时调试信息由串口输出。

图2实物图

2.3 拟人机器人控制器软件设计

拟人机器人的软件系统除了要协调控制各个关节,还需要进行视觉图像处理、语音识别、数据传输等,作者选用了RT2Linux操作系统[6]。

普通的Linux是一个典型的分时多任务操作系统,因为分时调度机制和核心的不可抢占性,其实时性有所欠缺。

但由于Linux具备开放源代码的优势,目前已经出现了不少实时Linux操作系统,如RT2Linux、RTAI、LXRT和KURT等。

使用RT2Linux系统可以保证机器人控制的实时性。

 

3拟人机器人步行控制方案

机器人学专家、日本早稻田大学的加藤一郎教授说过:

“机器人应当具有的最大特征之一是步行功能”。

步行分为“静态步行”和“动态步行”2种。

静步行是重心移动少、速度慢的步行方式,动步行则是自身破坏平衡、向前倾斜似的行走[7]。

限于机器人的机械设计,我们只实现了拟人机器人的静态步行。

S3C2410处理器有5个16bit定时器,其中定时器0,1,2,3具有PWM脉冲输出功能。

PWM波形的周期,也是定时器的计时周期,可以由寄存器TCNTBn来设置,占空比由寄存器TCMPBn来设置(n=0,1,2,3)。

在每次PWM周期结束时,对应的定时器都会产生一个中断。

假如使用定时器直接输出PWM信号来控制舵机,由于每个定时器输出PWM信号的引脚都是固定的,因此只能是一个定时器控制一个舵机,这显然无法满足我们的要求。

经过分析,作者考虑使用定时器的中断在多个I/O引脚上模拟输出PWM控制信号,这样就能实现用一个定时器控制多个舵机。

在这个过程中,定时器状态和I/O引脚电平的变化关系可以使用Petri网进行建模。

图3 舵机PWM控制Petri网模型

图中P1、P2分别表示IöO引脚输出高电平和低电平的状态,P3—P7分别表示定时器的各个工作状态。

舵机的PWM控制脉冲周期为20ms,假定使用定时器1来控制8个舵机,这8个舵机分别连接到S3C2410的8个I/O引脚1—8,在某段时间内这8个舵机的PWM控制信号中高电平所占的时间分别为T1—T8。

首先I/O1—8引脚上都输出低电平,然后在I/O1引脚上输出高电平,同时将定时器1计时周期设置为T1并启动定时器;定时器在经过时间T1后产生中断,在中断服务程序中将I/O1引脚输出电平改为低电平,计时器1计时周期改为2.5ms2T1,重新启动定时器;经过2.5ms2T1后产生中断,在中断服务程序中将I/O2输出电平改为高电平,将定时器1计时周期改为T2,重新启动定时器;经T2后定时器产生中断,在中断服务程序中将I/O2引脚输出电平改为低电平,将定时器1计时周期设置为2.5ms2T2。

这样依次进行操作,就能在8个IöO引脚上模拟出8路符合要求的舵机控制PWM信号,如图4所示。

图4多路舵机PWM控制信号示意图

根据上面方案对S3C2410的定时器0、1编写了Linux系统下的驱动程序[8],由这2个定时器来控制双足机器人的下肢动作。

驱动程序由以下函数组成:

1)在timer-init函数中,注册定时器设备。

2)在timer-open函数中,设置了I/O引脚功能,注册定时器中断,设置定时器的工作模式和输入时钟频率。

3)在timer-write函数中,由外部读入关节的控制信息,打开定时器中断,并启动定时器。

4)在timer-handler函数中,改变对应的I/O输出引脚的电平,并重新设置定时器,开始下一个定时器周期。

中断服务程序流程如图5所示。

图5多路舵机控制信号模拟程序流程图

对于舵机的控制,主要的可变参数就是PWM信号中高电平持续时间。

系统可以事先设置一些行走动作对应的参数数组,也可以由应用程序实时生成这些参数数组,然后在调用定时器设备的时候,将参数数组传递给定时器驱动程序。

一般的舵机需要CPU持续为它发出PWM控制信号,因此会占用大量CPU资源,影响系统的整体性能。

我们选用具有电子锁位功能的舵机。

这种舵机在收到一组PWM控制信号后会自动执行至目标位置,此时如果CPU停止为它发送控制信号,舵机会保持该位置。

这样就大大减少了CPU中断发生的次数,提高了系统的性能。

如果使用硬件如CPLD实现舵机控制信号的产生,CPU只需要将舵机控制参数发送给该硬件即可,同样也可减轻CPU负担。

4 应用实例

为了检验控制器的实际工作效果,设计了机器人避障实验。

在机器人的头部安装一个小型USB摄像头,Linux操作系统对于USB设备的支持较好,并且内置了部分摄像头的驱动程序,可以方便地调用摄像头设备并进行图像识别应用程序的编写和调试。

为拟人机器人视觉系统搭建了一个实际的应用场景:

障碍物(方形纸盒)放置在机器人的正前方,机器人在直线步行过程中可以识别障碍物,并在一定距离时控制双足做转身动作,绕开障碍物。

经过实验,机器人控制器可以对摄像头获取的图像进行处理,识别静止障碍物并调用步行程序进行避让。

 

5心得与体会

此次设计,本文实现了一种基于ARM嵌入式系统的拟人机器人控制器的设计,相比单片机控制,封装了底层的硬件驱动,模块化和易用性更好,功能扩展更方便。

相比上位机控制,系统的独立性和自主性得到加强。

这种方案在成本和性能上做到了较好的折衷,改善了开发过程,同时也为其他类型机器人如轮式机器人的设计提供了一个参考。

嵌入式系统领域的软硬件技术发展迅猛,各种应用层出不穷。

将嵌入式系统应用于机器人的设计中,有助于提高机器人的性能,也会对机器人的智能化、网络化、小型化起到良好的促进作用。

另外在设计中让我对嵌入式系统有了更充分的理解。

对它的设计有了实践的机会。

感谢老师和同学的帮助。

通过本次课程设计,了解了嵌入式linux系统以及它的一些应用,还清楚了视频监控网络的一些设计方案和基本原理。

在课程设计过程中,通过网络和图书馆找到了一些相关的资料,认真学习和理解后结合以前学到的基础知识找出了最佳方案。

在学习理解过程中,由于知识面有限难免遇到很多困难,在老师和同学的帮助下很多问题都得到了解决,使我更加认识到合作的重要性。

在以后的学习中一定注意开阔自己的思维,在基础知识的学习上有所创新。

参考文献 (References)

[1]ARM9嵌入式系统设计基础教程黄智伟邓月明王彦编著北京航空航天大学出版社

[2]刘莉,汪劲松,陈恳,等.THBIP2I拟人机器人研究进展

[J].机器人,2002,24(3):

262-267.

LIULi,WANGJinsong,CHENKen,etal.TheresearchonthebipedhumanoidrobotTHBIP2I[J].Robot,2002,

24(3):

262-267.(inChinese)

[3]郑嫦娥,钱桦.仿人机器

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2