リバーシを元にツクダオリジナルが開発した世界的人気ボードゲームのオセロは、人間が2人いないと基本的にプレイすることはできません。しかし、そんなオセロを1人でも遊べるロボットアームをrnmTさんが開発し、実際に動かすムービーをTwitterで公開しました。記事作成時点でムービーは150万回以上再生され、2万3000件以上のいいねと7万4000件以上のリツイートを集めて話題となっています。

rnmTさんが開発したロボットアームとオセロを遊ぶ様子は、以下のムービーを見ると一発でわかります。



これがrnmTさんが開発した、オセロの対戦相手となってくれるロボットアーム。接続されたノートPCには、オセロの盤面が表示されています。盤面は0〜7の範囲のX・Y座標に変換されている模様。



盤面に何も並んでいない状態で、盤面の隅にあるボタンを押すと……



ロボットアームが、白駒2つ・黒駒2つを互いに置く初期配置を準備してくれました。



rnmTさん側が先攻の黒、ロボットアーム側が後攻の白でゲーム開始。先攻のrnmTさんが黒駒を置き、ひっくり返してからボタンを押すと……



ノートPC上に、黒駒を置いた場所のスキャンを伝えるログが流れます。



ロボットアームが白駒を取り出し……



配置する座標がノートPC上に表示され、ロボットアームがその通りに白駒を置きます。



挟まれた黒駒は、本来であればひっくり返して白駒になります。ノートPC上に「flip black」とひっくり返すコマンドが表示され、ロボットアームは黒駒を回収。



ロボットアームは回収した黒駒を手元に戻すと……



白駒を取り出して、黒駒のあった位置に配置しました。駒をひっくり返すのではなく、駒を入れ替えることで色を変えているというわけです。



rnmTさんによると、ロボットアームは盤面すべてをスキャンしているのではなく、ルール的に人間側が置ける場所だけをスキャンしているとのこと。また、駒の有無はアーム先端にあるフォトリフレクター(反射型光センサー)で読み取っているそうです。



また、アームはArduinoで制御していて、プログラムはPythonで書かれているとのこと。ノートPCとArduinoは、pySerialというパッケージによってシリアル通信を行っているとのことでした。