倒立振子https://blog.with2.net/link/?1965529映画スターウオーズは必ず見にいきます。第一作が日本で公開されたのが1978年で40年近く前でしたが、最近TVで放映されていたのをあらためて見るとCGの古臭さはありますが物語としてなかなか見応えのある作品です。「ふぉーすの覚醒」で初めて登場したBB-8なるアンドロイドは倒立振子の題材としては興味あるロボットです。映画を観ながら構造はどうなっているのか考えていました。2個の車輪をもった車体の下部に錘をつけて球体のなかに入れて前後左右にリモコン走行させればよいだけのことかもしれません。ボディーに沿って動く頭部分は球体に磁石を入れておけば動くかなとも考えていました。なると作ってみるほどのこともないなと考えたりもします。それよりOLDMAKERとしては一作目から頑張っているR2D2を倒立振子化するほうに製作意欲が湧きます。いうことで今回の倒立振子はR2D2バージョンということにします。HCSR04測距センサーを仕込んだ頭をサーボで回転させるとして、圧電スピーカも入れてR2D2のサウンドを鳴らせてみるようにしてみます。距離の余裕のある方に旋回というつもりです。途中過程は省略して出来上がった基板です。構想図ではSG90サーボはヘッド部分に仕込むようにしていましたが、機体の高さを低くするために基板の真ん中にSG90サーボを載せました。手こずったのはWiFiモジュールESP-01を駆動する3.3V用の三端子レギュレータを出力150mAを使ったのですが容量不足のようで作動しませんでした。前作まで使っていて実績のある500mA出力のパーツに戻してOKでした。5V出力のほうは今回初めてLeonardの出力を使ってみました。MPU6050ジャイロセンサー、SG90サーボ、HCSR04測距センサーの作動はこれで問題なしでした。基板は完成したので機体の製作です。モーター部分を作ります。部材はタミヤのプラ板3mm厚で今回は済ませました。アクリル板よりは軟らかい分加工がしやすい。問題は円板加工ですが、OLFAコンパスカッターというものを使いました、これで何度か切込みを入れてやって力を加えればうまく割ることが出来ます。断面はヤスリとサンドペーパーで仕上げます。出来上がった走行部です。長すぎるシャフトはこの後カットします。胴体部分のカバーと基板です。測距センサを搭載した頭部を基板上のサーボモータに取り付けます。頭部のカバーはペットボトルを廃品利用しています。炭酸系のペットボトルが比較的肉厚で使いやすい。頭カバー以外を組み立ててみました。この状態でPCと接続してプログラムの開発を行います。倒立走行系のプログラムはこれまでのsketchを踏襲します。オリジナルはJJROBOTSのものです。ここまでは順調で我がR2D2ha無事倒立いたしました。つぎに首を振る動作ですが、普通にはサーボを動作させる<servo.h>という命令が簡単なのですが、これではなぜかうまくいきません。オリジナルのプログラムのなかから流用させてもらいます。なんとも主体性のない有様ですがなにせ能力の限界です。R2D2特有の音声を鳴らすには、これまた先人の知恵をお借りしました。以下のサイトを参考にいたしました。http://www.mycontraption.com/sound-effects-with-and-arduino/これで首を振りながら音声をだすというところまでは成功と思ったのですが倒立走行中に音声を加えると転倒してしまいます。倒立系の演算が停止したような動きですので音声側のプログラムになにかあるようです。借用したオリジナルに戻って原因追究しなければならないようです。倒立走行時にサウンド命令をいれると転倒する不具合の対策にはまだまだ時間かかりそうというか筆者の技量ではギブアップ状態なのでここまでの動画です。スタンバイ状態から自動で起き上がっていますが、これは意図してプログラムしたものではなくて怪我の功名のようなものです。記事は見つかりませんでした。倒立振子ステッピングモータ仕様四号機製作編ヘッドホンアンプを作ったこのサイトについて主にArduinoを使ってのモノ作りを紹介しています。電子工作とは無縁であった古希を迎えた元機械技術者の悪戦苦闘の記録です。Arduinoで距離センサーを使ってみるブログランキングブログランキングに参加しています。よかったらクリックしてください。クリックが投票になります。