Nyanyanのアイコン画像
Nyanyan 2021年01月08日作成
製作品 製作品 閲覧数 1255
Nyanyan 2021年01月08日作成 製作品 製作品 閲覧数 1255

2x2x2ルービックキューブを解くロボットを作った

2x2x2ルービックキューブを解くロボットを作った

自己紹介

はじめまして、にゃにゃん(Nyanyan)と申します。筑波大学の1年生をしています。趣味は(もちろん)ものづくりで、ハード、ソフト、回路の全般をやります。他の趣味としてスピードキューブ(立体パズルの速解き)をしていて、ルービックキューブを10秒ちょっとで揃えられます。主にTwitterに生息しています。
ハードと回路の話だと、中学1年から高校3年までずっとヒューマノイドロボットを作っていました。最近ではこの記事で書くように、立体パズルを解くロボットを作っています。
ソフトの話だと、前述のヒューマノイドロボットを動かすためのソフトウェア開発をしていたりもしました。最近はルービックキューブなど立体パズルを解くアルゴリズムを考えています。

2x2x2ルービックキューブを解くロボット Soltvvo

Soltvvo

Soltvvoは「ソルヴォ」と読みます。これは私が最初に作り始めた立体パズルを解くロボットです。現在は4代目のSoltvvo3.2が稼働していて、パズルを解く速さとしてギネス世界記録を申請しています。

Soltvvo3.2の機構は動いている様子を見ていただくのが一番手っ取り早いでしょう。以下に動画を載せておきます。

ここに動画が表示されます

Soltvvo3.2はこのようにパズルを掴むアームが前後に動き、アームはステッピングモーターで回転させています。

ステッピングモーターの高速回転

ステッピングモーターはその仕組みのため、高速回転には向きません。ですが制御しやすいがために高速回転を求めるこのロボットに採用しています。ステッピングモーターで高速回転させるために以下の工夫をしました。

  • 駆動電圧を上げる
  • 台形駆動をする
  • モータードライバの性能を良くする
  • 発熱対策のためなるべく連続運転しない
  • 脱調を検知して適宜調整する

アームのキャリブレーションの自動化

アームの位置をパズルを正確に回せるように調整するのは、手動だと意外と面倒な作業です。そこで、アームに磁石を貼り、ホールセンサとセットで使うことでアームの角度を検知できるようにしました。これでキャリブレーションを自動で行えます。

回路の構成

全ての動作の司令塔としてRaspberry Pi 4 (2GB RAM)(ラズパイ)を使っています。ですがラズパイで具体的にモーターを動かしたりするのは気がひけたので、ラズパイとアクチュエータの間に自作Arduino Uno互換機を入れています。こうすることでラズパイは抽象的なコマンドをArduinoに送るだけでロボットを動かすことができ、Arduinoはコマンドを受け取ってアクチュエータを動かすことに専念できます。

パズルの解法探索アルゴリズム

別記事にまとめました:

このロボットに関するリンク

記事や動画がたくさんあるのですが、ここに全て貼ると見にくくなってしまうので、それらのリンクをまとめたページを貼っておきます: https://nyanyan.github.io/ja/#soltvvo

このロボットを作る楽しさ

パズルを解く機構とアルゴリズムを考えるのはかなり多くの人にとって楽しいものなのではないでしょうか。2つも楽しさを味わえるのはとても魅力的です。この魅力に取り憑かれて、他にも私は「立体パズルを解くロボットシリーズ」として、3x3x3や4x4x4のルービックキューブの他、ルービッククロックを解くロボットも製作しました。今後も別のパズルを解くロボットを作る予定です。

1
1
2
Nyanyanのアイコン画像
メイカー / ルービックキューブ / オセロ / クマ財団5&6期 / オセロAI世界1位 / IPA未踏2018スーパークリエータ / World Maker Faire New York 2018 Editor's Choice / 技育展2020&2021最優秀賞
  • Nyanyan さんが 2021/01/08 に 編集 をしました。 (メッセージ: 初版)
  • Opening
    Nyanyanのアイコン画像 Nyanyan 2021/01/14

    ありがとうございます!

    1 件の返信が折りたたまれています
ログインしてコメントを投稿する