中野島ロボット

小さなロボットの自作記事を書いています。

週刊中ロボ137 「ナノ四駆の覚醒」 スケッチ公開

つづきに

年末に公開したよつあしロボットの「ナノ四駆」のスケッチを公開します。

f:id:nakarobo:20210130123128j:plain

 

ダウンロードはこちらから
3Dモデル共有サイトにスケッチをアップロードしておきました。
ダウンロードはこちらから

www.thingiverse.com

Arduroid3Test.ino ファイルが「ナノ四駆」のテスト用のスケッチです。

 

このスケッチは純正SG90、単3用
純正のSG90と単3のNi-MHでモーションを作成しています。互換サーボモータを使う場合は微調整が必要になります。MiuzuiのMS18を使う場合は、attachServo 関数の中でコメントアウトしてあるので、SG90と入れ替えてコンパイルして下さい。(入れ替えなくてもだいたい動きます。)
単4でも一応動くのですが、軽い分少し”重し”を乗せた方が良いかもしれません。

このスケッチは、Arudino Nano とArduino Nano Every のどちらでも動きます。


準備

コントローラとなるArduino にSG90サーボモータを接続します。
上から見て

 D4:左前足
 D5:右前足
 D6:左後足
 D7:右後足

です。サーボモータへ電源も繋いで下さい。

f:id:nakarobo:20210130123215j:plain

次にArduino Nano を PCと接続します。


使い方
手順を以下に示します。

1.開発環境を起動する
 Arduino IDEを起動します。使ったバージョンは 1.8.13です。

2.スケッチを読み込む
ダウンロードした、Arduroid3Test.ino をArduino IDEで開きます。

f:id:nakarobo:20210130124302p:plain

3.スケッチを書き込む
”マイコンボードに書き込む”を押してスケッチをArduinoに書き込みます。

4.コマンド環境を開く
「ナノ四駆」にコマンドを送るために、Arduino IDEのシリアルモニタを起動します。
通信速度は9600bpsです。

5.起動する
”o”(小文字のオー) コマンドを”Arudirid3号機「ナノ四駆」起動!” と叫びながら

送信すると、サーボがONになり、起動します。(叫ぶのは必須です。)

6.調整する
”5”コマンドを送信すると、初期位置を維持します。ちゃんと機体が立つようにサーボホーンの位置を、足先がサーボの軸のほぼ真下に来るように調整します。サーボホーンの山の関係で、ピッタリ真下に来ないかもしれません。その場合は、前後とも少し外側になるように調整して下さい。横から見て、左右の角度が合うようにしておきます。

f:id:nakarobo:20210130123305j:plain

7.固定する
SG90付属のサーボホーン用のネジをM2ワッシャを使って、サーボモータの軸に固定します。次に脚のM2ネジとナットを締めて軸と脚をしっかりと固定します。

8.動作確認する
”0”(数字のゼロ) コマンドを送信するとデモ動作を確認します。このデモは足の間隔を広げて行くものです。これで転ぶようだとどこか間違っているので確認して直して下さい。

9.初めの一歩

”2”(半角数字の2)コマンドを”歩け~”と叫びながら Enter を押して送信します。すると一歩前に進みます(叫ぶのは必須です。)

その他のコマンドは以下の通り

1:右旋回

2:前進

3:左旋回

4:伏せ

5:基本姿勢

6:中間姿勢 4から戻すのに必要

7:ほふく前進(ハイハイ)

8:後進

9:ジャンプ

0:デモ 徐々に足を開いて行く

o: サーボON/OFF  交互動作。ONの時はArduino Nano D13 LEDが点灯します。

t:テストモード

a:すべてのサーボを一度に動かす。
4つのサーボの角度を入れるとその角度に動かします。必ず4つ入れて下さい。

s:一つのサーボを動かす

最初の引数がサーボ番号で、次が角度です。

d:少し待つ
300ミリ秒何もしないです。コマンドの間に時間を空けたり、機体を安定させたりしたいときに使います。

 

10  「ナノ四駆」の覚醒
” t” (半角のT)コマンドを”「ナノ四駆」覚醒!”と叫びながらEnter を送信すると、40cm程走れば、成功です。(叫ぶのは必須です。)

f:id:nakarobo:20210130124339p:plain

このモーションは歩くモーションを単に早くしただけなのですが、走るといっても足の送り方は沢山あります。

youtu.be

後は好きに料理して下さい。

 

モーションの修正
機体の重量やバランスによってちゃんと動かないかもしれません。その場合のモーションの調整は sコマンドとaコマンドでサーボの位置を変えてモーションを作成したり修正したりします。
シリアルモニタから送れるコマンドは64文字程度、つまり a コマンドなら4つか5つです。数字コマンドなら相当連続で打ち込むことができます。
終わったら実際にコードをスケッチ上で変更して確認します。

 

ソフトの解説は

・・・・ 気が向いたら、あるいは要望があれば行います。すぐに理解できるように、このスケッチはできるだけ簡単にしたつもりです。


今後の予定
センサの追加、スキン(外皮)の作成、手足の造形を行う予定で、良いのができたら公開して行きます。「ナノ四駆」の機体編はひとまずこれで終了です。

 

おわりに 
単3と単4の両対応するのが、なかなか難しかったです。単3では体重が増えたので、足をいきなり速く動かすと滑ってしまいます。なので、最初はゆっくり動かす必要が有りそうです。心配していた単3の重量増加も、SG90互換サーボモーターでも大丈夫そうです。慣性のほうが強いみたいです。

  

おしまい