课程设计--基于ARM嵌入式系统的拟人机器人控制器的设计.doc_第1页
课程设计--基于ARM嵌入式系统的拟人机器人控制器的设计.doc_第2页
课程设计--基于ARM嵌入式系统的拟人机器人控制器的设计.doc_第3页
课程设计--基于ARM嵌入式系统的拟人机器人控制器的设计.doc_第4页
课程设计--基于ARM嵌入式系统的拟人机器人控制器的设计.doc_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

基于基于 ARM 嵌入式系嵌入式系统统的人机器的人机器 人控制器的人控制器的设计设计 课课程程设计报设计报告告 系系 别:别: 计算机与电子信息工程系计算机与电子信息工程系 专业班级:专业班级: 学生姓名:学生姓名: 学学 号:号: 指导教师:指导教师: (课程设计时间:2013 年 5 月 15 日2013 年 6 月 25 日) 学校学校 1 ARM 嵌入式系嵌入式系统统课程设计任务书课程设计任务书 一、一、设计设计( (调查报调查报告告/论论文)文)题题目目 课题:基于 ARM 嵌入式系统的拟人机器人控制器的设计 二、二、设计设计( (调查报调查报告告/论论文)主要内容文)主要内容 首先构思机器人的机械结构设计,由此计划元件的购买。其次根据机器人 的结构设计构思硬件设计,确定设计的可靠性。有设计框图搭建硬件电路。由 硬件电路的搭建构思软件的设计框图,并根据设计框图编写软件,用仿真软件 搭建硬件电路结合程序仿真,仿真结果符合设计要求后用实体元件完成机器人 的设计。 三、原始三、原始资资料料 开发板的原理图和实验参考程序,参考实验讲义和课设讲义 以及嵌入式系统原理与应用技术教材 一块 ARM 开发板和底板(未焊接) 四、要求的四、要求的设计设计( (调查调查/论论文)成果文)成果 使用实验板和板上的S3C2410芯片,通过计算机实现对其端口的设置; 完成实验方案的设计,根据原理图完成硬件的搭建; 设计机器人行走的方案的程序框图,根据框图编写程序; 根据实验方案,把编写的程序分别进行分组,并封装成一个个可供用户 调用的函数;将编写好的程序烧入搭建好的电路,先在仿真软件上进行 仿真,仿真通过后,进行硬件的连接,改错,调试。 在实验完成的基础上完成课程设计报告的撰写,按照模板的格式书写, 要求有软件流程图和调试过程。 2 五、五、进进程安排程安排 1准备和审题,讲解原理0.5 天 2系统分析1 3总体设计和硬件的完成1.5 4详细设计(编写代码)2 5调试和测试3 6撰写课程设计报告1 7课程设计成果验收0.5 8正式提交课程设计报告和系统源程序0.5 六、主要参考六、主要参考资资料料 嵌入式系统原理与应用技术教材 S3C2410 芯片资料 Arm 开发板硬件原理图和底板的硬件原理图 舵机的工作原理资料 RT 2Linux 操作系统的使用方法手册 指指导导教教师师( (签签名):名): 20 年年 月月 日日 3 1. 引言.5 2.课程设计目的 7 3.课程设计题目描述和要求 7 4 课程设计报告内容 9 4.1 拟人机器人系统架构9 4.2 拟人机器人控制器软硬件设计9 4.3 拟人机器人步行控制方案11 6 参考文献 .15 4 1.1. 引言引言 目前,国内普遍认同的定义是:以应用为中心,以计算机技术为基础,软 硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗严格要求的专 用计算机系统。北京航空航天大学何利民教授给出这样的定义:“嵌入式系统 是嵌入到对象体系中的专用计算机系统。 ”可以这样认为,嵌入式系统是一种专 用的计算机系统,作为装置或设备的一部分。嵌入式系统一般有嵌入式微处理 器、外围硬件设备、嵌入式操作系统以及用户应用程序 4 个部分组成。 “嵌入性” 、 “专用性”和“计算机系统”是嵌入式系统的三个基本要素,对象系统则是指 嵌入式系统所嵌入的宿主系统。嵌入式系统无处不在,在移动电话、数码相机、 MP4、数字电视机顶盒、微波炉等设备中都使用了嵌入式系统。嵌入式计算机系 统是整个嵌入式的核心,可以分为硬件层、中间层、系统软件层和应用软件层。 拟人机器人是机器人研究的一个重要分支, 是由仿生学、机械工程学和控制理 论等多种学科相互融合而形成的一门综合学科。研究人员除了通过软件进行仿 真, 还制作了各种类型的机器人实体。比较著名的国外有本田公司的 Asimo、sony 公司的 Qrio、开放机器人项目 OpenPINO 等, 国内有北京理工大 学牵头研制的“汇童”拟人机器人、哈工大的“H IT ”足球机器人、清华大学 的 THB IP2I 等。不过这些机器人体积庞大, 成本高昂。目前也开发了很多简 易的小型机器人 , 但其中大部分采用简单的单片机进行控制, 可实现的动作和 功能非常有限, 或者需要连接上位机来对它进行控制, 自主性不足。 基于现有的条件, 综合考虑系统的性能和成本,研制了一种基于 ARM 9 处 理器, 采用嵌入式 Linux 的小型拟人机器人, 可以实行静步行走, 同时可扩展视 觉、无线网络和音频输入输出功能, 是一种可完全独立自主化的拟人机器人, 为 相关学科的研究提供了一个验证平台, 还可以作为大学和中专院校机电专业、 自动化专业、计算机专业、仪表与检测专业的试验平台, 进一步完善后, 也是机 器人舞蹈和机器人足球等项目的良好载体. 机器人技术作为 20 世纪人类最伟大 的发明之一,它的研究开始于 20 世纪中期。第一代遥控机械手 1948 年诞生于 美国原子能委员会的阿尔贡研究所,当时用来对放射性材料进行远距离操作, 以保护原子能工作者免受放射线照射。第一台工业机器人产生于 1956 年,是英 5 格尔博格(Engelberger)将数字控制技术与机械臂结合的产物。当时主要是为了 克服串联机构累积的系统误差,以便达到较高的空间定位精度,提出了示教再 现的编程方式,从而使重复定位精度差不多比绝对定位精度提高了一个数量级。 1968 年,日本川崎重工引进美国 IMATION 公司的 UNIMATE 机器人制造技术,开 始了日本机器人时代。1970 年,在美国召开了第一届国际工业机器人学术会议。 此后,机器人的研究得到迅速广泛的普及。1979 年 IMATION 公司推出了 PUMA 系列工业机器人,它的关节由电动机驱动,可配备视觉、触觉、力觉传感器。 到 1990 年己有 30 万台机器人在全世界使用。其中高性能的机器人所占比例不 断增加,特别是各种装配机器人的产量增加较快,和机器人配套使用的的机器 视觉技术和装备也得到迅速发展。进入 20 世纪 90 年代后,装配机器人及柔性 装配技术进入了大发展时期。日本一直拥有全世界机器人总数的 60%左右。到 1998 年,美国拥有机器人 8 万台,德国为 7 万多台,分别占世界机器人总数的 15%和 13%左右。到 2005 年,全世界的机器人总数约 100 万台。 自 50 年代第一台机器人装置在美国诞生以来,机器人的发展经历了一个从 低级到高级的发展过程。 第一代机器人是示教再现型工业机器人,它们装有记忆存储器,由人将作 业的各种要求示范给机器人,使之记住操作的程序和要领。当它接到再现命令 时,则自主地模仿示范的动作作业。 第二代机器人是装有小型计算机和传感器的离散编程的工业机器人,它能 感知外界信息并进行“思维” ,它比第一代机器人更灵活、更能适应环境变化的 需求。 第三代机器人是智能机器人,它不但有第二代机器人的感觉功能和简单的 自适应能力,而且能充分识别工作对象和工作环境,并能根据人给的指令和它 自身的判断结果自动确定与之相适应的动作,是人工智能发展到高级阶段的产 物,也是当今机器人发展的重点和热点。 随着机器人技术的发展,机器人的用途越来越广,开始从传统的工业领域, 向军事、公安、医疗、服务等领域渗透。与此同时,机器人的概念也越来越宽, 己从狭义的机器人,开始向机器人技术扩展。世界上一些发达国家,都非常重 视机器人技术的研究,都将机器人作为一个战略高技术给予支持。这是因为机 6 器人不仅将形成一个大产业,而且将对国家的综合国力,对国家的可持续发展 有着巨大而深远的影响。 2.2.课程设计目的课程设计目的 提出在拟人机器人控制器的设计中使用ARM9处理器S3C2410和RT2Linux构建 小型拟人机器人控制器的系统架构。 以硬件和软件上实现以拟人机器人的行走的总体方案的设计。 3.3.课程设计题目描述和要求课程设计题目描述和要求 1) S3C2410 处理器是 Samsung 公司基于 ARM 公司的 ARM920T 处理器核,采用 FBGA 封装,采用 0.18um 制造工艺的 32 位微控制器。该处理器拥有:独立的 16KB 指令 Cache 和 16KB 数据 Cache,MMU,支持 TFT 的 LCD 控制器,NAND 闪存控制器,3 路 UART,4 路 DMA,4 路带 PWM 的 Timer ,I/O 口,RTC,8 路 10 位 ADC,Touch Screen 接口,IIC-BUS 接口,IIS-BUS 接口,2 个 USB 主机,1 个 USB 设备,SD 主 机和 MMC 接口,2 路 SPI。S3C2410 处理器最高可运行在 203MHz。 2) 需要硬件的数量。 在系统设计中,不仅要选择使用何种微处理器,还要选择存储器的数量、所使 用的外设及其它的内容。因为在满足性能要求的同时也要考虑制造费用的约束,硬 件设备的选择是十分重要的,硬件太少,将不能达到性能的要求,硬件设备过多又 会使产品变得过于昂贵。 3) 时限要求。 通过提高 CPU 的时钟频率的方法来提高程序运行速度以解决时间约束的方法显 得十分笨拙,因为程序的速度有可能受存储系统的限制,因此必须从整个系统的观 点来考虑这个问题 4) 系统的功耗。 对于电池供电的电器而言,功耗是一个十分重要的问题;对于非电池供电的电 器而言,高功耗也会带来高的散热量。降低系统功耗的一种方法就是降低它的运算 速度,但是单纯的降低运算速度显然会导致不能满足性能需求。所以必须从全局的 角度进行设计,以便通过降低系统非关键部分的速度来降低系统功耗,而同时又能 满足系统整体性能的要求。 5) 系统的可升级性。 7 系统的硬件平台可能使用几代,或者使用在同一代的不同级别的产品中,而这些 仅仅需要一些简单的改变就应实现,所以我们必须能够通过改变软件来改变系统的 特性。这就要求我们在软件设计中必须考虑系统的升级问题。进行嵌入式系统设计 有两种最基本的方法。一种是自顶向下的方法,从对系统最抽象的描述开始,一步 一步地推进到细节内容。另外一种方法是自底向上的方法,这种方法从构成系统的 每一个构件开始向上。图 1.1 汇总了嵌入式系统设计的主要步骤。从自顶向下的角 度来看,先从系统的需求开始分析,然后是规格说明,在这一步对整个系统进行更 加细致的描述,但是规格说明只是对系统如何工作进行了描述,并不涉及它的组成。 系统内部的详细构造要在开发系统的体系结构时才能展现出来,这一阶段以大的构 件为单位给出了系统的结构。一旦知道了需要的构件,就可以开始设计这些构件, 包括软件模块和所需要的专用硬件模块。在这些构件的基础上,就可以构造出所需 要的完整的系统。上述设计过程中的这些步骤只是嵌入式系统的全貌的一个轴线, 同时还需要考虑其它一些相关因素。 需求 体系结构 构件 系统集成 规格说明 图 1.1 设计过程的主要抽象层次 具体的说,第一步“需求”就是要清楚要设计什么,从用户那里收集系统的非形式 描述,然后对这些要求进行提炼,以得到系统的规格说明。第二步“规格说明”更 精确一些,它起到客户和生产者之间合同的作用。第三步“体系结构, 是系统整体 结构的一个计划,而后用于设计搭建整个体系结构的构件。结构设计的创建也是许 多设计者认为的设计的第一阶段,形象化的话就是把系统用功能框图来表示,然后 8 可以再细分成硬件框图和软件框图。第四步“软硬件构件,使得构件与体系结构和 规格说明达到一致,一些构件可能是现成的,比如 CPU、存储芯片或者各种模块等, 同样软件也有标准的模块可以利用,比如现有的操作系统、TCP/IP 协议等,但也要 自己设计一些构件,硬件方面如一些电路等,软件方面如定制一些文件系统或者网 络协议以满足特别的要求。第五步“系统集成, ,是将构件集成到一个能运转的系统。 6)在实验完成的基础上完成课程设计报告的撰写,按照模板的格式书写,要求有软 件流程图和调试过程。 4 4 课程设计报告内容课程设计报告内容 4.1 拟人机器人系统架构 拟人机器人机械结构设计 在机械结构和自由度分配上, 设计的拟人机器人采用双轴输出伺服电机(也称 为“舵机”)为活动关节, 其中 2 条下肢各 6 个关节, 2 条上肢各 4 个关节, 头部 1 个关节, 共需使用 21 个舵机。 舵机是一种位置伺服的驱动器, 适用于那些需要角度不断变化并可以保持的 控制系统。其工作原理是: 控制信号进入舵机内部的信号调制芯片, 获得直流偏置电 压; 内部还有一个基准电路, 产生周期为 20m s、宽度为 1. 5m s 的基准信号, 将获得 的直流偏置电压与电位器的电压比较, 获得电压差输出;最后, 电压差的正负输出到 电机驱动芯片决定电机的正反转。当电机转速一定时, 通过级联减速齿轮带动电位 器旋转, 使得电压差为 0, 电机停止转动。舵机的控制信号是脉宽调制(PWM ) 信号, 利用占空比的变化改变舵机的位置, 通常控制周期 T = 20m s,高电平脉宽 0. 5 2. 5m s, 对应于- 90 + 90的转角。 4.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 定时器和一个内部定时器、通 9 用 IO 口、实时时钟、8 通道 10 b it AD 和触摸屏接口、U SB Ho st 和 U SB Device 控制器、SDMMC 卡接口等。 从可调试、可重用、可扩展等方面考虑 , 整个控制系统硬件采用模块化设计, 由核 心板和扩展板 2 部分构成, 系统结构如图 1 所示。 扩展板 舵机接口模块 USBHO ST 接口 串口 调试用 上位机 USB 摄像头 其他 USB 设 备 USB 无 线网卡 电池 麦克 喇叭 核心板 RAM RAM 嵌入 式处理器 FLASH、R OM 电源模 块 音频输 入输出 接口 机器人本体各关节舵机 图 1 拟人机器人控制平台硬件结构图 核心板使用了 SO2D IMM 的接口方式, 6 层板设计, 长宽分别为 76mm 和 52mm , 实物照片如图 2 所示。核心板提供了一个最小系统, 包括了 S3C2410 嵌入式处理器、 2 片 HY57V 561620 并联构成 32 b it 的 64MB SDRAM 内存空间, 一片 K9F1208U 0 构成 64MB 的 NANDF lash 空间。扩展板上设计了电源模块、2 个 U SBHO ST 接口、 1 个串口、音频输入输出模块和舵机接口模块。设计电源模块时, 为了防止舵机对 控制系统产生干扰, 分别对舵机和控制系统供电, 二者不共地, 通过光藕来隔离。 USB 接口用来连接摄像头、USB 无线网卡、U 盘等设备,串口用来输出调试信息。音 频输入输出模块则用来和外界做语音交流。舵机接口模块主要由电平驱动芯片、光 耦、斯密特反相器构成。电平驱动芯片用来提高驱动能力,光耦用来传输控制信号。 控制信号经过光耦后会反相和畸变,需要反相器对它经行反相和整形后再输出给舵 机。考虑到机器人的移动性,没有加入以太网模块。核心板上的操作系统和应用程 序下载通过专门的调试接口板完成,然后再安装到扩展板上,机器人运行过程中的 10 软件实时调试信息由串口输出。 图 2 实物图 拟人机器人控制器软件设计 拟人机器人的软件系统除了要协调控制各个关节, 还需要进行视觉图像处理、 语音识别、数据传输等, 作者选用了 RT 2Linux 操作系统 6 。普通的 Linux 是一个 典型的分时多任务操作系统, 因为分时调度机制和核心的不可抢占性, 其实时性有所 欠缺。但由于 Linux 具备开放源代码的优势, 目前已经出现了不少实时 Linux 操作 系统, 如 RT 2Linux、RTA I、LXRT 和 KU RT 等。使用 RT2Linux 系统可以保证 机器人控制的实时性。 4.3 拟人机器人步行控制方案 机器人学专家、日本早稻田大学的加藤一郎教授说过: “机器人应当具有的最 大特征之一是步行功能” 。步行分为“静态步行”和“动态步行”2 种。静步行是重 心移动少、速度慢的步行方式, 动步行则是自身破坏平衡、向前倾斜似的行走 7 。 限于机器人的机械设计, 我们只实现了拟人机器人的静态步行。 S3C2410 处理器有 5 个 16 b it 定时器, 其中定时器 0,1,2,3 具有 PWM 脉 冲输出功能。PWM 波形的周期, 也是定时器的计时周期, 可以由寄存器 TCNTBn 来 设置, 占空比由寄存器 TCMPBn 来设置(n= 0, 1, 2, 3)。在每次 PWM 周期结束时, 对应的定时器都会产生一个中断。假如使用定时器直接输出 PWM 信号来控制舵机, 由于每个定时器输出 PWM 信号的引脚都是固定的, 因此只能是一个定时器控制一个 舵机, 这显然无法满足我们的要求。经过分析, 作者考虑使用定时器的中断在多个 IO 引脚上模拟输出 PWM 控制信号, 这样就能实现用一个定时器控制多个舵机。 在这个过程中, 定时器状态和 IO 引脚电平的变化关系可以使用 Pet ri 网进行建 模。 11 图 3 舵机 PWM 控制 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 s2T 1, 重 新启动定时器; 经过 2. 5m s2T 1 后产生中断, 在中断服务程序中将 IO 2 输出 电平改为高电平, 将定时器 1 计时周期改为 T 2, 重新启动定时器; 经 T 2 后定时 器产生中断, 在中断服务程序中将 IO 2 引脚输出电平改为低电平, 将定时器 1 计时周期设置为 2. 5m s2T 2。这样依次进行操作, 就能在 8 个 IO 引脚上模拟出 8 路符合要求的舵机控制 PWM 信号, 如图 4 所示 12 图 4 多路舵机 PWM 控制信号示意图 根据上面方案对 S3C2410 的定时器 0、1 编写了 Linux 系统下的驱动程序 8 , 由这 2 个定时器来控制双足机器人的下肢动作。驱动程序由以下函数组成: 1) 在 timer- in it 函数中, 注册定时器设备。 2) 在 timer- open 函数中, 设置了 IO 引脚功能, 注册定时器中断, 设置定时器 的工作模式和输入时钟频率。 3) 在 timer- write 函数中, 由外部读入关节的控制信息, 打开定时器中断, 并启 动定时器。 4) 在 timer- handler 函数中, 改变对应的 IO 输出引脚的电平, 并重新设置定 时器, 开始下一个定时器周期。 中断服务程序流程如图 5 所示。 图 5 多路舵机控制信号模拟程序流程图 13 此次设计,本文实现了一种基于 ARM 嵌入式系统的拟人机器人控制器的设计, 相比 单片机控制, 封装了底层的硬件驱动, 模块化和易用性更好, 功能扩展更方便。相 比上位机控制, 系统的独立性和自主性得到加强。这种方案在成本和性能上做到了 较好的折衷, 改善了开发过程, 同时也为其他类型机器人如轮式机器人的设计提供 了一个参考。嵌入式系统领域的软硬件技术发展迅猛, 各种应用层出不穷。将嵌入 式系统应用于机器人的设计中, 有助于提高机器人的性能, 也会对机器人的智能化、 网络化、小型化起到良好的促进作用。另外在设计中让我对嵌入式系统有了更充分 的理解。对它的设计有了实践的机会。感谢老师和同学的帮助。通过本次课程设计, 了解了嵌入式 linux 系统以及它的一些应用,还清楚了视频监控网络的一些设计方 案和基本原理。在课程设计过程中,通过网络和图书馆找到了一些相关的资料,认 真学习和理解后结合以前学到的基础知识找出了最佳方案。在学习理解过程中,由 于知识面有限难免遇到很多困难,在老师和同学的帮助下很多问题都得到了解决, 使我更加认识到合作的重要性。在以后的学习中一定注意开阔自己的思维,在基础 知识的学习上有所创新。 对于舵机的控制, 主要的可变参数就是 PWM 信号中高电平持续时间。系统可以 事先设置一些行走动作对应的参数数组, 也可以由应用程序实时生成这些参数数组, 然后在调用定时器设备的时候, 将参数数组传递给定时器驱动程序。 一般的 舵机需要 CPU 持续为它发出 PWM 控制信号, 因此会占用大量 CPU 资源, 影响系统 的整体性能。 我们选用具有电子锁位功能的舵机。这种舵机在收到一组 PWM 控制信号后会 自动执行至目标位置, 此时如果 CPU 停止为它发送控制信号, 舵机会保持该位置。 这样就大大减少了 CPU 中断发生的次数, 提高了系统的性能。如果使用硬件如 CPLD 实现舵机控制信号的产生, CPU 只需要将舵机控制参数发送给该硬件即可, 同样也 可减轻 CPU 负担。 5 5 调试过程及总结调试过程及

温馨提示

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

评论

0/150

提交评论