两轮自平衡倒立摆式机器人系统设计与控制——毕业论文_第1页
两轮自平衡倒立摆式机器人系统设计与控制——毕业论文_第2页
两轮自平衡倒立摆式机器人系统设计与控制——毕业论文_第3页
两轮自平衡倒立摆式机器人系统设计与控制——毕业论文_第4页
两轮自平衡倒立摆式机器人系统设计与控制——毕业论文_第5页
免费预览已结束,剩余66页可下载查看

下载本文档

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

文档简介

英 文 摘 要分 类 号 密 级 U D C 单位代码 大 连 海 事 大 学工程硕士学位论文两轮自平衡倒立摆式机器人系统设计与控制 指 导 教 师 职 称 学位授予单位大连海事大学申请学位类别工程硕士工程领域 控制工程论文完成日期 答辩日期 答辩委员会主席 摘 要两轮自平衡倒立摆式机器人是一个本质不稳定系统,由于其自身的特性,可以用来研究各种控制算法。它具有结构简单、成本低、能量利用率高等特点,并且在很多领域代替人类从事着危险、复杂的劳动,发挥着重要的作用。近些年来,由于其具有广阔的应用前景,已经成为机器人研究领域的一个重要分支。本文设计了一个基于BeagleBone Black开发板的两轮自平衡倒立摆式机器人。机器人使用集成了加速度计和陀螺仪的姿态检测模块MPU6050检测角度和角速度,超声波模块HC-SR04测量机器人与障碍物之间的距离,光电编码器测量车轮的转速;BeagleBone Black开发板通过卡尔曼滤波将得到的角度和角速度进行数据融合,得到比较准确的角度,同时对测得的所有数据进行处理得到PWM值,通过电机驱动模块TB6612驱动电机,实现机器人的平衡以及避障功能。本文又根据经典的牛顿力学对系统建立动态数学模型,根据建立的模型设计双闭环PID控制器,并对设计的控制器进行仿真实验,为实物调试提供理论依据。本文结合硬件设计及系统工作方式对系统进行软件设计。最后,根据仿真得到的结果进行软硬件的整体调试工作。最终使机器人能够达到平衡状态,并能实现避障功能。关键词:轮式倒立摆;机器人;BeagleBone Black;PID控制;软硬件设计ABSTRACTTwo-wheeled self-balancing inverted-pendulum robot is a natural unstable system, which can be used to study variable control algorithms due to its own characteristics. It has the features of simple structure, low cost, high energy utilization and so on, and replaces human to be engaged in dangerous and complex labor in many areas which plays an important role. For the past few years, it has become an important branch in the field of robotic research, for which it has broad prospects of applications. A two-wheeled self-balancing inverted-pendulum robot based on the BeagleBone Black is designed.The robot uses the MPU 6050 to measure angle and angular velocity which integrates accelerometer and gyroscope, uses ultrasonic module to measure the distance of the robot and the obstacle, and uses encoders to measure the wheel speed; BeagleBone Black performs data fusion of the angle and the angular velocity via the kalman filter, so as to obtain more accurate angle, at the same time, it deals with all the data measured to get a PWM value, which drives the motor through motor driver module TB6612, to achieve the balance of the robot and obstacle avoidance function.A dynamic mathematical model is established according to the classical Newtonian mechanics, a double closed loop PID controller is designed according to the model established, and then simulation experiments is carried out on the design of the controller, which provides the theoretical basis for physical testing.Software is designed according to the hardware design and the operation mode of the system. Eventually, the overall debugging of software and hardware is carried out according to the data of the simulation. Finally, the robot can reach equilibrium, and is able to realize the obstacle avoidance function.Keywords: Wheeled Inverted Pendulum; Robot; BeagleBone Black; PID Control; Design of Hardware and Software 目 录目 录第1章 绪论11.1 选题背景和意义11.2 国内外研究现状21.2.1 国外研究现状31.2.2 国内研究情况41.3 论文的研究内容51.4 本章小结6第2章 两轮自平衡倒立摆式机器人系统硬件设计与实现72.1 控制系统硬件总体设计72.2 主控制器模块82.3 电源模块112.3.1 电源112.3.2 电压转换模块112.3.3 电压转换器132.3.4 供电顺序142.4 检测模块152.4.1 姿态检测传感器模块152.4.2 超声波模块172.4.3 编码器模块192.5电机驱动模块202.5.1 电动机202.5.2 电机驱动212.6 扩展功能232.6.1 GPS模块232.6.2 BMP180压力检测模块232.6.3 HC-06蓝牙模块242.7 本章小结25第3章 两轮自平衡倒立摆式机器人系统的控制策略263.1 两轮自平衡倒立摆式机器人系统的建模263.1.1 直流电机模型263.1.2 车轮模型273.1.3 车身模型293.1.4 机器人模型323.2 两轮自平衡倒立摆式机器人系统的控制算法343.2.1 PID控制算法的介绍343.2.2 PID控制器的设计与仿真363.3 本章小结41第4章 两轮自平衡倒立摆式机器人系统的实现424.1 两轮自平衡倒立摆式机器人系统开发平台424.1.1 操作系统Debian介绍424.1.2 BeagleBone Black的通信方式及软件开发平台424.2 软件开发流程及程序设计444.2.1 系统整体开发设计流程444.2.2 系统的初始化454.2.3 姿态传感器数据采集的程序设计464.2.4 编码器测速的程序设计504.2.5 超声波测速的程序设计524.2.6 驱动模块的程序设计564.2.7核心控制部分的程序设计574.3系统实现584.4 本章小结59第5章 总结与展望605.1 总结605.2 存在的问题和改进605.3 展望61参 考 文 献62附录 两轮自平衡倒立摆式机器人原理图65两轮自平衡倒立摆式机器人系统设计与控制第1章 绪论1.1 选题背景和意义移动机器人技术作为20世纪人类最伟大的发明之一,自问世以来,就一直备受瞩目1。科学技术日新月异,机器人技术更是迅猛发展,应用领域不断扩展。从自动化生产线到海洋资源的探索,乃至太空作业等领域,机器人从事着危险、复杂的劳动,其身影可谓是无处不在2。目前,机器人已经走进了我们的生活与工作中,在很多领域代替人类的劳动,发挥着重要的作用,人类已经越来越离不开机器人的帮助3。随着近年来以智慧地球、智能电网和智能家居等高端前沿产品为标志的物联网的快速发展,将移动机器人技术与物联网技术结合更是成为了科技的发展趋势。移动机器人由于其广阔的应用前景,已经成为机器人研究领域的一个重要分支45。两轮自平衡倒立摆式机器人是移动机器人的一种,其结构相当于直线倒立摆和轮式移动机器人的组合。倒立摆是一个相当复杂的高阶次、多变量、非线性、强耦合、不确定的绝对不稳定系统6,由于其严重非线性和高阶次,必须施加十分强有力的控制手段才能使之稳定。因此,倒立摆控制已经成为自动控制领域中的一个十分经典而又具有挑战性的研究课题,许多新的实时控制理论都通过倒立摆试验加以验证。从控制系统的角度来讲,两轮自平衡机器人具有很高的理论研究价值。近年来有很多关于控制移动轮式倒立摆模型问题的研究,并将其广泛应用到自主机器人和智能交通工具上78。两轮自平衡倒立摆式机器人是一种两轮左右并行布置的自平衡系统,与其它类型的机器人相比最主要的特点是自平衡问题,即要在各种状态下保持动态平衡。实际上两轮自平衡倒立摆式机器人可以理解成在计算机的控制下,通过对各种状态参数的实时分析,使系统在水平方向或垂直方向上的位移和角度(角速度)的偏移量控制在允许的范围内,从而使系统保持平衡。相比于直线倒立摆,两轮自平衡机器人的底端可以自由移动,具有占地面积小和运动灵活敏捷等特点,可以应用在许多特殊的环境1,如空间狭小的搜救地或拥挤的办公环境中,也可以用于特殊交通工具、特殊运载工具、特殊运动器械、残疾人保障系统、紧急服务、邮件派送、个人移动工具、空间探索、战场侦察、危险物品运输、高科技玩具等方面9,尤其是在载人运输领域,两轮自平衡机器人具有很大的发展潜力。现如今,它已经作为一种小范围、短距离的代步工具,应用于汽车无法通行、步行不便的场合,既可以减少污染又可以解决交通堵塞问题10。本文将核心处理器为ARM Cortex-A811的BeagleBone Black开发板作为嵌入式硬件系统核心控制器,并以Linux12发行版之一Debian为软件基础共同构建了自平衡机器人控制平台的开源软硬件系统。嵌入式系统是指以应用为核心,以计算机技术为基础,软硬件可裁剪,对功能、可靠性、成本、体积和功耗有严格要求的专用计算机系统13。嵌入式系统带有个人计算机的计算能力,经过裁剪以适应家电或者工业设备的需要14。它对功耗和系统精简的精简程度有着很高的要求,所以硬件和软件都必须高效地设计在一起。嵌入式系统正如个人计算机一样快速地发展。早期的嵌入式系统只有2000字节,而现在的嵌入式处理器的性能和功能已经达到了标准个人计算机的水平,具有满足任何类型计算机需求的计算资源。嵌入式Linux系统具有开源免费、可裁剪性强、功能强大等诸多优势15。它的稳定性很好,而且运行所需的资源少,十分适用于嵌入式场合。Linux系统是一个成熟而稳定的网络操作系统,对ARM具备良好支持并具有强大的开发支持,日益成为主流的嵌入式操作系统之一。小型但功能强大的Linux系统可以基于低成本的硬件,再结合开源软件便构成了一个探索嵌入式世界的平台。BeagleBone Black正是这种结合的产物。BeagleBone Black是一款拥有嵌入式操作系统的开源硬件16。我们可以在BeagleBone Black官方网站上面下载电路原理图和PCB图,了解其内部结构和原理,便于软硬件的开发。此外,由于它是开源的,大家可以任意获取并修改,以满足自己特殊的需求,不需要交纳许可费用,并且只需要向邮件列表发送一封邮件即可在Linux社区中获得支持。近年来自由开源硬件在嵌入式应用上越来越受到青睐,它的讨论社区也日趋庞大,提出的问题可以得到快速解决。1.2 国内外研究现状围绕两轮自平衡机器人进行控制理论和控制方法研究的动因主要有两个,一是为了了解两轮机器人自身的运动平衡控制问题;二是为了检验或验证某种控制理论或控制方法。围绕两轮自平衡机器人运动平衡控制这一核心问题的研究工作也有大量文章报道17。1.2.1 国外研究现状最早提出两轮自平衡机器人构想的是日本电气通信大学的荣誉教授山藤一雄18。他在研究单轮车平衡问题的时候萌生了两轮倒立摆小车的想法。1986年,他制造一种名叫“平行双轮机器人(简称PB Robot)”的原型机,并于1987年取得了一项专利。该移动机器人控制电路和驱动电路安装在机体上部,利用轮上小杠杆与地面相接触检测机体的倾角。1996年,日本筑波大学的Ha和Yuta为两轮自平衡机器人Yamabico Kurara19设计了基于状态反馈的控制策略,两轮分别由电机独立驱动,用陀螺仪测量机身倾角,用编码器测量轮子的转动速度,使Yamabico Kurara实现了自平衡并能在平面上自由行进。1999年,韩国Kim等提出了输入输出线性化控制方法,以实现两轮机器人的位置和姿态控制。2001年,美国发明家Dean Kamen推出了划时代的个人交通工具Segway HT (HT意为Human Transporter,后改为PT,意为Personal Transporter),并首先用于美国人员密集的机场。实际上,Dean Kamen在1995年就开始秘密研制Segway,直到2001年12月,这种高度机密的新发明才被公布出来。2003年3月Segway正式在美国市场上市,而且自问世以来已经成为一种深受人们欢迎的个人交通工具。Segway独特的动态稳定技术与人体的平衡能力相似,5个固态陀螺仪、倾斜传感器、高速微处理器和电动机以每秒100次的速度监测车体姿态,测出驾驶者的重心,能够瞬间完成计算,并以每秒20000次的频率进行细微调整,不管什么状态和地形都能自动保持平衡。它的运动也和人保持平衡的本能反应相同,没有刹车和油门身体前倾则向前运动,后倾则后退,直立则停下,转向则通过旋转两个手腕下方的操纵把手来完成。2002年,瑞士联邦工学院的Aldo Darrigo等人也研制出了类似Segway的一种无线控制的两轮式自平衡倒立摆机器人并具有行走功能,名字叫做Joe2021。Joe身高650mm,重12kg,最大运动速度可以达到1.5m/s。它用一个DSP实现控制,一个电源放大器给电机供电,用传感器检测机器人的状态。Joe解耦状态空间控制器分解运动并简化控制过程,能进行U形回转和零半径回转,其机动性达到前所未有的水平。2002年,美国Southern Methodist大学的David研制出两轮移动机器人nBot22。该机器人采用集成了一个陀螺仪和两个加速度计的组合传感器FAS-G来测量机器人的位姿,通过维纳滤波器进行数据融合。nBot不仅可以进行零半径回转,还可以在运动过程中碰到障碍物后自主选择路线绕过障碍物继续运动,实现了在室内、室外、平坦路面、崎岖路面等环境下的运动。2004年,Homebrew机器人俱乐部的孔Ted Larson和Bob Allen制作了的两轮移动机器人Bender,该机器人由三层板构成,重心竖直靠上,顶层安装了一个摄像头使其具备自主移动的能力。由于其平衡能力表现很出色,获得了第一届年度Rob Olympics“Best of Show”类金奖。2006年,美国的Dan Piponi设计了两轮自平衡机器人Equibot,被称为迷你版美国Segway。但它只适合在平坦地面上运动,若地面出现凹凸或者爬坡等特殊情况,机器人可能发生跌倒,无法正常运动。2008年,美国Tiger电子公司和日本Sega玩具公司共同推出了名为AMP的两轮机器人。AMP身高90cm,采用独家的陀螺仪技术,配备有声纳米和红外传感器,在跟踪模式下能追随人运动,还能播放音乐和跳舞。1.2.2 国内研究情况近年来国内也掀起了研制两轮自平衡机器人的热潮。2003年,中国科学技术大学自动化系与力学和机械工程系联合研发了自平衡两轮电动车,并具有自主知识产权。由于该项目有很好的实用性、新颖性,并且有很大的产业化空间和诱人的市场前景,实验样机在第二届和第三届中国合肥高新技术项目资本对接会上受到广泛关注。该产品还参加了第八届“挑战杯”全国大学生课外学术科技作品竞赛,荣获三等奖。2004年,中国科学技术大学段旭东等模仿机器人Joe设计了二轮小车倒立摆系统,并针对系统建模过程中可能出现的不确定性以及噪声问题进行了研究。2004年,北京理工大学的李航、河南科技大学的韩建海和赵书尚等对两轮机器人进行建模,并在此基础上研制出带有安全轮的平行双轮电动车。他们使用Lagrange方程23建立了具有三自由度的数学模型,通过闭环状态反馈进行极点配置,对机器人进行仿真。2005年,西安电子科技大学叶聪红等研制出带有两个随动轮的两轮驱动小车。小车根据已知的环境信息实现期望的路径规划。速度反馈和位置反馈使小车抗干扰能力有所提高。2005年,哈尔滨工程大学的尹亮制作了一部双轮直立的两轮自平衡机器人,名字叫做Sway。此机器人的主控芯片是8051单片机;加速度计和反射式红外线距离传感器测量车体倾斜角度,这样提高了检测精度;机器人与上位机之间通过MODEM进行数据通讯;LCD显示作为人机交互界面;用完全隔离的电源供电以减少干扰。2010年,中国台湾Tsai等采用人工神经网络为两轮自平衡机器人构造了自适应控制器。1.3 论文的研究内容在查阅了两轮自平衡倒立摆式机器人相关文献的基础上,分析了机器人控制原理及其运动控制的特性,设计出以开源硬件BeagleBone Black开发板为核心的数字式运动控制器。本文采用鲁棒性很好的PID控制算法设计运动控制器,然后将运动控制器应用到机器人上进行实际控制。根据本课题的研究内容,论文主要分为以下四章内容,每章具体内容如下:第1章 :绪论。主要介绍本课题的研究背景及意义、国内外的研究现状并且概述本课题的主要研究内容。第2章 :硬件设计与实现。根据系统的功能需求对硬件进行调查并筛选,确定硬件选型,提出两轮自平衡倒立摆式机器人系统的设计方案,完成机器人控制系统的硬件设计。主要工作是根据各个模块的工作原理及特性进行原理图和PCB电路板的设计。第3章 :模型建立与仿真。针对两轮自平衡倒立摆式机器人系统,利用牛顿力学定律得到系统的动态模型,针对模型设计双闭环PID控制器,并在Matlab环境下对其进行仿真,为实际应用打下基础。第4章 :软件设计与调试。包括对系统开发环境的介绍,整体软件设计的流程,以及各个模块的具体实现,主要有姿态检测的数据检测与滤波,控制算法的实现等。最后,将软件部分应用于硬件系统,进行软硬件调试,实现系统所期望达到的效果。第5章 :总结与展望。总结了本文研究内容,提出了存在的问题,并对课题的发展方向进行展望。1.4 本章小结本章主要介绍了课题研究的背景及意义,说明设计两轮自平衡倒立摆式机器人的重要性。接着介绍了两轮自平衡倒立摆式机器人的国内外研究现状,最后阐述了本课题的主要研究内容及论文结构安排。-65-第2章 两轮自平衡倒立摆式机器人系统硬件设计与实现2.1 控制系统硬件总体设计两轮自平衡倒立摆式机器人系统主要实现自平衡和避障功能。首先利用陀螺仪和加速度计作为姿态检测传感器不断测量车身的倾斜角度等姿态信息,超声波实时检测机器人与障碍物之间的距离,两个与驱动电机同轴的光电编码器检测车轮的转速。随后将测得的所有信号发送给核心控制器BeagleBone Black,控制器相当于“大脑”,处理各种传感器传送过来的外界信号,并做出合适反应,发出相应的指令给执行机构,驱动电机前进或者后退,使两轮自平衡倒立摆式机器人达到平衡状态并能够避开障碍物。图2.1 系统架构图Fig.2.1 The system frame diagram从两轮自平衡倒立摆式机器人系统的工作原理可知系统需要核心处理器、姿态检测传感器、超声波传感器、驱动和执行机构以及电源模块。同时,本文还设计了扩展功能,如GPS、压力检测以及蓝牙等功能。因此,将自平衡机器人系统分解成五个子系统,分别为主控制器、电源模块、传感器模块、电机驱动模块以及扩展模块。整体架构如图2.1所示,具体电路原理图如附录所示。两轮自平衡倒立摆式机器人系统的硬件主要部分组成如表2.1所示: 表2.1 机器人系统硬件组成Tab.2.1 Hardware components of robot system名称数量名称数量BeagleBone Black开发板1 光电编码器2 MPU6050模块1 LM2596S稳压模块1 电机驱动模块1TXB0108电平转换器2 超声波模块1 18650锂电池3 GB37-3530电机2 塑料轮胎2 2.2 主控制器模块对于两轮自平衡倒立摆式机器人来说,最重要的莫过于选择一个合适的嵌入式处理器进行控制并与机器人通信。大部分机器人项目在体积方面都有很小的工艺要求,但却需要很多不同种类的连接接口,以便使同一处理器用于不同需求和功能的项目中。本文使用BeagleBone Black这款开源开发板作为其核心控制单元,它有很小的外形,不仅能提供电源,还提供了完整的基于Linux的操作系统,非常适合机器人研究项目24。BeagleBone Black是2013年刚刚诞生的开源硬件。所谓开源硬件是指可以通过公开渠道获得的硬件设计,任何人可以对已有的设计进行学习,修改,以满足自己特殊的需求,使个人利用硬件的便利性最大化。此外,不需要交纳许可费用就可以在Linux社区中获得支持,用户只需向邮件列表发一封邮件,即可获得作者的支持。我们可以在BeagleBone Black官方网站上面下载电路原理图和PCB图25,了解其内部结构和原理,便于软硬件的开发。由于它是开源的,其讨论社区也日趋庞大,提出的问题可以得到快速解决。与普通的PC硬件相比,嵌入式系统的硬件系统具有体积小,集成效率高的特性。嵌入式系统去除了冗余,力争用最小的系统完成目标功能;低功耗,电磁兼容性好,能在恶劣环境下工作,死机时能够快速重启。而且嵌入式系统硬件在价格、功能、体积、重量、能耗等方面都有严格的限制13。在BeagleBone Black的操作系统上可完成复杂的算法,能够代替PC机完成各种任务,本文使用Linux发行版之一Debian操作系统。嵌入式Linux最大特点就是源代码公开且遵循GPL协议,是目前嵌入式领域比较热门的操作系统14。BeagleBone Black选用TI公司推出的AM3359芯片作为处理器,AM3359是一款性价比极高的ARM Cortex-A8内核芯片,BeagleBone Black这块开发板也是TI公司的官方指定开发板之一。BeagleBone Black的应用场景非常广,能够满足包括游戏外设、家庭和工业自动化、消费类医疗器械、打印机、智能收费系统、智能售货机称重系统、教育终端和高级玩具等在内的各个领域的不同需求。BeagleBone Black作为三大开源平台之一,融合了其它两个开源平台Arduino与树莓派的优点。它既有比8位微处理器Arduino还多的GPIO端口,还有比树莓派更高的性能。它拥有Arduino良好的可扩展性,兼具Raspberry Pi快速处理器和Linux灵活的开发环境。此外,它输入输出功能完善,而且便于接入网络,我们可以利用这个功能通过Web端监测数据等26。BeagleBone Black功能强大,而且有很强的可开发性,日后可以增加更多的功能,如扩展温度和压力等传感器、WIFI和Zigbee等无线串口、3D打印设备以及GPS等功能,而且无需担心GPIO端口不足或者配置不够的问题。此外,BeagleBone Black有足够的FLASH存储和RAM来支撑一个性能完整的操作系统。得益于Beagleboard开源社区和TI公司的努力,BeagleBone Black预装了开源Linux发行版之一Debian操作系统。不像其他一些流行的八位微处理器,只有几千字节的存储空间,我们可以在BeagleBone Black上面一次性存储很多程序和文件,也加快了在BeagleBone Black上面编辑、编译和测试程序的进程。当然,BeagleBone Black也可以运行其它操作系统,包括各种GNU/Linux发行版本、安卓和Windows CE。实行办法就是利用Micro SD进行其他系统的安装,本文在开发板的原有系统Debian上进行开发。综上可知,BeagleBone Black的软硬件都是开源的。对于BeagleBone Black,代码的编写编译都可以在本地进行,而且可以使用的语言种类繁多,如C、C+、Python、Perl都可以用来为BeagleBone Black编程。BeagleBone Black自带了基于Web的Cloud9编译器以及对应的BoneScript语言,只需要有网络和浏览器就可以为BeagleBone Black编程27。由于本文需要对硬件底层进行操作和修改,所以使用C语言进行编程。BeagleBone Black拥有完整的开发接口以及完善的扩展接口,提供了低成本,高扩展性的ARM平台。如图2.2所示,它的扩展板载接口包括:一个HDMI D type接口;一个10/100M以太网接口;一个集成了PHY的高速USB 2.0 OTG接口,可供BeagleBone Black通过USB接口与电脑通信并进行相关功能的开发;一个集成了PHY的高速USB2.0 HOST接口;一个TF卡接口,可以进行内存扩展及系统安装;一个3线调试串口;一个HDMI D type可进行LCD和音频扩展;两个扩展接口,可扩展接口包括:eMMC、LCD、UART、ADC、I2C、SPI和PWM等;一个JTAG接口。其板载存储器包括:一个4GB eMMC Flash存储器和一个512MB DDR3 SDRAM存储器。图2.2 BeagleBone Black 基本结构Fig.2.2 Basic structure of the BeagleBone BlackBeagleBone Black输入电源为5V电压;两个扩展口共有92个cape引脚;由于其内部有电源模块,有两个引脚可提供3.3V电压,四个引脚可提供5V电压;其余GPIO端口的工作电压皆为3.3V。此系统使用该控制器的资源为:两个3.3V电压分别供电给姿态检测模块MPU6050和电平转换器TXB0108;10个通用GPIO端口分别负责控制电机的工作状态及正反转(5个GPIO端口)、超声波检测模块的信号检测(4个GPIO端口)和控制其它模块电路通断;两个复用为EQEP功能的GPIO端口负责编码器的速度采集;两个复用为I2C功能的GPIO端口负责与姿态检测模块进行I2C通信;两个复用为EHRPWM功能的GPIO端口用于控制PWM值进而控制电机电压。2.3 电源模块电源模块由电源、电源稳压和电平转换三大部分组成,电源为系统提供电压,电源稳压部分将电源转换成各个模块所需要的电压,电平转换部分负责解决模块之间通信的电平转换问题。2.3.1 电源由于自平衡机器人需要自主移动,所以使用三节使用方便的3.7V锂离子电池供电,共提供约11V电压。锂离子电池是可充电的,它具有能量密度高、电压高、输出功率大、低自放电、充电速度快和没有记忆效应等优点。从性价比和使用方便程度等角度考虑,此机器人使用市面上很容易买到的强光手电筒上使用的容量为4800mAh的18650锂离子电池。为防止过充、过放,本文在锂离子电池上加了保护板。2.3.2 电压转换模块系统中各个模块所需要的电压不尽相同,主要需要11.1V、5V和3.3V三种电压。其电源分配如图2.3所示。图2.3电源分配示意图Fig.2.3 The schematic diagram of power distribution系统中需要电压最高的是电动机,本文用锂离子电池提供的11.1V电压驱动电动机;其余部分需要5V和3.3V,需要5V电压供电的有BeagleBone Black开发板、编码器、超声波模块HC-SR04、驱动模块TB6612和GPS模块;需要3.3V电压供电的有姿态检测模块MPU6050、蓝牙模块HC-06和BMP180压力检测模块。因此,除了电动机,需要把电源提供的11.1V电压转换成各模块所需电压。BeagleBone Black开发板内部有电源模块,可以向外部提供3.3V和5V电压,但是每个引脚通过的电流有限制,考虑到开发板的安全和电路复杂程度两个问题,选用开发板给工作电流不是很大的姿态检测模块MPU6050、蓝牙模块HC-06和压力检测模块BMP180提供3.3V电压。工作电压为5V的模块则由电压转换模块LM2596S完成,它将11.1V电源电压转换成5V电压。LM2596S开关电压调节器是降压型电源管理单片集成电路,能够输出3A的驱动电流,同时具有很好的线性和负载调节特性。LM2596S降压模块输入电压范围在3-40V,输出2A;双面布线,底部大面积覆铜保证更加优良的散热;可以额定电流2A长期工作,最大输出功率可扩展到20W。而且使用方便,易于焊接,适用于此系统。其工作原理图如图2.4所示:图2.4 LM2596电压转换原理图Fig.2.4 The principle diagram of the voltage conversion LM25962.3.3 电压转换器通过BeagleBone Black的介绍部分可知,BeagleBone Black每个GPIO端口的工作电压是3.3V,然而系统中并不是所有与之连接的模块的工作电压都是3.3V,如编码器、超声波和驱动芯片的工作电压都是5V,所以需要解决电平转换问题。本文采用两个由TI公司生产的TXB0108缓冲器(电压转换器)对电平进行转换,如图2.5(a)所示。其中一块的功能是将BeagleBone Black输出的3.3V电压转换成模块所需输入的5V电压,另一块则需要将各模块输出的5V电压转换成适合BeagleBone Black的3.3V电压。 (a) TXB0108芯片 (b )连接电路 (a) TXB0108 chip (b) Junction circuit图2.5 TXB0108电压转换示意图Fig.2.5 Voltage conversion diagram of the TXB0108TXS0108E是一种8位三态双向自动检测电压转换器,它可以进行8路电压转换。如图2.5(a)所示,OE为输出使能端,其电压跟随VccA,当OE为高电平时,输出为高电平,低电平时输出为高阻态。VccA和VccB皆为设定电压,VccA端电压范围为1.2V-3.6V,VccB 端电压范围为1.65V-5.5V,VccA VccB。由于此系统需要对3.3V和5V电压进行转换,故VccA 接3.3V电压,由BeagleBone Black提供,VccB 接5V电压,由稳压芯片转换后的5V电压提供,其中任意一路Vcc接地,所有的输出都为高阻抗状态。A、B端口为输入端和输出端,A端口电压跟随VccA,B端口电压跟随VccB。A1-8分别对应B1-8,A端接此系统中工作电压为3.3V的引脚,即BeagleBone Black的PWM端口、电机驱动状态控制输出端口及编码器返回输入端口;B端接此系统中工作电压为5V的引脚,即TB6612驱动的PWM引脚、电机驱动状态控制输入端口及编码器返回输出端口。但是需要注意的是A/B端没用到的GPIO端口引脚对必须置成相同的状态,或同为高电平或同为低电平,由于此芯片为8路电压转换,系统中实际使用的GPIO端口引脚对并不足8对,所以原则上剩余的应该全部置成低电平,即接地,但为了后续扩展功能,本文在设计电路时将剩余端口利用短路环将其转换电平功能保留。2.3.4 供电顺序此系统硬件设计时特别需要注意的是BeagleBone Black上电之前不能有电源接在其扩展接口上面,否则会将BeagleBone Black烧坏。为了保证BeagleBone Black先于其它模块上电,本文设计如图2.6所示的电路,用BeagleBone Black来控制模块电源的闭合与断开。图2.6 系统上电电路图Fig.2.6 The diagram of the poweron circuit2.4 检测模块系统的姿态检测部分包括陀螺仪和加速度计、编码器和超声波。通过陀螺仪和加速度计共同测得机器人的倾角;由编码器测量出左右车轮的角速度20,进而推算出左右车轮的行驶速度;由超声波检测机器人与障碍物之间的距离。2.4.1 姿态检测传感器模块为了实现对两轮机器人系统的动态自平衡控制,首先必须要得到足够精确的车身姿态信息,本文中最主要的姿态信息就是机器人的倾角。根据两轮自平衡机器人的应用环境,一般选用陀螺仪、加速度计等传感器来采集和测量两轮自平衡机器人的倾角信息。加速度计测量某一敏感方向上的加速度信息,包括旋转、重力和线性加速度。在只存在重力加速度的情况下,加速度计在被测方向上测量得到重力加速度的分量,通过三角函数运算就可以得到在这个方向上的倾斜角度。但是输出信号易受噪声污染,如容易受到颠簸、震动和其它重力突然改变的影响。当机器人处于静态或者低速运动时可以用加速度计测量机器人的姿态,此时能够提供准确的倾角信息,数据准确,角度估计误差很小,但机器人加速或者高速运动时误差很大。陀螺仪可以测量绕某一轴旋转的瞬时角速度。对陀螺仪测得的角速度进行积分可以得到倾斜角度,但是同时也会将误差进行积分,这样随着时间的推移,会产生噪声叠加和误差累计,影响准确度。因此姿态角短时间内准确、精度高,动态性能好,但是静态输出受漂移误差影响较大,不能长期单独使用。由于陀螺仪和加速度计都有不足,单独使用任何一个模块都不能保证测量的准确性。自平衡机器人通过姿态传感器MPU6050测得机器人的角度和角速度,通过软件实现滤波,得到更精确的数据28。图2.7(a)为采用的模块图片,图2.7(b)为其模块内部的核心处理芯片。 (a) MPU6050模块图 (b) MPU6050芯片图 (a) The chart of the MPU6050 module (b) The chart of the MPU6050 chip图2.7 MPU6050模块及芯片Fig.2.7 MPU6050 module and chipMPU-6050为全球首例整合性6轴运动处理组件,俗称六轴陀螺仪(x、y、z三轴的倾斜角度和三轴方向的加速度)。MPU-6050整合了3轴陀螺仪、3轴加速器,并含可藉由第二个I2C端口连接其他加速器、磁力传感器、或其它传感器的数位运动处理器(DMP: Digital Motion Processor)硬件加速引擎,便于后续扩展其它功能。芯片集成了一个特别小巧的微控制器DMP,可以长时间从陀螺仪、加速度计以及外接的传感器接收并处理数据,处理结果可以从DMP寄存器或通过FIFO缓冲读出,减少CPU的参与。MPU-60X0对陀螺仪和加速度计分别用了三个16位的ADC,将其测量的模拟量转化为可输出的数字量。为了精确跟踪快速和慢速的运动,传感器的测量范围都是用户可控的,陀螺仪可测范围为250,500,1000,2000 dps,可准确追踪快速与慢速动作,加速度计可测范围为2,4,8,16g,产品传输可透过高至400kHz的I2C或高达20MHz的SPI。MPU-60X0芯片内部有一个1024字节的FIFO,可以降低系统功耗。对于需要高速传输的应用,对寄存器的读取和中断可用20MHz的SPI。关于电源,MPU-60X0可支持VDD范围2.5V5%,3.0V5%或3.3V5%。另外MPU-6050还有一个VLOGIC引脚,用来为I2C输出提供逻辑电平。VLOGIC电压可取1.85%或者VDD。本文采用的MPU6050模块内部自带稳压电路,可兼容3.3V/5V的供电电压,本文采用先进的卡尔曼数字滤波技术,提高精度同时抑制了测量噪声。通讯方面,MPU6050保留了IIC接口,高级用户能够采样底层测量数据。 (a) 电路连接图 (b) 模块连接图 (a) The chart of the circuit connection (b) The chart of the module connection图2.8 MPU6050模块连接图 Fig.2.8 MPU6050 module connection diagram 从图2.8可以看出,此模块有8个引脚,分别为3.3V电压、地线、时钟线SCL、数据线SDA、从机时钟线XCL、从机数据线XDA、地址管脚AD0和中断引脚INT。VCC和GND分别与Beagle Bone Black的3.3V电压和GND端口相连接,SCL和SDA分别与Beagle Bone Black复用为I2C的I2C2_SCL和I2C2_SDA引脚相连接;XCL和XDA与从机连接,本文只用到了MPU6050自身带有的6轴,为了抗干扰,将XCL和XDA,INT和AD0都接GND,则AD0为低电平。本文中,MPU6050作为从机设备,它有8位地址,高七位是固定的,最低一位由AD0的连线决定,而AD0与GND相连接,所以寄存器地址为0x68。由于Beaglebone Black的EEPROMs I2C2内部并没有占用此地址,并不冲突,所以可以使用。2.4.2 超声波模块避障功能主要是指对障碍物做出的反应,此机器人的避障主要是实现探测到前方有障碍物之后后退的功能。超声波避障实现方便、技术成熟、成本低,是移动机器人首选的避障方法。超声波测距的原理是利用超声波在空气中的传播速度为已知的条件下,测量声波在发射后遇到障碍物反射回来的时间,根据发射和接收的时间差计算出发射点到障碍物的实际距离,其测距原理与雷达原理非常相似。自平衡机器人使用HC-SR04模块进行避障检测。此模块性能稳定,测度距离精确,可提供2cm-400cm的非接触式距离感测功能,测距精度可高达3mm,可应用于机器人避障、物体测距、液位检测、公共安防和停车场检测等。图2.9(a)为HC-SR04模块,表2.2为HC-SR04模块参数。表2.2 HC-SR04模块技术参数Tab.2.2 Technical parameters of HC-SR04 module参数名称参数值电压DC 5V静态电流小于2mA电平输出高5V,低0V感应角度不大于15度探测距离2cm-450cm精度0.2cmHC-SR04模块的基本工作原理为:(1)采用Beaglebone Black的GPIO端口触发HC-SR04模块的TRIG测距,需要至少10us的高电平信号;(2) HC-SR04模块自动发送8个40khz的方波,自动检测是否有信号返回;(3)如果有信号返回,通过HC-SR04模块的ECHO端口输出一个高电平,高电平持续的时间就是超声波从发射到返回的时间。 (a) HC-SR04模块图 (b) HC-SR04模块连接图 (a) The chart of the HC-SR04 module (b) HC-SR04 module connection diagram图2.9 HC-SR04模块原理图Fig.2.9 Schematic diagram of the HC-SR04 module超声波传感器由一个超声波发射器,一个接收器和一个控制电路构成。其四个引脚分别为:GND(地)、VCC(5V电源)、ECHO(回波脉冲输出)和TRIG(触发脉冲输入)。它与控制器的连接如图2.9(b)所示。首先,利用BeagleBone Black给HC-SR04模块的TRIG发送一个输入信号,触发传感器发送一个的超声波脉冲;发出的脉冲波遇到附近的障碍物返回;随后传感器探测到这些返回波并将一个5V的信号发送给ECHO,BeagleBone Black则根据高电平信号的时间来计算距离。2.4.3 编码器模块自平衡机器人使用光电编码器对车轮进行线速度的测量。光电编码器是一种通过光电转换将输出轴上的机械几何位移量转换成脉冲或数字量的传感器,由一个带有黑白区域的转盘,一个LED以及一个反射式或透射

温馨提示

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

评论

0/150

提交评论