版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
仿人机器人设计(行走控制)仿人机器人设计(行走控制)Humanoidrobotdesign(walkingcontrol)摘要随着社会的进步,机器人也经历了几次变革,从最早的履带式机器人到如今的仿人机器人的出现,机器人的适用领域愈加宽泛。但在仿人机器人领域,就机器人在行走过程中如何保持稳定,还存在很多问题。此篇论文以单片机为核心,结合舵机,各类传感设备及受控部件,开发的仿人机器人的行走控制系统。本文准备用单片机(STC89C52)为控制核心,将单片机与舵机的控制芯片,舵机,各种类型的传感设备及部件等进行有效的交互作用,用这种方式达到使得仿人机器人可以行走甚至做其他动作的目的。在系统的硬件设计中,对主要硬件:舵机控制器和单片机及其外围电路进行了详细的讲述。硬件的部分包括控制舵机的芯片,STC89C52单片机,传感器和支撑机器人行走的金属架构。软件的部分包括单片机控制机器人行走的主程序、信号采集处理程序、串口通讯程序。最终,通过不断的测试,与小组成员的多次沟通,达到了设计机器人稳定行走的设计目标,实现了设计目的。关键词:仿人机器人STC89C52舵机传感器
AbstractWiththeprogressofsociety,robotshavealsoundergoneseveralchanges.Fromtheearliestcrawlerrobotstotheemergenceofhumanoidrobotstoday,theapplicablefieldsofrobotshavebecomewiderandwider.However,inthefieldofhumanoidrobots,therearestillmanyproblemsinhowtomaintainthestabilityofrobotsduringwalking.Thispapertakesthesingle-chipmicrocomputerasthecore,combinesthesteeringgear,varioussensingdevicesandcontrolledcomponentstodevelopthewalkingcontrolsystemofthehumanoidrobot.Inthispaper,themicrocontroller(STC89C52HIGH)fortheservocontrolmodule,thecontrollerandtheservocontroller,asteeringgear,varioustypesofsensingdevicesandothercomponentsandthecontrolledunitforeffectivebinding,inordertoachievethepurposeofhumanoidrobotwalkinganddoingactions.Serialcommunicationisimplementedbetweenthemicrocontrollerandtheservocontroller.Inthehardwaredesignofthesystem,themainhardware:thesteeringgearcontrollerandthesingle-chipmicrocomputeranditsperipheralcircuitsaredescribedindetail.Thehardwareincludesaservocontroller,asingle-chipcomputer,buttons,varioussensorsanddataacquisitionandprocessingunits.Thesoftwareincludessinglechipmicrocomputerinitialization,mainprogram,signalacquisitioninterruptprogram,receivingandsendingprogramthroughserialcommunication.Finally,throughcontinuoustestingwiththeteammembers,thedesigngoalofdesigningtherobottowalkstablywasachieved,andthedesigngoalwasachieved.Keywords:humanoidrobotSTC89C52steeringgearsensor
TOC\u\t"标题1,1,标题2,1,标题3,1"摘要 IAbstract II绪论 11机器人设计方案简介 41.1 机器人自由度选择 41.2 驱动方案的选择 51.3 系统总体设计 62机器人行走硬件部分设计 72.1单片机控制模块 72.2舵机控制模块 102.2.1舵机选型及介绍 102.2.2舵机控制方法 122.3传感器控制模块 142.4串口通讯模块 152.5电源转换模块 183机器人行走软件部分设计 203.1机器人行走步态规划 213.2机器人行走动作数据库建立 233.3机器人行走主程序建立 25结论 27致谢 28参考文献 29附录1 30绪论课题理论背景二十世纪以来,随着科学技术的飞速发展和经济全球化,人类发展进入了一个新时代。信息社会的主要特征是服务业的快速发展。在瞬息万变的社会中,人们对生活条件和生活质量的要求越来越高,人类的需求已经从物质层面转向精神层面。对更快,更完整和更便捷的服务的渴望。在21世纪,机器人在许多技术上都取得了新的发现和发展,并且机器人也开辟了更好的发展机会,这一点已逐渐得到各行各业的认可。从军工企业到工厂生产链,政府和日常家庭,机器人将逐渐成为我们生活中不可或缺的一部分。美国微软总裁比尔·盖茨就曾经向世界预测,机器人将成为继个人计算机之后的下一个流行领域,并且机器人的迅速发展必将改变人们的生活方式。人形机器人的研究是机器人技术的领导者。步行机制的研究始于仿人机器人的研究。最早的有记录的人形双足步行机制是由WABOT-1在1973年开发的。1985年,先进的WHL-1WABOT-1被宣布为日本筑波科学技术在科学技术上的历史性成就。展览(EXPO85)。但是WABOT-1非常慢。日本公司本田开始了对具有行走机构的仿人机器人的序列化的当前研究。从1986年到1993年,本田间接开发了从E0到E6的七种步行机器人。这七种机器人只有脚部机械装置,主要用于研究步行功能。在此基础上,本田于1993年开发的P1机器人是用两只手完成的,因此最初是人形机器人。p3机器人创建于1993年,是未来机器人Asmo的原型AsmoAsmo于2000年出生,并且是第一个在现实世界中具有影响力的人形机器人。仿人机器人是一种新型的智能机器人,可以满足用户的不同需求。凭借其出色的应用前景,它已成为机器人技术发展的重要领域,它不仅可以访问普通人无法进入或无法进入的地方,例如灰尘和有毒物质等危险环境,还可以代替人员进行自主操作,他们可以与人和睦相处,并帮助人们完成复杂多样的任务,例如接待和保姆。人形机器人系统的可变结构具有坚固,多关节,非线性的特征和特征,因此难以控制步行,但它是研究运动学,动力学和控制算法的良好实验平台。机器人。这吸引了许多科学家参与他的研究,这应该有助于管理领域新理论方法的出现。国内外研究概况通过研究如何控制机器人的步态,您还可以了解并更深入地了解人的步行特征,并利用该特征为人服务。因此,研究类人机器人的步态规划与控制不仅具有重要的学术价值,而且具有重要的现实意义。在国外,对仿人机器人的研究可以追溯到1980年代,并且出现了许多系统建模和控制理论的方法。在中国,关于这方面的研究很少。我们的大部分研究都集中在控制两足机器人的行走上,而几乎没有涉及完整的动态建模。仍需要额外的精力来研究两足动物。在为不同自由度的机器人建模时,许多外国报纸都提供了许多有价值的观点和方法。自1970年代以来就开发了多电梯系统的动力学特性,简化了多电梯系统建模的方法。通过这种方法创建的模型非常适合实时计算机编程和控制。当前,许多工业机器人都使用这种建模方法,缺点是机械模型的创建和控制模型是相互独立的,因此很难将机械模型转换为控制模型。因为在控制仿人机器人时,控制系统必须提出很高的要求,所以关于使用此方法进行建模的文章很少。在1980年代,许多研究人员注意到了这个问题,并且创建了许多适用于两足动物机器人的建模方法。由M.Kotsaftis代表的几个人提出了一种直接的非线性去耦方法。该方法的思想是使用Lagrange方程和动态方程进行改进,并在1998年分离了相应的变换控制方程。在一个文件中,PSardain创建了步行两足机器人的12度动态自由模型(7个周期),并提出了一种优化模型的方法。它基于使用优化方程式的机器人步行优化的基本优化方法。直接借助计算机方程进行仿真和计算,可以获得双足步行机器人步态的参数特征。随着这些建模方法的发展,两足机器人模型变得越来越复杂:从具有一个自由度的最简单的被动机器人到具有十七个自由度的两足步行机器人,它可以补充正确的行走和转弯。许多小动作。还开发了许多独特的方法并将其应用于控制系统的设计。计算机械方程式以获得控制方程式。此方法需要系统的详细结构参数。否则,将无法获得效果。这通常基于PD控制。方法一起使用;一种可靠的控制方法及其控制系统的参数具有较低的灵敏度和抗干扰性。自适应控制方法:该方法根据力和扭矩数据调整节点和传感器,以实时控制机器人关节和腿部的某些传感器。在中国,很少有人研究比较系统建模的理论,但是他们在步态的研究和控制方面非常创新。课题设计的目的及要求(1)大量查阅资料,拓宽知识面,具备综合设计的基本能力,做好课题设计相关准备工作。(2)理解课题背景及设计的实际意义,提出合理可行的总体设计方案。(3)理解控制系统的硬件结构,对系统实现的软件流程、控制方式及具体程序进行详细分析和设计;(4)完成仿人机器人的双足行走设计,确保机器人行走平稳,尽量逼真人的行走。(5)对调试过程、调试问题及调试现象进行细致分析,发现问题并能解决问题。
1机器人设计方案简介方案上,我选择用单片机STC89C52为主控制芯片,舵机则选用AX-12A微型舵机,并结合传感器来组成这个系统。AX-12A微型舵机拥有大量的接口,可方便日后扩展其他功能。机器人自由度选择仿人机器人之所以冠以仿人之名就是因为它像人一样有诸多关节,可以做出各种复杂的动作,但于此同时,随着关节的增加,整个机器人的控制难度也就随之上升,所以根据设计要求进行详细的计算、分析,得出适合设计的关节自由度就显得尤为重要。通过分析,仿人机器人应具有19个自由度。自由度被定义为如下:首先,所述颈部具有一个自由度,使肩关节具有两个自由度,肘关节具有两个自由度,手腕两个自由度;髋关节具有六个自由度的,膝关节具有两个自由度,踝关节具有四个自由度,总共有19个自由度。颈部,肩膀和肘部的三个自由度可以弯曲和拉伸人形机器人的手臂;而腿部所拥有的6个自由度则是我这次设计需要关注的重点,是进行行走运动的核心,机器人的行走都是基于此,而简单的6个关节就可以实现基本的行走目的,这种做法既可以节约成本也可以减少开发时间。
驱动方案的选择当今世面上,机器人驱动器的选择可能为以下的几种:气动驱动器,液压驱动器和电动机驱动器。气动驱动器更常用于工业机械中。它的优点:速度快;方便的气源;废气可以直接排放到大气中而不会造成污染。液压驱动器通常用于大型工业设备。优点是可以用较小的先导传递更多的驱动力或扭矩,即获得较高的功率/重量比;驱动缸可以直接形成为连接的一部分,因此结构简单而紧凑,并且刚性好。电机驱动器使用不同的电机来产生功率和扭矩,也可以直接或使用机械传动来驱动驱动器以产生各种机器人动作。由于不使用转换中间能量的过程,因此它比液压和气动驱动器效率更高,易于使用且价格适宜。前两种方案一般是在大型设备中使用的,并不适合于本系统的小型设计需求,故采用电机驱动,但电机驱动也有很多选择,这里选择的是舵机,因为舵机具有非常好的可控制性,响应速度也基本能够满足设计的需要。并且目前的双足机器人也大多采用这种方法,固本次设计采用舵机进行驱动,详细型号控制方法在后文进行详细的论述。
系统总体设计站在整体结构的角度从头来看,其分别为传感器、STC89C52芯片、控制舵机的单片机、控制电路、电源、舵机、机器人的金属架构。STC89C52芯片则相当于机器人的控制中心,电源相当于机器人的能量储备,舵机相当于机器人的金属骨骼,外部金属架构相当于机器人的身体,这样就完成了机器人的整体系统设计,整个设计大体的框图1-1如下所示:图1-1总体设计流程图(本文该章节不做详细的论述,交由同组其他成员。)
2机器人行走硬件部分设计2.1单片机控制模块STC89C52单片机为这次设计的控制核心。STC89C52单片机是由STC生产的具有8K可编程闪存的高性能,低功耗8位CMOS微控制器。STC89C52使用经典的MCS-51内核,但进行了许多改进,因此该芯片具有传统51单片机所不具备的功能,STC89C52集成在具有8位智能处理器和可编程闪存的单芯片中,在系统中提供了非常灵活的功能以及针对许多集成管理系统的超高效解决方案。实物芯片如图2-1所示:图2-1STC89C52实体图STC89C52的具体介绍如下引脚主电源触点(2个)VCC(引脚40):电源输入,连接+5VGND电源(引脚20):接地线输出外部晶体振荡器的输出(2)XTAL1(Pin19):芯片上振荡电路的输入输出XTAL2(Pin20):芯片上振荡电路的输出输出接触针(4个)RST/PP(Pin9):重置主轴,主轴上2个机器周期的高电平将复位微控制器ALE/PRoG(Pin30):地址阻止激活信号PSEN(Pin29):选通信号,用于读取外部EA/VPP存储器(Pin31):内部和程序存储器的外部选通,将其连接为低电平以从外部程序存储器中读取指令;如果连接为高电平,则从内部程序存储器中读取指令。触点可编程I/O触点(32个)STC89C52微控制器具有4组8位可编程I/O端口,分别为P0,P1,P2,P3端口,每个端口具有8位(8引脚),总共32个。PO端口(Pin39〜Pin32):8位双向端口线I/0,名称为P0.0〜P0.7P1端口(Pin1〜Pin8):8位双向I/O线,名称为P1.0〜P1.7P2端口(Pin21〜Pin28):8位双向I/O线,名称为P2.0〜P2.7P3端口(Pin10〜Pin17):8位双向I/O线,名称为P3.0〜P3.7STC89C52总控制电路如下图2-2所示:图2-2STC89C52总控制电路图
STC微控制器是由宏景公司生产的单时钟/机器周期微控制器。单片机是51和AVR的结合体。AVR单片机在现场控制和C语言编写上有很大的差异。STC微控制器结合了51和AVR的优点。虽然这些功能不如自动电压调节器强大,但自动电压调节器中的功能基本上可以在STC上使用。同时,STC微控制器是51内核,为基于51微控制器的工程师提供了极大的便利,节省了学习AVR的时间,并且不会丢失AVR的所有功能。STC单片机是新一代8051单片机,具有速度快、功耗低、抗干扰能力强等特点。指令码完全兼容传统的8051,但速度快了8~12倍。MAX810专用复位电路内部集成。4路PWM8路高速10位A、D转换,针对电机及电机的供应商控制和强干扰场合,成为51台单片机之后的全新系列单片机。本设计将只使用单片机P3.0和P3.1两个串口通信端口来实现单片机与舵机控制模块之间的通信,使用P1.0、P1.1、P1.2的输入/输出端口来检测关键指令,使用P0.0端口来检测传感器信号,其他输入/输出端口暂时不使用,所以它是不有线的,方便以后使用。
2.2舵机控制模块2.2.1舵机选型及介绍舵机是一种位置(角度)舵机驱动器,适用于那些需要恒定角度变化且可以保持的控制系统。目前,它广泛应用于高端遥控玩具,如飞机模型,包括潜艇模型。遥控机器人得到了广泛的应用。舵机是一种通俗的名称,其实它是一种舵机电机。通常,舵机主要由以下部分组成:方向盘,上壳体,变速箱总成,中央壳体,发动机,控制电路,控制线等。。具体如下图2-3所示:图2-3舵机结构图舵机控制信号的周期为20ms的脉冲宽度调制(PWM)信号,其中脉冲宽度(占空比)为0.5至2.5ms,相应的方向盘位置为0至180度,线性变化。即,在控制舵机驱动器时,为了改变其旋转角度,需要以20M的周期改变PWM信号(方波)的脉冲宽度(占空比)。通常,转向机构由脉冲宽度调制信号控制,以为数字系统提供适当的接口。如果电子设备可以生成标准的数字控制信号,则可以将其用于控制转向器。由于定时器溢出中断功能可用于在短时间内处理输出脉冲信号,因此,如果精度不高,则可以忽略它。通过编程,舵机可以从0度旋转到180度。另一个重要的一点是,转向器需要时间才能转动。因此,程序中的时间不能太快更改,否则舵机将无法跟上程序。因此,我们必须选择合理的延迟并继续调试,以使舵机可以更平稳地旋转,并且不会像步进电机那样产生刚性旋转。信号脉冲宽度变化的速度决定了舵机旋转的速度。如果您要求的速度更快,则舵机将无法响应;将脉冲宽度变化值线性调整为所需的20ms时间内,并逐渐增加脉冲宽度值以调整占空比,逐步的进行摸索,就可以随心所欲的控制舵机的转速。为了满足这次的设计需要,我使用的是AX-12A微型舵机,如图2-3所示:图2-3AX-12A舵机实体图与传统转向系统相比,AX-12转向系统不仅具有位置反转功能,而且还具有速度反馈,温度反馈和串行速度网络支持等功能。最重要的是,AX-12可提供高达16kg(CM)的扭矩和满功率。得益于强大的反馈和简单的结构连接,它可以算是为机器人设计的真正的舵机。
2.2.2舵机控制方法舵机是一种跟踪机构,当它不旋转到目标位置时,它将旋转到目标位置。当到达目标位置时,它将自动保存位置。因此,对于数字舵机,PWM信号提供目标位置,并且运动跟踪取决于舵机本身。对于模拟舵机,必须连续提供PWM信号,并且伺服器本身无法固定目标位置。因此,转向控制系统是具有详细控制的目标计划系统。控制舵机系统的信号是PWM信号,即脉冲位置的调制。它的周期通常为20毫秒。当改变PWM波的脉冲宽度之间的比率时,伺服转向轴的角度和伺服输出轴的角度也会改变。该变化与PWM脉冲宽度的变化成比例。舵机的输出轴的转角同输入信号的PMM脉冲宽度之间的关系可用下图2-4所示图2-4输出转角同PWM脉冲关系图这样的控制方法既节省了硬件电路,也减少了软件开销,控制系统工作效率和控制精度都很高。
控制转向系统的单片机是STC12C5410AD单片机。控制芯片STC12C5410AD包含中央处理器,程序存储器(闪存),数据存储器,时钟计数器,I/O接口,UART接口和中断系统,SP接口,高级AD转换模块等。其拥有32PWM波输出功能,可以同时对多个舵机进行操控,使用起来十分便利,而且该单片机具有TTL电平串口,可以十分方便的与主控芯片进行交互。并且这样设计的舵机控制模块具有独立的舵机供电电源进行输入,不和主控单片机公用一个电源,这样的设计即可以保证舵机的动力输出,也可以保证单片机在工作时保持稳定,STC12C5410AD单片机芯片如图2-5所示:图2-5舵机控制模块芯片图舵机模块具有相应的上位机控制软件,可以轻松地与计算机通信以收集数据。对于通信,使用9600波特率,8位数据和1个停止位。
2.3传感器控制模块整个系统使用的传感器为超声波传感器HC-SR04。HC-SR04是一种超声波传感器,可以让我们知道物体是否在其前方。这些检测功能使其特别适合需要知道远离不得撞击的物体或障碍物(例如墙壁或家具)的机器人。这个传感器的优异能力将帮助机器人在行走过程中更加平稳,实物图如下2-6所示:图2-6HC-SR04实体图其工作原理如下:微控制器使用IO-TRG端子发送持续时间为10μs的脉冲。接收到脉冲信号后,模块会连续发送八个40kHz矩形信号,以确定是否存在反馈信号。如果接收到响应信号,则模块的ECHO端子处于高电平,并且高电平的持续时间是检测信号与接收之间的时间。模块的具体参数为:长度为4.5厘米,竞度为2.0厘米,高度为1.4厘米;测量的角度范围为15°,探测距离为2cm到4m,精度可以达到1cm,供电的电压的数值为5V。
2.4串口通讯模块仿人机器人的通信方案是实现人机交互的非常重要的元素。人机交互程序通常在PC上启动,并且机器人由单片机控制,因此将它们组合起来非常重要。当个人计算机和微控制器相互通信,级别不匹配且大多数计算机没有串行接口时出现问题,因此要解决此问题,您需要使用USB串行芯片将USB连接到串行和电平转换。单片机与外部设备之间的两种通信方式:(1)并行通讯传输原理:所有数据位同时传输。优点:快速更少:更多主轴资源(2)串行通讯传输原理:数据按位顺序传输。优点:主轴资源少缺点:比较慢从数据传输的角度来看,串行通信分为以下几种类型:(1)单工(数据传输支持一个方向的数据传输)(2)半双工(数据可以在两个方向上传输,但是在某些时候,数据只能在一个方向上传输,这实际上是改变方向的单工通信)(3)全双工模式(允许同时在两个方向上传输数据,因此全双工数据交换是两种单工通信方法的组合,要求发送设备和接收设备具有独立的收发能力)。串行通讯的通讯方式分为:同步通讯。同步通信的两侧必须首先建立同步,即,两侧的时钟必须设置为相同的频率。发送方和接收方不断发送和接收连续的同步比特流。其中之一是在整个网络中使用具有非常精确的基本时钟的同步来同步网络所有节点上的时钟。其中之一是使用准同步,并且每个节点的时钟之间存在很小的误差,然后使用其他措施来实现同步传输。同步数据交换的权利包括整体上传输几个字节(超过100个字节)的数据,并在其前后添加一个标记。异步通信:异步通信是一种非常常见的通信方法(效率低)。发送异步字符时,发送者可以随时开始发送字符,因此必须在每个字符的开头和结尾添加它。最高标记,即添加一个开始位和一个停止位,以便接收方可以正确接收每个字符。以字节为单位传输的数据。在字响应的每个部分之前添加一个开始位,在每个字节之后添加一个停止位。优点:异步通信的优点是通信设备简单便宜,但传输效率低。在STC89C52的串行通信接口中,UART是通用异步收发器,而USART是通用同步异步收发器。异步通信模式下用于连接引脚的UART方法:RXD-数据输入输出,数据接收,TXD-数据传输输出,数据传输。具体的设计如图2-7所示:图2-7串口通信模块电路图在图中,MCURXD,MCUTXD,舵机控制TXD,舵机控制RXD是四个信号端子,MCUVDD和伺服控制器VDD是这四个信号的高电平电压。其他限制如下:伺服控制器VDD<=MCUVDD低阈值S1超过大约0.7V(取决于NMOS中的二极管压降)。V3s<=VDDMCU④V1s<=VDD伺服控制器系统基本满足以上条件,因此该电路用于转换串口电平。更好地保证通讯的稳定性。
2.5电源转换模块整个设计的调试均是使用交直流稳压电源供电,但是这样需要接很多电线,在后期整个机器人行走的过程中,会限制机器人的行动,且稳定性不佳,因此我们在机器人身上设计了电源转换模块。这里我们用到了2个转换模块,两者都为DC-DC可调降压稳压电源模块。DC-DC模块图2-8如下:图2-8DC-DC电源模块图DC-DC模块的特性和特性:(1)带电源指示灯(2)使用电压表和电压表显示,可以执行自校准。使用更高级的电压微处理器时,电压表的精度为±0.05V,范围为0至40V。(注意:为确保电压表的精度,请确保输入电压大于4.5V)(3)按下按钮以切换测量的输入或输出电压。指示灯显示测得的电压并保存参数,即使关闭电源然后再打开也是如此。(4)电压表可以关闭,不需要时可以通过按左按钮轻松实现。(5)带有接线端子,无需烙铁即可轻松使用,并且保留了接线点。(6)输入电压为4.0±38V。(输入电压必须比输出电压高1.5V)(7)可调输出电压范围可在1.25至36V之间无限可调。(输入电压必须比输出电压高1.5V)(8)输出电流可以达到5A,建议在4.5A以内使用。(9)输出功率可以达到75瓦。(10)高达96%的高转换效率(效率与输入,输出电压,电流和压差有关)(11)负载调节系数S(I)≤0.8%,电压调节系数S(u)≤0.8%(12)具有过热和短路保护(13)尺寸66*39*18毫米(14)重量28g系统中使用两个CC模块的原因是该模块具有易于连接,成本低,稳定性好和转换效率高的特点。避免由于电池不稳定而暴露在机器人上。同时,降低电源电压有助于单片机的稳定运行并延长使用寿命。只有在向转向系统施加正确的电压后,转向器才能在最佳条件下运行。一个良好的进给系统在整个机器人的使用中起着非常重要的作用。。
3机器人行走软件部分设计可以这么形容,舵机及支架是机器人的躯干,使机器人得以站立;传感器则相当于机器人的眼睛,用来观察四周;那么核心的主控MCU芯片及其中的程序则就相当于是机器人的大脑了,它是机器人得以运动的关键,也是我本次设计的核心部分。接下来,我将介绍具体的程序及流程。要想使仿人机器人像人一样正常的行走,首先需要对它的步态进行一个简单的规划,在根据这个规划将机器人行走时分成几个具体的动作,再根据这些动作将当时的舵机所处的状态记录下来,进行保留;再将这些动作进行逐步的调试,最终连成一体,这样机器人就可以按照我们预想的进行行走,具体流程如下图3-1所示。图3-1机器人行走实现流程图
3.1机器人行走步态规划为了实现仿人机器人的正常行走,有两个关键问题必须处理好:重心控制和平稳的步态。下面是关于两足机器人行走时重心控制的讨论。两足机器人有两种行走方式:静态行走和动态行走。其中,在静态行走时,双脚必须移动,以保证重心落在支撑脚上;而在动态行走中,重心不需要落在支撑脚上,而是通过脚的交替运动来进行动态调整,从而达到稳定行走的目的。可以看出,动态步行更接近于人类的两足步行,但其实现难度更大。在本文的设计中,实现了一个相对简单的静态行走。为了能够控制重心,实现静态行走,我们还参考了古代两足行走的祖先——人类的行动。事实上,单脚抬起行走的状态只是连续行走运动的一部分,整个身体熟练地控制着重力和惯性。为实现这一目标,需要很多的步骤。为了降低难度,我们把一只脚抬起作为了单独的动作去考虑。为了使仿人机器人像人一样的进行行走,那么首先,我们就需要对我们自己,也就是人类的行走过程进行分解,从中拆分出仿人机器人可以进行模仿的部分,再根据此进行仿人机器人的步态规划。对人类行走过程的分解如下图3-2所示。图3-2人类行走分解图根据对人类行走的分析,可以以此规划出机器人的行走步骤:右腿适当弯曲,左倾,右腿抬高右腿前倾,落地重心转移到右腿左腿前倾,落地重心转移到左脚威志命令,以左腿为支撑腿,右腿缩回,回到直立状态。。并以此几步为基准在接下的数据采集中,根据这些动作,将每个动作时,舵机的状态记录下来,并生成相应的数据库。
3.2机器人行走动作数据库建立根据行走步态规划设计的几个动作,将机器人摆出相应的姿势,然后利用电脑通过串口与舵机控制器通信,分步调试每个舵机在每种状态下的转动角度,并记录下每一个动作PWM波的占空比,并以此建立起数据库,数据收集流程图3-2如下:图3-2数据收集流程图最后,将收集好的数据利用电脑记录好,方便日后随时的调用以及进行更改。
比如说,机器人保持状态时,舵机的角度分别为89°、89°、87°、84°。那么通过此建立站立数据并发送至函数voidzhanli()通过这个函数将机器人在每一步动作进行详细的分解,在进行采集并且将这些记录记录下来,举例如下所示:voiddiyibu()//第一步通过这些采集下来的数据,建立起详细的数据库,可以方便我后期的主程序的编写,以及在日后的调试过程中出现问题时,可以及时的解决。
3.3机器人行走主程序建立有了数据库后,接下来需要做的就是将这些记录好的机器人行走中的每一步按照之前的步态规划设计的那样整合在一起,将一步一步的小程序拼凑在一起,变成最后需要烧录进STM32F407的主程序,主程序实现流程图3-3如下:图3-3机器人行走实现流程图详细程序如下:前进和测试的程序段将在附录1中进行体现。
结论仿人机器人是时下最火的研究项目,该项目的研究是软件与硬件的结合,是机械设计和自动控制的交互,而对于仿人机器人行走控制的研究更是在仿人机器人领域具有独特的地位,对整个行业的发展都有指导意义。本文在前人研究的仿人机器人的资料上,对仿人机器人行走控制系统进行了设计和研究。本文设计了一款基于STC89C52单片机的仿人机器人行走控制系统,该系统主要特色在于:解决了一多路关节舵机的联动控制问题,使控制系统可以实现对多个关节的联动控制,保证了系统具有较好的实时性能。建立起了动作分析数据库可以随时根据自己的需要进行程序的再次编写,甚至可以进行更加复杂的程序设计。主控电路和舵机控制电路电源分别控制,这样的设计即可以保证舵机的动力输出,也可以保证单片机在工作时保持稳定。诚然由于时间和疫情的影响,本论文设计的控制系统还具有很多需要改进的方面,例如控制方法不够简便;机器人行走的动作过于单调;无法实施进行在线的编译等等。在日后的学习过程中,我一定会进一步的学习,改善,争取早日改善乃至解决这些问题,论文之中存在的不足之处,烦请各位老师进行指正。
致谢时光荏苒,大学的几年时光转瞬即逝。在毕业设计的最后半年过程中,我充分体会到了钻研探索的艰辛,以及完成实验目标带给我的喜悦。在这里我首先要感谢的是我的指导老师雷丹老师,这篇论文的每个细节和每个数据,都离不开您的细心指导。您一丝不苟,严谨细致的作风一直是我工作、学习中的榜样;正是您的循循善诱的教导和不拘一格的思路,才能在当我焦头烂额,论文没有进展的时候,给予我帮助;疫情期间,您的一次次关注,一次次询问,都让我在迷茫时得到了前进的方向。其次我要感谢我同组的小伙伴,刚开始面对仿人机器人这个课题时,大家都很手足无措,但是很快大家就冷静下来,查资料的查资料,问老师的问老师,很快我们就有了思路;正是你们在整个毕业设计过程中的陪伴,过程中的一次次高效的讨论,才可以帮助我顺利的完成这篇论文。最后要感谢我的母校-武昌首义学院,感谢母校给了我良好的学习环境,感谢母校中的每一位师友,在这2年中,正是您们的细心指导,循循善诱,为我将来的工作和继续学习打下了良好的基础,在这里我要像诸位深深的鞠上一躬!心怀感谢,无以言表。今后,我定会加倍的努力,以更多、更优异的成绩回报你们!
参考文献[1]陈恳.仿人机器人理论与技术[M].北京:清华大学出版社,2010.[2]陈启军.双足机器人行走控制与优化[M].北京:清华大学出版社,2016.[3]刘璞.双足仿人机器人行走系统的设计[D].长春:长春理工大学,2018.[4]刘丽梅,田彦涛著.动态行走双足机器人的稳定性分析与控制[M].北京:科学出版社,2017.[5]张培仁,张志坚,郑旭东等.基于16/32位DSP机器人控制系统设计与实现[M].北京:清华大学出版社,2006.[6]曾显武.双足机器人设计及步态规划仿真[D].济南:山东大学,2019.[7]JingLi.IntegratedTranslationalandRotationalCOGMotiontoEnhancetheStabilityforHumanoidRobots[J].Proceedingsof2013IEEEIntemationalConferenceonmechatronics,2013,7(8):791-796.[8]高爽.基于DSP的仿生步行机器人平台开发与研究[D].西安:西北工业大学,2017.[9]唐华彬.仿人机器人脚部部件的设计与仿真研究[D].武汉:华中科技大学,2017.[10]易江.仿人机器人的步行平衡控制[D].浙江:浙江大学,2017.
附录1行走和测试程序清单:#include<REG52.H>unsignedchart;unsignedinti; //动作判断1行走2测试sbitxingzou=P2^0;sbittiaowu=P2^1;sbitceshi=P2^2;sbitcsb=P2^7;voidsys_init()//串口初始化根据实际情况进行设置{TMOD=0x20;//定时器1方式2TH1=0xFd;//11.0592MHz晶振SCON=0x50;//串口方式1PCON=0x00;//9600RI=0;TI=0;TR1=1;}voiddelay(unsignedintdt)//通用延时程序{unsignedinti,j;for(i=0;i<dt;i++)for(j=0;j<1000;j++);} voidaction(constchar*p)//舵机串口发送函数{while(*p!=0){SBUF=*p;p++;while(TI!=1);//等待发送完毕TI=0;//清标志}}voidzhanli()//站立{action("#16A89!");action("#31A86!");action("#22A86!");action("#25A86!");}voidqianjin()//前进{/****************侧片*******************/action("#25A76!");delay(4);action("#22A76!");delay(4);action("#25A70!");delay(4);action("#22A70!");delay(4);action("#25A66!");delay(4);action("#22A66!");delay(4);/***********跨步****************/action("#31A66!");delay(4);action("#16A69!");delay(4);action("#31A76!");delay(4);action("#16A79!");delay(4);action("#31A86!");delay(4); action("#16A89!");delay(4);action("#31A96!");delay(4); action("#16A99!");delay(4);action("#31A106!");delay(4);action("#16A109!");delay(4);action("#31A116!");delay(4);action("#16A119!");delay(4);/**************回正**********/action("#25A70!");delay(4);action("#22A70!");delay(4);action("#25A76!");delay(4);action("#22A76!");delay(4);action("#25A86!");delay(4);action("#22A86!");delay(4);/*************侧偏***********/action("#22A96!");delay(4);action("#25A96!");delay(4);action("#22A100!");delay(4);action("#25A100!");delay(4);action("#22A106!");delay(4);action("#25A106!");delay(4);/***********跨步************/action("#31A106!");delay(4);action("#16A109!");delay(4);action("#31A96!");delay(4); action("#16A99!");delay(4);action("#31A86!");delay(4); action("#16A89!");delay(4);action("#31A76!");delay(4); action("#16A79!");delay(4);action("#31A66!");delay(4); action("#16A69!");delay(4);action("#31A56!");delay(4); action("#16A59!");delay(4);/***********回正*************/action("#22A100!");delay(4);action("#25A100!");delay(4);action("#22A96!");delay(4);action("#25A96!");delay(4);action("#22A86!");delay(4);action("#25A86!");delay(4);}voiddiaotou() //向后转{/****************侧片*******************/action("#25A76!");delay(4);action("#22A76!");delay(4);action("#25A70!");delay(4);action("#22A70!");delay(4);action("#25A66!");delay(4);action("#22A66!");delay(4);/***********跨步****************/action("#31A66!");delay(4);action("#16A69!");delay(4);action("#31A76!");delay(4);action("#16A79!");delay(4);action("#31A86!");delay(4); action("#16A89!");delay(4);action("#31A96!");delay(4); action("#16A99!");delay(4);action("#31A106!");delay(4);action("#16A109!");delay(4);action("#31A116!");delay(4);action("#16A119!");delay(4);/**************回正**********/action("#25A70!");delay(4);action("#22A70!");delay(4);action("#25A76!");delay(4);action("#22A76!");delay(4);action("#25A86!");delay(4);action("#22A86!");delay(4);/*************侧偏***********/action("#22A96!");delay(4);action("#25A96!");delay(4);action("#22A100!");delay(4);action("#25A100!");delay(4);action("#22A106!");delay(4);action("#25A106!");delay(4);/***********跨步************/action("#31A106!");delay(4);action("#16A109!");delay(4);action("#31A96!");delay(4); action("#16A99!");delay(4);action("#31A86!");delay(4); action("#16A89!");delay(4);action("#31A76!");delay(4); action("#16A79!");delay(4);action("#31A66!");delay(4); action("#16A69!");delay(4);action("#31A5
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 昆明市寻甸回族彝族自治县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 湛江市雷州市2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 齐齐哈尔市克东县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 漳州市云霄县2025-2026学年第二学期三年级语文第六单元测试卷(部编版含答案)
- 绥化市绥化市2025-2026学年第二学期四年级语文第五单元测试卷(部编版含答案)
- 绵阳市涪城区2025-2026学年第二学期五年级语文第五单元测试卷(部编版含答案)
- 锦州市黑山县2025-2026学年第二学期六年级语文第五单元测试卷部编版含答案
- 荆州市江陵县2025-2026学年第二学期四年级语文第四单元测试卷(部编版含答案)
- 昆明市石林彝族自治县2025-2026学年第二学期四年级语文第六单元测试卷(部编版含答案)
- 深入排查教育领域潜在风险隐患坚决遏制事故的行动方案
- 医院品管圈如何降低鼻胃管非计划性拔管率
- 电怎来的 儿童科普
- 2025年青海省西宁市城区中考化学试卷真题(含答案)
- 镜泊湖景区综合规划研究
- 更换大玻璃施工方案
- 2025年全国中小学生天文知识竞赛试题库(含答案)
- 财务文件分类管理办法
- 城市出行的就业韧性:网约车司机就业图景与职业表现
- 纪检监察干部上讲台课件
- 【《绿色营销国内外探析现状及相关文献综述》2400字】
- 2024年事业单位考试(医疗卫生类E类)综合应用能力试卷及答案
评论
0/150
提交评论