RoboCup双足竞步狭窄足冠军比赛程序
- 格式:docx
- 大小:18.04 KB
- 文档页数:13
2016RoboCup机器人世界杯中国赛足球仿真组(3D)比赛规则这篇文档介绍2016RoboCup机器人世界杯中国赛(China Open)足球仿真3D组的比赛规则。
比赛规则制定的宗旨是保证比赛的公平性和流畅性,技术委员会有权在任意时刻合理的修改比赛规则,并会及时通知各参赛队伍。
各参赛队伍如果对比赛规则有意见或着建议可以向技术委员会反馈,技术委员会保留最终决定权。
本规则根据2015中国机器人大赛暨RoboCup公开赛3D仿真组比赛规则修订。
1. 比赛赛程安排1.1 注册阶段所有参赛球队都需要在赛前进行注册,请将以下信息发送至技术委员会邮箱baofufang@和huangyue_estu@●球队名称;●学校名称;●队伍成员(请注明指导老师和领队);●联系邮箱;●球队描述文档;●球队可执行码;请确保球队可执行码可以在比赛规则要求的环境中正常运行(详见比赛规则机器配置与软件环境)。
如果注册通过,技术委员会会尽快回复一封确认邮件。
1.2 比赛阶段在现场比赛阶段所有参赛队伍将被分为A、B两组,在组内进行循环赛后根据积分进行排名。
每组内排名在前四名的队伍进入八强,其余队伍将进行排位赛,排位赛的赛制同循环赛。
2. 机器配置和软件环境3.1 Server and Client3.2 Software操作系统:Ubuntu 15.10(64bit)仿真环境:Simspark 0.2.4, Rcssserver3D 0.6.103. 最新修订规则根据2016 RoboCup世界杯3D仿真组组织委员会对于规则的修改,特增订如下规则:1.在球门发球时,若发球方出现乌龙球,对手方将获得一次角球机会而不是直接得分。
2.同往年规则一样,开球直接进球不得分,对手方将获得一次球门发球的机会,而不是以往的开球机会。
特别的,为了促进RoboCup3D仿真项目在中国的发展,我们决定参照RoboCup世界杯的Free/Scientific Challenge设置一个全新的项目交流赛。
机器人大赛双足竞步机器人组比赛规则一、报名要求根据组委会要求、鼓励大家参与更多的比赛项目,特作出如下要求:1、比赛以小组为参赛单位2、每组的参赛队员最多可以包含3名队员,指导老师1名3、所有的参赛队为便于统一安排协调,各参赛单位报名时所留的联系人的联系方式(电话、邮箱)要确保为一人,且此人能来到比赛现场。
请联系人定期查看邮箱。
4、在报名信息确认之后,任何参赛队伍都不能更改队伍信息。
二、机器人结构及其规格的设定:双足竞步机器人类型(1):交叉足印竞步机器人结构只有双足、并只能以走路的方式来移动,机器人要分清楚正面及背面,以箭头方向作为正面,是自主式脱线控制,用不多于6只伺服马达和一个伺服马达控制板来完成,机器人最大尺寸为200mm(长)X 150mm(宽)X 300mm(高),重量不超过1Kg。
机器人头部要能放入(长)200mm X(宽)100mm长方格内。
类型(2):狭窄足印竞步机器人结构只有双足、并只能以走路的方式来移动,机器人要分清楚正面及背面,以箭头方向作为正面,是自主式脱线控制,用不多于6只伺服马达和一个伺服马达控制板来完成,机器人最大尺寸为200mm(长)X 150mm(宽)X 300mm(高),重量不超过1Kg.,狭窄足印竞步机器人,单足最大尺寸要能放入(长)150mm X(宽)60mm长方格内。
机器人头部要能放入(长)200mm X(宽)100mm长方格内。
狭窄足印要求:机器人由与脚底板相邻的舵机控制机器人的重心左右移动来实现前进(见下图1)与脚底板相连的舵机平放在脚底板上,舵机的扭力输出轴与前进方向平行。
(见下图3)交叉足印要求:机器人由与脚底板上部的舵机控制机器人关节的前后摆动来实现前进(见下图2)与脚底板相连的舵机平放在脚底板上,舵机的扭力输出轴与前进方向垂直。
(见下图4)三、竞赛内容:类型1:交叉足印竞步机器人:机器人通过步行的方式从起点线走到终点线(相距200cm,限宽60cm)。
2019RoboCup机器人世界杯中国赛比赛规则RCJ机器人救援赛项目Rescue Line现场赛(小学、中学)2019RoboCup机器人世界杯中国赛RCJ机器人救援赛项目技术委员会2019年2月17日目录一、项目简介 (1)二、赛项说明 (2)概述 (2)三、比赛场地及器材 (3)3.1描述 (3)3.2地板 (3)3.3线 (3)3.4减速条、碎片和障碍物 (4)3.5交叉路和绝路 (4)3.6门框 (5)3.7撤离区 (6)3.8伤员 (6)3.9环境条件 (6)四、机器人 (7)4.1控制 (7)4.2结构 (7)4.3团队 (8)4.4检录 (8)4.5犯规 (9)五、赛程赛制 (9)5.1赛前调试 (9)5.2人员 (9)5.3比赛开始 (10)5.4比赛过程 (11)5.5计分 (11)5.6任务中断 (14)5.7伤员位置 (15)5.8撤离点位置 (15)5.9比赛结束 (15)六、开放性的技术评价 (15)6.1说明 (15)6.2评价方法 (16)6.3奖项 (16)6.4分享 (16)七、冲突解决 (17)7.1裁判员和助理裁判 (17)7.3特殊情况 (17)八、行为准则 (17)8.1比赛精神 (17)8.2公平竞赛 (18)8.3行为 (18)8.4教练 (18)8.5道德与诚信 (18)8.6分享 (19)以下为由RCJ中国救援技术委员会发布的RCJ2019官方规则。
中国救援技术委员会对该规则有最高解释权。
参赛队伍应关注官方网站,以便了解最新补充通知。
一、项目简介大地危机四伏,以至于救援人员很难到达现场对伤员进行施救。
你的队伍接到了艰巨的任务。
机器人必须能够在无人协助的情况下以完全自主的方式执行救援任务。
机器人必须足够耐用,充满智慧,能够在崎岖的地形中穿越丘陵、不平的土地和瓦砾,而不会陷入困境。
机器人必须找到伤员,分发救援物品,并发出伤员的位置信息,以便救援人员能够接手。
2019中国机器人大赛比赛规则工程竞技类窄足竞步2019中国机器人大赛工程竞技赛项技术委员会2019年6月10日2019中国机器人大赛比赛规则目录一、项目简介 (2)二、技术委员会与组织委员会 (2)三、资格认证要求 (2)四、技术与竞赛组织讨论群 (3)五、赛事规则要求 (3)六、比赛场地及器材 (3)七、机器人要求 (5)八、评分标准 (6)九、赛程赛制 (8)十、附加说明 (9)2019中国机器人大赛比赛规则一、项目简介设计一小型窄足机器人,在比赛场地上,通过一个长方形比赛区域,以双足方式移动。
从起跑线出发,完成比赛规则要求的前进、前翻、后翻等动作,走过终点线。
考核学生对舵机的熟悉和多舵机的协调控制能力,机器人为开环控制,没有传感器,适合低年级大学生参与。
二、技术委员会与组织委员会1、技术委员会:裴东西北师范大学林华福州大学高育鹏空军工程学院张海涛陆军工程学院袁飞广东技术师范大学2、组织委员会:刘宏伟南阳理工学院张国庆江苏省扬州技师学院三、资格认证要求所有报名队伍必须在参赛前10天向技术委员会提交WORD电子版本的技术报告和参赛机器人完整测试视频。
技术报告内容:机器人物理参数、机械参数和电参数,机械设计方案和机械设计图,硬件电路设计方案,自制电路板提供原理图和PCB版图(必须要有队伍名称和参赛年份),主要算法,竞赛策略,与往届参赛方案的区别等。
以“参赛学校+参赛队名+窄足竞步”为文件名将上述2个文件打包,发送到技术委员会指定邮2019中国机器人大赛比赛规则箱中(****************)。
四、技术与竞赛组织讨论群CRC竞步机器人QQ群:320202760开赛前一天召开组织委员会和裁判会,时间地点另行通知。
五、赛事规则要求(一)每支参赛队队员人数不能超过3人。
(二)比赛时间准备时间≤1分钟;比赛时间≤3分钟。
(三)比赛过程第一阶段:机器人在起跑线后双足直立,向前行走至控制线A。
第二阶段:自控制线A向前翻跟斗至控制线B。
第27卷 第12期2003年12月 信 息 技 术I NFORMATI ON TECH NO LOGYVO L.27 NO.12Dec.2003RoboCup机器人足球仿真比赛开发设计流程张胜利,谢培军(哈尔滨商业大学计算机与信息工程学院,哈尔滨150076)摘 要:机器人世界杯足球锦标赛(The R obot W orld Cup),简称R oboCup,通过提供一个标准任务来促进分布式人工智能、智能机器人技术及其相关领域的研究与发展。
在介绍R oboCup仿真环境的基础上,系统完整地介绍了客户端程序的开发设计流程,阐述了其中涉及到的一些主要问题和算法,最后简要综述目前国际上的典型高层算法结构。
希望能够对开展机器人足球比赛及相关领域的研究有启发意义。
关键词:R oboCup;机器人足球比赛;多智能体系统中图分类号:TP242.6 文献标识码:A 文章编号:1009-2552(2003)12-0025-03 Design and implement of R oboCup simulated R obotZHANG Sheng2li,XIE Pei2jun(Computer and I nform ation E ngineering college,H arbin U niversity of Commerce,H arbin150076,China) Abstract:R oboCup,the R obot W orld Cup,contributes greatly to the development of DAI(Distributed Artifi2 cial Intelligence),R obotic,etc,by providing a standard project.In this paper,based on the introduction of simulated m odel of R oboCup,the design procedure of R oboCup Agent is given in detail,as well as s ome in2 v olved problems and alg orithms.A typical structure of top-level strategy is presented in brief at last.This paper will be a valuable in formation res ource for other researches in related fields.K ey w ords:R oboCup;DAI Rcs occersim;MAS 随着计算机技术的发展,分布式人工智能中多智能体系统(MAS:Multi-agent System)的理论及应用研究已经成为人工智能研究的热点。
机器人竞技工程(双足竞步、自由体操、仿人竞速等)规则-中国机器人大赛暨RoboCup公开赛-场地制作————————————————————————————————作者:————————————————————————————————日期:2014中国机器人大赛暨RoboCup公开赛2014中国工程机器人大赛(Robot at Work)机器人竞技工程(联系人:李汉军)四种比赛场地的需求数量1.“竞步窄足赛、竞步交叉足赛”场地(Ⅰ)2.“竞技体操赛”场地(Ⅱ)3.“竞技跳远赛”场地(Ⅲ)4.“竞速标准赛、障碍赛、创意赛”场地(Ⅳ)序号比赛项目场地名称场地数量备注1竞步窄足赛场地(Ⅰ) 4 竞步交叉足赛2 竞技体操赛场地(Ⅱ) 23 竞速标准赛场地(Ⅲ) 24 竞速标准赛场地(Ⅳ) 2 竞速障碍赛竞速创意赛比赛现场需要准备的器材、物品、志愿者数量序号名称窄足/交叉足用量体操赛用量跳远赛用量竞速赛用量合计说明1 比赛场地 42 2 2 10 制作要求详见“场地制作”2 学生课桌16 16 16 16 64每个场地提供4套3 橙子16 16 16 16 644 电源插座8 4 4 4 20 每个场地附近提供2个5 绝缘胶带8 8 8 8 32 16mm宽黑色防水电工绝缘胶带6 数字式秒表 6 3 3 6 187 手持扩音器 2 1 1 2 68 学生志愿者8 4 4 8 24 每个执行比赛的场地提供4人一、“竞步窄足赛、竞步交叉足赛”场地[场地(Ⅰ)]场地数量比赛现场提供4个场地。
场地制作规定(该表给出的是制作1个场地所需的材料)场地(Ⅰ) 图纸图1 大学组比赛区域(2000mm ×600mm )图2 青少年组比赛区域(2000mm ×700mm )场地尺寸 1. 场地为长方形(1张白色实木颗粒板),长×宽为2440mm ×1220mm 。
2. 比赛区域为长方形,由边线、起跑线和终点线构成,详见场地(Ⅰ)图纸。
RoboCup中型组机器人比赛规则(MSLR)陈卫东叶道年张小冰等编译上海交通大学自动化研究所目录第一章RoboCup比赛项目 (3)1.1国际规则项目 (3)1.22Vs2项目 (3)第二章RoboCup国际规则 (4)●规则1 -比赛场地要求 (4)——规则1.1 尺寸 (4)——规则1.2 场地标识 (5)——规则1.3 球门区 (5)——规则1.4 罚球区 (5)——规则1.5 旗杆 (6)——规则1.6 角弧 (6)——规则1.7 球门 (6)——规则1.8 安全 (7)●规则2 -比赛所用球 (8)——规则2.1 质量和尺寸 (8)——规则2.2 受损球的替换 (8)●规则3 -比赛队员装备 (9)——规则3.1 安全性 (9)——规则3.2 基本装备 (9)——规则3.3 守门员 (11)——规则3.4 犯规和制裁 (11)——规则3.5 重新比赛 (11)●规则4 -裁判及助理裁判 (12)——规则4.1 裁判之权威 (12)——规则4.2 权力与职责 (12)——规则4.3 助理裁判 (12)——规则4.4 裁判判决 (12)●规则5 -比赛时间 (13)——规则5.1 半场 (13)——规则5.1 中场休息 (13)——规则5.2 补时 (13)——规则5.3 罚球 (13)——规则5.3 加时 (13)——规则5.4 中途终止之比赛 (13)●规则6 -比赛开始与重新开始 (14)——规则6.1 开球 (14)——规则6.2 开球过程 (14)——规则6.3 开球的犯规及措施 (14)●规则7 -比赛的进行与暂停 (15)——规则7.1球赛暂停 (15)——规则7.2 球赛进行 (15)●规则8 -比赛的计分 (16)——规则8.1 进球得分 (16)——规则8.2 比赛胜利 (16)——规则8.3 竞赛规则 (16)●规则9 -犯规行为 (17)——规则9.1 停球与持球 (17)——规则9.2 踢球与运球 (17)——规则9.3 犯规及其犯规后的处罚 (18)●规则10 -任意球与罚球点及点球 (20)——规则 10.1 任意球 (20)——规则10.2 任意球的位置 (20)——规则10.3 任意球犯规/制裁 (20)——规则10.4 罚球 (21)——规则10.5 球出边界的处理 (22)——规则10.6 球门发球 (22)●规则11- 上场队员的人数 (23)第三章RoboCup 2Vs2项目规则 (24)3.1 2Vs2比赛基本规则 (24)3.2 2Vs2比赛其它规则 (24)第一章RoboCup比赛项目RoboCup的原意为机器人世界杯(Robot World Cup)。
2006 RoboCup中国公开赛类人组比赛规则I 前言该规则目标是保证机器人世界杯的公平竞争,其鼓励创造和技术发展。
现在该规则与FIFA的比赛规则有差异,但旨在将来减小差异,旨在达到机器人能与人进行比赛的长期目标。
类人机器人比赛的研究挑战是维持行走、跑步、踢球以及其执行其他动作时的动态稳定性,同时兼顾运动与视觉的配合,类人足球机器人必须有能够对抗其他队员的健壮性。
文档没有包含的部分可以参考FIFA比赛规则。
II 组别尺寸相差较大的机器人在一起比赛是不可行的,因此该比赛分为KidSize组和TeenSize组。
见第四部分对分组的详细描述。
赛前,每个参赛机器人都须经过比赛前24小时内的全面检查,以满足各种参赛机器人要求,要做改动可能需要重新受检,重新检查须在赛前10min之前。
III 比赛项目比赛共分为两大类、五个单项进行比赛,即1、2对2足球比赛2、技术挑战赛(分为四个单项)a.点球大战(PK)b.竞速c.绕柱行走d.传球IV 奖励两类比赛分别决出冠军、亚军和季军,并由组委会授奖;技术挑战赛中的各个单项一、二、三名,颁发证书。
VI 具体要求:1、比赛场地比赛场地为一个矩形场地,该场地有两个球门,边线,六个起始标记点和四个角球柱。
各尺寸标注如下:1.1 比赛场地比赛场地铺以绿色地毯,白线5cm宽。
10cm长的线段用于标记点球点、起始点、开球点等。
球场长度方向的边线叫做接触线、宽度方向的边线叫球门线。
各个点的定义如图所示,场地外部一定范围也被绿色地毯覆盖,该范围外没有特殊说明。
1.2 球门球门位于球门线的中间,球门内部三面涂色,一边球门为黄色,另一边为蓝色,KisSize组球门在90cm高有横梁,TeenSize组球门高120cm,没有横梁。
球门的外部、球门柱、横梁都是白色。
1.3 角球柱球场四个角均布置一个角球柱,角球柱直径20cm,高90cm,分为相等的三段,每段30cm,底部和顶部涂以和球门壁同样的颜色,中间的部分涂以对面球门壁的颜色。
2013 Robocup救援机器人组(RRL)比赛规则1、比赛简介:救援机器人组比赛的目的是为促进城市搜救研机器人技术的研究与发展,通过竞赛可以为救援机器人在复杂环境下运作提供性能客观评价标准。
比赛中,各参赛队需要完成具有挑战性的任务,在完成任务的过程中充分展示其救援机器人性能(机动性,感知能力,定位建图能力,操作界面,远程操控性、自主能力等)。
比赛是一个救援机器人技术进步展示的舞台,也是检验救援机器人系统的实验场。
比赛的最终目标是将机器人用于真正的救援任务。
比赛任务是控制救援机器人在迷宫式的场地中搜救模拟的被困者,获胜队伍必须能够很好的完成3~5个任务。
每个任务要求救援机器人从场地中的指定点出发,在规定时间内找到最多数目的被困者,比赛成绩将按照完成所有任务后的总分高低排出冠、亚、季军。
另外设置三个单项比赛奖――自主运行挑战赛、建图挑战赛和通过能力挑战赛。
单项奖评比是综合常规比赛和专场比赛的得分来确定。
2、比赛背景一座建筑物在地震中倒塌,突发事件处理救援队负责在事发地点组织救援,请求增派救援机器人协助搜救建筑物内的被困者,以防余震造成的再次伤害。
在建筑物入口处环境状态未被破坏,但是随着进入建筑物内部,毁坏程度将会逐步增加。
救援机器人及其操作者的任务就是确定现场环境、寻找被困者,并将获得的信息(被困者位置和状态)标记在救援机器人所建立的现场地图上。
3、评分依据比赛主要考核的机器人性能包括以下几个方面:⏹能够通过危险,倒塌和杂乱的环境;⏹确定被困者状态和被困者位置;⏹自动建立环境地图;⏹机器人的自主运行能力。
在比赛中展示机器人的其他性能也会被提倡和受到欢迎,包括:⏹递送救援物资;⏹安置传感器及监控环境;⏹标示和计算到达被困者距离最近的路径;⏹帮助被困者脱离危险(比如提供对建筑结构的支撑或其他安全措施,帮助被困者逃脱)。
4、场地特征场地分为:黄区,桔区,红区。
黄区是(处处是倾斜地面的?)迷宫地域,桔区是楼梯、斜坡、高台等组成的障碍区域,红区是在桔区场地基础上增加立方体地板组成的障碍。
双足机器人竞赛规则
竞赛项目:机器人通过步行的方式从起点线走到终点线,地面为水平的木板(长度2米宽度0.6米)起点线于终点线平行。
在行走过程中机器人要按照竞赛规则完成指定的动作
竞赛共分为两个项目(交叉足印、狭窄足印)其区不为关节构造及足部结构。
机器人结构及其规格设定:
要求:关于机器人必须自主设计制造。
竞赛内容:
竞赛开始时先走3步、立正、然后卧下、向前翻跟斗3次,再起立、向前走3步、立正、然后卧下(躯体向后)、再向后翻跟斗3次、再起立、然后以轻快步履走向终点,参赛者要在指定3分钟或少于指定时刻内完成所有动作,及要走到终点。
竞赛开始时先走3步、立正、然后卧下(躯体向前)、向前翻跟斗3次,再起立、向前走3步、立正、然后卧下(躯体向后)、再向后翻跟斗2次、再起立、然后以轻快步履走向终点、参赛者要在指定5分钟或少于指定时刻内完成所有动作,及要走到终点。
双足机器人计分法:
1.机器人行走时每次跌倒扣10分,由栽判指定在原位将机器人重新放正连续竞赛,不另补时。
2.不按指定动作次序运行的机器人将按次序偏差次数扣分,每次偏差扣10分。
3.机器人行走每出线一次扣10分。
4.裁判未指定情形下,人为干预一次扣10分。
5.以扣分少者为胜;在扣分相同条件下,以使用时刻短者为胜。
交叉足印机器人狭窄足印竞步机器人。
#include <avr/io.h>#include <avr/interrupt.h>unsigned int phase = 0;unsigned int ServoPos[6] = {97,89,94,88,94,96};unsigned int HomePos[6] = {97,89,94,88,94,96};#define FGDD 10 //翻跟头等待时间#define CBDD 100 // 迈步步等待时间#define XS 10 //斜身幅度#define MBFDY 15 // 迈步幅度1#define MBFDE MBFDY*2 // 迈步幅度2#define FGFD 58 //翻跟头幅度#define MBSD 15 // 迈步速度#define FGSD 12 //翻跟头速度#define JBHWSD 50 //后脚板回位速度/*-----计时器计数器1(16 bit) 比较匹配中断(固定周期2.5ms中断,每次中断后把PC中一个引脚置高,8次中断正好20ms 8*2.5=20ms)-----*/SIGNAL(SIG_OUTPUT_COMPARE1A){PORTC |= (1<<phase); /* 把PC口的第phase个引脚置高phase=0,1,2,3,4,5,6,7*/TCNT1 = 0x00; /* 计时器计数器1 置0 */OCR0 = ServoPos[phase]; /* 当TCNT0增加到和ServoPos[phase]相等时产生计时器计数器0中断,ServoPos[phase]的值决定了高电平的时间,也就是脉冲的宽度*/TCCR0 |= (1<<CS02); /* 计时器计数器设置分频系数为256分频并启动计时器计数器0开始计时,TCNT0每16us计数增加 1 TCNT0 940*16us=1504us=1.504ms,舵机中位*/phase++; /*phase加1*/if (phase > 5) /*phase=0,1,2,3,4,5,6,7,分别对应了PC0,PC1,PC2,...PC7*/{phase = 0;}}/*-----计时器计数器0(8 bit) 比较匹配中断(中断的时间根据OCR0中设置的ServoPos[phase]值决定,中断后把PC口8个引脚全部降低)-----*/SIGNAL(SIG_OUTPUT_COMPARE0){PORTC &= ~((1<<PC0) | (1<<PC1) | (1<<PC2) | (1<<PC3) | (1<<PC4) | (1<<PC5)); /* 发生中断时让PC 0-PC 7 全部置低*/TCCR0 &= ~(1<<CS02); /* 清除计时器计数器并设置分频系数*/TCNT0 = 0x00; /* 计时器计数器0 置0 */}/*-----步行关系-----*//*(94-60)*16= 512us=0.512ms*//*(94-00)*16=1504us=1.504ms*//*(94+60)*16=2496us=2.496ms*//*62------> 90°*//* 1------>1.5°*//*15----->22.5°*//*20------> 30°*//*30------> 45°*//*用T2中断做的mS 延时函数-----用于每个动作之间的延时*/void wait_ms(int msec){int count; /* 反复用途计数器变数(for 句子用使用)*/TCCR2 |= (1<<CS22); /* 在64分频内计时器4us一次,计数器2 开始*/for (count = 0; count < msec; count++) /* 只反复msec 的次数*/{/*1 mS 生成*/TCNT2 = 0x00; /* 计数器2置0 */while(TCNT2 < 250){} /* 直到250*4=1000us=1ms 反复(等待)*/ }}/*void step1(void) //由立正抬左脚迈左腿左脚落地{unsigned char i;for(i=XS;i>0;i--){ServoPos[2] = ServoPos[2] + 2;ServoPos[5] = ServoPos[5] + 1;wait_ms(JBHWSD);}for(i=XS;i>0;i--){ServoPos[2] = ServoPos[2] - 1;wait_ms(JBHWSD);}for(i=MBFDY;i>0;i--){ServoPos[0] = ServoPos[0] - 1;ServoPos[1] = ServoPos[1] - 1;ServoPos[3] = ServoPos[3] - 1;ServoPos[4] = ServoPos[4] - 1;wait_ms(MBSD);}for(i=XS;i>0;i--){ ServoPos[2] = ServoPos[2 ] - 1;ServoPos[5] = ServoPos[5] - 1;wait_ms(JBHWSD);}}void step2(void) //行进中抬右脚迈右腿右脚落地{unsigned char i;for(i = XS;i>0;i--){ ServoPos[2] = ServoPos[2] - 1;ServoPos[5] = ServoPos[5] - 2;wait_ms(JBHWSD);}for(i = XS;i>0;i--){ ServoPos[5] = ServoPos[5] + 1;wait_ms(JBHWSD);}for(i =MBFDE;i>0;i--){ServoPos[0] = ServoPos[0] + 1;ServoPos[1] = ServoPos[1] + 1;ServoPos[3] = ServoPos[3] + 1;ServoPos[4] = ServoPos[4] + 1;wait_ms(MBSD);}for(i = XS;i>0;i--){ServoPos[5] = ServoPos[5] + 1;ServoPos[2] = ServoPos[2] + 1;wait_ms(JBHWSD);}}void step3(void) //行进中抬左脚迈左腿左脚落地{unsigned char i;for(i =XS;i>0;i--){ ServoPos[2] = ServoPos[2] + 2;ServoPos[5] = ServoPos[5] + 1;wait_ms(JBHWSD);}for(i =XS;i>0;i--){ServoPos[2] = ServoPos[2] - 1;wait_ms(JBHWSD);}for(i = MBFDE;i>0;i--){ServoPos[0] = ServoPos[0] - 1;ServoPos[1] = ServoPos[1] - 1;ServoPos[3] = ServoPos[3] - 1;ServoPos[4] = ServoPos[4] - 1;wait_ms(MBSD);}//脚底板回位,左脚落地for(i = XS;i>0;i--){ ServoPos[2] = ServoPos[2] - 1;ServoPos[5] = ServoPos[5] - 1;wait_ms(JBHWSD);}}void step4(void) //迈右腿停止{unsigned char i;for(i=XS;i>0;i--){ServoPos[2] = ServoPos[2] - 1;ServoPos[5] = ServoPos[5] - 2;wait_ms(JBHWSD);}for(i=XS;i>0;i--){ServoPos[5] = ServoPos[5] + 1;wait_ms(JBHWSD);}for(i=MBFDY;i>0;i--){ServoPos[0] = ServoPos[0] + 1;ServoPos[1] = ServoPos[1] + 1;ServoPos[3] = ServoPos[3] + 1;ServoPos[4] = ServoPos[4] + 1;wait_ms(MBSD);}for(i = XS;i>0;i--){ServoPos[5] = ServoPos[5] + 1;ServoPos[2] = ServoPos[2] + 1;wait_ms(JBHWSD);}}*/void step5(void) //1 头前趴{unsigned char i;for(i=FGFD;i>0;i--){ServoPos[3] = ServoPos[3] + 1;ServoPos[0] = ServoPos[0] - 1;wait_ms(FGSD);}for(i=FGFD;i>0;i--){ServoPos[1] = ServoPos[1] + 1;ServoPos[4] = ServoPos[4] - 1;wait_ms(FGSD);}}void step6(void) //脚往前趴,{unsigned char i;for(i=FGFD;i>0;i--) //0 抬起90{ServoPos[0] = ServoPos[0] + 1;wait_ms(FGSD);}wait_ms(50);for(i=FGFD;i>0;i--) //1动180 {ServoPos[1] = ServoPos[1] - 2;wait_ms(FGSD);}for(i=FGFD;i>0;i--) //0 z dong 90 {ServoPos[0] = ServoPos[0] + 1;wait_ms(FGSD);wait_ms(50);for(i=FGFD;i>0;i--) //3 dong 90 {ServoPos[3] = ServoPos[3] - 1;wait_ms(FGSD);}wait_ms(50);for(i=FGFD;i>0;i--) // 4 dong 180 {ServoPos[4] = ServoPos[4] + 2;wait_ms(FGSD);}for(i=FGFD;i>0;i--) //3 z dong 90 {ServoPos[3] = ServoPos[3] - 1;wait_ms(FGSD);}}void step7(void) //头抬起{unsigned char i;for(i=FGFD;i>0;i--){ServoPos[1] = ServoPos[1] + 1;ServoPos[4] = ServoPos[4] - 1;wait_ms(FGSD);}wait_ms(50);for(i=FGFD;i>0;i--){ServoPos[0] = ServoPos[0] - 1;ServoPos[3] = ServoPos[3] + 1;wait_ms(FGSD);}}void step8(void) //2 头后趴{unsigned char i;for(i=FGFD;i>0;i--){ServoPos[3] = ServoPos[3] - 1;ServoPos[0] = ServoPos[0] + 1;wait_ms(FGSD);}for(i=FGFD;i>0;i--){ServoPos[1] = ServoPos[1] - 1;ServoPos[4] = ServoPos[4] + 1;wait_ms(FGSD);}}void step9(void) //脚往后趴,{unsigned char i;for(i=FGFD;i>0;i--) //3 动90{ServoPos[3] = ServoPos[3] + 1;wait_ms(FGSD);}wait_ms(50);for(i=FGFD;i>0;i--) //4 动180 {ServoPos[4] = ServoPos[4] - 2;wait_ms(FGSD);}for(i=FGFD;i>0;i--) //3 z dong 90 {ServoPos[3] = ServoPos[3] + 1;wait_ms(FGSD);}wait_ms(50);for(i=FGFD;i>0;i--) //0 dong 90 {ServoPos[0] = ServoPos[0] - 1;wait_ms(FGSD);}wait_ms(50);for(i=FGFD;i>0;i--) // 1 dong 180 {ServoPos[1] = ServoPos[1] + 2;wait_ms(FGSD);}for(i=FGFD;i>0;i--) //3 z dong 90 {ServoPos[0] = ServoPos[0] - 1;wait_ms(FGSD);}}void step10(void) //头抬起{unsigned char i;for(i=FGFD;i>0;i--){ServoPos[1] = ServoPos[1] - 1;ServoPos[4] = ServoPos[4] + 1;wait_ms(FGSD);}wait_ms(50);for(i=FGFD;i>0;i--){ServoPos[0] = ServoPos[0] + 1;ServoPos[3] = ServoPos[3] - 1;wait_ms(FGSD);}}/*void step11(void) //行进中抬右脚迈右腿右脚落地{unsigned char i;//脚底板转,身体向右倾斜,抬左脚,为迈腿准备//迈左腿(全幅)for(i=XS;i>0;i--){ServoPos[2] = ServoPos[2] - 1;ServoPos[5] = ServoPos[5] -2 ;wait_ms(JBHWSD);}for(i =XS;i>0;i--){ServoPos[5] = ServoPos[5] + 1;wait_ms(JBHWSD);}for(i = MBFDE;i>0;i--){ServoPos[0] = ServoPos[0] + 1;ServoPos[1] = ServoPos[1] + 1;ServoPos[3] = ServoPos[3] + 1;ServoPos[4] = ServoPos[4] + 1;wait_ms(MBSD);}//脚底板回位,左脚落地for(i = XS;i>0;i--){ ServoPos[2] = ServoPos[2] + 1;ServoPos[5] = ServoPos[5] + 1;wait_ms(JBHWSD);}}*/void homeP(void){ServoPos[0] = HomePos[0];ServoPos[1] = HomePos[1];ServoPos[2] = HomePos[2];ServoPos[3] = HomePos[3];ServoPos[4] = HomePos[4];ServoPos[5] = HomePos[5];}int main(void){ int l;/* PC口的设定*/DDRC |= (1<<PC0) | (1<<PC1) | (1<<PC2) | (1<<PC3) | (1<<PC4) | (1<<PC5);PORTC &= ~((1<<PC0) | (1<<PC1) | (1<<PC2) | (1<<PC3) | (1<<PC4) | (1<<PC5));/* 计时器计数器1 的设定*/TIMSK |= (1<<OCIE1A); /* 计时器计数器1 比较匹配中断允许*/TCCR1A |= (1<<WGM12); /* 计时器计数器1 CTC 比较匹配时清零定时器(CTC) 模式*/OCR1A =625; /* TCNT1计数到625产生中断共625*4=2500us=2.5MS*//* 计时器计数器0 的设定*/TIMSK |= (1<<OCIE0); /* 计时器计数器0 的比较匹配中断允许*/SREG |= (1<<SREG_I);TCCR1B |= (1<<CS11) | (1<<CS10); /* 选择分频系数,并启动定时器*/homeP();wait_ms(2000); //li zheng tai bu zou 1/*step1();wait_ms(CBDD);step2();wait_ms(CBDD);step3();wait_ms(CBDD);step4();wait_ms(CBDD); // zou jie shu */for(l=0;l<3;l++) //qian fan{step5();wait_ms(FGDD);step6();wait_ms(FGDD);step7();wait_ms(FGDD);}/* step1(); // tai bu zou 2wait_ms(CBDD);step2();wait_ms(CBDD);step3();wait_ms(CBDD);step4();wait_ms(CBDD); // zou jie shu*/for(l=0;l<2;l++) // hou fan{step8();wait_ms(FGDD);step9();wait_ms(FGDD);step10();wait_ms(FGDD);}/* step1(); //yi hou ji xu zouwait_ms(CBDD);step2();wait_ms(CBDD);step3();wait_ms(CBDD);while(1){step11();wait_ms(CBDD);step3();wait_ms(CBDD);}*/}。