Arduinoで倒立振子を作りたい
こんにちは、netchiraです。 今回のテーマは「Arduinoで倒立振子を作りたい」です。はい、とても唐突ですね。ですが、これをテーマにします。
この企画の目的
この企画が最後まで上手くいくか結末は分かりませんが、自分の趣味+エンジニアとしての成長のために勉強していきたいと思っています。 つまり、Arduinoで倒立振子をつくる目的は、「勉強するため」とします。 そして、「勉強するために最も効率が良いのは、実際に自分でつくってみることである」という個人的信条に基づき、張り切って「ものづくり」していきたいと思います。
では、今後の計画について整理します。
今後の計画
【略記】 ハードウェア設計→H/WD ソフトウェア設計→S/WD
- H/WD①Arduinoとセンサー・モーターを接続する
- H/WD②筐体をつくる
- S/WD①10ms周期スケジューラを実装する
- S/WD②ジャイロセンサーを使って角速度を測定する
- S/WD③倒立するために慣性ローターの反動トルクを発生させる
- S/WD④PID制御について検討する
- 実装・デバッグ
- システム検証
倒立振子とは
「倒立振子」とググれば色々でてきますが、 「自立してバランスを取る棒」っていう感じですかね。説明雑。
なぜ倒立振子を作りたいと思ったのか、といいますと、YouTubeで以下の動画を見たのがキッカケです。
これ、円盤が回ってバランスを取ってるんですよ!すごくないですか!?
これを知った後、村田製作所がムラタセイサク君というロボットをつくっていることを知りました。
ムラタセイサク君の背中のリュックサックの中には円盤が回っていてバランスを取っているようですね。知らなかったです。
ということで、ずばり私も村田製作所のジャイロセンサーを使って、倒立振子を作っていきたいと思います!
システム設計
では、早速、本題に入っていきたいと思います。
ものづくりの最初は「システム設計」ですね。
システム設計→ハードウェア設計→ソフトウェア設計
という順序で進めていきます。
※「システム設計」という言葉は色んな使われ方があり、解釈の仕方が一意になり得ないと思われますが、ようは「ざっくり何がしたいのか」というイメージ作りのフェーズであると考えます。
ところで、システムを制御する上で、センサーとアクチュエータは欠かせません。
【倒立制御システムの設計】
- センサーは、「ジャイロセンサー」を採用する(傾きを検出)
- アクチュエータは、円盤とモーターを組み合わせた「慣性ローター」を採用する
- コントローラは、「Arduino uno」を採用する
今回はこの1つのシステムを設計します。 (これが完成したら、発展させていきたいと思います。)
完全イメージ
システムの完成イメージは、こんな感じにしたいと思います。実はこれが元ネタなんですよね。
つまり、完全に「真似ごと」です。 システム設計とはごにょごにょ…と上で述べましたが、それは建前みたいなもんでした。てへぺろ
次に設計方針を以下に示します。
- 予算は1万円以内とする
- 部材は主に、秋月電子、Yahoo!ショッピング、Amazon、東急ハンズ、近くの100均、等から調達する
- GitHubやブログ等で公開されているオープンソースを積極的に使用する
はい、以上でイントロダクションを終わりたいと思います。
これから全10回に分けて連載していきます。
ご興味あればご覧ください。
以上です。
Top Page へ戻る
Welcome to my Top Page東京でプログラマーへの転職するならGEEK JOB 〜今なら無料体験実施中!〜