机器之心报道
编辑:小舟
Shane Wighton:忙活俩月,拼成一个 5 分钟能完成的拼图。
拼图是一种常见的益智游戏,能帮助人们安静下来,放松身心。但如果拼图块数非常多,游戏也可能会变成烦恼。且不说花费的时间,长时间低头拼图,颈椎也可能吃不消。对大多数人来说,完成一副上千、上万块的拼图绝对是一个难度不小的挑战。
而 Youtube 博主 Shane Wighton 就是一个爱解决难题的人。他总是能想方设法地让这些挑战变得轻而易举,例如他的百发百中系列,让投篮、射箭都如囊中取物一般简单。现在他又把目光放在了拼拼图这件事上。
事情是这样的,Wighton 拿到了一幅 1000 块的「纯白地狱」拼图,块数虽然不是特别多,但拼图是纯白色没有图案的,几乎不可能用组合图案的方法拼成功。

难题这不就来了吗,我们来看看 Wighton 是怎么解决的。
Wighton 先准备了一幅 5000 块的渐变色拼图,然后根据这幅拼图的尺寸建造了一块操作桌板:

设想的「图纸」大概如下图所示,桌板的两侧有两条纵向滑道,中间有一条横向滑道,这样的设计是为了方便移动拼图块:

然后就是熟悉的重工制造环节,木板、水泥,电钻:

桌板上的滑道部分如下图所示:

滑道上方装有操纵拼图的「抓手」,抓手底部是用黑胶吸盘吸附拼图块的:

注意到这里拼图是可以 360 度旋转方向的,这是因为抓手上方有两个滑轮组成的传动链条。抓手可以带着拼图上下移动是因为上端有一个弹簧来控制抓手的整体伸缩。

而抓手底端吸附拼图的吸盘是通过类似于吸尘器的空气鼓吹原理来控制的。


当吸盘和拼图之间接近真空时,拼图就被吸住,反之二者之间有空气缝隙时,拼图就会掉落。

到了这一步,操纵拼图的机械部分就基本完成了,下面的任务就是如何让各块拼图准确排放组合。
这里就要考虑拼拼图的一些细节,例如拼图的形状会影响吸盘吸附的位置:


而关键的问题是准确定位每一块拼图的位置。于是 Wighton 想起了百发百中那套「鹰眼」系统。这次他把反光球固定在拼图抓手的上方,借助 OptiTrack 动作捕捉相机定位反光球,即拼图块的位置:


但即使能准确定位拼图块的位置,拼成拼图依然不是一件容易的事。人们在拼图时通常会找到形状边缘大致吻合的拼图块尝试拼到一起,但可能需要尝试多次才能找到正确的答案。因为两块看似能拼到一起的拼图,实际组合时却存在明显的缝隙,并不合适:

所以要想让机器自动完成拼图,需要一遍遍地尝试。而且,当拼图全部堆在一起时,操纵抓手无法取用它们。

因此,Wighton 首先借助螺旋的原理构造了一个能够自动上升和下降的管道式工具,方便操纵抓手一块块地取用拼图,块数较多的拼图则需要使用多个管道。


然后,Wighton 编写计算机程序,让机器从最右下角的一块开始,从右到左,从下到上放置拼图块,直到放完左上角最后一块拼图。

Wighton 一遍遍运行程序来尝试拼图,直到找到正确的拼图块顺序和方向。当然,成功之前失败了很多次:

其中一次拼图顺序正确,但几块拼图的位置略有重叠:

于是 Wighton 优化了一下程序,就成功完成了一幅 9 块的拼图:

但这种多次尝试的方法显然效率太低,不够智能。Wighton 表示这只是拼图机器人的第一阶段,后续还将持续改进。例如,Wighton 尝试给拼图块的边缘轮廓分类,这或许能提升拼图的速度和效率。

最后,Wighton 还是给自己的妻子展示了一幅约 50 块的拼图:

但他和妻子显然都不太满意,我们期待 Wighton 的后续工作。
原文地址:http://www.myzaker.com/article/62eb5fd38e9f09504967efb5