100美元赌你用这根台球杆还能不进球!百发百中系列再更新,网友:我没进化完全?

简介: 100美元赌你用这根台球杆还能不进球!百发百中系列再更新,网友:我没进化完全?

春节回家,在家等待你的除了家里的美食、许久不见的寒暄,肯定还有各种小游戏。

比如台球,在文摘菌看来,没玩过几局台球根本不能算是过了年。

但是对于萌新们来说,台球可能不那么容易上手,不小心就会把白球打进洞。这个时候,要是有一根百发百中台球杆就好了!

于是,那个做过百发百中篮球框的小哥便延续了“百发百中DIY系列”,做了一根百发百中台球杆。

不信?我们先来看看实战对决。

怎么样,是不是so easy?别急,高难度的还在后面:

连这位小哥的老婆,一个台球高手,都要甘拜下风直呼内行。

在小哥的YouTube视频下方,网友们也是赞不绝口。有人就表示,“看了这系列的视频,让我怀疑自己是不是没有进化完全”。

还有网友在评论区大呼:“这绝对是YouTube上最聪明的仔!”

DIY一根如此神奇的台球杆需要几步?

别急,我们先闭上眼睛,在不考虑任何其他限制条件的情况下,首先你要定位你的目标球,然后,把它打进洞。

对于机器来说,要同时做到这两件事,就需要控制好角度和力度。

具体要做什么、做到什么地步,可以用这张图来表示,即摄像机捕捉到每个球的位置,再将大脑中制定的击球曲线转换到台球杆的系统中来执行,最后就是bingo,进球啦!

好了,原理搞清楚了,就可以开始制作台球杆demo了。

要实现球杆的灵活度,我们需要把六根伸缩杆以一种特殊的方式组装起来,然后让它们以规定的角度击球。

不过,要实现这个,就必须利用到史都华平台 (stewart platform),这注定会是一个繁琐复杂的项目。

可以想到,这个台球杆是由安装在一端的伺服系统驱动,这也是这个台球杆不会由于零件的复杂而被迫制作得庞杂的关键所在。

上述步骤都完成的时候,这个台球杆已经能够保证运动自如了:

当然,不过要让它能够自动识别并作出判断和动作,还需要一些数学上的计算和代码植入,还不要忘了给它装上“发射器”。

到这里,这个台球杆demo就基本上成型了,效果嘛,看上去还不赖。

等等,我们知道,在台球比赛中,不是所有的击球都是大力出奇迹,很多时候还需要根据自己的判断,所以我们还必须教给机器这一点。

于是,小哥装了一个电源组,微控制器利用压力记来测量压力水平,如果压力值过小会开启左边的阀门,压力过大则会开启右边的阀门。

区别嘛,大概就是这样,在上面的那种情况中白球会更容易一起落入洞中。

把电脑桌面投射到台球桌上,校准之余别忘了检查!

接下来,我们需要在台球桌上方安装一个摄像机,让球和杆都能被精准定位,从而击球进洞得分。

但是由于现实安装等各种原因,由摄像机拍摄出的画面不能保证一定是直角的,这就需要一些角度的修正。

我们知道一些类似于二维码这类的图像,对于摄像机这类的机器而言会尤其敏感,于是在台球桌的四个角上都安装上了这样的码。

在台球杆上安装了两个识别码,一个可以识别位置,两个码一起可以用于方向的识别和校准。

而具体在垂直方向的高度,则需要借助IMU(惯性测量单元)。

接下来就需要去教给机器如何做出正确的击球判断了。但问题是,这种击球判断是在电脑上做出的,比如系统表示,要击中下面这个球就需要在一定的区域内执行,而真正的击球需要在台桌上进行。

简单粗暴地来想,其实也可以直接把电脑桌面投射到台球桌上嘛。

尽管万事已经具备,但事实却不怎么如人意,比如这么简单的一个进球,系统却无法成功得分。

在经过多方检查,甚至把几乎所有的步骤全部重新做了一遍,结果发现伺服系统的其中两个马达坏掉了……

但在解决了上述问题之后,小哥还发现,台球的识别位置发生了很小的位移,这种畸变就和广角镜头一模一样,虽然很小,但也足以让系统的精度出现问题。

又是几天的检查和崩溃,最终小哥发现用于修正角度的代码适配的摄像机和他正在使用的摄像机不是同一个型号……

这真的是血泪教训,千万记得回头检查。

“云进球”的喜悦,你能想象吗?

为了能够打赢自己的台球高手老婆,小哥还在网上发起了一个台球游戏。

简单来说,就是让网友自己选择击球的角度和力度,系统会告诉他把台球杆放在什么位置,从而实现远程台球比赛。

不少网友都报名前来一试,这也让小哥品尝到了台球的乐趣。

甚至那些台球老手尝试到了“云进球”的喜悦之后也不免举手雀跃。

相关文章
|
Ubuntu Linux 数据安全/隐私保护
百度搜索:蓝易云【ubuntu系统安装gcc-7、g++-7教程】
请注意,以上步骤是针对Ubuntu系统的。如果你使用的是其他Linux发行版,请相应地调整命令。
328 6
|
数据采集 机器学习/深度学习 算法
Python基于决策树多分类模型实现水色图像的水质评价
Python基于决策树多分类模型实现水色图像的水质评价
|
缓存 负载均衡 Java
Java一分钟之-Spring Cloud Netflix Ribbon:客户端负载均衡
【6月更文挑战第9天】Spring Cloud Netflix Ribbon是客户端负载均衡器,用于服务间的智能路由。本文介绍了Ribbon的基本概念、快速入门步骤,包括添加依赖、配置服务调用和使用RestTemplate。此外,还讨论了常见问题,如服务实例选择不均、超时和重试设置不当、服务列表更新不及时,并提供了相应的解决策略。最后,展示了如何自定义负载均衡策略。理解并正确使用Ribbon能提升微服务架构的稳定性和效率。
456 3
|
9月前
|
API Python
京东拍立淘图片搜索商品接口系列(京东 API)
简介:本文介绍了如何使用拍立淘图片搜索 API 在京东平台上查找相似商品。首先需安装 Python 库 `requests`,并通过内置库 `hashlib` 生成签名。API 支持通过图片 URL 或 Base64 编码的图片进行搜索,返回商品名称、价格等信息。示例代码展示了如何构建请求并处理响应。应用场景包括电商购物助手和竞品分析,帮助用户和商家提高购物效率和市场竞争力。
|
存储 弹性计算 数据库
阿里云服务器租用收费价格参考,弹性裸金属服务器架构云服务器收费价格表
弹性裸金属服务器架构阿里云服务器有计算型弹性裸金属服务器ebmc7、内存型弹性裸金属服务器ebmr7、AMD计算型弹性裸金属服务器ebmc7a、通用型弹性裸金属服务器ebmg6等实例规格可选,不同实例规格的租用收费价格是不一样的,本文为大家汇总了目前基于弹性裸金属服务器架构下的各个实例规格的阿里云服务器收费标准,以供参考。
阿里云服务器租用收费价格参考,弹性裸金属服务器架构云服务器收费价格表
|
数据可视化 API 调度
Pandas 2.2 中文官方教程和指南(十一·一)(1)
Pandas 2.2 中文官方教程和指南(十一·一)
186 1
|
人工智能 前端开发 机器人
【杂谈】扣子(Coze) 初体验
扣子(Coze)是什么 官方原文如下: 扣子(coze.cn)是一款用来开发新一代 AI Chat Bot 的应用编辑平台,无论你是否有编程基础,都可以通过这个平台来快速创建各种类型的 Chat Bot,并将其发布到各类社交平台和通讯软件上。 我们可以理解为一个聊天🤖️,可以在其他平台上发布。那就让我们快速开始吧
1798 0
|
自然语言处理 安全 API
【网安AIGC专题10.11】①代码大模型的应用:检测、修复②其安全性研究:模型窃取攻击(API和网页接口) 数据窃取攻击 对抗攻击(用途:漏洞隐藏) 后门攻击(加触发器+标签翻转)(上)
【网安AIGC专题10.11】①代码大模型的应用:检测、修复②其安全性研究:模型窃取攻击(API和网页接口) 数据窃取攻击 对抗攻击(用途:漏洞隐藏) 后门攻击(加触发器+标签翻转)
594 0
|
前端开发
uniapp常用提示框uni.showToast(OBJECT)
uniapp常用提示框uni.showToast(OBJECT)
532 0
|
消息中间件 设计模式 Dubbo
阿里互联网一线大厂Java岗面试题库(2024版)这次38k!稳了
前言 本文是为了帮大家快速回顾了Java中知识点,这套面试手册涵盖了诸多Java技术栈的面试题和答案,相信可以帮助大家在最短的时间内用作面试复习,能达到事半功倍效果。