查看: 235|回复: 3

[教程] 【Gravity】Mind+掌控板进阶教程-项目十四 相扑机器人

[复制链接]
本帖最后由 _木子_ 于 2019-10-29 11:26 编辑

项目十四 相扑机器人


在日本,尊为“国技”的相扑,是一项备受推崇的运动。相扑比赛时往往有两个体型高大的选手,他们费尽九牛二虎之力,就是要把对手挤出狭小的赛台之外。

201910294857.png

出于对相扑运动的喜爱,结合日本领先的机器人研制水平,诞生了一项融合传统相扑观赏性和现代自动化技术的机器人相扑比赛(Robot sumo)。

201910293456.png

在比赛中,参赛者按照一定要求制造相扑机器人,比赛规则很简单:在最短时间内把对手逼出圈子的就获胜。与传统的相扑比赛相同,摧毁对手并不是比赛目的,而在于展现力量、速度的美感。
参赛的机器人一般有两种,一种由参赛者遥控,另一种则完全自主反应。它们大多装有微型控制器和传感器,会根据对手的行动快速作出战略判断和反应。而机器人前方倾斜的铲子是最常用的攻击装备,作用是将对手抬离地面,减少它的抓地力,便于推出赛台。
在这个项目中,我们将一起制作一台遥控的相扑机器人,为了增强其战斗力,还会探究哪些因素会影响相扑机器人的战斗力。
在项目开始之前,一起来头脑风暴下如何制作吧!

头脑风暴


问题清单
1、相扑机器人整体可以分为两个部分:车体、铲子,作为一辆车来说,需要它可以前进、后退、左转、右转,用什么硬件来带动轮胎呢?
2、如何遥控控制相扑机器人移动?需要用到什么传感器?
3、如何设计铲子?什么形状的铲子攻击力最强?铲子底部是离地面越近越好吗?
4、在比赛中,哪些因素可能会影响相扑机器人的战斗力?机器人的重量、重心会有影响吗?铲子的形状和位置呢?如何验证呢?还记得在“风帆车”项目中用到的“唯一变量原则”吗?

核心知识点

红外遥控
201910299498.png


红外遥控是目前使用最广泛的一种遥控手段。 红外遥控装置具有体积小、功耗低、功能强、成本低等特点,在家用电器、玩具等各类电器上有广泛应用。
红外遥控系统一般由发射、接收两部分组成,对应套件中的迷你红外遥控器、红外接收传感器。
红外遥控器的原理是利用一个红外发光二极管,以红外线(也称红外光)为载体来将按键信息传递给接收端。那什么是红外线呢?

红外线
201910298852.png

我们知道,取一块三棱镜放在太阳光下,可以看到一条绚丽的彩虹,由红、橙、黄、绿、青、蓝、紫七种光组成,其光波的波长由长至短依次排列,紫光最短,红光最长。
在红光的外侧,即比红光的光波还长的、看不见的、波长范围在760纳米nm)1毫米(mm)之间的,即为红外线。
红外线对于人眼是不可见的,因此使用红外遥控器不会影响人的视觉。
日常生活中有很多红外光源,太阳、蜡烛火光、白炽灯、各类遥控器甚至是我们的身体。这些红外光源都可能会对我们的接收设备产生干扰,如何屏蔽干扰,只接收有效信息呢?

红外调制与解调
这里就需要用到红外调制与解调,通过调制我们可以使发射端红外光以特定的频率闪烁。而接收端会适配这个频率,忽略其它干扰信号,即为解调。这里可以理解这种闪烁是引起接收器“注意”的方法。
可以将套件中遥控器发出的红外信号理解为一串脉冲码,调制在特定的频率上后,由红外发射二极管发射出去,接收装置只接收该特定频率的信号并将其还原成脉冲码,也就是解调。
Mind+中遥控器按键对应键值如下表。
截图5.png

* 每个掌控板套件中遥控器的按键值都与上表相同,所以如果多个人同时使用多个套件,注意提示使用不同按键,避免混淆。

规划方案



功能分解
在这个项目中,可以将相扑机器人简单的理解为一辆遥控小车,小车的车轮通过电机带动,使用遥控器控制电机转动,即可完成小车的前后移动、转弯。
在此基础上,为车头加上铲子,完成相扑机器人的制作。
为了能够增强其战斗力,我们将通过实验探究重心对机器人战斗力的影响。如果你想制作一台更强悍的相扑机器人,还可以实验验证其它更多因素。
截图6.png
截图6-2.png

构造外观

构造外观.png


问题记录
在后面项目实现过程中,可能会遇到各种各样的困难,尝试在下表中记录你遇到的问题和解决办法,便于以后出现类似问题时能更好的面对。

问题记录.png


功能实现


功能1:遥控小车
在功能分解部分,我们知道,遥控小车需要实现的基本功能是遥控器控制两个电机的转动。
当两个电机分别带动小车后部的左、右轮时,可以选用遥控器上的5个按键分别控制两个电机的转动方式,实现小车前进、后退、左转、右转、停止。

连线图:
201910292324.png

* 注意在Mind+中加载扩展板。使用电机时,扩展板接电池盒

软件设置:使用红外通信要打开Mind+软件的“扩展”,在“通信模块”下点击加载“红外接收模块”。
201910299453.png
程序1:串口读取遥控器按键值
201910291867.png

运行结果:按下任意按键,串口输出按键值,所有按键的读值参照核心知识点的表格部分。
由于遥控器要控制小车的5种状态:前进、后退、左转、右转、停止,所以大家可以根据自己的操作习惯,选择遥控器上的5个按键。
程序2:遥控小车
201910291328..png


功能
2:遥控小车外观构建
完成程序下载后,如果不结合实际车体,难以看出运动效果,所以可以结合外观,再调试程序。下图可作为外观参考。

* 注意电机带动车轮,要可以顺滑的转动!否则相当于你手动降低了电机转速,相扑机器人的战斗能力将大打折扣。
* 这里暂时不要固定电池盒和主控板,后面还有妙用。

201910295296..png
201910294822..png

完成外观后,按下遥控器让你的小车跑起来吧!运行程序时,注意将扩展板上的开关拨到ON喔!

功能3:相扑机器人
在车头加上攻击铲子,完成相扑机器人的设计。下图仅作参考。

201910294100..png

遥控你的相扑机器人,去战斗吧!如果你是一个人在玩,那么可以找一个合适重量的盒子作为你的对手,把它又快又稳的推出赛场,享受胜利的喜悦。

功能4:实验探究:重心改变对相扑机器人的影响


重心对相扑机器人有影响吗?让我们一起通过实验探究一下。
201910294324..png

如何改变重心位置呢?如果你刚刚没有固定电池盒和主控板,那么现在可以直接改变它们在车上的位置,达到改变重心的目的。如果固定好了也没关系,找一个重物作为配重放在车上不同位置也可以。
这里建议以两个驱动轮的连线中点处为起点,记录电池盒或重物相对于该点的垂直距离,作为重心的参考数据。
如何体现相扑机器人的战斗力呢?同样的,将一个合适重量的盒子作为你的对手,记录将它推动指定距离需要花费的时间。时间越短,说明机器人攻击力越强!
* 注意重心一定要在两个驱动轮连线的中轴线上,当偏左或偏右时,会使一边驱动轮负载过大,导致跑线不直,影响控制效果。
赶紧开始实验吧,可在下面表格中记录实验数据。

截图13.png


你也可以提出其他的猜想,然后通过这样的实验方法来做验证。

拓展研究:自主反应的相扑机器人

自主反应的相扑机器人是指在比赛场地中,机器人完全不用人为控制,只依靠自身的传感器去感知场地和对手。

可以看到,赛台一般是个有一圈白色边缘的黑色圆盘,所以这里可以通过颜色进行判断,为黑色时表示还在赛台上,可以进行攻击或防守;一旦检测到白边,说明比赛结束,机器人停止运动。

201910292546..png

在真正的相扑机器人比赛中,可能几秒之内就会结束战斗,往往还没来得及检测对手的位置,已经被一顿强攻,败下阵来。所以比起找对手在哪里,战斗策略则显得更为重要。比如比赛开始后,大多数机器人会选择向前猛冲,企图直接将对手推出赛台,如果此时你选择一个转身,往旁边一让,对手是不是就直接自取灭亡了呢?

当然针对不同的攻击方法,有不同的应对策略,大家不妨尝试做一台自主反应的相扑机器人,和其他人的机器人真的比一场,感受机器人相扑中力量与速度的精彩。

评价与反思
与人分享快乐,能产生更多快乐,尝试与身边的朋友一起进行一场相扑机器人大赛,看看谁能夺得冠军!你还可以在DF创客社区中分享作品,听听更多人的建议!

社区网址:www.dfrobot.com.cn

自我反思
梳理自己设计项目的思维逻辑、项目在执行层面的问题和经验等等,可以帮助我们形成学习的闭环,加深在项目进行的过程中对知识点和内容的理解,找到可以改进和提高的地方。
自我反思.png



创客是瘦子  见习技师

发表于 2019-10-29 20:28:18

铲车部分可以优化
回复 支持 反对

使用道具 举报

gada888  版主

发表于 2019-10-31 12:18:41

车的底盘可以用两轮平衡。这样更有人性
回复 支持 反对

使用道具 举报

_木子_  中级技师
 楼主|

发表于 2019-10-31 14:31:16

gada888 发表于 2019-10-31 12:18
车的底盘可以用两轮平衡。这样更有人性

              
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

为本项目制作心愿单
购买心愿单
心愿单 编辑
wifi气象站

硬件清单

btnicon
我也要做!
点击进入购买页面
上海智位机器人股份有限公司 沪ICP备09038501号-4

© 2013-2019 Comsenz Inc. Powered by Discuz! X3.4 Licensed

mail