找回密码
 马上注册

QQ登录

只需一步,快速开始

查看: 30178|回复: 19

乐高官方额外12个机器人精解:猜球机器人

  [复制链接]
发表于 2018-6-19 11:09:04 | 显示全部楼层 |阅读模式
本帖最后由 青岛张纯胜 于 2018-6-19 11:46 编辑

乐高EV3家庭版套装中官方一共有17个机器人模型,大厅里有5个,更多机器人中有12个,这些都是学习机器人最好的模型,大厅的5个机器人模型相对比较简单,而更多机器人中12个机器普遍比较复杂,对于小白玩家来说,要弄懂还是有些难度的,我也是一个小白玩家,弄懂这些程序花了不少心思,消耗了不少脑细胞,总算弄懂基中大半部分精髓,写下来一是验证自己的思考,二是与大家交流,毕竟还有少部分东西不太明白。
因为每一个程序都比较长,比较复杂,所以我只分析每一个机器人里的重点和难点,其它可以通信交流!
这个猜球机器人的重点和难点就是两个电机如何带动杠杆旋转,让球换位置,并且杠杆不打架。
先来看下他的演示视频:

所以我的分析分三个部分:
第一步:分析杠杆的运行轨迹;
第二步:电机如何执行动作才能避免打架情况的出现;
第三步:编写程序。
第一步:分析杠杆运行轨迹
杠杆初始位置是这样的:

猜球.jpg 球一共有四种运动方式:
猜球1.jpg
当杠杆带动球运动后杠杆一共有3种情况:
猜球2.jpg
所以,理论上杠杆一共有36种运行轨迹:
IMG_0781.JPG
IMG_0782.JPG
在纸上简单画了一下:
但是因为我们设置的电机运行的情况是B、C里面至少有一个最后的状态是垂直的,所以我们可以排除掉其中16种情况,如下图:
QQ图片20180618101155.jpg QQ图片20180618101202.jpg
第二步:分析杠杆间打架的情况
从上图我们可以看到,当杠杆在以下三种情况下运行是不会打架的:
  • 当BC电机向相反的方向运行的时候,可以同时旋转不会打架;
  • 当B电机处于初始位置的时候先运行B,再运行C也不会打架;
  • 最后当B电机没有在初始位置的时候先运行C再运行B也不会打架。

第三步:编写程序

先看第一种情况,C电机有三种初始位置,如下图:
猜球3.jpg 猜球4.jpg 猜球5.jpg
分析完成后编写程序就非常简单了:
B电机运转方式:
B电机运行的第一种情况.png
这里offset自变量值给出的是60度,因为电机旋转的是以60度为基础的。
我在编写的时候也遇到一个问题,电机旋转必需以60度为基础通过函数加减两个杠杆才不会打架,如果省去函数直接给出具体的数值杠杆还是会打架,目前,还没有找到原因,如果你知道原因希望可以告诉我。
C电机运行的方式:
C电机运行的第一种情况.png
将B电机C电机运行的方式做成我的自定义模块,然后编入主程序:
第一种情况.png
然后再来编写执行动作的情况:
执行动作.png
最终程序如下:
QQ图片20180619093224.png
到此电机带动杠杆移球的程序就编写完成了。
把程序导入程序块,运行看是否正确。
最后是我做程序以及乐高官方猜球机器人图纸和原程序。
链接:https://pan.baidu.com/s/1uTGGEnXQCfp0dhSxOTaG9w 密码:kpmb


评分

参与人数 1乐币 +100 收起 理由
nopbb + 100 中文乐高有你更给力:)

查看全部评分

如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
发表于 2018-6-19 11:39:32 | 显示全部楼层
学习了,研究的好透彻!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-6-19 13:48:01 | 显示全部楼层
很棒,学习了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-6-19 14:03:56 | 显示全部楼层
厉害厉害。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

 楼主| 发表于 2018-6-19 14:31:47 | 显示全部楼层
jilcool 发表于 2018-6-19 11:39
学习了,研究的好透彻!

里面其实还有一个问题没有解决
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-6-20 11:26:27 | 显示全部楼层
楼主好人,谢谢了!!!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-6-20 16:07:41 | 显示全部楼层
很是佩服,用心了!
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-8-3 15:16:34 | 显示全部楼层
程序刚开始写入变量时,变量current_b被重复写入两次,没有写入变量current_c,但因为旋转的切换模块默认都是1应该不会影响程序,至于你说的错误情况,应该是你编写的问题,另外这个程序有可以简化的部分。
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-19 22:49:35 | 显示全部楼层
学习了
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2018-12-20 07:43:02 | 显示全部楼层
赞,感谢分享~
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2019-1-4 17:25:46 | 显示全部楼层
真厉害
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2019-1-27 14:00:14 | 显示全部楼层
请问一下,在搭建图里面,有一个放在转机上门一样的颗粒好像不是45544里面的,请问在哪个套装里面能找到?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2019-5-30 23:20:26 | 显示全部楼层
第一个都没搞懂
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2019-7-12 15:07:00 | 显示全部楼层
请教一下,官方源程序在哪里能下载?
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

发表于 2019-8-20 09:36:14 | 显示全部楼层
牛逼了大神,学习一个
如果您觉得我的帖子对您有用,请不吝给我一个“赞”!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

手机版|中文乐高 ( 桂ICP备13001575号-7 )

GMT+8, 2025-7-9 18:35 , Processed in 0.725700 second(s), 28 queries .

Powered by Discuz! X3.5

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表