毕业论文-仿生六足机器人行走策略研究_第1页
毕业论文-仿生六足机器人行走策略研究_第2页
毕业论文-仿生六足机器人行走策略研究_第3页
毕业论文-仿生六足机器人行走策略研究_第4页
毕业论文-仿生六足机器人行走策略研究_第5页
已阅读5页,还剩59页未读 继续免费阅读

下载本文档

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

文档简介

仿生六足机器人行走策略研究ABSTRACTWheeledandtrackedmobilerobotsinthemobilemodehasbeenwidelyused,butfootmobilewayhastheadvantagewhichnotfoundinwheeledandtrackedmobilerobots.Thefootmobilewayrobotsstandpointisdiscrete.Supportpointbyareasonablechoice.Itcanadjustitswalkingpostureflexibilityandithasgoodabilityofobstacleavoidance.Gaitisthestridefootmobilerobotmode,issufficientmobilerobotcoordinatedmovementofall2legsofthelawisthebasisofothercontrolalgorithm.Thisdesignofthemainbionichexapodrobotsixfootprogram,Insectwalkinggait,Time-sharingmulti-actuatorcontrol,toachievesix-footthree-leggedandfour-footedgait,andhasthefunctiontoavoidtheobstacle.Inordertomeetthedemandofthehexapodwalkingbio-robotstaskandworkingenvironment,thispaperputsforwardthearrangementofthecomplexsensingsystembasedonmultipleinfraredsensors,whichenlargestherobotsdetectingrange.Weusethecontrolobstaclesavoidingstrategy,whichovercomesthedisadvantagethattheenvironmentmodelisdifficulttoset.Inthedesign,itcompletedtheassembleofrobotslegandotherpartsatfirst.ThenitusestheBasicStampeditor,Pbasiclanguage,designprogramandcompletethedesignofrobotsmotioncontrolprogram.Afternormalcommunicateofdata,translateprogramtoBasicStampcontrolbycomputer.Atlast,torealizeseveralmotioncontrolformwhicharedesignedbeforehand.Whatsmore,ensuringmechanicalbehaviorworkrightandtheaccurateofprogramdesign.Tocompletethecontroldesigndutyofhexapodwalkingbio-robot.Keywords:hexapodwalkingbio-robot,BasicStamp,avoidingstrategy-II-仿生六足机器人行走策略研究目录第一章绪论.11.1仿生六足机器人发展的背景及研究意义.11.2仿生多足机器人研究现状及发展趋势.2第二章仿生六足机器人的硬件组装.42.1仿生六足机器人的硬件结构.42.2BASICStamp微控制器.62.3机器人伺服马达.7第三章仿生六足机器人步态规划.103.1仿生机器人步态研究的几个基本概念.103.2三角步态.113.2.1三角步态原理.113.2.2腿部动作与占空系数.133.2.3稳定性分析.143.3四足步态、波动步态与三角步态的区别.173.4各种步态的分析.19第四章仿生六足机器人运动控制程序设计.214.1六足步行机器人编程初始值的设定.214.2指针指令的使用.234.3三足步态、四足步态的正向直行程序设计.24第五章基于红外传感的实时避障技术.305.1红外传感器的硬件安装.305.1.1用FREQOUT命令测试红外发射探测器.335.2基于红外传感的软件编程.40第七章结论与展望.43参考文献.44致谢.45-III-仿生六足机器人行走策略研究附录1.46附录2.50附录3.55-IV-仿生六足机器人行走策略研究第一章绪论1.1仿生六足机器人发展的背景及研究意义众所周知,自然界中的各种生物通过物竞天择和长期进化,已对外界环境产生了极强的适应性,在能量转换、运动控制、姿态调节、信息处理和方位辨别等方面还表现出了高度的合理性,已日益成为人类开发先进技术装备的参照物,仿生机器人便是仿生学与机器人学相结合的产物。相比而言,仿生多足机器人具有其它类型机器人所不具备的一些优点,如其具有较强的运动灵活性和较高的功能适用性、较好的越障和避障能力,以及其运动系统可以实现自主隔振等,因此仿生多足机器人及其相关技术的研究与开发已经成为当前机器人技术领域应人关注的热点。自20世纪80年代美国著名机器人学专家R.B.McGhee等人开始研究四足步行机器人以来,多组步行机器人的研究一直是世界范围内众多学者关注的热点和难点问题,其研究状况也如加拿大著名机器人学专家J.Angeles教授指出的“步行机器人的基础理论研究步伐要远滞后于其他技术开发的步伐”。之所以会存在这样的状况,主要是因为多足步行机器人是一种具有冗余驱动、多支链、事变拓扑运动机构的特种机器人,它集构造设计技术、电子技术、控制技术、传感器技术、信息处理技术于一体,代表着当代科技发展的前沿水平,是以国家科技综合是实力的集中体现,必须投入巨大的人力、物力、和财力,且必须在基础研究合适应用等方面取得大量突破和丰富积累,才能取得相应的发展与进步。因此,若想在步行机器人技术领域有所作为和有所建树,我们必须瞄准步行机器人的世界先进水平奋起直追,争取在尽3。可能短的时间内赶上和超过世界先进水平与其他多足机器人相比六足机器人具有以下几个特点:(1)控制结构简单。这是因为昆虫体型和行走步态比较简单,在机器人的设计过程中可以对其控制系统和行走装置进行简化。(2)行走平稳。昆虫行走时为多足支撑,可以始终保持稳定的地面支撑,所以系统比较容易实现平稳行走。其三角步态行走法是基于三角型稳定性原理的一种步态,可确保昆虫稳定地行走。(3)作为行走机构的腿部的数目属于冗余设计。即使有的腿损坏无法工作,其他腿仍可以完成一定的行走。具有的大量的自由度可以使机器人的运动更加灵活,9。对凹凸不平的地面的适应能力更强因此研究仿生六足机器人可以适应复杂地形的工况要求。-1-仿生六足机器人行走策略研究1.2仿生多足机器人研究现状及发展趋势早期的六足机器人随着美国宇航总署对外太空探测计划的不断深入,迫切需要一种可以在未知复杂星球表面执行勘探任务的机器人。由于六足机器人的所具有的这方面优点,使其早在上世纪八十年代就已被列入资助研究计划。其研究成果包2和九十年代初的Attila和Hannibal。Genghis是由irobot括八十年代末的Genghis公司研制于80年代,每条腿装有两个电机,使得它可以自由行动,但是因为每腿只有两个自由度,行动有些笨拙。采用递归控制结构,可以使Genghis在复杂路面上行走,包括横越陡峭的地势,爬过高大的障碍,避免掉下悬崖。九十年代中期的六足机器人对于跨海登陆作战的部队来说,浅滩地雷是无疑是最危险也最头疼的登陆障碍,出于这点考虑,美国麻省理工大学和其下的is-robot公司得到国防部高级研究计划局的资助,研制了两代浅滩探雷机器人Ariel。2是由美国波士顿东北大学海洋科学中心近年完成的典型六足机器人Scorpion自主水下机器人研究小组和德国Fraunhofer自主智能系统研究所(AIS)共同完成于2001年。这项工程的目标是运用集成来自行为学实验和无脊椎动物的神经生物学数据的低级行为指令,通过高级的控制模式来组成行为序列,实现复杂的行为。机器人的设计是根据来自多足节支动物的解剖学数据。其采用机器人的行走控制基于两个仿生控制元:中央模式生成元和基本运动的高级行为元。通过对仿生多足机器人研究现状的分析,可以看到仿生多足机器人呈现出新的特征和发展趋势。其主要表现在:(1)自然界中生物的结构和技能远比现在所涉及的机器人更为合理,因此应该进一步开展生物观测分析实验,在充分研究生物机体结构和运动特征的基础上,完善仿生多足机器人的设计。研发人员要在“仿生”二字上下功夫,不仅要“形似”,而且要“神似”。(2)与单个腿式机器人相比,多个足式步行机器人的总负荷更大,可以携带的仪器和工具更多,功能性更强。他们之间通过通信惊醒协调,也可以按照某种规则制定主机器人和从机器人,从而按照一定的队形和顺序对目标进行不同的测量和操作。而且当其中某一退市机器人出现故障时,其他机器人还可以照常工作,大大提高了工作效率和可靠性。因此,仿生多足机器人的研究影响着群体化发展。(3)自重构式仿生多足机器人比起固定结构的多租机器人对地形的适应性更强,可应用的场合更多。可以根据作业人物和环境的不同,变换体态和形状。如当-2-仿生六足机器人行走策略研究穿越管道时,它可以变成蛇形;当穿越崎岖的地形时,它可以变成腿式机器人。因此,自重构机器人是仿生多足机器人发展的重要方向之一。1.3课题的研究内容与过程对仿生六足机器人的研究主要包括以下几个方面的内容:(1)对机器人的机构进行运动学分析(2)认识机器人控制系统硬件。包括主控电路的认识,舵机控制器的认识。(3)研究了仿生学的基本知识和应用于昆虫行走的三角步态,通过对其步态分析,占空系数分析、稳定性分析、转弯步态和转弯半径分析设计出六足机器人三角步态行走以及转弯的程序。提出四足步态和波动步态,并编写四足步态程序和三足步态比较。(4)将所设计的控制系统软硬件在机器人本体上进行实验,对其三角步态、四足步态进行验证。(5)在机器人身上安装红外传感,使之实现避障功能。(6)编写相应程序使机器人实现避障该功能。-3-仿生六足机器人行走策略研究第二章仿生六足机器人的硬件组装2.1仿生六足机器人的硬件结构材质:采用国家标准铝材。表面特别处理,防腐蚀防刮痕。尺寸(长X宽):49.68厘米X40.00厘米腿到腿距离外设可扩展空间:本六脚爬虫机器人提供达1819.35平方厘米的可扩展空间。高度:站立高度15.24厘米蹲下高度12.34厘米离地净高:8.89厘米腿部运动方式:2自由度(垂直及水平)负荷能力:3.4千克自重:1.81千克(带电机)电子部件:帕拉斯教学板,微处理器,帕拉斯伺服电机控制器伺服电机规格:铁芯有刷电机,自润滑防护轴承4.8伏扭矩:3.0千克/厘米,6.0伏扭矩:3.7千克/厘米4.8伏速率:0.19秒/60度无负载,6.0伏速率:0.15秒/60度无负载尺寸:40毫米X20毫米X36.5毫米自重:43克可配附件:云台系统、传感器安装板、红外测距套件、5伏适配器套件、镍锰电池、充电器、教学板电源、电机电源、其他部件等。图2-1仿生六足机器人的外观-4-仿生六足机器人行走策略研究机构设计是仿生六足机器人系统设计的基础,整机机械结构、自由度数、驱动方程式和传动机构等都会直接影响机器人的运动和动力性能。同时,仿生六足机器人机构设计出了需要满足系统的技术性能外,还需要满足经济性要求,即必须在满足机器人的预期技术指标的同时,考虑用才合理、制造安装便捷、价格低廉以及可靠性高等问题。为了行走稳定起见,仿生六足机器人在行走过程中,机体中心的投影必须落在三条支撑足的支撑点所构成的三角形区域内,其情况如图2.2所示。其中箭头表示重心的移动。因为当重心靠近边界时会使机器人的稳定性急剧降低。图2-2支撑点构成的三角形六脚步行机器人的是由三大部分构成,机器人主体、六只带动机器人运动的腿、机器人的伺服控制器芯片与BasicStamp控制芯片。如图2-31-5-仿生六足机器人行走策略研究图2-3机器人的三大构成部分机器人的运动是靠12个伺服电机作为动力,每只腿分配2个电机(2*6),分别控制机器人的两个自由度,即水平方向和竖直方向(纵向),腿部是由伺服控制器控制完成运动过程,水平推动机器人的前进或后退,竖直方向则是利用机器人的关节拉高或降低。机器人的主体部分,是由两块铝制板材和两块侧板构成,安装比较简单,但它具有一定的物理意义:固定机器人的六只脚,换言之不使六只脚有任何非移动范畴的松动,并使6只脚在机器人平放地面时保持同一水平面,每只脚必须与地面完全接触。因为不稳固的安装会使每只腿的移动距离存在误差,从而使机器人行走时出现摔落情况,十分危险。另外两个控制器也安装其上(如图2-3),因此要求比较高的稳定性。2.2BASICStamp微控制器BASICStamp微控制器是以PBASIC为编程语言,通过解释器对PBASIC应用程序进行解释执行的微型计算机,具有8路或16路I/O通道,每个I/O通道接脚可直接连接到按钮开关、发光二极管、扬声器、电压计及其它TTL装置等。通过增加一到两个额外2。元器件,I/O接脚就可以连接到非TTL装置,如线圈、继电器等BASICStamp由一个9伏特电压调节器、晶振器、SerialEEPROM、及一个PBASIC-6-仿生六足机器人行走策略研究解释器组成。PBASIC程序储存在非挥发性(断电后程序仍可保留)的SerialEEPROM内,解释器从EEPROM读取已储存的程序代码或将数据写进去。解释器每次读取一条指令,经过解释后对输入/输出接脚、或本身内部结构进行适当的操作。PBASIC程序储存在EEPROM中,程序可无限地被重复修改及写入。BasicStamp控制器的主要功能是完成计算机与机器人的数据传输(BasicStamp指令的传输),计算机用15针COM口数据线与控制器相连,传输各种BasicStamp程序,在控制器收到数据后再次传输给伺服电机控制器。伺服控制器与机器人的六只脚通过电路相连,对它们进行直接控制,而后伺服电机带动机器人运动。图2-4basicstamp板2.3机器人伺服马达伺服马达主要有三根线,分别为:黑、红、白,其中红色的为电源线(最大为6V直流电压);黑色为地线;白色的为控制信号线(一般输入周期为23ms左右的脉冲序列),通过对这信号线输入脉冲序列来控制电机的运动,可以控制电机的运动速度,运动方向)。所有马达使用前必须进行零位校正。-7-仿生六足机器人行走策略研究图2-5伺服马达通过利用一种信号来控制这些伺服电机的位置,称这种信号为脉冲序列。伺服电机内安装有一个机械限位器,防止电机转动超出其设定的运动范围。伺服电机内还装有一个位置反馈装置,这样一来伺服电机内的控制电路才能知道在响应脉冲序列时转到哪。本次使用六脚步行机器人的电机能转过最大角度约270度。从BasicStamp控制器中发送出的一组控制伺服电机的控制信号被称为“脉冲序列”,控制器能通过编程产生这样的信号波型,而且还能用它任意的一个I/O口进行信号输出。伺服电机控制器和控制器用一根信号传输线相连,接到控制器的P15串口,在伺服电机控制器上有16个通道用于和伺服电机相连接。本文所提到的六足机器人由于只有12个伺服电机,所以只用其中的12个通道用于和伺服电机的连接。ch0、ch2、ch4、ch6、ch8、ch10六个通道用于连接水平方向的电机,ch1、ch3、ch5、ch7、ch9、ch11六个通道用于连接垂直方向的电机。图2-6显示的信号是发送到与P12连接的伺服电机校准信号,又称零点标定信号。伺服电机调好之后,这个信号就可以指示电机保持静止。这个指令是由间隔20ms,脉冲带宽1.5ms的一组系列脉冲组成。把PULSOUT命令和PAUSE命令放在DO.LOOP循环语句之间就可以产生该信-8-仿生六足机器人行走策略研究图2-61.5ms脉冲宽度的时间矢量图号,从图中很容易可以看出两个脉冲之的PAUSE时间为20ms,即PAUSE20。下面来计算下带宽为1.5ms时PULSOUT命令参数Duration的值。1.5ms=0.0015s前面阐述过,无论PULSOUT命令的参数Duration的值是多少,都要乘以2微秒,这样就可以计算出脉冲持续的时间。计算方式:0.0015s/0.000002s=750.因此我们得出要向PIN12发送1.5ms脉冲信号的命令是:PULSOUT12,750对于六脚步行机器人的12个伺服电机,由于伺服电机数量比较多,可以进行轮流调零,也可以进行2-4个同时调零。具体程序如下:$STAMPBS2$PBASIC2.5DEBUGtext!DOPULSOUT12,750PAUSE20LOOP同时编辑两个伺服电机的调零工作:DEBUGtext!DOPULSOUT12,750PAUSE20PULSOUT13,750PAUSE20LOOP-9-仿生六足机器人行走策略研究第三章仿生六足机器人步态规划3.1仿生机器人步态研究的几个基本概念步态是步行类机器人的迈步方式,即机器人行走系统抬腿和放腿的顺序、由于开发步行机器人的需要,McGhee在总结前人对动物步态研究成果的基础上,比较系统的给出了一系列描述和分析步态的严格的数需定义。目前多足机器人技术领域常用到的基本术语如下:步态:即步行机器人有关腿部摆动顺序极其时间相序等的步行模式。支撑相、摆动相:步行机器人腿部着地的状态叫做支撑相或站立相。支撑多边形:即步行机器人支撑足着地点用凸形轮廓线所构成的凸形多边形在水平面上的投影。稳定裕度:多足机器人重心在水平面上的垂直投影点处于支撑多边形各边的最短距离叫做该时刻的稳定裕度。对于机器人的某一种周期步态,在其步行周期中稳定裕度的最小值叫做步态的稳定裕度。静态步态:步行机器人合成重心在水平面上的垂直投影点处于支撑多边形内的步行叫做静态稳定步行,始终保持静态稳定性的步行叫做静态步行。动态性步行、准动态步行、动态步行:机器人在步行过程中某段时间不能保持静态稳定性的步行叫做动态性步行或准动态性步行;步行中完全不能满足静态稳定条件的储蓄步行叫做动态步行。跨步:步行机器人腿部的周期运动叫做跨步;单位周期中机器人重心移动的距离叫做步长。占空系数:设在一个跨步周期T内,步行机器人第i足处于支撑相的时间ti与其步行周期T之比称为占空系数(用i表示),也叫做该足的有荷因数。所有足的占空系数都相等的步态称为规则步态,这时用表示。几乎所有的动物都采用规则步态,步行机器人一般也以此为基准。一般在0和1之间取值。对于六足机器人而言,其步态随变化而变化。当00.5,机器人移动较慢时,摆动相与支撑相有一短暂的重叠过程,即机器人有六条腿同时着地的状态(见图2(b);(3)$FFIF(servoAddr/2)=1THENramp=LiftRampELSEIF(servoAddr=$00)OR(servoAddr=$02)OR(servoAddr=$04)THENramp=rightRampENDIFIF(servoAddr=$06)OR(servoAddr=$08)OR(servoAddr=$0A)THENRamp=leftRampENDIFENDIFGOSUBWrite_PSCLOOPGOTOWalking_Engine程序写入BasicStamp控制器Write_PSC:READptrEEPROM+1,servoPosition.LOWBYTE,servoPosition.HIGHBYTE读取三个地址:伺服电机地址位、伺服电机高位、伺服电机低位SEROUTPSC,Baud,!SC,ServoAddr,设置传输的参数以及具体位置Ramp,servoPosition.LOWBYTE,servoPosition.HIGHBYTE,CRptrEEPROM=ptrEEPROM+3每次读取三组程序READptrEEPROM,servoAddrPAUSEdelayRETURN-49-仿生六足机器人行走策略研究附录2四脚步态程序$STAMPBS2$PBASIC2.5constantsdefinitionsPscCON15baudCON396rampCON1variablesdefinitionsch0VARBytech1VARBytech2VARBytech3VARBytech4VARBytech5VARBytech6VARBytech7VARBytech8VARBytech9VARBytech10VARBytech11VARBytenVARByteho1VARWordho2VARWordho3VARWordho4VARWordho5VARWordho6VARWordch0=0ch1=1ch2=2ch3=3ch4=4ch5=5-50-仿生六足机器人行走策略研究ch6=6ch7=7ch8=8ch9=9ch10=10ch11=11main:GOSUBinitializationFORn=0TO50GOSUBmovestraightn=n+1NEXTinitialization:ho1=750SEROUTPsc,Baud+$8000,!SC,ch0,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch2,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch4,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch6,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch8,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch10,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch1,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch3,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch5,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CR-51-仿生六足机器人行走策略研究SEROUTPsc,Baud+$8000,!SC,ch7,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch9,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch11,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRPAUSE200RETURNmovestraight:ho1=750ho2=ho1-300ho3=ho1+300SEROUTPsc,Baud+$8000,!SC,ch1,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch3,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch5,ramp,ho2.LOWBYTE,ho2.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch7,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch9,ramp,ho3.LOWBYTE,ho3.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch11,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRPAUSE200ho4=ho1+100ho5=ho1-100ho6=ho1-150SEROUTPsc,Baud+$8000,!SC,ch0,ramp,ho6.LOWBYTE,ho6.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch4,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch8,ramp,ho5.LOWBYTE,ho5.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch2,ramp,ho6.LOWBYTE,ho6.HIGHBYTE,CR-52-仿生六足机器人行走策略研究SEROUTPsc,Baud+$8000,!SC,ch6,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch10,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRPAUSE200SEROUTPsc,Baud+$8000,!SC,ch1,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch3,ramp,ho2.LOWBYTE,ho2.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch5,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch7,ramp,ho3.LOWBYTE,ho3.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch9,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch11,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRPAUSE200SEROUTPsc,Baud+$8000,!SC,ch0,ramp,ho6.LOWBYTE,ho6.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch4,ramp,ho6.LOWBYTE,ho6.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch8,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch2,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch6,ramp,ho5.LOWBYTE,ho5.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch10,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRPAUSE200SEROUTPsc,Baud+$8000,!SC,ch1,ramp,ho2.LOWBYTE,ho2.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch3,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CR-53-仿生六足机器人行走策略研究SEROUTPsc,Baud+$8000,!SC,ch5,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch7,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch9,ramp,ho1.LOWBYTE,ho1.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch11,ramp,ho3.LOWBYTE,ho3.HIGHBYTE,CRPAUSE200SEROUTPsc,Baud+$8000,!SC,ch0,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch4,ramp,ho6.LOWBYTE,ho6.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch8,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch2,ramp,ho6.LOWBYTE,ho6.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch6,ramp,ho4.LOWBYTE,ho4.HIGHBYTE,CRSEROUTPsc,Baud+$8000,!SC,ch10,ramp,ho5.LOWBYTE,ho5.HIGHBYTE,CRPAUSE200RETURN-54-仿生六足机器人行走策略研究附录3实现避障的完整程序:$PORTCOM1$PBASIC2.5irDetectLeftVARBitirDetectRightVARBitpulseCountVARByteFREQOUT4,2000,3000DOFREQOUT8,1,38500irDetectLeft=IN9FREQOUT2,1,38500irDetectRight=IN0IF(irDetectLeft=0)AND(irDetectRight=0)THENHIGH10HIGH1GOSUBBack_UpGOSUBTurn_LeftGOSUBTurn_LeftELSEIF(irDetectLeft=0)THENHIGH10LOW1GOSUBBack_UpGOSUBTurn_RightELSEIF(irDetectRight=0)THENLOW10HIGH1GOSUBBack_UpGOSUBTurn_LeftELSELOW10LOW1GOSUBForward_PulseENDIFLOOPForward_Pulse:-55-仿生六足机器人行走策略研究PSCPIN15PSCmodule#IF($stamp=BS2SX)OR($stamp=BS2P)#THENBaudCON10212400baud#ELSEbaudCON331642400baud#ENDIFWalkingVariablesservoAddrVARByteServoaddressesptrEEPROMVARWordGaitselectservoPositionVARWordServoPositionrampVARByteRampusedinSEROUTrightRampVARByteRightsiderampvaluesleftRampVARByteLeftsiderampvaluesHorizontalLegConstantsCenter1CON750Leg1horizontalservoCenter2CON750Leg2horizontalservoCenter3CON750Leg3horizontalservoCenter4CON750Leg4horizontalservoCenter5CON750Leg5horizontalservoCenter6CON750Leg6horizontalservoStrideCalculationsStrideCON100StrideunitsdelayCONStride/5DelayasaratioofStrideLeg1CenterCONCenter1Leg1ForwardCONCenter1+StrideStride+Leg1CenterLeg1BackCONCenter1-StrideLeg2CenterCONCenter2Leg2ForwardCONCenter2+StrideLeg2BackCONCenter2-StrideLeg3CenterCONCenter3Leg3ForwardCONCenter3+Stride-56-仿生六足机器人行走策略研究Leg3BackCONCenter3-StrideLeg4CenterCONCenter4Leg4ForwardCONCenter4-StrideLeg4BackCONCenter4+StrideLeg5CenterCONCenter5Leg5ForwardCONCenter5-StrideLeg5BackCONCenter5+StrideLeg6CenterCONCenter6Leg6ForwardCONCenter6-StrideLeg6BackCONCenter6+StrideLiftRampCON$1VerticalservorampAdjustableverticalservopositionsRaiseRightCON300RaisedandloweredLowerRightCON1200verticalservovaluesRaiseLeftCON1200LowerLeftCON300EEPROMdataWalkForwardForwardDATA$01,WordRaiseRight,$05,WordRaiseRight,$09,WordRaiseLeft,$02,WordLeg2Back,$06,WordLeg4Back,$0A,WordLeg6Back,$00,WordLeg1Forward,$04,WordLeg3Forward,$08,WordLeg5Forward,$01,WordLowerRight,$05,WordLowerRight,$09,WordLowerLeft,$03,WordRaiseRight,$07,WordRaiseLeft,$0B,WordRaiseLeft,$00,WordLeg1Back,$04,WordLeg3Back,$08,WordLeg5Back,$02,WordLeg2Forward,$06,WordLeg4Forward,$0A,WordLeg6Forward,$03,WordLowerRight,$07,WordLowerLeft,$0B,WordLowerLeft,$FF-57-仿生六足机器人行走策略研究BackDATA$01,WordRaiseRight,$05,WordRaiseRight,$09,WordRaiseLeft,$02,WordLeg2Forward,$06,WordLeg4Forward,$0A,WordLeg6Forward,$00,WordLeg1Back,$04,WordLeg3Back,$08,WordLeg5Back,$01,WordLowerRight,$05,WordLowerRight,$09,WordLowerLeft,$03,WordRaiseRight,$07,WordRaiseLeft,$0B,WordRaiseLeft,$00,WordLeg1Forward,$04,WordLeg3Forward,$08,WordLeg5Forward,$02,WordLeg2Back,$06,WordLeg4Back,$0A,WordLeg6Back,$03,WordLowerRight,$07,WordLowerLeft,$0B,WordLowerLeft,$FFRturnDATA$01,WordRaiseRight,$05,WordRaiseRight,$07,WordRaiseLeft,$02,WordCenter2+200,$08,WordCenter4,$0A,WordCenter6+300,$00,WordCenter1,$04,WordCenter3,$06,WordCenter4,$01,WordLowerRight,$05,WordLowerRight,$07,WordLowerLeft,$03,WordRaiseRight,$09,WordRaiseLeft,$0B,WordRaiseLeft,$02,WordCenter2+100,$08,WordCenter4-100,$0A,WordCenter6+200,$00,WordCenter1,$04,WordCenter3,$06,WordCenter4,$03,WordLowerRight,$09,WordLowerLeft,$0B,WordLowerLeft,$FFLTurnDATA$01,WordRaiseRight,$05,WordRaiseRight,$0B,WordRaiseLeft,$02,WordCenter2+100,$08,WordCenter4-100,$04,WordCenter6-300,$00,WordCenter1,$06,WordCenter3,$0A,WordCenter6,$01,WordLowerRight,$05,WordLowerRight,$0B,WordLowerLeft,$03,WordRaiseRight,$09,WordRaiseLeft,$07,WordRaiseRight,$02,WordCenter2+200,$08,WordCenter4,$04,WordCenter6-200,$00,WordCenter1,$06,WordCenter3,$0A,WordCenter6,-58-仿生六足机器人行走策略研究

温馨提示

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

评论

0/150

提交评论