この記事はなに?
この記事は連載している**ルービックキューブを解くロボットを作ろう!**という記事集の一部です。全貌はこちら
GitHubはこちら。
プロモーションビデオはこちらです。
この記事集に関する動画集はこちらです。
今回の記事の内容
今回の記事では、私が作った2x2x2ルービックキューブを解くロボットSoltvvoのハードウェアの解説をします。
全体
アーム
最初に一番重要なところをお見せしましょう。まず動いている様子をご覧ください。これは私のツイートです。
#2x2x2solver_nyanyan
— にゃにゃん (@Nyanyan_Cube) June 24, 2020
このロボットはどんなぐちゃぐちゃなルービックキューブも自動で揃えてくれます。その様子をお見せしましょう。 pic.twitter.com/3AiXDi2tXL
このアームは前後に動くことでキューブを掴んだり離したりします。ステンレス棒をガイドとして、サーボモーターを使って原始的な方法で前後させます(図)。
また、銀色と黒色の四角いものはステッピングモーターと呼ばれ、角度と角速度を自由に設定して回せるモーターです。
アームのキューブに触れる部分は1mm厚のアルミ板を削って曲げて作りました(図)。部品の加工にはCNCフライス盤を使いました。
カメラ
キューブの状態はカメラを使って認識します。カメラはとても安いwebカメラを仕入れたのでそれを分解し、基板の状態で使いました。また、カメラの周りにはLEDを大量に設置し、照明としました(図(Soltvvo1号機製作中、真ん中にあるのがカメラを載せた基板))。
回路
回路を紹介します。
構成
まずロボットの構成をお見せしましょう。
ここで、Raspberry PiはRaspberry Pi 4(2GBRAM)というシングルボードコンピュータ(つまり普通の(?)コンピュータ)、ATMEGA328Pは有名なマイコン(マイクロコントローラ)で、Arduinoというマイコンボードに使われているものです。今回はArduino Unoとして使います。
ステッピングモーター周り
ステッピングモーターを回すには専用のドライバが必要です。今回はA4988というドライバを使いました。このドライバの使い方はこちらのサイトに詳しく書いてあります。基板(図)上の赤い4つついているものがステッピングモータードライバです。
サーボモーター周り
サーボモーターはATMEGA328P1つあたり2つしかつけないので、特にIC(PCA9685等)を介した接続はしませんでした。ArduinoのServoライブラリを使って動かします。
電源
このロボットでは大本の電源を秋月の12VACアダプターで取ります。ここから5V3Aを2つ作ります。降圧にはこちらを使いました。電源基板は写真の通りです。
まとめ
今回の記事ではハードウェアについて軽くご説明しました。もしわからないことがございましたらコメントをください。
長い記事集でしたが今回で「ルービックキューブを解くロボットを作ろう!」も終わりです。ここまで読んでくださりありがとうございました。