基于单片机控制的双足行走机器人的设计_第1页
基于单片机控制的双足行走机器人的设计_第2页
基于单片机控制的双足行走机器人的设计_第3页
基于单片机控制的双足行走机器人的设计_第4页
基于单片机控制的双足行走机器人的设计_第5页
已阅读5页,还剩14页未读 继续免费阅读

下载本文档

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

文档简介

PAGE7.z..--可修编-基于单片机控制的双足行走机器人设计摘要:21世纪机器人开展日新月异,从传统的履带式机器人到如今的双足行走机器人,机器人的应用围越来越广。本系统以单片机〔STC89c52〕为系统的中央控制器,以单片机〔STC12c5410ad〕为舵机控制模块。将中央控制器与舵机控制器,舵机,各类传感设备及受控部件等有机结合,构成整个双足行走机器人,到达行走、做动作的目的。单片机中央控制器与舵机控制器以串口通信方式实现。系统的硬件设计中,对主要硬件舵机控制器和STC89C52单片机及其外围电路进展了详细的讲述。硬件包括舵机控制器,STC12C5410AD单片机,按键,各种传感器和数据采集与处理单元。软件包括单片机初始化、主程序、信号采集中断程序、通过串口通讯的接收和发送程序。论文的最后局部以双足行走机器人为根底,结合传感器,外围控制设备组成控制系统,并给出了此系统应用领域的一些探讨和研究。关键词:单片机;舵机控制;STC12C5410ADBipedalrobotdesignbasedonMCUAbstract:Inthe21stcenturyrobotdevelopmentchangeswitheachpassingday,fromthetraditionalcrawlerrobottonowbipedalrobot,therobot'sapplicationscopeismoreandmorewidely.Thissystembysinglechipmicroputer(STC89c52)asthecentralcontrollerinthesystem,STC12c5410adMCUasthesteeringgearcontrolmodule.Thecentralcontrollerandtheservocontroller,Steeringgear,allkindsofsensingandcontrolponentssuchasorganicbination,makeupthewholebipedalrobot,thepurposeoftowalk,dotheaction.Singlechipmicroputercentralcontrollerandtheservocontrollertorealizeserialmunicationway.Systemhardwaredesign,themainhardwareservocontrollerandSTC89C52single-chipmicroputerandperipheralcircuitindetail.Hardwareincludingservocontroller,STC12C5410ADmicrocontroller,buttons,allkindsofsensoranddataacquisitionandprocessingunit.SoftwareincludesMCUinitialization,themainprogram,andinterruptsprogramsignalcollection,throughaserialportmunicationtosendandreceiveprocedures.Thelastpartofthepaperonthebasisofbipedalrobot,binedwiththesensor,theperipheralcontroldeviceofcontrolsystem,thissystemisalsogivensomediscussionsandresearchinthefieldofapplication.Keywords:MCU;ServoControl;STC12C5410AD-.z.

目录TOC\o"1-3"\u第一章绪论11.1课题背景11.2课题研究的目的及意义21.3系统设计主要任务3第二章系统方案设计42.1机器人自由度选择42.2机器人构造的设计42.3驱动方案选型42.4系统总体设计5第三章系统硬件电路设计63.1单片机控制模块63.2舵机控制模块73.3传感器模块电路设计83.4按键电路设计93.5机器人电源及通信系统设计9第四章系统软件设计114.1程序流程图114.2控制流程图124.3动作数据采集124.4数据库的建立13第五章系统整机调试及功能测试145.1舵机控制控制模块调试145.2舵机调试145.3红外传感设备调试155.4按键测试155.5整机调试15第六章设计总结及技术展望16参考文献17附录18-.z.第一章绪论1.1课题背景1920年捷克斯洛伐克作家卡佩克写了一本小说叫"罗萨姆的机器人万能公司"。他梦想并做了一个不吃不喝,不知疲倦的机器人罗伯特〔Robot〕帮助人们进展工作。人们在产生天天劳动,简单枯燥,于是人们梦想有一种代替人进展工作的机器,这便是罗伯特出现的理由[1]。机器人其实是个自动化装置,他仍然是机器,但是他能够模仿人完成*些特定的工作。为什么要开展机器人技术?简单的说是有三方面原因:1、干人不愿干的事。2、把人从有毒,有害,危险的环境中解放出来。3、保证工作的效率和准确性。人会累,机器不会。这变相的提高了生产力,解放了劳动力。随着时代的开展,机器人技术也是日新月异,从传统的履带式机器人到如今的双足行走机器人,机器人的应用围越来越广。机器人作为科技产物,如今已经给人们提供了越来越多的方便,他们可以做人类无法做到的事情,也可以代替人去做一些危险的工作。两足直立行走机器人是未来机器人的开展方向。相比较传统的履带式机器人,它们可以更好的,更方便的为人类效劳,模仿人类两足行走的特性可以到达更多传统机器人无法到达的地方。双足机器人不但拥有开阔的工作空间,并且对步行环境要求很低,能适应于各类地面且具有较高的夸越障碍的能力,其步行性能是别的步行构造无法比较的[2]。研究双足行走机器人具有重要的意义。仿人双足步行是生物界难度最高的步行动作,但其步行性能却是其它步行构造所无法比较的。双足步行机器人是工程上少有的高阶、非线性、非完整约束的多自由度系统[3]。给予了对机器人的运动学、动力学及控制理论的研究一个非常理想的实验平台[4]。此外,双足步行机器人的研究还可以促进仿生学、人工智能、计算机图形、通信等相干学科的开展。机器人技术是科学技术开展的一个综合结果,是社会经济开展的起到重要影响的一门学科。是开展生产力的必然需求。一个国家的机器人技术可以衡量一个国家综合技术水平,开展机器人技术是未来的必然趋势。双足仿人行走机器人更是重中之重。通过研究制作双足行走机器人我们能够更好的认识双足行走机器人,了解其特点,这将为以后的开展,研究打下坚实的根底。1.2课题研究的目的及意义世界著名机器人专家,日本早稻田大学加藤一教授说过:“步行应当是机器人具有的最大特征之一,步行的移动方式是其他运动方式无法比较的,具有很大的优越性[5]〞。1.2.1步行的优越性机器人的移动方式分为履带式、轮式、步行等方式。轮式和履带式机器人虽然在平坦的路面表现很优秀,但是他们一旦到了泥泞、松软的土地上进展移动是就会收到很大的阻碍,而步行的方式就不会存在这一问题。步行能适应更多,更复杂的路况,例如:上楼梯、跨越障碍等。我们生活的地球有很多地方不适合轮式或者履带式机器人行动,但是我们的星球上有则多步行的动物存在,包括我们人类,可见步行应该是自然进化过程中最适合移动的一种方式,是其他行动方式无法比较的。1.2.2双足步行机器人的优越性步行机器人又很多,包括和蜘蛛一样的八脚机器人、小一点的四脚或者六脚机器人,以及本课题研究的双足机器人。与其他机器人相比,双足机器人灵活性更好,适应环境能力更强。能够方便的上下台阶,通过窄路面等。并且步行的方式占地面积小,更灵活,在此根底上更容易搭载短小紧凑的机械手臂。这是其他步行方式无法比较的。1.2.3双足行走研究的意义在步行方式中两足步行是最为复杂、自动化水平最高的动态系统。本课题以对两足行走机器人的行走控制为目的,来研究两足机器人的行走过程[6]。通过对外界环境的判断让机器人处理一些简单的应变。为机器人在以后更为复杂的工作环境稳定工作打下根底。研究双足步行机器人的另外一重要意义就是为了更好的了解人类和其他动物的行走机理,这样在将来可以为下肢瘫痪者提供较理想的假肢[7]。再者,研究动物行走方式和研究步行机器人是双向互惠的。正确的理解动物行走机理,可以反过来更有效地指导步行机器人的研究和开发[8]。因此,双足步行机器人的研制具有十分重大的价值和意义。1.3系统设计主要任务本文利用舵机控制器与单片机STC89C52和各类传感设备及受控部件、支架设计制作的一款机器人行走控制系统。系统的设计包括:系统硬件的设计与调试和控制软件的编写与调试。1.3.1硬件局部双足行走机器人系统其硬件局部主要由五大局部构成:(1)控制单元。单片机STC89C52是系统中控制局部关键的元件,它与控制单元组成控制局部功能。负责整个机器行动的方式,以及处理外部环境变化的,改变机器人行走路线的任务。(2)舵机控制模块。主芯片为STC12C5410AD,模块与控制单元进展串口通信从而到达控制信息的传输。舵机控制模块通过接收控制信息来产生控制舵机的PWM波形。从而实现行走控制。(3)传感器数据采集系统。利用传感器采集信息,为机器人提供准确的外部环境数据。控制单元通过接收的外部信息来改变控制信号,来让机器人产生行动变化。(4)受控部件。通过控制舵机,通过准确的角度变化让机器人完成行走的根本目的。其主要受控于舵机模块。通过PWM波控制。(5)支架。组成机器人的躯干,搭载机器人全部电子器件。1.3.2软件局部软件设计局部主要由三大局部构成:(1)数据采集与数据分析局部。即通过单片机对数据进展实时的采集与处理。通过分析采集到的数据来产生控制机器人的处理信息,从而实现机器人的实时控制的目的[9]。(2)串口通信局部。两个系统通过串口进展通信,是控制单元和舵机控制模块的主要通信方式,两个模块间良好的通信才能完成系统的设计。(3)分析控制局部。根据采集的信息让系统判断外部环境,并做出相应的对策。这样可以防止机器人在行走过程中的危险,保护机器人的平安,稳定。第二章系统方案设计基于目前已有的成熟方案,我选择用单片机STC89SC52为主控制芯片,选用STC12C5410AD为核心的舵机控制器,并结合传感器来组成这个系统。系统预留扩展I/O口可用于扩展语音控制芯片等。以STC12C5410AD为核心的舵机控制板拥有大量的舵机借口[10],可方便日后扩展手臂功能。2.1机器人自由度选择步行机器人的行走必须依赖于关节,关节越多越灵活,其控制过程也就越复杂。人体的关节大约有400多个自由度。通过分析我们得知实现机器人步行的自由度最少是4个。其控制数据量适中。方便系统调试,顾选择4自由度机器人作为设计的框架,在此根底上进展设计。这4个自由度分别为2个髋关节和2个踝关节。简单的4个关节就能实现根本的行走目的,节约了本钱也减少了开发的时间。2.2机器人构造的设计双足行走机器人其根本条件就是有两条腿,我们分别为这2条腿安装一个髋关节和一个踝关节,再通过搭载一个简易的平台来固定两条腿,并搭载所以电子设备,这样就根本形成了一个双足机器人的模样。由于本系统选用的MCU(MicroControlUnit)的速率限制,无法为机器人提供一个很好的平衡算法硬件条件。故装上两个大脚板,来保持行走过程中的平衡问题。这是一中最简单的、本钱最故障率最低的实现平衡的方式。2.3驱动方案选型目前主流机器人的驱动方式大致分为气压驱动,液压驱动和电机驱动。气压驱动虽然动作快,但是稳定性不好,比较难控制。液压驱动力矩大,响应速度也比较快,但是本钱非常高,很重。而且上述两种方案一般是在大型设备中使用的,并不使用于本系统的小型设计需求,故采用电机驱动。电机种类也比较多,但是大多数都很难做到准确控制,本系统采用的舵机具有非常好的可控制性。准确度度、响应速度也根本能够满足设计的需要。目前的双足机器人也大多采用这种方式。舵机是一种价格低、精度高、平安性能良好、易于维修的一种特殊的伺服电机。最早是用在航空模型的控制上面。通过PWM波来控制转动角度,这更加方便与单片机的编程和实际使用。2.4系统总体设计机器人总体设计如下列图所示。从上到下看分别是红外传感器、主控制芯片、舵机控制芯片、外围电路、电池、机器人双足。并且在机器人主控板上预留接口来安装扩展使用的语言控制模块。四个舵机相当于四个关节,这样就完成了机器人的整体系统设计。整体系统设计见图1图1基于双足行走机器人系统总框图第三章系统硬件电路设计系统硬件电路包括单片机中央控制器、舵机控制单元、传感器模块、扩展功能I/O口,整体的电路设计简约,可靠性强。硬件设计简图如图2图2总硬件设计简图3.1单片机控制模块采用STC89C52单片机。STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,STC89C52使用经典的MCS-51核,8k字节Flash,512字节RAM,32位I/O口线,看门狗定时器,置4KBEEPROM,MA*810复位电路,3个16位定时器/计数器,4个外部中断,一个7向量4级中断构造〔兼容传统51的5向量2级中断构造〕,全双工串行口[11]。根本满足控制及串口通信要求。本设计使用单片机的P3.0和P3.1串口通信口实现单片机和舵机控制模块的通信,使用P1.0、P1.1、P1.2这三个I/O口来检测按键指令,使用P0.0口来检测红外传感器信号,预留P2.1、P2.2、P2.3三个预留I/O作为语音控制扩展I/O口,方便实现语音控制功能。其他I/O口暂时没有用到,故不接线,方便日后扩展使用。3.2舵机控制模块选用STC12C5410AD单片机。拥有32PWM波输出功能,可以同时对32个舵机进展任意角度的控制。使用灵活、高效,扩展性强。该模块具有TTL电平串口,可方便的与主控芯片进展通信。该舵机控制模块有相对应的上位机控制软件,可以方便的和电脑进展通信,来采集数据。通信时采用9600波特率,8位数据,1位停顿位,进展通信。本舵机模块拥有独立的舵机供电电源输入,不和单片机共用一路电源。这样既可以保证单片机的工作稳定,也利于舵机的动力输出。舵机控制器主芯片图如图3图3舵机控制模块主芯片图3.3传感器模块电路设计系统采用红外光传感器来判断机器人前方是否有障碍物,当检测到前方有障碍物时,通知MCU做出相对应的指令。传感器连接到单片机I/O口,单片机通过读取I/O口的电平来判断传感器传来的信息。红外光传感器就像机器人的眼睛,可以让机器人看到前方的事物。红外传感器是一种非常常用的传感器,其构造简单,调节方便,供电电压和单片机类似,可直接与单片机I/O口连接,是一种非常易用的传感模块。红外传感器电路图如图4图4红外传感器电路图3.4按键电路设计本系统使用按键来控制机器人是最为方便,直接的一种方式。系统设计三个按键对应三条不同指令来告诉机器人需要做什么,使机器人做出相应的动作。按键直接接I/O口接地,并联的电容可以代替RS触发器来起到去除按键抖动的作用。由于此处按键不是采用AD采样的方式进展读取,因此不必考虑按键本身的电阻对操作的影响。按键电路如图5图5按键电路图3.5机器人电源及通信系统设计整个机器人在设计时由于牵涉到2个MCU,1个传感器,4个舵机等大量用电设备,所以必须需要可靠的电源系统。本设计采用的电池为7.4V锂电池,通过2块DC-DC转换器分别给舵机模块和单片机模块供电。由于舵机用电电压需要6.5V左右,可能导致舵机模块和单片机模块串口电平不一。因此采用两个2N7002MOS管组成串口通信电路,该电路主要应用与不同电平MCU通信。下列图中,MCUR*D、MCUT*D、舵机控制T*D、舵机控制R*D为四个信号端,VDDMCU和VDD舵机控制器为这四个信号的高电平电压.另外限制条件为:1、VDD舵机控制器<=VDDMCU2、S1的低电平门限大于0.7V左右(视NMOS的二极管压降而定).3、V3s<=VDDMCU4、V1s<=VDD舵机控制器系统根本满足上述条件,因此采用该电路进展串口电平转换。更好的保证通信的稳定性。系统采用两块LM2596S芯片的DC-DC模块,该模块具有接线简单、本钱低、稳定性好、转换效率高的特点。防止了因电池的不稳定造成对机器人的影响。同时,降低电源电压有利于单片机的稳定工作,延长使用寿命。提供应舵机适宜的电压才能使舵机工作在最正确状态。好的供电系统对整个机器人的使用都起到了非常关键的作用。串口通信电路如图6图6串口通信电路图第四章系统软件设计如果说红外传感器是机器人的眼睛;舵机及支架是机器人的身体,用于支撑整个机器人;舵机控制器是机器人的小脑,控制四肢运动;则MCU就是机器人的大脑,用来控制整个机器人的动作,而程序就是机器人的灵魂。本章介绍具体流程。4.1程序流程图程序流程图如图7开场开场等待命令转动90°舞蹈避障行走关节测试测试完前方有障碍舞蹈完是是是否否否图7程序流程图4.2控制流程图控制流程图如图8舵机控制器模块舵机舵机舵机舵机控制器模块舵机舵机舵机舵机主控制MCU按键红外传感器按键红外传感器主控制MCU图8控制流程图4.3动作数据采集利用上位机通过串口与舵机控制器通信,分步调试每个舵机在每种状态下的转动角度,建立数据库,方便程序调用。调试界面如图9图9上位机调试界面4.4数据库的建立通过上一步骤采集到机器人每次动作的舵机状态,并记录。如站立姿态时4个舵机角度分别是89°、86°、86°、86°。建立站立数据发送函数voidzhanli(){action("*16A89!");action("*31A86!");action("*22A86!");action("*25A86!");}将机器人行走过程中第一步动作分解成各个微动作,采集第一步各个微动作建立一步动作函数。voiddiyibu()//第一步{action("*25A76!");delay(5);action("*22A76!");delay(50);action("*25A70!");delay(5);action("*22A70!");delay(5);action("*25A66!");delay(5);action("*22A66!");delay(5);action("*16A99!");delay(5);action("*31A96!");delay(5);action("*16A109!");delay(5);action("*31A106!");delay(5);action("*16A119!");delay(5);action("*31A116!");delay(5);action("*25A70!");delay(5);action("*22A70!");delay(5);action("*25A76!");delay(5);action("*22A76!");delay(5);action("*25A86!");delay(5);action("*22A86!");delay(5);action("*22A96!");delay(5);action("*25A96!");delay(5);action("*22A100!");delay(5);action("*25A100!");delay(5);action("*22A106!");delay(5);action("*25A106!");delay(5);action("*31A106!");delay(5);action("*16A109!");delay(5);action("*31A96!");delay(5);action("*16A99!");delay(5);action("*31A86!");delay(5);action("*16A89!");delay(5);action("*31A76!");delay(5);action("*16A79!");delay(5);action("*31A66!");delay(5);action("*16A69!");delay(5);action("*31A56!");delay(5);action("*16A59!");delay(5);action("*22A100!");delay(5);action("*25A100!");delay(5);action("*22A96!");delay(5);action("*25A96!");delay(5);action("*22A86!");delay(5);action("*25A86!");delay(5);}通过执行上述两个函数,主MCU便可以发送出动作指令给舵机控制器,舵机控制器读取响应代码来操作舵机转动准确角度,这样便实现了控制机器人行动的目的,其他动作都要进展相似的动作采样。第五章系统整机调试及功能测试本系统所包含的功能模块有:舵机控制模块、红外传感设备、舵机、按键。本章介绍具体功能。5.1舵机控制控制模块调试舵机控制器是机器人的传输神经,机器人的每一次动作都由它发出指令。通过它控制舵机的角度变化来实现机器人的抬脚,落脚动作。舵机模块的测试可以使用上位机来进展,通过在上位机条件,观察舵机控制模块是否能够操作舵机进展准确转动。也可用示波器观察输出的PWM波形是否正确来对舵机控制模块进展测试。5.2舵机调试舵机是机器人的关节。通过舵机控制器发出PWM波来实现准确角度转动,且具有很的动力,本设计采用的舵机最大扭力为2.5KG。所以有它就能够带动一定质量的机身行动。舵机是一种特殊的伺服电机,只能通过PWM波形对它进展控制。它接收一个20ms的信号,通过改变输入信号脉冲宽度来改变舵机转动角度。舵机转动角度与脉冲宽度如下表所示:表1脉冲宽度与舵机角度对照表脉冲宽度舵机输出轴转角0.5ms-90°1.0ms-45°1.5ms0°2.0ms45°2.5ms90°将舵机装在支架上,通过上位机调节舵机度数是机器人保持站立姿势。这就确定了舵机的初始化角度。如果不确立这一度数,机器人启动时就不能自动的站立前进。5.3红外传感设备调试红外传感器,能够对前方设定距离的是否有障碍物进展判断,当有障碍时,检测管脚电平变高,单片机通过读取I/O口数据来判断前方是否有障碍来控制机器人实现避障。红外传感器上有一指示电平上下的指示灯,通过观察灯的暗、灭就可以知道现在输出的是什么电平,通过万用表检测观察传感器是否正常工作。5.4按键测试通过按键来改变单片机I/O口的上下电平让MCU承受动作命令,从而让机器人完成相对应的动作,实现各种功能。按键的目的是使单片机对应定义过的I/O口电平产生变化。单片机读取到电平变化,根据程序就能执行下一步操作。按键的好坏直接关系到功能是否可以实现。在进展机器人制作时,因用万用表检测按键按下是否可以导通,导通是否稳定,只有一个好的按键才能保证操作的准确的顺利进展。5.5整机调试将单片机与电脑串口连接,上电,通过观察串口数据来验证程序是否实现,按下按键观察数据是否发生变化,分析数据是否与设计要求一致。将舵机控制器和舵机连接,舵机控制器连接电脑,通过上位机软件操作舵机控制器控制舵机,观察舵机是否可以准确的转动一定角度。判断整个一个关节系统是否正常工作。确定无误后将单片机和舵机控制器串口连接,上电。观察机器人是否按照程序设计要求进展动作,按下每个动作指定的按键观察是否执行了响应的操作,如果存在问题则分析问题具体原因,是硬件问题还是软件逻辑问题,或者数据记录错误导致的问题。找到问题的真正原因并排除,直到整个系统能够实现设计的目的,这样一个就根本完成了双足行走机器人的制作。此时还可以将语音扩展模块,接到机器人上观察是否可以控制机器人行动。将机器人放在一特定环境下,观察是否可以进展避障行走。如果不能因及时调整软件算法来改变这一状况。至此,整个机器人系统的软件、硬件设计就完成了。第六章设计总结及技术展望双足行走机器人是未来开展的趋势,这次设计仅仅是很简单的一个双足机器人模型,离真正意义上的双足行走还有很大的差距。设计时才用的大脚板可以使机器人行走稳定,这只是从构造方面来解决了平衡性问题。要想真正解决平衡性问题还有很长的路要走,就像我们从婴儿学步一样我们仅仅迈出了第一步。本设计虽然简单,但根本满足了双足行走的根本要求,并实现了一定的简单功能,也让我根本了解了双足机器人行走的方式,及控制方法。以后可以通过增加关节数量,使用更多的传感设备,来模仿人类的行走方式。随着未来科技的开展,这种类关节运动还可以模仿手臂,头部等活动方式。制造高精度的机械手臂来帮助人们做一些很难做到的事。仿人双足步行是生物界难度最高的步行动作,但其步行性能却是其它步行构造所无法比较的。双足步行机器人是工程上罕有的高阶、非线性、非完整约束的多自由度系统这对机器人的运动学、动力学及控制理论的研究给予了一个非常理想的实验平台[12]。此外,双足步行机器人的研究还可以促进仿生学、人工智能、计算机图形、通讯等相关学科的开展。研究双足步行机器人的另外一重要意义就是为了更好的了解人类和其他动物的行走机理,并为下肢瘫痪者提供较理想的假肢。此外,动物行走机理的研究和步行机器人的开发是双向互惠的[13]。一旦对动物行走机理有了正确的理解,便可以反过来更有效地引导步行机器人的研究和开发。因此,双足步行机器人的研制具有十分重大的价值和意义。参考文献[1]欣.工业机器人:“中国制造〞必然之选[J].科技智囊,2013,08:32-37.[2]田阳.小型双足仿人机器人的设计与研发[D].中国海洋大学,2013.[3]付春.步行机器人的行走控制[D].理工大学,2006.[4]海涛.工业机器人的高速高精度控制方法研究[D].华南理工大学,2012.[5]大伟.双足机器人的步态规划与仿真研究[D].邮电大学,2009.[6]唐矫燕.载人两足步行椅机器人稳定性分析与控制策略[D].交通大学,2011.[7]丽萍.双足步行机器人的设计与研究[D].江南大学,2007.[8]旦谱.非构造地形轮足式移动机器人设计与步态规划研究[D].清华大学,2010.[9]自动化技术、计算机技术[J].中国无线电电子学文摘,2011,05:167-246.[10]E.J.Herrera-López,B.Castillo-Toledo,R.Femat.FuzzyservocontrollerforCSTBwithsubstrateinhibitionkinetics[J].JournalofProcessControl,2012,226:.[11]淑芳.基于51单片机的教学实验系统的设计与开发[D].中国海洋大学,2011.[12]M.*ie,Z.W.Zhong,L.Zhang,L.B.*ian,L.Wang,H.J.Yang,C.S.Song,J.Li.AdeterministicwayofplanningandcontrollingbipedwalkingofLOCHhumanoidrobot[J].IndustrialRobot:AnInternationalJournal,2009,364:.[13]SYBILEFARMER.Keyfactorsinthedevelopmentoflowerlimbco-ordination:implicationsfortheacquisitionofwalkinginchildrenwithcerebralpalsy[J].Disability&Rehabilitation,2003,2514:.附录附1:局部元器件清单舵机控制器、STC89C52、红外传感器等附2:程序清单*include<REG52.H>unsignedchart;unsignedinti; //动作判断1行走2跳舞3测试4检测到障碍回头sbit*ingzou=P2^0;sbittiaowu=P2^1;sbitceshi=P2^2;sbitcsb=P2^7;voidsys_init()//串口初始化根据实际情况进展设置{TMOD=0*20;//定时器1方式2TH1=0*Fd;//11.0592MHz晶振SCON=0*50;//串口方式1PCON=0*00;//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("*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);}voidwudao()//舞蹈{/****************侧片*******************/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);}voidceshidongzuo()

温馨提示

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

评论

0/150

提交评论