树莓派爆改国际象棋,棋子活了自己动
克雷西 发自 凹非寺
量子位 | 公众号
现在,跟AI玩实体游戏,已经不用“人肉臂”代劳了!
甚至连机械臂也不需要,在这块特殊的棋盘上,树莓派直接就能控制国际象棋棋子的移动。
如果不是棋盘下的导轨露出马脚,简直就像是棋子“活”起来了。
这个设备名叫Pi Chess Board(简称P板),由一名叫的机电一体化工程师设计制作。
它既可以由计算机控制,让玩家挑战不同难度,也可以由真实用户远程操纵,隔空上演一场国际象棋大战。
P板一上线,就迅速冲上了 News热榜,网友们纷纷开始猜测起了技术细节。
国际象棋会自己动了
在作者展示的这场游戏中,P板为白方,真人为黑方。
(关于国际象棋的规则,可以参考一下的简单介绍)
开局时,双方各有一兵前进了两个,白方的马也走出了一步(国际象棋中马也走“日”字,但没有类似于中国象棋中“绊马腿”的规则)。
之后黑方做出了同样的跳马动作,然后P板将先前移动过的马又动了一次,吃掉了黑方的兵。
之后的几轮厮杀就不一一解说了,总之双方有来有往,P板能够按照正确的规则移动棋子,并根据真人玩家的动作做出响应。
不过 News也有网友指出了P板还存在一些不足。
比如由于棋子只能在棋盘上滑动而不能“起身”,所以当遇到障碍时会把其他棋子推开,这本身不是问题,但是被推开的棋子不能自动复原。
另外,如果有棋子被真人方吃掉,被吃掉的棋子也不会自动离开棋盘,需要手动拿走。
虽然还存在一些不足,但总的来说,P板还算是一个有趣的尝试。
那么,是怎样设计出P板来的呢?
树莓派控制电机,磁吸带动棋子
首先需要说明的是,P板中棋盘和棋子也属于系统的一部分,并非随便拿来一套棋都能玩。
P板上的棋子当中装有磁铁,板子的底下则暗藏了滑轨和步进电机,整个系统由树莓派控制,然后用电机以磁吸的方式让棋子运动。
导轨分为XY两个方向,装有两个电机,并被作者划分出了国际象棋棋盘中8×8的网格。
这种双导轨设计是在制作过程当中确定的,目的是使步进电机能够轻松地围绕给定的网格移动,让棋盘更加稳定。
另一方面,虽然作者确定了要用磁吸的方式带动棋子移动,但一开始给棋子装的是电磁铁而不是一般磁铁。
但在实验中作者发现,电磁铁存在发热、磁极转换不能快速实现、校准结果不理想等诸多问题。
考虑再三之后,作者用普通的磁铁替换掉了电磁铁,不仅解决了位置难以校准的问题,也降低了电力消耗。
为了不让步进电机每次执行移动时都需要重新归位,作者添加了一种优化算法,将棋盘每边的长度规定为2200步进电机步,电机运动后的位置会在全局位置变量中更新。
最后,对于马的行进、王车易位等非直线运动,作者还设计了专门的算法。
不过,作者虽然讲解了P板的核心原理,但系统究竟如何识别不同的棋子,仍然还是个谜。
棋子识别方式引发猜测
关于系统识别棋子的方法,网友们给出了很多种猜测。
有网友表示,如果换做自己来设计一款智能棋盘,可能会考虑这样几种方案:
首先是RFID(射频识别),也就是给棋子贴上电子标签,一些无人超市识别商品用的也是这种技术。
类似地,也有可能贴的不是电子标签,而是另外的标记。
另外还可以利用霍尔效应(当固体导体放置在一个磁场内,且有电流通过时,导体内会产生霍尔电压)设计传感器。
这种方式不知道具体哪个棋子是哪个棋子,但假设了正常的起始位置,然后通过棋子的位置变化判断哪个发生了移动。
还有网友说可以利用加速度传感器和超声波来实现。
总之,在作者揭晓真正的答案之前,这些说法可能都有一定的道理,可以期待一下作者有没有回复。
那么,你认为在这里最有可能运用了哪项技术呢?
项目主页:
- 标签: