毕业论文-会追光的四足步行机器人_第1页
毕业论文-会追光的四足步行机器人_第2页
毕业论文-会追光的四足步行机器人_第3页
毕业论文-会追光的四足步行机器人_第4页
毕业论文-会追光的四足步行机器人_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

..PAGEIXX大学毕业论文设计说明书题目:会追光的四足步行机器人的研究与设计学院:信息工程学院专业:学号:__罗凤娇指导完成日期:20XX5月目录摘要IAbstractII引言1第1章会追光的四足步行机器人的原理41.1四足步行机器人41.2机器人设计原理51.2.1步态规划51.2.2任务规划5第2章搭建会追光的四足步行机器人72.1器件简介72.1.1CDS5500数字舵机72.1.2MultiFLEX™2-AVR控制器82.1.3多功能调试器82.2组装机器人92.2.1零件清单92.2.2搭建四足92.2.3搭建机器人躯干102.2.4搭建机器人头部102.2.5机器人总装112.2.6机器人舵机连线11本次毕业设计搭建的四足步行机器人12第3章机器人的步态设计143.1前进步态143.1.1简单的步态设计143.1.2改进的步态设计163.2转向步态183.2.1简单的左转步态183.2.2改进的左转步态19第4章机器人的程序设计214.1舵机的设置214.1.1舵机ID编号和模式设置214.1.2舵机位置序列设置224.2程序基本设置244.2.1初始化设置编程244.2.2程序逻辑设计284.3等待延迟设计304.3程序下载与运行314.3.1ATmega128下载途径314.3.2ATmega8下载途径314.3.3串口通讯324.3.4程序编译、下载32第5章机器人的追光设计335.1追光设计335.2简单步态的追光设计335.2.1左转355.2.2右转375.2.3前进395.3改进步态追光设计425.3.1前进425.3.2右转445.3.3左转46总结48致谢49参考文献50附录I51会追光的四足步行机器人的研究与设计摘要:在工地、防灾救援等许多领域中,存在着人无法到达的地方和可能危及生命的特殊场合,对这些复杂环境不断探索和研究往往需要有机器人的介入。四足步行机器人是机器人的一个重要分支,由于四足机器人比两足步行机器人承载能力强、稳定性好,同时又比六足、八足步行机器人结构简单,因而更加受到研究人员的重视。本设计利用创意之星模块化机器人套件搭建了一个四足步行机器人,设定了各个舵机的ID地址和状态,控制器将相应的步态给相应的舵机,舵机就产生追光运动。运用Northstar图形化开发软件编写了机器人运动程序,实验表明设计的四足步行机器人实现了追光的功能。关键词:四足机器人,承载能力强、稳定性好,运动,Northstar软件TheResearchAndDesignOf4FeetWalkingRobotAbstract:Inworkingsiteormanyotherareasofdisasterrelief,therearemanyplacesthathumanbeingscannotreachorspecialoccationsthatmayendangerthelivesofhumanbeings.Weoftenrequirerobotinterventionduringcontinuousexplorationsandstudiesofinthesecomplexenvironment.4feetwalkingrobotisanimportantbranchofrobot.Since4feetwalkingrobothasgreatadvantagesover2feetrobotincarryingcapacityandstability,whilehavingamoresimplestructurethan6,8feetwalkingrobots,manyresearchersattachgreatimportanceto4feetwalkingrobot.Starofmodularrobotsusingcreativesuitebuiltarobot,settheIDofeachservoaddressandstate,thecontrolleroutputvalueofcorrespondstatestotheappropriatesteeringgear,steeringgeartoproduceacorrespondingmovementtorecoverthelight.Northstargraphicaldevelopmentsoftware,theuseofwrittenproceduresforrobotmotion,experimentalresultsshowthatthedesignoflimbambulationrobottoachievethefunctionofchasingthelight.Keywords:4feetwalkingrobot,carryingcapacityandstability,Sports..引言一、研究目的及意义足式移动机器人对行走路面的要求很低,它可以跨越障碍物,走过沙地、泽等特殊路面,用于工程探险勘测、反恐防爆、军事侦察等人类无法完成的或危险的工作。对这些环境进行不断的探索和研究,寻求一条解决问题的可行途径成为科学技术发展和人类社会进步的需要。不规则和不平坦的地形是这些环境的共同特点,使得轮式机器人和履带式机器人的应用受到限制。而多足步行机器人能够在复杂崎岖的路面上稳定行走。在这种背景下,足式机器人的研究蓬勃发展起来。二、足球机器人在国内外的成果移动机器人按移动方式大体分为两大类;一是由现代车辆技术延伸发展成轮式移动机器人〔包括履带式;二是基于仿生技术的运动仿生机器人。运动仿生机器人按移动方式分为足式移动、蠕动、蛇行、游动及扑翼飞行等形式,其中足式机器人是研究最多的一类运动仿生机器人。自然环境中有约50%的地形,轮式或履带式车辆到达不了,而这些地方如森林,草地湿地,山林地等地域中拥有巨大的资源,要探测和利用且要尽可能少的破坏环境,足式机器人以其固有的移动优势成为野外探测工作的首选,另外,如海底和极地的科学考察和探索,足式机器人也具有明显的优势,因而足式机器人的研究得到世界各国的广泛重视。现研制成功的足式机器人有1足,2足,4足,6足,8足等系列,大于8足的研究很少。曾长期作为人类主要交通工具的马,牛,驴,骆驼等四足动物因其优越的野外行走能力和负载能力自然是人们研究足式机器人的重点仿生对象。因而四足机器人在足式机器人中占有很大的比例。长期从事足式机器人研究的日本东京工业大学的広濑茂男等学者认为:从稳定性和控制难易程度及制造成本等方面综合考虑,四足机是最佳的足式机器人,四足机器人的研究深具社会意义和实用价值。四足机器人的研究可分为早期探索和现代自主机器人研究两个阶段。中国古代的"木牛流马"以及国外十九世纪由Rygg设计的"机械马",是人类对足式行走行机器的早期探索。而Muybridge在1899年用连续摄影的方法研究动物的行走步态,则是人们研究足式机器人的开端。20世纪60年代,机器人进入了以机械和液压控制实现运动的发展阶段。美国学者Shigley〔1960和Baldwin〔1966都使用凸轮连杆机构设计了机动的步行车。这一阶段的研究成果最具代表性的是美国的Mosher于1968年设计的四足车"WalkingTruck"。80年代,随着计算机技术和机器人控制技术的广泛研究和应用,真正进入了具有自主行为的现代足式机器人的广泛研究阶段。2、现代自主机器人的研究状况以微型计算机技术广泛应用为标志的现代四足机器人的研究和应用受到世界广泛的关注。现代四足机器人研究最系统和取得研究成果最多的是日本东京工业大学的広濑茂男等领导的広癞·福田机器人研究室〔HIROSE·FUKUSHIMAROBTICSLAB,其它如美国的MIT,卡耐基梅隆大学,加拿大,德国,法国,新加坡,韩国等国家均有四足机器人样机研制成功。国内也进行了四足机器人的基础研究和试验研究,如XX工业大学,北京航空航天大学、上海交通大学,XX工业大学,中国科技大学等单位。3、国外研制的典型样机和主要特征四足机器人研究的代表是日本东京工业大学的広濑·福田机器人研究实验室。从80年开始至今已研制出3个系12款四足机器人。第一代四足移动机器人KUMO-I外形似长腿蜘蛛,它是世界上第一个具有自主行走的现代足式机器人。随后研制成功世界上第一个能上下爬行楼梯的四足机器人PV-II。之后研制成功两款NINJA系列爬壁系列机器人和8款TITAN系列以野外探测和挖掘地雷为使用目标的机器人。其中最有代表性的是TITAN系列机器人TITAN—VIII。该款机器人的软硬件齐全,功能比较完备,具有多种运动步态选择。另外,日本电气通信大学的木村浩<HiroshiKimura>等研制成功很有特点的两个系列四足步行机器人Patrush系列和Tekken系列。二代Patrush-II〔图7,用两个微处理机控制,采用瑞士Maxon直流伺服电机驱动,每个关节安装了一个光电码盘,每只脚安装了两个微开关。最具有创新性的成果是采用基于神经振荡子模型CPG<CentralPatternGenerator>的控制策略。而CPG是足式机器人近10年来在控制方面取得的最具突破性成果。2000-2003年研制成功具有宠物狗外形的机器人Tekken系列的第四代,Tekken3和Tekken4采用了新颖的机构设计和激光导航系统,该系列继承了Patrush系列的优点。第四代Tekken-IV用一台PC机系统控制,瑞士Maxon直流伺服电机驱动,每个关节安装了一个光电码盘、陀螺仪、倾角计和触觉传感器。控制系统也采用基于神经振荡子模型的CPG控制器和反射机制构成的系统,其中基于CPG的控制器用于生成机体和四条腿的节律运动,而反射机制通过传感器信号的反馈,来改变CPG的周期和相位输出。Tekken4能够实现不规则地面的自适应动态步行,显示了生物激励控制对未知的不规则地面有自适应能力的优点。Tekken系列另一特点是利用了激光和CCD摄像机导航,成功的实现在封闭回廊中无碰快速行走,且可以辨别避让前方存在的人和动物。另外还有日本的空气动力实验室〔KyotoUniv.TsuchiyaLab也在研究四足机。美国的MITLegLab实验室早在1986年研制完成了一款四足机器人。美国的四足机的典型代表是卡耐基美隆大学的Bostondynamics实验室研制的BigDog〔图9和LittleDog〔图10。加拿大McGill大学智能机器中心〔CentreforintelligentMachinesMcGillUniversityAmbulatory机器人技术实验室〔AmbulatoryRoboticsLab研制了两代四足机器人Scout-I和Scout-II[15],Scout-I主要用来进行行走控制,每条腿只有l个自由度,且髋部只有1个驱动器。尽管其机械结构简单,动态稳定性却很令人满意;Scout-II是自主型奔跑机器人,每条腿的髋部仍只有1个驱动器,不同的是,每条腿具有两个自由度。控制器只需改变4个参数<前腿和后腿的触地力矩和触地角度>的设置就可以控制机器人的运动。德国1998年开发的四足机器人BISAM。该机器人结构由主体、4条腿和头部组成。法国的Bourges<France>大学也研制成功SILO4系列四足机器人。韩国SchoolofMechanicalEngineeringSungkyunkwanUniversity设计完成一款四足爬墙机器人MRWALLSPECT-III,并完成了从地面到墙壁的行走试验。美国和日本多年来引领国际机器人的发展方向,代表着国际上机器人领域的最高科技水平。三、研究的方法和创新之处研究方法是利用创意之星模块化机器人套件,在搭建一个会追光的四足步行机器人的基础上,先根据实际情况进行各个舵机的ID和属性,再通过Northstar软件进行前进、转向步态编程以及舵机追踪光源的编程,并将这些独立的方程块组合完成程序流程图的建立,最后对程序进行编译并下载到控制器中,根据两个光敏传感器采集的光敏强度之差进行相应的前进或转向步态,机器人就能进行追光运动。本课题的创新之处是首先是利用类似于积木的模块化的机器人套件搭建机器人,其特点在于其灵活性和方便性。再次利用Northstar软件进行模块化编程,只要能建立整个机器人的程序流程图,就能编译出相应的C语言程序,让C语言的初学者也能够编写出较复杂的程序,这使得可以根据自己的想法而编写出相应的程序,不需要担心编写时的语言错误。进行步态设计时有两种方案,第一种是最简单的步态设计,要求四足都不能离开地面,利用四足同时蹬地来完成追光的行为;第二种时改进后的步态,只要整个机器人的重心再任意三足形成的区域内,就能保持机器人的静态稳定性,剩下的一足就能进行前进、后退的迈进。这样能减少能量的损耗,有利于机器人的使用效率。..第1章会追光的四足步行机器人的原理1.1四足步行机器人四足步行机器人即腿式机器人,顾名思义就是使用腿系统作为主要行进方式的机器人。腿式运动以一系列机器人与地面之间的点接触为基本特征,主要的优点包括在粗糙的地形上的自适应性和机动性。当然,腿式机器人的最主要缺点是动力、控制、结构的复杂性。在研究腿式机器人的特征时,主要考虑以下几个方面:一、腿的数目三个点确定一个平面,机器人只需要和地面有三个独立的接触点,就能够保持静态平衡。但是,机器人需要抬腿走路,所以3个点的平衡是不够的,为了能够在行走中能够实现静平衡,需要至少4条腿。四足机器人的每一条腿需要两个关节,从而实现提起腿、摆动向前、着地后蹬的一系列动作,机器人如果在任何时刻都是单腿迈动,可以保持静平衡,如果有2条腿同时迈动,将不能保持静平衡。二、腿的自由度机器人运用场合的不同,对自由度的要求也不一样。机器人的每一条腿需要多个关节,如图1-1,从而实现提起腿、摆动向前、着地后蹬的一系列动作。图1-1腿的自由度三、稳定性不需要依靠运动过程中产生的惯性力而实现的平衡叫做静平衡。比如两轮自平衡机器人就没办法实现静平衡。机器人运动过程中,如果重力、惯性力、离心力等让机器人处于一个可持续的稳定状态,这种稳定状态为动平衡状态。腿越多的机器人,它的稳定性越好,当腿的数量超过6条之后,机器人在稳定性上就有天然的优势。四足机器人是介于最困难的仿人机器人和相对容易的多足机器人之间,是最典型的腿式机器人研究平台。四足机器人如果在任何时刻都是单腿迈动,可以保持静平衡,如果有2条腿同时迈动,将不能保持静平衡。1.2机器人设计原理机器人整体的设计原理:头部的光敏传感器观察到目标物后,产生返回值左部光强_x和右部光强_y值,将两者之差返回到控制器。控制器根据对应的光强之差发出指令,进行相应的步态,实现追光行为。步态规划腿式机器人在运动过程中,各腿交替呈现两种不同的状态:支持状态和转移状态。腿处于支持状态时,腿的末端与地面接触,支持机器人的部分重量,并且能够通过蹬腿使机器人的重心移动;处于转移状态时,腿悬空,不和地面接触,向前或向后摆动,为下一次迈步做准备。步态的定义是:腿式机器人各条腿的支持状态与转移状态随着时间变化的顺序集合。对于匀速前进的机器人,步态呈周期性变化,我们将这种步态称之为周期步态。更加智能的机器人,能够根据传感器获取地面状况和自身的姿态,进而产生实时的步态。这种步态称为随机步态或实时步态。周期步态中,所有腿支持状态的时间之和与整个周期的比值,称为步态占空比。如果占空比是0.75,说明不管任何时候,四足机器人一定有3条腿支持躯体,机器人处于静平衡状态。如果机器人一直用4条腿站着不动,这步态占空比是1,因为支持状态时间和与周期相等。所以,0.75≤步态占空比≤1时,机器人处于静平衡状态,这种步态称为静平衡步态;反之如果步态占空比<0.75,机器人处于非静平衡状态,需要借助运动时的惯性力、严格的时序,才能让机器人保持平衡,这种步态称为动平衡步态。根据上述的分析,得出几个结论:1、如果机器人要在运动过程中保持静态平衡,需要在任何时候都有3条腿支撑地面,并且重心位于这三条腿与地面接触点构成的三角形内部。2、机器人需要通过腿部运动,主动移动重心,才能实现机器人的整体运动。任务规划当机器人有了矫健的躯体、敏锐的眼睛之后,还需要考虑如何让它接近光源。对光源敏感的传感器只有光敏传感器,可以用它作为机器人的眼睛。程序流程如图1-2所示,通过两只眼睛分辨光源的位置,如果光源在前方则往前移动,如果光源在左就往左移动,如果在右边则往右边移动。右边比较亮左边比较亮获取光强传感器AD值while右边比较亮左边比较亮获取光强传感器AD值while执行一个左转完整动作执行一个左转完整动作左右亮度接近执行一个右转完整动作执行一个前进完整动作结束while获取光强传感器AD值左边比较亮右边比较亮开始图1-2程序流程图第2章搭建会追光的四足步行机器人2.1器件简介本设计使用的是创意之星标准版的机器人套件,有以下器件:控制器MultiFLEX™2-AVR,多功能调试器,CDS5500数字舵机等。CDS5500数字舵机在本设计中,所有CDS5500数字舵机处于舵机模式,位置限制是0‐300°,通过改变舵机的位置来实现步态设计,每一个小步态中舵机的位置是不一样的。机器人舵机CDS5500属于一种集电机、伺服驱动、总线式通讯接口为一体的集成伺服单元,如图2-1所示,主要用于微型机器人的关节、轮子、履带驱动,也可用于其他简单位置控制场合。图2-1CDS5500舵机CDS5500的限制1角度限制CDS5500在舵机模式下,有效角度控制范围是0‐300°。2电压限制CDS5500的工作电压是6.5V‐10.5V,低于6.5VCDS5500将不能正常工作,高于10.5V会烧毁CDS5500。3温度限制CDS5500能够检测自身工作温度,温度过高可能会烧毁舵机。可以设置正常工作温度范围,当CDS5500检测到温度过高后,舵机将会强制卸载停止工作。 4转矩限制"转矩限制"限制了CDS5500的最大工作电流,起到限制CDS5500的最大输出扭矩的作用。在机器人手掌关节或需要长时间堵转的场合常常用到这个功能,默认为最大值1023,即为最大扭矩输出。MultiFLEX™2-AVR控制器MultiFLEX™2-AVR控制器尺寸与MultiFLEXTM2-PXA270完全一致,重量较轻,功耗低,且实时性更好,速度为16MHz。MultiFLEX2-AVR适于要求高实时性的场合,MultiFLEX2-PXA270更适用于要求高性能、需要处理图像和语音的场合,如图2-2所示。图2-2MultiFLEX™2-AVR控制器2.1.3多功能调试器多功能调试器是控制器的下载、调试工具和舵机状态设置工具。多功能调试器有RS232模式、AVRISP模式和SERVO模式,如图2-3所示。图2-3多功能调试器2.2组装机器人本次设计采用的是创意之星标准版的套件,其控制器是MultiFLEX™2-AVR,利用两个光敏传感器来组装机器人的眼睛,实现追光。零件清单本设计是利用创意之星标准版的套件来组装会追光的四足步行机器人,如图2-4,以下器件就可以实现机器人的组装,搭建机器人可以参考创意之星套件组装指南来搭建四足机器人。图2-4组装机器人的零件搭建四足图2-5机器人四足搭建四足时,舵机安装要注意方向一致,足与舵机连接是要根据躯干的左右方向来安装,把四足和躯干组合时检查四足的方向是否安装正确,发现安装不正确时拆了重新安装。搭建机器人躯干图2-6机器人躯干如图2-6,将腿部和底板组合到一起,机器人的躯体就完成了。为了让机器人看起来更美观更形象,再为它安装一个头部和尾巴,头部安装2个光敏传感器,让机器人能够看到光源。机器人通过对比左右两只眼睛的光照强度来判断光源相对自己的位置,进而调整步态,往光源处走去。搭建机器人头部图2-7机器人头部图2-8机器人如图2-8,机器人头部安装一个CDS5500,作为机器人的脖子,让机器人可以左右摆动,寻找目标。前方的两个光敏传感器有36°的夹角,用于区分左右的光线。当左前方的光源照射到机器人时,左边的光敏传感器能够大面积接受光照,右边的光敏传感器由于36°夹角的存在,传感器探头被外壳挡住,照射到探头的光线很少。因此两边的传感器输出值就会有很大的差异,机器人据此就可判断出光源的大致方位。另红外接近传感器的搭建如图3-10所示图3-10机器人舵机连线图2-10机器人连线如图2-10,设计时每个CDS5500需要使用不同ID;每串CDS5500的数量不能太多,最好是6个以下。正常工作下单个CDS5500的电流可能达到500mA~1A,堵转电流可达到2.5A,单组6个CDS5500的工作电流可能达到3‐8A。这样的电流会让舵机线发热,并产生比较大的电压降,最后一个CDS5500可能因为沿途舵机线的分压而导致工作电压过低,CDS5500在电压过低时会出现复位、数据通讯不正常等等状况。本设计使用了10个舵机,每个足串联两个CDS5500,每个CDS5500出于舵机模式,在进行舵机测试时超过角度限制,出现过载,进入保护模式,切断了舵机的扭矩输出,舵机处于没有力量的状态。这种情况下我一般采取重新换一个舵机,但也可以重新启动舵机的扭矩输出。本次毕业设计搭建的四足步行机器人图2-11本设计搭建的机器人图2-12本设计搭建的机器人安装时要注意细节的处理,如一定要注意在进行舵机调试前尽量不要使舵机转动,不然在后面的舵机调试和步态设计时的参数确定会出现混乱,重则影响实验效果,给实验运行带来不必要的麻烦。安装机器人四足时一定要注意安装的方向是否正确,如图2-13,joint1、3、5、7的舵机安装方向应该组成一个逆时钟的方向,而joint2、4、6、8的舵机安装方向应该组成一个逆时钟的方向,不然和造成后面程序设计与舵机运动方向不对应,而引起混乱。图2-13机器人四足方向的确定第3章机器人的步态设计3.1前进步态多足机器人的行走方式按照平衡实现方式可以分为两种,一种是接近动物行走方式的动态平衡方式,另一种是静态平衡方式。在设计步态之前,我们先设置好约束条件:〔1机器人在任一个时刻必须有不少于3个支撑足。〔2机器人的重心的投影必须在3或4个支持点所围成的多边形内。简单的步态设计图3-1静止状态如图3-1,可以看到,重心处于4个支点的正中心,这意味着失去任何一个支点,构型的重心都将处于其它三个支点所构成的三角形的一条边上,构型会有向一侧倾覆的危险。所以为了让构型能够平稳的抬起一支脚需要先让重心移动,如图3-2,先控制所有的足向后方平移,在摩擦力的作用下,躯干将向前探出。图3-2重心前移后前移后的重心位于ABC区域和ABD区域中。图3-3右前进步态如图3-3,选择移动D,落地后的D足与A、C足形成的ACD区域包含重心,B足被解放出来,可以开始移动了。图3-4恢复初始状态如图3-4,右侧的B、D足向前迈出的动作做完后,开始向后蹬的动作,使重心向左前方移动。图3-5左前进步态机器人回到刚开始重心前移后的状态,但是头的朝向偏向了左边。为了弥补方向的偏移,如图3-5,左侧的C足开始向前迈出。C足落地后,重心在BCD区域内。A足得到解放,向前迈出。图3-6恢复初始状态左侧的A、C足向前迈出完毕,开始向后蹬的动作,使重心向右前方移动。机器人的头部回正,如图3-6所示。至此一个前进运动周期就完成了,按照这样的方法循环下去,机器人就会向前一左一右地前进了。改进的步态设计简单步态并不是最理想的,因为在重心前移的过程中总是4个支持足同时着地,这样足的位置变化会在地面上发生滑动,而滑动会使很多能量浪费掉。所以,如果能够在3个足着地的状态下进行机械足的后蹬运动就会节省更多的能量。图3-7调整步态如图3-7,重心前一步的步态做一下调整,让A向前伸出,C不要直接运动到最后方。这是为了让前进步态周期能够完美闭合而进行的修订。这时重心在ABC区域内,让D足向前迈出,同时,A、C足向后蹬。D足着地后,B足向前迈出,在B足着地之前机器人有3个足着地,这时让D后蹬。在重心脱离ACD区域前让B足着地,与D足一起后蹬,一旦重心落入ABD区域,马上让C足向前迈出。图3-8左前进如图3-8,在C足着地前,D足已经后蹬到了规定位置。C落地后开始后蹬,并向前迈出A足,这时B足后蹬结束。A足着地后后蹬,这时向前迈出D足,完成一个前向运动流程。3.2转向步态转向步态有左转和右转两种情况,因左转跟右转成镜像关系,所以设计出左转的步态,就能镜像的设计出右转的步态,这里这说明左转步态的设计。简单的左转步态图3-9初始状态图3-10转向步态如图3-10,依次迈出D足、B足。图3-11转向过程如图3-11,让A、B、C、D四个足同时蹬地,B、D后蹬,A、C前蹬。机器人躯干向左扭转一个角度。如图3-12所示,重心在CBD区域中,所以A足可以移动。让A向后迈出后,重心在ABD区域中,C足也可以移动了。让C足向后迈出。图3-12转向完成至此,一个完整的原地转向周期就完成。改进的左转步态重心移动后的状态,修正为如图3-13所示。让A、C向前蹬地,重心在ABC区域,向前迈进D足。图3-13修正步态如图3-13,D足着地后,重心在ACD区域,C足继续前蹬,D足后蹬,B足向前迈出。当B足着地后,C足移动到了限制位置,重心在BCD区域,A足向后迈出。图3-14转向过程如图3-14,A足着地后,D足移动到了限制位置,重心在ABD区域,C足向后迈出。如图3-15,C足着地后,机器人回到了初始状态,完成了一个左转周期。图3-15转向完成右转的步态也可以用这样的方法实现,此时迈向前方的是左侧的足。第4章机器人的程序设计4.1舵机的设置本设计中,舵机的作用是通过位置控制来实现步态设计,需要利用多功能调试器来设置舵机的初始状态,还需利用AVR控制器和northstar软件来设置机器人的舵机位置序列。舵机有Motor模式和Servo模式两种模式:Servo模式下可以控制舵机转动角度,Motor模式下可以控制舵机的旋转速度和旋转方向。Motor模式与Servo模式的一点不同是:Motor不能控制到位角度,但是能进行不限制的多周旋转,而Servo模式能控制旋转角度但最多仅能旋转300度。舵机ID编号和模式设置一、在设备管理器中,点击目录"端口"就会出现"USBSerialPort<COMx>",其中"x"就代表调试器所接的端口号。二、如4-1图所示接好调试器、主机和舵机并且将多功能调试器调试到"SERVO"的模式。图4-1舵机调试连接三、打开"RobotServoTerminal"软件,就会弹出如4-1图所示的界面。将右上角的端口设置成4〔假设端口号是4,波特率设置成"1000000",点击打开键,如果指示灯由绿灯变成红灯,这表示端口已经连上。选择"单节点"和"定波特率",点击开始查找该舵机的ID地址和状态,如图4-2,就可以修改和设置舵机的ID地址和状态了。图4-2舵机ID和模式设置舵机位置序列设置图4-3舵机位置序列设置连线图4-4舵机序列位置设置如图4-4,用鼠标拖动三维场景中的构型就可以生成相应的舵机位置序列,将3D模型摆放出自己需要的状态,单击"OK"就可以使"Servo"控件记录下当前的状态,程序执行该控件时,机器人就会呈现出和三维场景一样姿态。如果将机器人通过多功能调试器与计算机相连,还可以在"On‐lineTest"控件上打勾,这样,拖动3D构型时,机器人也会跟着动起来。还有另一种调试方式,单击"StartService"下载服务程序,单击"Open"打开串口,选择"unloadall",将所有舵机卸载,这时可以用手直接扭动构型的关节,把构型调整到我们需要的姿态,比如初始状态,点击"quarypos",NorthStar会查询舵机的当前位置,"Property"中的"Angle"值会随着我们对机器人的扭动而改变。如果勾选"Save"复选框,则计算机读取的舵机状态将被记录在列表框中,点击"OK"即完成一个步态的编写。在调试步态的过程中,常常会遇到写一部分调试一部分的情况,因为舵机运动的速度参数很难在实验前计算到位,所以调试过一次之后,机器人的各个关节都处于位置锁死的状态,所以我们还会用到另一个功能"Unloadall"勾选该选择框后,所有的舵机上的力矩将解除,这时我们可以轻松扭动机器人的每个关节了。用上述方法将机器人的动作分成若干状态点,一步步进行舵机运动序列调试,这样将一个完整的行走流程调试完后,我们就实现了4足机器人的"前进"、"后退"、"左转"、"右转"等基本运动方式控制模块了。4.2程序基本设置机器人在程序的编写上有两种方法:第一种是用Northstar图形化开发环境中,进行模块化编程。通过鼠标的拖动类似逻辑框的控件和对控件做简单的属性设置,就可以快捷的编写机器人控制程序。程序编辑完后,可以编译并下载到机器人控制器中运行。第二种是Northstar手写代码开发环境中,进行手动输入代码编程。从工具菜单或者工具栏点击"编辑代码",软件就会切换到"代码编辑"模式,手动输入代码,然后编译,下载,即可运行程序。本次毕业设计采用第一种方法,利用Northstar软件进行模块化编程。初始化设置编程一、新建工程如图4-5,在Northstar软件中新建一个工程,弹出"工程设置"页面。"控制器选项"栏选择当前使用的控制器:MultiFLEX2‐AVR;由于搭建的是标准构型,"构型"栏选择"FourLegged",即"Customized"点击"下一步",弹出"舵机设置"页面。图4-5新建工程在"舵机设置"页面,机器人设置了十个舵机,1~8号舵机为机器人的四足,配置成"舵机模式",9号舵机控制光敏传感器的转动,配置成"舵机模式",10号舵机控制尾巴的转动,配置成"舵机模式",如图4-6所示。图4-6舵机配置实验用到的两只光强传感器分别对应两路AD信号,所以在AD页面中我们在"NumberofADchannelsyouareusing"中填入数字2,如图4-7所示。实验未使用IO传感器,所以IO传感器数量设为0,如图4-8所示。图4-7AD配置图4-8IO配置二、添加变量我们需要添加两个变量来储存光强传感器获得的光强数值。如图4-9所示,鼠标右击流程图空白处,在弹出的菜单里选择"Addvariable",生成一个Variable控件,双击该控件进入其属性页,选择变量类型,输入变量名,点击"OK"按钮。 图4-8IO配置添加变量的方式有两种:一是在流程图空白处右击鼠标,在弹出的菜单中选择"添加变量";二是从左侧控件栏"程序模块"里拖一个"变量"控件到流程图里。图4-9添加变量两者的效果是一样的。在"变量"控件的属性里,输入变量名及变量类型,如图4-10所示。本设计共需要3个变量,每个变量对应一个控件。图4-10变量控件变量添加完毕之后,需要将其与相应的传感器建立联系。从界面左侧的控件列表"FunctionWidget"里拖拽一个ADInput控件至流程图里,双击该控件进入属性页,如图4-11所示,在"ReturnValue"里设置保存传感器数值的变量。这里我们将左侧光强传感器连到控制器的AD0,将右侧光强传感器连到控制器的AD1;设置Channel‐0的AD值储存在Left,Channel‐1的AD值储存在Right。图4-11设置光强返回值程序逻辑设计在获取了两测的光强数值之后,我们可以开始设计程序的逻辑框架。我们将情况分为三种:状况一,左侧光比右侧光强;状况二,左侧光比右侧光弱;状况三,左右光强近似相等。这三种情况在逻辑上较好区分,且覆盖了可能出现的状态。在程序的主循环里,我们用三个条件分支来区分这三种状况。如图4-12所示,作为左右光强比较的中间变量,我们对两侧光强的差值Diff进行计算:图4-12计算左右光强差值三种状况的区分,将围绕这个差值Diff进行:〔1状况一,左侧光比右侧光要强:Diff>50,如图4-13所示。〔2状况二,左侧光比右侧光要弱:Diff<‐50,如图4-14所示。〔3状况三,左侧光强和右侧光强近似相等:Diff>=‐50且Diff<=50,如图4-15所示。在判断条件里,使用的50这个数值,是考虑到光强传感器采集数据可能存在着差异,在后面的实验中,可以根据光强传感器的具体表现进行调整。图4-13左侧光强较强的判断条件图4-14右侧光强较强的判断条件图4-15左右光强大致相等的判断条件4.3等待延迟设计在具体的实验中,如果在短时间内向多个舵机发生大量控制指令,会导致舵机总线的拥堵,造成舵机收到新指令的时间延后,最直观的表现就是舵机转动与指令发送之间存在一个延迟,有一种"欲速而不达"的感觉。如图4-16所示,为了保持舵机数据总线的通畅,我们通常在舵机指令发送间隙添加一定量的延时操作。图4-16延迟设置4.3程序下载与运行4.3.1ATmega128下载途径给MultiFLEX™2‐AVR控制器的ATmega128下载程序,MultiFLEX™2‐AVR控制器有两个处理器:主处理器ATmega128和协处理器ATmega8。如图4-17所示,步骤如下:1、将调试器设为AVRISP模式。

2、把调试器的USB线接到PC机上,将IDC头接到控制器的IDC座上,注意方向。图4-17ATmega128下载连线这时您可以使用NorthSTAR或者AVR

Studio对控制器进行程序下载了。4.3.2ATmega8下载途径给MultiFLEX™2‐AVR控制器的ATmega8下载程序,如图4-18所示,步骤如下:1、将调试器设为AVRISP模式。

2、把调试器的USB线接到PC机上,将IDC头的1、3、5、7、9用插针接出〔IDC头里带"△"的针脚为1脚,如图2.79

,9为GND。

3、控制器边沿的5个插针孔是ATmega8的程序下载接口〔侧边有M8_ISP标识。将上述第2点接出的插针接入控制器边沿的这5个插针孔,注意线的GND需和控制器上的GND对应,用手摁住便可进行程序下载。图4-18ATmega18下载连线串口通讯给MultiFLEX™2‐AVR控制器进行串口通讯,步骤如下:1、将调试器设为RS‐232模式。

2、把调试器的USB线接到PC机上,将IDC头接到控制器的IDC座上,注意方向。

3、注意将IDC座旁边的切换开关拨到Debug的位置上,这个切换开关用于切换有线或者无线通讯模式。程序编译、下载确认控制器的ATmega12816MHz数据线与调控器连接好,并连接好电源,打开控制器开关,把调控器的开关打到"AVRISP模式",等待大概15秒,让控制器引导内置的Linux系统。打开Northstar,通过菜单打开安装目录下的DEMO文件夹,随便打开一个例子程序,会出现原来隐藏的一些菜单。点击"设置"中的"串口连接",确定并设置好端口号,点击"启动服务",然后点击"打开",显示打开成功后就表明连接成功了,可以利用Northstar来下载程序到机器人的控制器里。如果串口连接不正常会出现"打开失败"的提示框,这时请检查"串口连接"中端口号设置是否正确、ATmega12816MHz数据线是否接触良好。所有工作结束后,就可以编译并下载到机器人上进行验证了。点击Northstar工具栏上的"编译"按钮,查看"输出窗口"里面的编译信息,提示"Compilesucceeded…"说明编译成功,如图4-19所示。图4-19编译成功点击工具栏上的"下载"按钮,查看"输出窗口"里面的编译信息,提示"downloadingsucceeded…"说明下载成功,如图4-20所示。图4-20下载成功第5章机器人的追光设计5.1追光设计编写机器人追光程序需要注意的事项:在机器人程序的编写前,主机必须先安装Northstar软件,而Northstar软件的安装一定要安装在软件指定的目录下,不要随意的更改路径。由于会追光的四足步行机器人是利用与地面的摩擦力来实现蹬地动作的,所以要求四足在静态稳定时要接触地面并承受一定的压力,所以在设置joint2、4、6、8的舵机属性时,要根据实际运动的地面情况来设置参数,所以每次做实验时都要进行调试。在下载程序时,要注意控制器的状态指示灯是否闪烁,如果有闪烁即正在下载程序。整个实验操作的部分可以分为二个部分:1、简单步态设计2、改进步态设计5.2简单步态的追光设计初始状态:图5-1所有舵机处于初始状态静态平衡时的状态:图5-2初始状态简单步态追光设计的流程图:图5-3流程图因为在组装机器人时,可能因为人为原因而造成舵机的初始位置发生一定的偏移,在进行步态设计时要进行相关的调整。左转图5-4步态一:重心前移后的初始步态图5-5步态二:右后足向前迈进图5-6步态三:右前足向前迈进图5-7步态四:四个足同时蹬地,右边的足后蹬,左边的足前蹬图5-8步态五:左前足向后迈出图5-9步态六:左后足向后迈出至此,一个完整的左转步态设计完成了,但时同时四足蹬地损耗能量太大,所以需改进步态,后面再介绍改进后的步态。右转图5-10步态一:初始状态图5-11步态二:向前迈进左后足图5-12步态三:向前迈进左前足图5-13步态四:左边的足后蹬,右边的足前蹬图5-14步态五:右前足向后迈进图5-15步态六:右后足向后迈进至此,一个右转的完整步态设计就完成了,同样,跟左转类似,四足同时蹬地过于消耗能量,仍可以进行改进,利用改变机器人的重心所在的区域来实现步态设计。前进图5-16步态一:初始步态图5-17步态二:向前迈进右后足图5-18步态三:向前迈进右前足图5-19步态四:右边的足向后蹬地机器人回到刚开始重心前移后的状态,但是头的朝向偏向了左边。为了弥补方向的偏移,如图5-19,左侧的C足开始向前迈出。C足落地后,重心在BCD区域内。A足得到解放,向前迈出。图5-20步态五:向前迈进左后足图5-21步态六:向前迈进左前足图5-22步态七:四足开始蹬地至此一个完整的会追光的四足步行机器人的步态设计就完成了,按照这样的方法循环下去,机器人就会相应的转向并向前一左一右地前进了。以上所介绍的是一个最简单的让四足机器人前进的步态,但是这种步态并不是最理想的,因为在重心前移的过程中总是4个支持足同时着地,这样足的位置变化会在地面上发生滑动,而滑动会使很多能量浪费掉。所以,如果能够在3个足着地的状态下进行机械足的后蹬运动就会节省更多的能量。5.3改进步态追光设计会追光的四足步行机器人改进后步态设计的流程图如图5-23所示。图5-23流程图前进〔左前足为A,左后足为C,右前足为B,右后足为D图5-24步态一:重心移动后的状态,修正为如图所示图5-25步态二:让左边的足A、C向前蹬地,重心在ABC区域,向前迈进D足。图5-26步态三:D足着地后,重心在ACD区域,C足继续前蹬,D足后蹬,B足向前迈出。图5-27步态四:当B足着地后,C足移动到了限制位置,重心在BCD区域,A足向后迈出。图5-28步态五:A足着地后,D足移动到了限制位置,重心在ABD区域,C足向后迈出。C足着地后,机器人回到了初始状态,完成了一个左转周期。右转:〔左前足为A,左后足为C,右前足为B,右后足为D图5-29步态一:修正重心前移后的步态图5-30步态二:让右边的足B、D向前蹬地,重心在BCD区域,向前迈进C足。图5-31步态三:C足着地后,重心在ACD区域,D足继续前蹬,C足后蹬,A足向前迈出。图5-32步态四:当A足着地后,D足移动到了限制位置,重心在ACD区域,B足向后迈出。图5-33步态五:步态五:B足着地后,C足移动到了限制位置,重心在ABC区域,D足向后迈出D足着地后,机器人回到了初始状态,完成了一个右转周期。左转〔前足为A,左后足为C,右前足为B,右后足为D图5-34步态一:,把重心前一步的步态做一下调整,让A向前伸出,C不要直接运动到最后方。这是为了让前进步态周期能够完美闭合而进行的修订。图5-35步态二:重心在ABC区域内,让D足向前迈出,同时,A、C足向后蹬。图5-36步态三:D足着地后,B足向前迈出,在B足着地之前机器人有3个足着地,这时让D后蹬。在重心脱离ACD区域前让B足着地,与D足一起后蹬,一旦重心落入ABD区域,马上让C足向前迈出。图5-37步态四:在C足着地前,D足已经后蹬到了规定位置。C落地后开始后蹬,并向前迈出A足,这时B足后蹬结束图5-38步态五:A足着地后后蹬,这时向前迈出D足,完成一个前向运动流程。会追光的四足步行机器人实验过程需要注意的事项:在整个机器人实验过程中,最好是使用软件中的"调试"功能,这样就能很清晰的知道程序运行的流程是什么样的,问题出在哪里。在不同版本的计算机系统下,但是最好是在XP系统下运行,因为XP系统的自我保护的级别是最低的。最好不要选用vista系统,因为vista系统中注册表信息不能更改。总结大学整整四年的学习生活,让我感触很深。在大学的整个学习过程中,毕业设计是一个重要的课题,是我们步入社会参与实际工程建设的一次极好的演示,很好的锻炼了我们的实际操作能力,通过这次毕业设计,我深深的体会到,毕业设计对于我们大学生是受益匪浅,通过毕业设计,我们不仅仅加深了理论上的知识积累,更重要的是知道怎样培养了我们将理论用于实践的能力。本次毕业设计的课题是《会追光的四足步行机器人》,从会追光的四足步行机器人理论的学习再到机器人的搭建,再到最后调试和不断的实验,我对会追光的四足步行机器人的原理一点一点的加深,对应用Northstar软件模块化编程的认识和应用也不断进步,而且在整个毕业设计过程中,不仅仅知道了怎样发现问题,还学会了怎么分析问题,解决问题,最后得出问题出现的原因,让我影响最深的是一定要注意细节,并且要对设计的会追光的四足步行机器人有一个深刻的了解和认知,这对于我将来的学习和工作都是非常有益处的,这也正是毕业设计对于毕业生重要意义的所在,所以在以后的学习和工作中,我会记住这次毕业设计的经验和教训,时刻提醒自己,认真对待每一个细节,好好的对待学习和工作上的每一件小事,不断完善自己,努力提升自己的综合素质。致谢这次毕业设计,我要特别谢谢我的指导老师盛孟刚老师。在做毕业设计的过程中,老师经常给我提供及时有效的帮助,因为器材是别人帮我领的,所以少了一些器材,老师及时给我联系相关老师,事后还特意的问我还有什么问题或困难。老师在我做毕业设计的过程中提供了非常及时有效的指导,让我尽快的熟悉我要设计的课题。在实验过程中老师给我的引导和指导都对我的毕业设计有很大的激励作用,盛老师严谨的治学态度、求实的工作作风、朴实的人生品格及亲切和蔼的态度时时熏陶着我,使我受益非浅,并且盛老师乐于帮助学生的友善和学习工作的务实也是值得我好好学习的。在毕业设计完成之际,对盛老师的无私帮助深表谢意,感谢盛老师的辛勤培养!同时感谢XX大学、信息工程学院为我提供的优越的学习环境,正是有了这些基本的保障,我才能在大学中学到这么多有用的知识。我还要感谢含辛茹苦抚养我长大的父母,以及一直以来关心和鼓励我的所有亲人和朋友,是他们的支持和鼓励使我专心完成自己的学业!最后向参加论文审阅、答辩的专家和老师表示由衷的感谢并致以崇高的敬意!参考文献[1]彭文生等主编.机械设计.第2版.XX:华中理工大学出版社,2000.[2].郭巧主编.现代机器人学.北京:北京理工大学出版社,1999年7月[3].刘兴良主编.机器人基础知识.北京:新时代出版社,1986年8月[4].熊有伦等编著.机器人学.北京:机械工业出版社,1993年10月[5].合田周平木下源一郎著.机器人技术.北京:科学出版社,1983年12月[6].吴芳美主编.机器人控制基础.XX:中国铁道出版社,1992年4月[7].迟东祥,颜国正.仿生机器人的研究状况及其未来发展.2001[8].黄纯颖主编.机械创新设计.北京:高等教育出版社.2000年[9].PREUMONTAGhuysDGhuysD.AdvancedRobotics.1991//02P941-945[10].LeeBoHee.IEEEInternationnalSymposiumon.2001//P1959-1964[11]芯艺,AVR单片机GCC程序设计[M].北京:北京科技教育出版社2005[12]王野.PROM.CDS5500-V1.2-SJSC_数据手册_[M].北京:清华大学出版社,2009[13]王野,徐俊辉等.创意之星InnoSTAR实验指导书[M]北京:北京科学出版社2009[14]律晔,计海峰,胡涛等.创意之星搭建手册[M].北京:北京科学出版社2009[15]谭浩强.C程序设计[M].北京:清华大学出版社,1998[16]计海峰,丁晓成等.IS.PXA270-100326-SJSCMultiFlex2-PXA270控制器数据手册[M].北京:北京科学出版社,2009[17]徐俊辉,王杰峰.IS.PXA270-100326-YHSCMultiFlex2-PXA270控制器用户手册[M]北京:北京科学出版社,2009

附录IMultiFLEX™2开放接口函数一

温馨提示

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

评论

0/150

提交评论