屌丝奇遇记
——LEGO 机器人实验报告 问题描述:
在机器人大战中,如何实现以下三个问题
1. 找到敌人(传感器的选择与搭配,位置布置)
2. 攻击敌人(攻击手段的选择,硬件上的安排,程序上的设计)
3. 确保自身安全(几种出界情况的不同规避)
策略设计:
针对以上问题,我方机器人采取以下策略:
1. 变量定义与战术动作模块化。
定义两个布尔型变量,一是“触界”,二是“敌情”。使“触界”满足的条件:我方机器人安装三个亮度传感器,经赛前测试,在正常室内灯光下,传感器位于黑色边框上方时,其光感值在35左右,当传感器位于白色内场上方时,其光感值约为100。所以我们以50为界,光感值低于50时,视为触碰边界。使“敌情”满足的条件:传感器感应到前方60cm 内有其他机器人。 定义另一个变量“next action”,三个程序块分别是“巡逻”“攻击”“逃跑”。每次开始时,默认将“巡逻”的代码赋值给“next action ”,先检测“敌情”条件是否满足,若是,则将“攻击”的代码赋值给“next action”,再检测“触界”条件是否满足,若是,则将“逃跑”的代码赋值给“next action”。之后执行“next action ”。此处,在两个条件检测顺序上,特地将触界条件放到
最后检测,这样保证它离最后“next action”执行最近,即当“敌情”与“触界”同时满足时,优先执行逃跑,确保我方安全,这样也可确保我方机器人把敌人挤出去后不再追击,符合比赛规则。以下是几个程序块的设计。
2. 巡逻。场地为直径64cm 的圆形,我方机器人安装一个超声波测距传感器,设定距离为感应60cm 。当执行巡逻任务时走10cm 右转60度,循环此动作,即在场地内部画正六边形(最长对角线20cm ),加上机器人传感器的感应范围,即可对全场监控。
3. 攻击。我方机器人并没有特别花哨的攻击武器,直接冲撞将对手挤出去就是我们的攻击手段。执行攻击任务时一旦发现敌人,以100cm/s2加速度向前冲击,无最大速度限制。
4. 逃跑。我方机器人在安装三个亮度传感器分别位于小车正前方定义为C (center ),左后方L (left ),右后方R (right )。当C 触界时,向后退10cm 。L 触界时,右转90度,再前进10cm 。R 触界时,左转90度,再前进10cm 。
代码截图:
实验结果与改进方案:
场下调试阶段我们发现以下3个问题
1. 超声波传感器位置偏高,发现不了敌人。改进方案调低5cm ,
改进后基本上可以发现八成以上敌人。但是由于初期格局已经确定无法再改装更低,导致影响了一些战斗力。
2. 超声波传感器监测距离太长,导致两个问题,第一容易受到场
外人员干扰,做出误判,冲过去之后来不及刹车直接出界。第二,检测到敌情后冲过去用的时间比较长,对手完全可以逃走让我方扑空。
3. 攻击方式过于单一,比赛缺乏精彩性。为此我们设计了一招杀
手锏,比赛一开始直接扭头180度,冲向对手打他措手不及。这个战术在场下试练的时候很有效,好多组与我们交过手后也出现了相似的策略。
小组分工:
李尧——硬件组装,主要策略设计,程序设计,实验报告书写 吕楚冰——硬件组装,策略改进,程序改进,硬件调整与维修
胡弓长——硬件组装,后期加固,以及在比赛间隙的维修与硬件调整 汪德华——搬运装备,后勤保障
总结与感想:
本次机器人大赛,我们组准备的比较早,在全队是第一个把机器人装起来并让它跑起来的。在前方没有任何模式可以参考的情况下我们走的比较辛苦,硬件方面的骨架基本是按照说明书给的来的,以至在后期调整时供我们发挥的空间比较小,所以做出来的机器人看起来很小巧,没有华丽的外表,攻击方式也最普通。到达赛场和一些同学
试练时发现重量太轻,挤不动别的机器人,别的机器人挤我们却很容易。所以在现场又往上面加了好多与功能无关的设备。就是为了增加重量。这些临时装上去的装备都不太坚固,在比赛过程中我们组可以说是撒着零件一路泪奔,因而被对手戏称“屌丝”。不过我们机器人也有出彩的地方,安装三个亮度传感器在所有参赛作品中是绝无仅有的,观察我们的程序可以发现我们在防守上的代码长度远远长于进攻上。场地黑框边界宽度为10cm ,我们机器人巡逻的步伐就设置为10cm 。所以我们机器人最大的特点就是谨慎,别的机器人或多或少都出现一些误判,例如我们第二轮的对手就是自己出圈的,而我们的机器人几乎没有出现过误判情况。
此次比赛,我们组的机器人一共比了四轮,挺进八强,在八进四的比赛中被一个巨无霸干掉。并且通过观察,在十六强里我们已经是个头最小的一个了。所以我想如果我们可以当初有魄力推倒前面的成果重新来过,对硬件结构来一次大手术,把第三个马达也用上去,对我们现有的程序再优化升级。我想我们组的机器人一定会有更好的成绩。
一个人做自己喜欢的事的时候总是不知疲惫的。此次实验的准备阶段常常一个人忙到深夜,写程序,改结构。赛前的最后一个晚上,我们队的几台机器人聚在一起,不停切磋调试。在切磋中暴露了问题,在调试中提升了能力。个人的程序设计能力有了很大进步(甚至英语能力也有了进步,毕竟编程软件和提供的资料都是全英文)。想象力也得到了发挥。
功夫不负有心人,几日忙碌,八强的成绩让我们很满意。感谢学校给我们提供这样的平台,也感谢吴老师和几位教辅的指导。此次经历收获很大,必将终生难忘。谢谢。
屌丝奇遇记
——LEGO 机器人实验报告 问题描述:
在机器人大战中,如何实现以下三个问题
1. 找到敌人(传感器的选择与搭配,位置布置)
2. 攻击敌人(攻击手段的选择,硬件上的安排,程序上的设计)
3. 确保自身安全(几种出界情况的不同规避)
策略设计:
针对以上问题,我方机器人采取以下策略:
1. 变量定义与战术动作模块化。
定义两个布尔型变量,一是“触界”,二是“敌情”。使“触界”满足的条件:我方机器人安装三个亮度传感器,经赛前测试,在正常室内灯光下,传感器位于黑色边框上方时,其光感值在35左右,当传感器位于白色内场上方时,其光感值约为100。所以我们以50为界,光感值低于50时,视为触碰边界。使“敌情”满足的条件:传感器感应到前方60cm 内有其他机器人。 定义另一个变量“next action”,三个程序块分别是“巡逻”“攻击”“逃跑”。每次开始时,默认将“巡逻”的代码赋值给“next action ”,先检测“敌情”条件是否满足,若是,则将“攻击”的代码赋值给“next action”,再检测“触界”条件是否满足,若是,则将“逃跑”的代码赋值给“next action”。之后执行“next action ”。此处,在两个条件检测顺序上,特地将触界条件放到
最后检测,这样保证它离最后“next action”执行最近,即当“敌情”与“触界”同时满足时,优先执行逃跑,确保我方安全,这样也可确保我方机器人把敌人挤出去后不再追击,符合比赛规则。以下是几个程序块的设计。
2. 巡逻。场地为直径64cm 的圆形,我方机器人安装一个超声波测距传感器,设定距离为感应60cm 。当执行巡逻任务时走10cm 右转60度,循环此动作,即在场地内部画正六边形(最长对角线20cm ),加上机器人传感器的感应范围,即可对全场监控。
3. 攻击。我方机器人并没有特别花哨的攻击武器,直接冲撞将对手挤出去就是我们的攻击手段。执行攻击任务时一旦发现敌人,以100cm/s2加速度向前冲击,无最大速度限制。
4. 逃跑。我方机器人在安装三个亮度传感器分别位于小车正前方定义为C (center ),左后方L (left ),右后方R (right )。当C 触界时,向后退10cm 。L 触界时,右转90度,再前进10cm 。R 触界时,左转90度,再前进10cm 。
代码截图:
实验结果与改进方案:
场下调试阶段我们发现以下3个问题
1. 超声波传感器位置偏高,发现不了敌人。改进方案调低5cm ,
改进后基本上可以发现八成以上敌人。但是由于初期格局已经确定无法再改装更低,导致影响了一些战斗力。
2. 超声波传感器监测距离太长,导致两个问题,第一容易受到场
外人员干扰,做出误判,冲过去之后来不及刹车直接出界。第二,检测到敌情后冲过去用的时间比较长,对手完全可以逃走让我方扑空。
3. 攻击方式过于单一,比赛缺乏精彩性。为此我们设计了一招杀
手锏,比赛一开始直接扭头180度,冲向对手打他措手不及。这个战术在场下试练的时候很有效,好多组与我们交过手后也出现了相似的策略。
小组分工:
李尧——硬件组装,主要策略设计,程序设计,实验报告书写 吕楚冰——硬件组装,策略改进,程序改进,硬件调整与维修
胡弓长——硬件组装,后期加固,以及在比赛间隙的维修与硬件调整 汪德华——搬运装备,后勤保障
总结与感想:
本次机器人大赛,我们组准备的比较早,在全队是第一个把机器人装起来并让它跑起来的。在前方没有任何模式可以参考的情况下我们走的比较辛苦,硬件方面的骨架基本是按照说明书给的来的,以至在后期调整时供我们发挥的空间比较小,所以做出来的机器人看起来很小巧,没有华丽的外表,攻击方式也最普通。到达赛场和一些同学
试练时发现重量太轻,挤不动别的机器人,别的机器人挤我们却很容易。所以在现场又往上面加了好多与功能无关的设备。就是为了增加重量。这些临时装上去的装备都不太坚固,在比赛过程中我们组可以说是撒着零件一路泪奔,因而被对手戏称“屌丝”。不过我们机器人也有出彩的地方,安装三个亮度传感器在所有参赛作品中是绝无仅有的,观察我们的程序可以发现我们在防守上的代码长度远远长于进攻上。场地黑框边界宽度为10cm ,我们机器人巡逻的步伐就设置为10cm 。所以我们机器人最大的特点就是谨慎,别的机器人或多或少都出现一些误判,例如我们第二轮的对手就是自己出圈的,而我们的机器人几乎没有出现过误判情况。
此次比赛,我们组的机器人一共比了四轮,挺进八强,在八进四的比赛中被一个巨无霸干掉。并且通过观察,在十六强里我们已经是个头最小的一个了。所以我想如果我们可以当初有魄力推倒前面的成果重新来过,对硬件结构来一次大手术,把第三个马达也用上去,对我们现有的程序再优化升级。我想我们组的机器人一定会有更好的成绩。
一个人做自己喜欢的事的时候总是不知疲惫的。此次实验的准备阶段常常一个人忙到深夜,写程序,改结构。赛前的最后一个晚上,我们队的几台机器人聚在一起,不停切磋调试。在切磋中暴露了问题,在调试中提升了能力。个人的程序设计能力有了很大进步(甚至英语能力也有了进步,毕竟编程软件和提供的资料都是全英文)。想象力也得到了发挥。
功夫不负有心人,几日忙碌,八强的成绩让我们很满意。感谢学校给我们提供这样的平台,也感谢吴老师和几位教辅的指导。此次经历收获很大,必将终生难忘。谢谢。