版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、基于arm9的拟人机器人设计xxxxx(长春大学电子信息工程学院,吉林省长春市,130022)摘 要:为满足低成本、高性能的要求, 提出在拟人机器人控制器的设计中引入基于arm 处理器和rto s (real2timeo s) 的嵌入式系统。使用arm 9 处理器s3c2410 和rt2linux构建小型拟人机器人控制器的系统架构, 以拟人机器人的行走控制为例, 从硬件和软件上介绍了控制器的实现方法。硬件选用高集成度的嵌入式处理器并采用模块化设计; 软件开发中使用petri 网建模并利用linux 良好的驱动程序框架,降低了开发难度, 提高了系统的可扩展性。最后给出了在机器人避障中的应用, 验
2、证了控制器方案的可行性, 为拟人机器人的进一步研究提供了平台。关键词: 拟人机器人; 舵机;嵌入式系统; petri 网; 设备驱动based on arm9 personification robot designxxxxxx(changchun university electronic information engineering college, jilin province changchun, 130022)abstract:a low cost, high performance humanoid robot controller was developed based on
3、the arm processor and the rtos( real2time os). the controller system architecture consists of as3c2410 chip with the arm 9 co re running rt2linux. the implementation including hardware and software is illustrated by a robot walking example. the hardware platform uses a modular design with a highly i
4、nter grated embedded cpu. a petri net is used to model the control flow. the software is based on the linux device driver frame with simplifies the system and improves the expansibility. the control system successfully enabled the robot to evade obstacles and provides a platform for further developm
5、ent of humanoid robots.key words: humanoid robot; servo; embedded system; petri net; device driver;1设计简介1.1嵌入式简介根据国际电气和电子工程师协会(ieee)的定义,嵌入式系统是“控制、监视或者辅助设备、机器和车间运行的装置”,原文为devices used to control,monitor,or assist the operation of equipment,machinery or plants.目前,国内普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应
6、用系统对功能、可靠性、成本、体积、功耗严格要求的专用计算机系统。北京航空航天大学何利民教授给出这样的定义:“嵌入式系统是嵌入到对象体系中的专用计算机系统。”可以这样认为,嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。嵌入式系统一般有嵌入式微处理器、外围硬件设备、嵌入式操作系统以及用户应用程序4个部分组成。“嵌入性”、“专用性”和“计算机系统”是嵌入式系统的三个基本要素,对象系统则是指嵌入式系统所嵌入的宿主系统。嵌入式系统无处不在,在移动电话、数码相机、mp4、数字电视机顶盒、微波炉等设备中都使用了嵌入式系统。嵌入式计算机系统是整个嵌入式的核心,可以分为硬件层、中间层、系统软件层和应
7、用软件层。1.2拟人机器人简介拟人机器人是机器人研究的一个重要分支, 是由仿生学、机械工程学和控制理论等多种学科相互融合而形成的一门综合学科。研究人员除了通过软件进行仿真, 还制作了各种类型的机器人实体。比较著名的国外有本田公司的asimo、sony 公司的qrio、开放机器人项目openpino 等, 国内有北京理工大学牵头研制的“汇童”拟人机器人、哈工大的“h it ”足球机器人、清华大学的thb ip2i 等。不过这些机器人体积庞大, 成本高昂。目前也开发了很多简易的小型机器人 , 但其中大部分采用简单的单片机进行控制, 可实现的动作和功能非常有限, 或者需要连接上位机来对它进行控制,
8、自主性不足。基于现有的条件, 综合考虑系统的性能和成本,研制了一种基于arm 9 处理器, 采用嵌入式linux 的小型拟人机器人, 可以实行静步行走, 同时可扩展视觉、无线网络和音频输入输出功能, 是一种可完全独立自主化的拟人机器人, 为相关学科的研究提供了一个验证平台, 还可以作为大学和中专院校机电专业、自动化专业、计算机专业、仪表与检测专业的试验平台, 进一步完善后, 也是机器人舞蹈和机器人足球等项目的良好载体. 机器人技术作为20世纪人类最伟大的发明之一,它的研究开始于20世纪中期。第一代遥控机械手1948年诞生于美国原子能委员会的阿尔贡研究所,当时用来对放射性材料进行远距离操作,以保
9、护原子能工作者免受放射线照射。第一台工业机器人产生于1956年,是英格尔博格(engelberger)将数字控制技术与机械臂结合的产物。当时主要是为了克服串联机构累积的系统误差,以便达到较高的空间定位精度,提出了示教再现的编程方式,从而使重复定位精度差不多比绝对定位精度提高了一个数量级。1968年,日本川崎重工引进美国imation公司的unimate机器人制造技术,开始了日本机器人时代。1970年,在美国召开了第一届国际工业机器人学术会议。此后,机器人的研究得到迅速广泛的普及。1979年imation公司推出了puma系列工业机器人,它的关节由电动机驱动,可配备视觉、触觉、力觉传感器。到19
10、90年己有30万台机器人在全世界使用。其中高性能的机器人所占比例不断增加,特别是各种装配机器人的产量增加较快,和机器人配套使用的的机器视觉技术和装备也得到迅速发展。进入20世纪90年代后,装配机器人及柔性装配技术进入了大发展时期。日本一直拥有全世界机器人总数的60%左右。到1998年,美国拥有机器人8万台,德国为7万多台,分别占世界机器人总数的15%和13%左右。到2005年,全世界的机器人总数约100万台。自50年代第一台机器人装置在美国诞生以来,机器人的发展经历了一个从低级到高级的发展过程。第一代机器人是示教再现型工业机器人,它们装有记忆存储器,由人将作业的各种要求示范给机器人,使之记住操
11、作的程序和要领。当它接到再现命令时,则自主地模仿示范的动作作业。第二代机器人是装有小型计算机和传感器的离散编程的工业机器人,它能感知外界信息并进行“思维”,它比第一代机器人更灵活、更能适应环境变化的需求。第三代机器人是智能机器人,它不但有第二代机器人的感觉功能和简单的自适应能力,而且能充分识别工作对象和工作环境,并能根据人给的指令和它自身的判断结果自动确定与之相适应的动作,是人工智能发展到高级阶段的产物,也是当今机器人发展的重点和热点。随着机器人技术的发展,机器人的用途越来越广,开始从传统的工业领域,向军事、公安、医疗、服务等领域渗透。与此同时,机器人的概念也越来越宽,己从狭义的机器人,开始向
12、机器人技术扩展。世界上一些发达国家,都非常重视机器人技术的研究,都将机器人作为一个战略高技术给予支持。这是因为机器人不仅将形成一个大产业,而且将对国家的综合国力,对国家的可持续发展有着巨大而深远的影响。1.2嵌入式系统的设计简介嵌入式系统设计是一个很复杂的过程,在设计嵌入式的过程中,不仅要对设计嵌入式系统的软硬件有很广泛的了解,同时还要熟悉行业的内容。下面是设计过程中必须考虑的一些问题。(l)需要硬件的数量在系统设计中,不仅要选择使用何种微处理器,还要选择存储器的数量、所使用的外设及其它的内容。因为在满足性能要求的同时也要考虑制造费用的约束,硬件设备的选择是十分重要的,硬件太少,将不能达到性能
13、的要求,硬件设备过多又会使产品变得过于昂贵。 (2)时限要求通过提高cpu的时钟频率的方法来提高程序运行速度以解决时间约束的方法显得十分笨拙,因为程序的速度有可能受存储系统的限制,因此必须从整个系统的观点来考虑这个问题。 (3)系统的功耗对于电池供电的电器而言,功耗是一个十分重要的问题;对于非电池供电的电器而言,高功耗也会带来高的散热量。降低系统功耗的一种方法就是降低它的运算速度,但是单纯的降低运算速度显然会导致不能满足性能需求。所以必须从全局的角度进行设计,以便通过降低系统非关键部分的速度来降低系统功耗,而同时又能满足系统整体性能的要求。 (4)系统的可升级性系统的硬件平台可能使用几代,或者
14、使用在同一代的不同级别的产品中,而这些仅仅需要一些简单的改变就应实现,所以我们必须能够通过改变软件来改变系统的特性。这就要求我们在软件设计中必须考虑系统的升级问题。进行嵌入式系统设计有两种最基本的方法。一种是自顶向下的方法,从对系统最抽象的描述开始,一步一步地推进到细节内容。另外一种方法是自底向上的方法,这种方法从构成系统的每一个构件开始向上。图1.1汇总了嵌入式系统设计的主要步骤。从自顶向下的角度来看,先从系统的需求开始分析,然后是规格说明,在这一步对整个系统进行更加细致的描述,但是规格说明只是对系统如何工作进行了描述,并不涉及它的组成。系统内部的详细构造要在开发系统的体系结构时才能展现出来
15、,这一阶段以大的构件为单位给出了系统的结构。一旦知道了需要的构件,就可以开始设计这些构件,包括软件模块和所需要的专用硬件模块。在这些构件的基础上,就可以构造出所需要的完整的系统。上述设计过程中的这些步骤只是嵌入式系统的全貌的一个轴线,同时还需要考虑其它一些相关因素。需求体系结构构件系统集成规格说明图1.1设计过程的主要抽象层次 具体的说,第一步“需求”就是要清楚要设计什么,从用户那里收集系统的非形式描述,然后对这些要求进行提炼,以得到系统的规格说明。第二步“规格说明”更精确一些,它起到客户和生产者之间合同的作用。第三步“体系结构,是系统整体结构的一个计划,而后用于设计搭建整个体系结构的构件。结
16、构设计的创建也是许多设计者认为的设计的第一阶段,形象化的话就是把系统用功能框图来表示,然后可以再细分成硬件框图和软件框图。第四步“软硬件构件,使得构件与体系结构和规格说明达到一致,一些构件可能是现成的,比如cpu、存储芯片或者各种模块等,同样软件也有标准的模块可以利用,比如现有的操作系统、tcp/ip协议等,但也要自己设计一些构件,硬件方面如一些电路等,软件方面如定制一些文件系统或者网络协议以满足特别的要求。第五步“系统集成,是将构件集成到一个能运转的系统。2拟人机器人系统架构2. 1拟人机器人机械结构设计在机械结构和自由度分配上, 设计的拟人机器人采用双轴输出伺服电机(也称为“舵机”)个活动
17、关节, 其中2 条下肢各6 个关节, 2 条上肢各4个关节, 头部1 个关节, 共需使用21 个舵机。舵机是一种位置伺服的驱动器, 适用于那些需要角度不断变化并可以保持的控制系统。其工作原理是: 控制信号进入舵机内部的信号调制芯片, 获得直流偏置电压; 内部还有一个基准电路, 产生周期为20m s、宽度为1. 5m s 的基准信号, 将获得的直流偏置电压与电位器的电压比较, 获得电压差输出;最后, 电压差的正负输出到电机驱动芯片决定电机的正反转。当电机转速一定时, 通过级联减速齿轮带动电位器旋转, 使得电压差为0, 电机停止转动。舵机的控制信号是脉宽调制(pwm ) 信号, 利用占空比的变化改
18、变舵机的位置, 通常控制周期t = 20m s,高电平脉宽0. 5 2. 5m s, 对应于- 90 + 90的转角。2. 2拟人机器人控制器硬件设计控制器平台的处理器选用了三星公司基于arm 9 内核的s3c2410 嵌入式处理器。s3c2410 被广泛应用于pda、移动通讯、路由器、工业控制等领域, 芯片中集成了下列模块: 16kb 指令cache、16kb 数据cache、mmu、外部存储器控制器、lcd控制器、nand f lash 控制器、4个dma 通道、3通道uart、1 个i2c 总线控制器、1 个iis 总线控制器, 以及4 通道pwm 定时器和一个内部定时器、通用io 口、
19、实时时钟、8 通道10 b it ad 和触摸屏接口、u sb ho st 和u sb device 控制器、sdmmc卡接口等。从可调试、可重用、可扩展等方面考虑 , 整个控制系统硬件采用模块化设计, 由核心板和扩展板2部分构成, 系统结构如图1所示。扩展板舵机接口模块usbhost接口串口调试用上位机usb摄像头其他usb设备usb无线网卡电池麦克喇叭核心板ramram嵌入式处理器flash、rom电源模块音频输入输出接口机器人本体各关节舵机图2.1 拟人机器人控制平台硬件结构图核心板使用了so2d imm 的接口方式, 6 层板设计, 长宽分别为76mm和52mm , 实物照片如图2 所
20、示。核心板提供了一个最小系统, 包括了s3c2410 嵌入式处理器、2 片hy57v 561620 并联构成32 b it 的64mb sdram 内存空间, 一片k9f1208u 0 构成64mb 的nandf lash 空间。扩展板上设计了电源模块、2 个u sbho st 接口、1 个串口、音频输入输出模块和舵机接口模块。设计电源模块时, 为了防止舵机对控制系统产生干扰, 分别对舵机和控制系统供电, 二者不共地, 通过光藕来隔离。usb 接口用来连接摄像头、usb无线网卡、u盘等设备,串口用来输出调试信息。音频输入输出模块则用来和外界做语音交流。舵机接口模块主要由电平驱动芯片、光耦、斯密
21、特反相器构成。电平驱动芯片用来提高驱动能力,光耦用来传输控制信号。控制信号经过光耦后会反相和畸变,需要反相器对它经行反相和整形后再输出给舵机。考虑到机器人的移动性,没有加入以太网模块。核心板上的操作系统和应用程序下载通过专门的调试接口板完成,然后再安装到扩展板上,机器人运行过程中的软件实时调试信息由串口输出。2. 3拟人机器人控制器软件设计拟人机器人的软件系统除了要协调控制各个关节, 还需要进行视觉图像处理、语音识别、数据传输等, 作者选用了rt 2linux 操作系统 6 。普通的linux是一个典型的分时多任务操作系统, 因为分时调度机制和核心的不可抢占性, 其实时性有所欠缺。但由于lin
22、ux 具备开放源代码的优势, 目前已经出现了不少实时linux 操作系统, 如rt 2linux、rta i、lxrt 和ku rt 等。使用rt2linux 系统可以保证机器人控制的实时性。3拟人机器人步行控制方案机器人学专家、日本早稻田大学的加藤一郎教授说过: “机器人应当具有的最大特征之一是步行功能”。步行分为“静态步行”和“动态步行”2 种。静步行是重心移动少、速度慢的步行方式, 动步行则是自身破坏平衡、向前倾斜似的行走 7 。限于机器人的机械设计, 我们只实现了拟人机器人的静态步行。s3c2410 处理器有5 个16 b it 定时器, 其中定时器0,1,2,3具有pwm 脉冲输出功
23、能。pwm 波形的周期, 也是定时器的计时周期, 可以由寄存器tcntbn 来设置, 占空比由寄存器tcmpbn 来设置(n= 0, 1, 2, 3)。在每次pwm 周期结束时, 对应的定时器都会产生一个中断。假如使用定时器直接输出pwm 信号来控制舵机, 由于每个定时器输出pwm 信号的引脚都是固定的, 因此只能是一个定时器控制一个舵机, 这显然无法满足我们的要求。经过分析, 作者考虑使用定时器的中断在多个io 引脚上模拟输出pwm 控制信号, 这样就能实现用一个定时器控制多个舵机。在这个过程中, 定时器状态和io 引脚电平的变化关系可以使用pet ri 网进行建模。图2.2舵机pwm 控制
24、petri 网模型图中p1、p2 分别表示io 引脚输出高电平和低电平的状态, p3p7 分别表示定时器的各个工作状态。舵机的pwm 控制脉冲周期为20m s, 假定使用定时器1 来控制8个舵机, 这8 个舵机分别连接到s3c2410 的8 个io 引脚18, 在某段时间内这8 个舵机的pwm 控制信号中高电平所占的时间分别为t 1t 8。首先io 18 引脚上都输出低电平, 然后在io 1 引脚上输出高电平, 同时将定时器1 计时周期设置为t 1 并启动定时器; 定时器在经过时间t 1 后产生中断, 在中断服务程序中将io 1 引脚输出电平改为低电平, 计时器1 计时周期改为2. 5m s2
25、t 1, 重新启动定时器; 经过2. 5m s2t 1 后产生中断, 在中断服务程序中将io 2 输出电平改为高电平, 将定时器1 计时周期改为t 2, 重新启动定时器; 经t 2 后定时器产生中断, 在中断服务程序中将io 2 引脚输出电平改为低电平, 将定时器1 计时周期设置为2. 5m s2t 2。这样依次进行操作, 就能在8 个io 引脚上模拟出8 路符合要求的舵机控制pwm 信号, 如图2.3 所示。 图2.3 多路舵机pwm控制信号示意图根据上面方案对s3c2410 的定时器0、1 编写了linux 系统下的驱动程序 8 , 由这2 个定时器来控制双足机器人的下肢动作。驱动程序由以
26、下函数组成:1) 在timer- in it 函数中, 注册定时器设备。2) 在timer- open 函数中, 设置了io 引脚功能, 注册定时器中断, 设置定时器的工作模式和输入时钟频率。3) 在timer- write 函数中, 由外部读入关节的控制信息, 打开定时器中断, 并启动定时器。4) 在timer- handler 函数中, 改变对应的io 输出引脚的电平, 并重新设置定时器, 开始下一个定时器周期。中断服务程序流程如图2.4 所示。 图2.4 多路舵机控制信号模拟程序流程图对于舵机的控制, 主要的可变参数就是pwm信号中高电平持续时间。系统可以事先设置一些行走动作对应的参数数
27、组, 也可以由应用程序实时生成这些参数数组, 然后在调用定时器设备的时候, 将参数数组传递给定时器驱动程序。一般的舵机需要cpu 持续为它发出pwm 控制信号, 因此会占用大量cpu 资源, 影响系统的整体性能。我们选用具有电子锁位功能的舵机。这种舵机在收到一组pwm 控制信号后会自动执行至目标位置, 此时如果cpu 停止为它发送控制信号, 舵机会保持该位置。这样就大大减少了cpu 中断发生的次数, 提高了系统的性能。如果使用硬件如cpld实现舵机控制信号的产生, cpu 只需要将舵机控制参数发送给该硬件即可, 同样也可减轻cpu 负担。4应用实例为了检验控制器的实际工作效果, 设计了机器人避
28、障实验。在机器人的头部安装一个小型u sb 摄像头, linux 操作系统对于u sb 设备的支持较好,并且内置了部分摄像头的驱动程序, 可以方便地调用摄像头设备并进行图像识别应用程序的编写和调试。为拟人机器人视觉系统搭建了一个实际的应用场景: 障碍物(方形纸盒) 放置在机器人的正前方,机器人在直线步行过程中可以识别障碍物, 并在一定距离时控制双足做转身动作, 绕开障碍物。经过实验, 机器人控制器可以对摄像头获取的图像进行处理, 识别静止障碍物并调用步行程序进行避让。5结束语此次设计,本文实现了一种基于arm 嵌入式系统的拟人机器人控制器的设计, 相比单片机控制, 封装了底层的硬件驱动, 模块
29、化和易用性更好, 功能扩展更方便。相比上位机控制, 系统的独立性和自主性得到加强。这种方案在成本和性能上做到了较好的折衷, 改善了开发过程, 同时也为其他类型机器人如轮式机器人的设计提供了一个参考。嵌入式系统领域的软硬件技术发展迅猛, 各种应用层出不穷。将嵌入式系统应用于机器人的设计中, 有助于提高机器人的性能, 也会对机器人的智能化、网络化、小型化起到良好的促进作用。另外在设计中让我对嵌入式系统有了更充分的理解。对它的设计有了实践的机会。感谢老师和同学的帮助。通过本次课程设计,了解了嵌入式linux系统以及它的一些应用,还清楚了视频监控网络的一些设计方案和基本原理。在课程设计过程中,通过网络
30、和图书馆找到了一些相关的资料,认真学习和理解后结合以前学到的基础知识找出了最佳方案。在学习理解过程中,由于知识面有限难免遇到很多困难,在老师和同学的帮助下很多问题都得到了解决,使我更加认识到合作的重要性。在以后的学习中一定注意开阔自己的思维,在基础知识的学习上有所创新。参考文献 1 arm9嵌入式系统设计基础教程 黄智伟 邓月明 王彦编著 北京航空航天大学出版社 2 刘莉, 汪劲松, 陈恳, 等. thb ip2i 拟人机器人研究进展j . 机器人, 2002, 24 (3) : 262 - 267.liu li, wang jinsong, chen ken, et al. the research on the biped humanoid robot thb ip2i j . robot, 2002,24 (3) : 262 - 267. ( i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024至2030年CPVC电力护套管项目投资价值分析报告
- 2024年铝翅片电加热器项目可行性研究报告
- 2024年直管型质量流量剂项目可行性研究报告
- 青海大学《推销学》2023-2024学年第一学期期末试卷
- 青海大学《化学学科专业导论》2023-2024学年第一学期期末试卷
- 青海柴达木职业技术学院《红外技术基础双语》2023-2024学年第一学期期末试卷
- 企业文化与品牌形象塑造的关联性研究
- 青岛幼儿师范高等专科学校《大地测量学实验》2023-2024学年第一学期期末试卷
- 人工智能与语音识别技术的融合
- 企业财务管理系统构建与优化
- 工作证明(通用)
- 政协提案关于加强企业诚信建设的建议
- SPC&CPK 超全EXCEL模板
- 化工设计说明书
- 部编本语文八年级上全册文言文课下注释
- 德力西系列变频器说明书
- UleadGifAnimator教程
- 凯旋帝景地产杯篮球争霸赛方案
- 烟草专卖(公司)内部专卖管理监督工作制度
- CFG桩施工中常见问题及处理措施
- 医疗废物处置流程图
评论
0/150
提交评论