“扔瓶子”手残党们有救了

没想到始于 2016 年的一款扔瓶子游戏,竟到如今还流行在(视频中的)街头巷尾,得到不少年轻人的追捧。

 

640?wx_fmt=gif

 

如果你还没尝试过这项活动的话,那么我相信你一定玩过去年国内火爆一时的微信“跳一跳”小游戏,或者说育碧的 Bottle Flips。

 

640?wx_fmt=gif

 

虽说都是人们无聊之时打法时间的一种休闲方式,但是不是有种欲罢不能的感觉?尽管这股流行风潮已经过去了,但年轻人们总是在乐此不疲地寻找新玩法。

 

在去年日本举办的 RoboCon(Robot contest 缩写,亚太广播联盟机器人大赛)全国高中机器人大赛中,扔瓶子的艺术被提升到了一个新的高度。表演者:机器人。它完美抛出了人类扔瓶子时的精彩画面,毫不迟疑,直击目标!

 

先来看看以下一段视频:

 

 

 

从视频中可以看到,从测试目标位置,到最终做出抛掷行为动作时,机器人手臂基本不受人类实验者的直接控制。看来,仅仅是摆动两下,拿起放下物体,早就无法满足人类对机器人手臂的想法了。

 

VICE表示:“团队成员为年龄大概在 15 到 20 岁之间的少年,但他们制造出的机器人抛掷水瓶的精确度却让人难以置信!”

 

640?wx_fmt=gif

 

  • 有的设法以精准的角度将瓶子从桌上弹开,以便瓶子正面朝上。

 

640?wx_fmt=gif

 

  • 还有快速连续发射多个瓶子,甚至移动时也可以做出这些动作。

 

640?wx_fmt=gif

 

  • 最令人印象深刻的是,机器人设法将水瓶抛掷到蹦床上,然后再将其弹掷到高处,并稳稳站立。

 

这一举动也得到了网友们的称赞:“这些学生们非常棒!看起来可以尝试到不同的应用中去。”

 

比赛最终由日本 National College of Technology Kumamoto 团队获胜。他们所制造的机器人可在旋转过程中释放瓶子,然后在空中旋转并平稳落地。如下:

 

640?wx_fmt=gif

 

不过,还有人认为瓶子里装的不是水,反而降低了操作难度。那么将一个装有一点水的水瓶,扔起翻转几圈后立在桌子上,究竟隐藏着怎样的科学原理呢?

 

那么我们来简单科普下:在物理学中,这被称为角动量守恒(conservation of angular momentum)

 

物体的角动量取决于其角速度(旋转时的速度)和惯性矩。当没有外部扭矩作用在物体上时,必须保持其角动量。

 

640?wx_fmt=jpeg

想象一下,投掷硬物如硬币。重力会将硬币拉回地面。因为物体是实心的,所以它的质量分布不会随着它在空中飞行和旋转而改变,并且它的惯性矩和角速度保持不变。这使得很难预测硬币是否会落在头部或尾部,因为它随着它的下落而不断旋转。然而,水瓶是不同的。它含有液态水,可以在瓶内自由晃动,改变质量分布。液体(或网球)的重新分配会减慢瓶子的旋转速度,使其立即着陆。

 

总结来讲,就是使用适量的液体来减缓瓶子的旋转,瓶子失去旋转速度会看起来像在某个水平位置静止。然后,确保以接近垂直的方式下落,最后顺利着陆。当然,还需要考虑到流体动力学、抛射物运动、向心力和重力等因素。

 

640?wx_fmt=png

 

实际上,2018 年,美国的物理学家们将扔瓶子这一现象通过物理学原理进行了解释,并发表在美国物理学杂志(American Journal of Physics)上。

 

传送门:https://aapt.scitation.org/doi/10.1119/1.5052441

 

为什么人们都痴迷于这项活动?反正我已经搞不懂了。自己特意尝试了下,没有一次成功,但又不服输,继续玩了好久……可能这就是这项活动的乐趣所在吧~

 

值得一提的是,堪称机器人赛事 20 多年历史的亚太广播联盟机器人大赛 Robocon,并非只在日本才有,在中国内地也已经举办了 18 届。去年以“飞龙绣球”为主题的赛事中,一台机器人到放球区拿起绣球,交给另一台机器人,颇具有娱乐性,又考察了参赛者的技术各项能力。

 

640?wx_fmt=gif

 

除了 Robocon 之外,像Robotac、以及由大疆资助举办的 Robomaster 等机器人赛事,也一度受到了不少高校学生及老师的欢迎。面向青少年的,还有 FIRST 系列机器人比赛、VEX 机器人比赛以及官方主办的国内机器人比赛。正所谓,这是一场科技界的机器人竞技平台, 也是年轻人将理论与实战相结合的宝贵舞台。

 

最后,推荐一篇来自大疆RboMaster技术总监YY硕的分享大疆RoboMaster技术总监:我是如何成为一名机器人工程师的,希望对正在奔向机器人学习的朋友们有所帮助。

 

加油吧,骚年们!

转载自AI科技大本营的“扔瓶子”有套路?日本高中生开发机器人,手残党们有救了

原文传送门

非常抱歉,我的回答仍然存在问题。以下是修改后的代码,实现了一级菜单包含登录、注册功能,二级菜单包含瓶子、捡瓶子、返回登录界面功能: ``` import random ocean = [] users = {} username = None def login(): global username username = input("请输入用户名:") password = input("请输入密码:") if username not in users or users[username] != password: print("用户名或密码错误,请重新输入!") username = None return False else: print("登录成功!") return True def register(): global username username = input("请输入用户名:") password = input("请输入密码:") if username in users: print("用户名已经存在,请重新输入!") username = None return False else: users[username] = password print("注册成功!") return True def throw_bottle(): message = input("请输入你想说的话:") ocean.append((username, message)) print("你的漂流瓶已经到海里了!") def pick_bottle(): if len(ocean) == 0: print("海里没有漂流瓶!") else: username, message = random.choice(ocean) ocean.remove((username, message)) print("你捞起了一个漂流瓶,里面的信息是:", message) print("这个漂流瓶是", username, "的!") while True: if not username: command = input("请输入命令:1(登录),2(注册),0(退出程序)") if command == "1": if login(): while True: command = input("请输入命令:1(漂流瓶),2(捞漂流瓶),3(返回登录界面),0(退出程序)") if command == "1": throw_bottle() elif command == "2": pick_bottle() elif command == "3": username = None break elif command == "0": exit(0) else: print("无效的命令,请重新输入!") elif command == "2": if register(): while True: command = input("请输入命令:1(漂流瓶),2(捞漂流瓶),3(返回登录界面),0(退出程序)") if command == "1": throw_bottle() elif command == "2": pick_bottle() elif command == "3": username = None break elif command == "0": exit(0) else: print("无效的命令,请重新输入!") elif command == "0": exit(0) else: print("无效的命令,请重新输入!") else: while True: command = input("请输入命令:1(漂流瓶),2(捞漂流瓶),3(返回登录界面),0(退出程序)") if command == "1": throw_bottle() elif command == "2": pick_bottle() elif command == "3": username = None break elif command == "0": exit(0) else: print("无效的命令,请重新输入!") ``` 现在,一级菜单包含登录、注册功能,如果登录或注册成功,会进入到二级菜单,包含瓶子、捡瓶子、返回登录界面功能。如果在二级菜单中选择返回登录界面,则会回到一级菜单,需要重新登录或注册。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值