ラズパイで画像認識——約70秒で面を揃えるルービックキューブマシン「CUBOTino」
2024/02/14 06:30
Raspberry Pi公式ブログが、クリエイターのAndrea Favero氏が開発したルービックキューブマシン「CUBOTino」を紹介している。Favero氏は50歳の誕生日を迎えるにあたり、これまで難しいと感じていたコンピュータービジョンを活用したプロジェクトに挑戦したという。
CUBOTinoはサーボモーター2個を搭載し、基本動作は回転台による横回転と、下から押し上げることによる縦回転の2つだ。また、縦回転の動作と連動するエンクロージャーがルービックキューブの上2列を固定することで、一番下の列のみを横回転させることもでき、これらの動作を組み合わせることでソルブとスクランブルに対応する。
まず、ルービックキューブを回転台に置いてタッチセンサーに触れると、ルービックキューブを縦と横に自動で回転させ、各面のパターンを約20秒で認識する。コンピュータービジョン用「Piカメラ」と「Raspberry Pi Zero 2 W」を搭載し、画像解析用に「OpenCV」ライブラリを、ルービックキューブの攻略用に「Cube Explorer」を実装する。
タッチセンサーはコントロールパネルとして機能し、各面の認識後にワンタッチするとソルビングサイクルが開始され、約70秒かけてすべての面を同一色にそろえる。2回のタッチでバラバラにするスクランブリングサイクルが開始され、長押しでサイクルの停止、さらに押し続けるとシャットダウンする。ディスプレイには、進捗状況をパーセントとプログレスバーで表示する。
また、ディスプレイなどを省くことでよりコンパクトかつシンプル化し、低コストで作りやすくした「Base version」や、30mm四方サイズのルービックキューブに対応する、70×90×90mmサイズの「CUBOTino Micro」も開発済みだ。STEPファイルを含むすべてのファイルや詳細なインストラクションを、GitHubとInstructablesで公開している。