当前位置:首页 > 单片机 > 程序员小灰
[导读]丰色梦晨发自凹非寺量子位报道|公众号QbitAI油管上一位小哥最近有个烦恼:老婆射箭技术太好,我很菜又想赢怎么办?苦练6个月、6年?NoNoNo,不如花时间做一个自动瞄准的弓箭,一劳永逸!这就是这位DIY达人的思考方式该死的胜负欲。不得不说,小哥花了6周还真做出来了,最终这把弓箭...

丰色 梦晨 发自 凹非寺
量子位 报道 | 公众号 QbitAI
油管上一位小哥最近有个烦恼:老婆射箭技术太好,我很菜又想赢怎么办?

苦练6个月、6年?No No No,不如花时间做一个自动瞄准的弓箭,一劳永逸!

这就是这位DIY达人的思考方式该死的胜负欲。

不得不说,小哥花了6周还真做出来了,最终这把弓箭就像狗见了肉猫见了耗子兔子见了萝卜直奔目标。

不看都能射中:

换个苹果,没问题:

运动的靶子也能弹无虚发:

小哥一把视频传到YouTube上,就引来了数百万网友的围观,“Brilliant”、Incredible”、“Awesome”满天飞,膜拜之声不绝于耳。

当然,为了赢老婆,小哥也不是没想过直接买一把自动瞄准的弓箭作弊,可惜网上没有卖的。

作为一名硬核工程师 程序员,完全不能允许2021年还有这种事情,必须自己做!

零件电路算法全自制

首先买一把轻型的弓,毕竟还要往上加很多零件,太重了就举不动了。

自动瞄准的思路小哥已经想好了:

先来一个自动瞄准装置负责移动弓,再来一个自动释放装置,在系统判定的时机自动放箭。

瞄准用的视觉系统由8个高速摄像头组成,每秒钟可以更新50次的那种。

除了弓箭和摄像头是买来的,其他零件都是自己设计、自己造出来的,电路是自己焊的,连瞄准的算法也是自己用Python写的。

真是全能啊。

都做好后,上下、左右方向都能自动调整,发射时机也不用人操心。

终于大功告成,上靶测试一下。

呃…准不准先不说,因为弓自己移动到合适位置的时机无法预料,猝不及防地自动发射让拉弓的手总打到自己脸。

小哥后续解释道其实把弓拉满就可以避免这个问题,但在测试期间为了避免射出去的箭力道太大误伤到房间里其他物品,只好选择拉到半满牺牲一下自己了。

再来看看准头。

有点偏,而且每次都是往左上偏。

这种情况虽然有简单的办法解决:人为加一个修正,每次都往右下一点瞄。

小哥多年的开发经验告诉他,这样做会为将来更多Bug埋下伏笔。

不过也管不了这么多了,先临时加上这个“非常蠢的修正”,把老婆叫来比一场吧。

结果是……0:3完败。

他不甘心,一切都正常只是箭有点偏,那一定是代码的问题。

再加上还要驯服移动靶子,与其修改代码不如全删了重写,于是小哥又Coding了一周。

好了,再试试。

拉好弓,“咳咳,老婆扔靶子”:

小哥按下启动按钮,剩下的就交给跟踪系统了:

系统每300毫秒检查一下靶子运动的抛物线轨迹传给计算机,然后通过一个“乏味”的小计算来确定弓的移动位置,同时考虑到箭头到达目标的时间以及箭的弯曲路径。

随着数据的更新,弓不停的移动,终于它瞄准时机,一箭发射:

完美错过……

代码还是有问题,改!

说好了只需一分钟修复,小哥花了一个小时,老婆表示懒得等了。

没人给他发靶子了,不过这也难不住他:再造一个自动投靶器呗。

据小哥后来回忆,这个投靶器在整个6周的开发过程中至少投了上千次靶子。

好了好了再试!

emmm……不是发太早就是发太晚、甚至连静态靶子都射不中了……

Bug Bug全是Bug连投靶器也有Bug。再次修理了一番之后,还是差一点点。

小哥一番检查确定机器和自动瞄准系统都没有问题,到底哪不对?他打算换个思路。

除了科技还有氪金

小哥通过慢镜头回放箭的飞行过程发现,这箭它咋不是笔直射出去的呢?

原来不是自动瞄准系统出了问题,而是他买的这把入门级反曲弓不行。

根据反曲弓的原理,用力拉弦时箭身也会受到外力发生轻微弯曲形变,松手发射之后箭身受力取消,会在弹性恢复力的作用下有恢复原状的趋势。

这股力又会让箭身向反方向弯曲,同时改变箭的飞行方向。反方向弯曲到了一定程度又会再次回弹,又改变飞行方向。

小哥参考另一个油管频道SmartEveryDay的视频搞明白了这个问题。

在这样的反复循环中,箭就不是笔直的射向目标,而是不断摇摆着前进。

在专业射箭运动中,箭矢的抗弯曲度程度称为“挠度(Spine)”,挠度也影响着箭飞行时摇摆的程度,不同磅数的弓要搭配不同挠度的箭才容易射中目标。

小哥觉得虽然增强一下算法,把挠度也考虑进去就能解决这个问题,但这不符合他野生钢铁侠的风格呀。

毕竟钢铁侠除了懂技术还有钱。

小哥决定氪金!买一把能把箭射直的复合弓。

把瞄准装置挪到复合弓上后,最开始担心的那个问题还真出现了:整套系统太重了,举不动。

不过这也难不倒他,小哥又给自己搞了一套装甲,用整个上半身的力量支撑弓的重量。

这下整套系统可以说从自动瞄准弓进化成了瞄准机器人,留给人的任务就只有拉弓了。

再找老婆比赛!

为了赢得更稳,小哥还调整到了精准模式,等瞄准装置完全停止运动再发射。

这一回3:0完胜。

不过小哥还不过瘾,再次挑战移动靶,成功!

再来更难的挑战,能不能射中乐高小人头上顶着的超小“苹果”。

有多小呢?直径还不如箭杆大。

从结果来看虽然能射中,就是乐高小人消耗极快。

下一步挑战更远距离

这位小哥名叫Shane Wighton,曾在美国一家3D打印机公司(Formlabs)做了八年工程师,拥有机械工程学士学位和计算机科学硕士学位。

毕业学校虽不怎么有名(北卡罗来纳大学夏洛特分校),但从四岁起就开始在老爸的带领下捣鼓塑料模型焊接了。

才华横溢、热爱制作的他已经从公司辞职,现在似乎在全职做YouTuber。

他的频道自从去年疫情爆发期间推出以来,不到一年半的时间总订阅人数已超300万。

应该有不少人看过他的作品吧。

就比如这个自动理发器:

还有这种百发百中的篮筐和台球杆(似乎小哥对自动瞄准这个事有些执念):

最后回到自动弓箭,虽然Shane觉得现在效果已经够酷了,但他想要的是能和真正的射箭高手同台竞技。

接下来他要挑战在45米距离射中乐高小人头上的苹果。

因为距离会把微小的偏差放大,要达成这个目标就需要开发全新的自动瞄准弓2代。

而改进方法在他脑袋里已经设计好了。

原视频地址:
https://www.youtube.com/watch?v=1MkrNVic7pw

参考链接:

[1]https://bowaddicted.com/how-to-properly-tune-a-recurve-bow/
[2]https://www.youtube.com/watch?v=O7zewtuUM_0
‍[3]https://www.patreon.com/stuffmadehere

— 完 —

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除( 邮箱:macysun@21ic.com )。
换一批
延伸阅读

在LTspice中,.STEP指令可以方便地对电路参数值进行扫描,并将结果叠加显示在同一波形窗口中。通过这种方式,用户可以快速了解电路行为并做出设计取舍。

关键字: LTspice .STEP指令 电路

在识别电子、电气和可编程电子安全相关系统(SRS)中的危险故障方面,电源监视器等诊断功能发挥着至关重要的作用。尽管根据IEC 61508标准的当前修订版本,此类器件不一定要达到功能安全等级,但在设计SRS时使用符合功能安...

关键字: 电源监视器 电路 芯片

功率器件并联后,电流不会自动均分;驱动回路稍有差异,某颗就可能先开、先热、再抢电流。栅极驱动电路的核心是让每个门极路径受控。

关键字: 电路 栅极驱动电路 峰流

半桥死区实验室刚好,现场却发热或振铃,说明实际时序并非固定值。栅极驱动电路配死区,必须把延迟、温度和电流方向纳入预算。

关键字: 电路 栅极驱动电路 延迟

半桥高边偶发欠压,常不是驱动芯片太小,而是自举供电没有被占空比约束。栅极驱动电路采用 Bootstrap 时,必须先问高边能悬浮多久。

关键字: 电路 栅极驱动电路 占空比

功率器件开关速度一提上去,门极回路往往先失控。栅极驱动电路若没把寄生电感和栅阻取舍算清,效率、EMI 和误导通会互相牵制。

关键字: 电路 栅极驱动电路 栅阻

半桥逻辑正确却仍有直通尖峰,常是关断器件被 dv/dt 拉醒。栅极驱动电路要防误开,关键是让门极在最坏边沿仍被低阻抗钉住。

关键字: 电路 栅极驱动电路 钳位

驱动电源掉一点,可能把功率器件推到线性区。栅极驱动电路的欠压保护若阈值和关断方式不匹配,故障时会变成二次应力。

关键字: 电路 栅极驱动电路 软关断

高边一动作就丢脉冲或乱翻转,问题多半在隔离链路承受不了共模跃迁。栅极驱动电路的隔离设计,必须同时看抗扰度和延迟一致性。

关键字: 电路 栅极驱动电路 共模

短路保护既怕慢半拍,也怕把正常开通误判成故障。栅极驱动电路使用 DESAT 时,阈值、消隐和软关断必须一起配。

关键字: 电路 栅极驱动电路 短路
关闭