• 876.50 KB
  • 2022-04-22 11:27:51 发布

毕业设计论文武术擂台仿人机器人系统及电路设计.doc

  • 22页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档共5页,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,可选择认领,认领后既往收益都归您。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细先通过免费阅读内容等途径辨别内容交易风险。如存在严重挂羊头卖狗肉之情形,可联系本站下载客服投诉处理。
  4. 文档侵权举报电话:19940600175。
'毕业设计(论文)(填写题目)教学单位:机电工程学院专业名称:(填写专业全称,不要写成班级名称)学号:学生姓名:指导教师:姓名(职称)指导单位:完成时间:(填写全学院统一时间)电子科技大学中山学院教务处制发II 武术擂台仿人机器人系统及电路设计摘要本文围绕武术擂台仿人机器人的设计,从中国机器人大赛武术擂台赛比赛规则入手,分析合理的比赛策略,系统地介绍了武术擂台仿人机器人的硬件与软件构成、技术特点以及战术策略等方面的内容,主要包括硬件设计、决策系统以及干扰与抗干扰措施。该仿人机器人结构设计巧妙,可以通过简单的动作完成仿人形态到车形态的变形,从而有效降低重心。机器人共有7个自由度,整体重量4.19kg,高40cm,底部投影尺寸30cm*30cm,符合比赛要求。底盘骨架采用4mm*4mm*3mm镂空角铝连结,四壁采用0.8mm不锈钢板包围,结构有一定的刚性,经测试可以抵抗进攻和防守中发生的激烈冲撞。传感器部分采用了红外开关与红外测距传感器相配合。自行设计以Mega128为核心的通用小型机器人控制器。该控制器板载5V3A开关电源,具有RS232以及RS422总线接口,具有数字舵机接口以及模拟舵机接口,并且有设备过流保护、电源过压、欠压保护等功能。经测试,该仿人机器人运行稳定,有较好的攻击、防御能力。关键词:机器人武术擂台赛;仿人机器人;AVR单片机III CombatHumanoidRobotSystemandCircuitDesignAbstractThisarticlearoundthehumanoidrobotdesign,startfromrobotcompetitionfromChineserobotcompetitionrules,discussthereasonablestrategy,systematicintroductiontothecombatrobothardwareandsoftware,thetechnicalcharacteristicsandtacticalstrategiesandotheraspects,includinghardwaredesign,decision-makingsystemandtheinterfereandanti-interferencemeasures.Withingeniousdesignofstructure,therobotcansimplyformhumanoidtovehicledeformation,andthusreducethecenterofgravity.Thisrobothastotalofsevendegreesoffreedom,weight4.19kg,high40cm,andthebottomoftheprojectionsize30cm*30cm,whichiswiththecompetitionrequirements.Chassisframewith4mm*4mm*3mmhollowaluminumlink0.8mmstainlesssteelplatesurrounded,thestructurehassomerigidity,wereresistanttoattackanddefenseinthefierceclash.IRswitchersandIRdistancesensorswerecompatiblebuiltin.ThecontrollerusingAtmel"sMega128,whichonboard5V3ASwitchingPowerSupply.ThecontrollerhaveRS422andRS232businterface,andtheRCanddigitalservointerfaces,whilehasover-currentprotection,Powersupplyovervoltage,undervoltageprotection.Thetestingexperimentsshowthat,thehumanoidrobotisstable,andhasgoodattackanddefensecapabilities.Keyword:combatrobotcompetition;humanoidrobot;AVRMCUIII 目录1绪论11.1机器人武术擂台赛背景11.2机器人武术擂台赛介绍11.3机器人武术擂台赛竞赛环境21.4本设计的意义及应用22竞赛策略32.1规则分析32.2设计目标32.3应战策略42.3.1登上擂台42.3.2将棋子推下擂台42.3.3将敌方推下擂台42.3.4避免被敌方推下擂台。54决策系统设计64.1软件体系结构64.2.2机器人舵机66.4红外测距传感器的标定76.4红外开关的校准76.5运动轨迹的调校77总结与展望8参考文献9附录1CDS5500机器人舵机控制程序10附录2控制器原理图14附录3机器实体照片15致谢16III 1绪论机器人技术融合了电子、机械、传感器、自动控制和人工智能等众多先进技术,通过设计、制作、调试,可以激发我们大学生的想象力和工程潜质,培养设计能力、创新能力、动手能力、合作精神。机器人武术擂台赛是机器人技术较量的平台之一,该赛事在国外备受关注,目前在国内已经悄然兴起。1.1机器人武术擂台赛背景中国机器人大赛暨RoboCup公开赛是中国最权威、最具影响力的机器人技术大赛、学术大会,是当今中国、乃至亚洲机器人尖端技术产业竞赛和国际顶尖人才汇集的活动之一。大赛从1999年起至今已举办十届。本届大赛由国家科技部高技术研究发展中心、中国自动化学会机器人竞赛工作委员会、RoboCup中国委员会等机构共同主办。大赛项目包括机器人足球赛、机器人武术擂台赛、机器人舞蹈赛、水中机器人竞赛、空中机器人竞赛、机器人救援赛、机器人仿真赛等,其中最受关注和最精彩的是机器人足球赛和机器人武术擂台赛。1.2机器人武术擂台赛介绍机器人武术擂台赛是中国机器人大赛中一项新的赛事。它的主要内容是:两个完全自主的机器人在一个2.4*2.4米的擂台上,使用各种传感器来感知自身的位置、姿态,并感知对手的位置、方向,并利用各种执行器来互相攻击的对抗性机器人竞赛。该赛事的主要目的在于促进智能机器人技术(尤其是自主识别、自主决策技术)的普及。参赛队需要在竞赛规则范围内,以各自组装或者自制的自主机器人互相搏击,并争取在比赛中获胜,以对抗性竞技的形式来推动相关机器人技术在大学生、青少年中的普及与发展。机器人武术擂台赛的参赛机器人需要包括各种传感器(检测自身位置、检测对手位置、检测自身姿态、检测擂台边缘等等)、一个控制器(参赛队员为其编写程序,控制整个机器人的行为和策略),多个执行器(行走、击打、辅助等),麻雀虽小、五脏俱全。并且我们需要根据比赛规则,通过机械、电子、策略等各方面的创新设计,来达到在对抗竞赛中压倒对手的目的,因此是激发想象力和工程潜质,培养设计能力、创新能力、动手能力、合作精神和跨专业的综合应用能力理想平台。激烈而戏剧性的机器人竞赛对抗,能够极大地激发我们学生的好胜心和积极性,让我们把对待竞技体育的精神如篮球、踢足球的积极态度来对待工程创新实践。在训练和比赛的过程中,我们的综合工程素质、创新能力、团队协作能力都能得到全面的培养。本项赛事未来的发展目标是:比赛中,两个使用双腿自主行走的仿人形机器人互相搏击并将对方打倒或者打下擂台。16 1.3机器人武术擂台赛竞赛环境在指定的擂台上有双方机器人和5个中国象棋棋子[1]。双方机器人模拟中国古代擂台搏击的规则,互相击打或者推挤。如果一方机器人整体离开擂台区域或者不能再继续行动,则另一方获胜。如果双方均未离开擂台且都能自主移动,则在比赛时间结束后,推下擂台上象棋棋子数量多的一方获胜,否则双方判为平局。比赛场地(即擂台,如图1所示)大小为长、宽分别为是2400mm,高150mm的正方形矮台,台上表面即为擂台场地。底色从外侧四角到中心分别为纯黑到纯白渐变的灰度。场地的两个角落设有坡道,机器人从出发区启动后,沿着该坡道走上擂台。场地四周围700mm处有高500mm的方形白色围栏。比赛开始后,围栏内区域不得有任何障碍物或人。图1擂台赛场地整体效果1.4本设计的意义及应用本设计主要的工作有:策略的分析与制定、结构与外观的设计、电机以及电机驱动的选取、传感器电路的设计与运用、控制器电路的设计与制作、软件的编写与调试、最终对机器人进行综合的实地测试,发现问题并找出解决方案。在论文完成之前,以上问题均得到解决,并且设计出一款抗干扰能力强的红外探测模块,该模块可以用于机器人避障、循迹等,以及其他需要对对障碍物进行检查的场合。与此同时设计了一款高性能通用小型机器人控制器,该控制器板载5V3A开关电源,具有RS232以及RS422总线接口,具有数字舵机以及模拟舵机接口,并且有设备过流保护、电源过压、欠压保护等功能。本文正是一个本着学习、实践和创新的思想设计机器人。设计思路基于机器人武术擂台赛比赛规则,设计的最终目标是:结合当前流行的机器人技术,制作出一台能够适应比赛现场复杂环境的自主战斗机器人。16 2竞赛策略本章从机器人武术擂台赛比赛规则入手,分析出合理的比赛策略,系统地介绍了设计目标以及应战策略。2.1规则分析由于比赛场地表面是灰度渐变的,所以机器人的自定位可以通过读取场地的灰度信息来实现。机器人的重心应该尽可能地降低。变形方案很好地解决了由于重心高带来的晃动等问题。当需要降低重心的的候,机器人进行机械变形,增强作战稳定性。要在比赛中取得“制高点”,在不考虑棋子的情况下应该尽快抢得中心区或离中心区域最近,机器人应轻巧灵活,前进、后退、转动动作应自如流畅,并具有较高的加速度和较快的行进速度,刹车要及时。同时,双方机器人在攻防过程中将发生激烈冲撞,进行制约与反制约的较量,因此机器人要求稳定性好,结构有一定的刚度,四壁要有推挡板[2]。有效的进攻是最好的防守。制作仿人机器人的基本思想是:该机器人以进攻为主、防守为辅,在出发区出发后,在没有探测到棋子的情况下,首先抢占中心区域,然后在探到敌方机器人的方位后,把自己坚固的防守部位面向敌方机器人,使敌方机器人的攻击失效,确保自己始终占领中心区域,然后再寻找机会迷惑或攻击敌方机器人[3]。当探测到棋子的时候,要对场地环境、敌方位置、敌方运动方向等进行多方位的综合判断,确保不怠慢作站时机。2.2设计目标根据以上思想,本设计确定了如下的设计目标:(1)从出发区出发,10秒内自主登上擂台区域;(2)确定我方机器人在场地的大概位置和方向;(3)能自主寻找中心区域,以在未探测到对方时自主找到擂台中心区;(4)寻找并接近棋子、寻找并接近敌方机器人;(5)推动棋子到达擂台边沿;(6)与敌方机器人对抗,避免被推下擂台,能够推动敌方;(7)在遭受敌方机器人攻击时能保护自己(如具备一定的隐身和迷惑功能等,减少和避免受到敌方机器人的攻击),并具有一定的反击能力;(8)检测擂台的范围,避免掉下擂台;(9)检测我方姿态,防止摔倒,摔倒时能够快速自行站立;(10)能够识别圆柱体,并作举起动作;(11)具备有效的抓举装置,能够举起圆柱体;16 (12)能够检测举起任务是否成功,如果不成功能够重新尝试举起。2.3应战策略2.3.1登上擂台在机器人启动后,机器人依靠边缘检测传感器群引导到擂台中心,不启动其他传感器的检测;2.3.2将棋子推下擂台推棋子时,机器人需要做三件事情:寻找棋子,推动棋子,自身定位。寻找棋子的实现主要依赖于灰度传感器和测距传感器。传感器的布局至关重要,机器人必须能够通过灰度传感器定位自己的位置,通过测距传感器确定棋子的位置。因此,构型设计时必须合理布置传感器位置。比赛中输赢的关键是把敌方推出场外,所以可以采用被动式策略寻找棋子,即机器人按照某种策略漫游,如果检测到棋子就把棋子推出场外,否则机器人继续漫游。当把棋子推出场外时,机器人会接近擂台边沿,此时机器人需要适当调整自己状态(速度,位置)以防止掉出擂台[4]。这个过程中机器人的自身定位非常重要。找到棋子之后,如何将它们推下擂台呢?两种方法:1、闷头往前直走,不管怎么都不转弯,这样一定能走到擂台的边沿,也能够将棋子推下擂台。2、通过识别场地的灰度,判断出机器人的位置和方向,对准最近的边沿前进。方案一胜在简单,程序实现难度小。但是可能出现机器人需要推动棋子走过超过半个场地才能到达边沿的情况。这个过程可能出现敌方干扰、推挤,失败的概率很高。方案二实现的难度比较高一些,但是效率高。2.3.3将敌方推下擂台我们可以想象,两只斗牛相互推挤,赢的一定是力气比较大的一方。首先需要考虑,什么因素会影响机器人的推力。在现实生活中我们会看到两种现象:(1)一辆汽车在爬坡,但是动力不足,反而慢慢从坡上滑了下来;(2)汽车在泥地上面行走,但走不快,因为轮子总是在打滑。上面两个例子可以得到影响汽车行进效果的两个因素:1、动力不足。2、摩擦力不够。如果动力不足,我们的机器人可能会被敌方的小车推得轮子倒着转。如果摩擦力不够,机器人在推挤时轮子会打滑,轮子一直在转,但机器人就是不能往前走。推动敌方和推动棋子要做的事情是一样的,即:寻找敌方→推动敌方→自身定位。不同的是,推动敌方需要更大的动力,而且自身定位更加重要。如果己方被敌方推动时,己方就必须能够及时摆脱或者进行抵抗。所以,在比赛规则允许的条件下,机器人质量尽可能接近所要求的最大值,尽量增加机器人的动力输出、以及轮子的接地面积。我们采用四轮驱动方案,两轮驱动方案重量和推力都不够。六轮驱动方案不好转弯,机器人不够灵活。16 2.3.4避免被敌方推下擂台。如果我方机器人在前进时被敌方从后面推挤,并且我方的机器人没有察觉,会出现什么情况呢?我方机器人的动力方向和敌方机器人的动力方向刚好一致,敌方不费吹灰之力就可以将我方机器人推下擂台。所以机器人需要能够察觉这种正在被推挤的状态,并且能够通过掉头、转弯、后退等手段避开或对抗敌方机器人的推挤。………………………………16 4决策系统设计4.1软件体系结构Eclipse是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。虽然大多数用户很乐于将Eclipse当作JavaIDE来使用,但Eclipse的目标不仅限于此。Eclipse还包括插件开发环境(Plug-inDevelopmentEnvironment,PDE),这个组件主要针对希望扩展Eclipse的软件开发人员,因为它允许他们构建与Eclipse环境无缝集成的工具。由于Eclipse中的每样东西都是插件,对于给Eclipse提供插件,以及给用户提供一致和统一的集成开发环境而言,所有工具开发人员都具有同等的发挥场所。……4.2.2机器人舵机CDS5500机器人舵机和控制器之间采用问答方式通信,……通信方式为串行异步方式,一帧数据分为1位起始位,8位数据位和1位停止位,无奇偶校验位,共10位,其指令包格式如表1。表1CDS5500通讯指令包字头ID号数据长度指令参数校验和0XFF0XFFIDLengthInstructionParameter1...ParameterNCheckSum本设计使用以上通讯格式控制机器人上肢舵机的动作,其控制程序见附录1。本设计在实际调试时,大多采用灰度梯度标定法标定灰度数据。表2是在一次调试中测得的数据。表2灰度梯度标定数据前后右左前-右前-后后-右前-左右-左灰度均值244207234261103727-17-27236.5339283305355345622-16-50320.54934534255056840-28-12-804695515374825676914-55-16-85534.2561261453762175-2-77-6-84596注:表中“前”表示安装在前面的灰度传感器,“前‐后”表示前面传感器减去后面传感器的差值。 16 根据表中数据可以看出,除左边的灰度传感器,其它三个灰度传感器的值一致性较好。可以根据这三个传感器的值来判断机器人当前的方向。另外可以根据4个灰度传感器的平均值来判断机器人在场地上的位置。接近场地中心时,平均值较小,接近场地边沿时,平均值较大。得到这些逻辑,就可以在编写控制程序时使用。6.4红外测距传感器的标定红外测距传感器的输出是非线性的,所以需要对其进行标定。其标定比较简单,使用直尺就可以进行传感器的标定。6.4红外开关的校准由于擂台外70cm处有白色的围栏,为了防止误判断,同时增加红外探测的稳定性,寻敌红外开关的探测距离调在65cm。6.5运动轨迹的调校机器人发现侧边有障碍物并要对障碍物发起攻击时,机器人转弯的幅度要迅速、合适,才能在转弯后面对障碍物并对障碍物发起攻击。另外,不同状态下的行进速度也不一样,例如在没有发现障碍物的时候,行进速度可以稍微降低;当发现敌方机器人在前方时,机器人应该加速前进;当机器人发现正处于边缘时,应该迅速逃离。16 7总结与展望本文正是一个本着学习、实践和创新的思想的机器人设计。让机器人根据比赛现场复杂的环境变化,按照自己的想法和目的战斗。我选择自动化专业,正是要加入自动化这个大家庭,在吸取知识的同时不断提高自己,不断的走近自己的梦想。经过一段时间的现场测试,现有机器人的一些设计漏洞也渐渐浮出水面。所以接下去的工作是:(1)改良现有的硬件结构。底盘的结构需要作更进一步的优化,轮子的固定需要更牢靠;部分关节需要严格按照力学原理重新设计。另外,去掉铲形披风、设计更加合理的普通构形势在必行。(2)改良电机和电机驱动器。现用的直流空心杯电机由于功率不足,导致驱动力不足,加速缓慢,动作不是很灵活;再加上驱动器最大只能承受10A电流,刹车时无法承受很大的反向电流,制约了机器人的刹车效果。(3)机器人隐身机构的改进。目前四壁贴的泡沫材料虽然可以减少被对方发现的几率,但隐身效果依然不够理想,所以在隐身材料这一方面上依然需要进行大量的试验。(4)红外探测模块接收部分由于采用了单级放大,并且没有输出漂移控制电路,降低了该传感器的可靠性;由于没有采用带通滤波器,导致放大电路引入的噪声缩短了该传感器的探测距离。所以,红外接收放大电路需要更进一步的研发。(5)控制器的研发、改良等相关工作;硬件上,开发更小尺寸的控制器,并且使各种接口更加完善,运行更加稳定。软件上,当前控制器的底层软件执行效率有提升空间,另外,完善现有的机器人地图算法,使其自定位效率更高且更加精准,可以有效提高机器人的作战能力。一款稳定的、性能优秀的控制器不仅有利于机器人团队的后续赛事,而且有利于开展教学工作,激发同学们对机器人制作的热情,开拓同学们视野,甚至可以举行校内赛。16 参考文献[1]2009武术擂台赛比赛规则2.2.0版.2009.[2]杨学军,丁盖盖.防守型武术擂台机器人的研究与实践[J].机器人技术与应用.2009(4):44-46.[3]李卫国,王志刚.进攻型武术擂台机器人的研究与实践[J].机器人技术与应用.2009(4):41-43.[4]郝俊青.武术擂台赛机器人的设计策略[J].科技情报开发与经济.2009,19(9):124-126.[5]InnoSTAR实验指导书.2009[6]林浩岳,章敏鹏,周增元.韩山师范学院“韩鹰队”队伍描述[D].韩山师范学院,2008.[7]张俊.匠人手记[M].北京航空航天大学出版社.2008.107-113.[8]王志良,周桌,靳松.竞赛机器人制作技术[M].机械工业出版社,2007.[9]江海波,王桌然,耿德根.深入浅出AVR单片机--从ATmega48/88/168开始[M].北京:中同电力出版社,2008:34—37.[10]CangYe,JohannBorenstein.Characterizationofa2-DLaserScannerforMobileRobotObstacleNegotiation.In编者,edited.Proc.IEEEInt.Conf.OnRoboticsandAutomation,WashingtonDC,December2002,pp.2512-2518.16 附录1CDS5500机器人舵机控制程序CDS5500数字舵机的控制程序例子如下:(MCU:Mega128,Crystal:8Mhz)#include#include#include"delay.h"#defineTXD_ENABLEPORTD&=~(1<<6)#defineRXD_ENABLEPORTD|=(1<<6)typedefunsignedcharuint8;/*无符号8位整型变量*/typedefsignedcharint8;/*有符号8位整型变量*/typedefunsignedshortintuint16;/*无符号16位整型变量*/typedefsignedshortintint16;/*有符号16位整型变量*/typedefunsignedlongintuint32;/*无符号32位整型变量*/typedefsignedlongintint32;/*有符号32位整型变量*/uint8Parameter[20]={0x1e,0x00,0x01,0x00,0x02};//位置和速度控制数据队列//UART0initialize//desiredbaudrate:1M//actual:baudrate:1M(0.0%)//charsize:8bit//parity:Disabledvoiduart0_init(void)//因为采用的是8M的晶振,所以采用倍速的方式产生1M的波特率{UCSR0B=0x00;//disablewhilesettingbaudrateUCSR0A=0x02;//设置为倍速模式UCSR0C=0x06;//设置串口以8位数据传送数据UBRR0L=0x00;//设置波特率UBRR0H=0x00;//设置波特率UCSR0B=0x98;//开串口0的发送使能,以及接受使能}16 voidinit_devices(void){//stoperrantinterruptsuntilsetupCLI();//disableallinterruptsuart0_init();SEI();//re-enableinterrupts//allperipheralsarenowinitialized}voidTxPacket(uint8ID,uint8ParameterLength,uint8Instruction){uint8i;uint16j;uint16checksum=0;TXD_ENABLE;while(!(UCSR0A&(1<