中野島ロボット

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

週刊中ロボ98 4日でできる! 二足歩行ロボット Day4ソフトウェア MiniMaestro12編

3Dプリンタで作る吉野式二足歩行ロボット「ArduiroidOne」の作り方を公開しています。

 

はじめに
ロボットのソフトウェアを組み込んで動作をさせます。単4のeneloopを使っているので一回に動かせるサーボモータは4つまでです。コントローラ毎に順番に接続方法と使い方を説明して行きます。

1.PolpluのMiniMaestro12を使用する場合

2.ArduinoNano V3 および Cloneを使用する場合

3.ArduinoNano Everyを使用する場合

 

PololuのMiniMaestro12を使用する場合
ArduiroidOneを取り敢えず動かすのなら、PololuのMini Maestro 12チャンネルのコントローラを使用するのが簡単です。MiniMaestroにはファームウェアが予め書き込まれており、コントロール用のソフトウェアもダウンロードできるので、直感的にモーションを作成する事ができます。但し角度による指定や、サーボモータの回転方向に関する指定はできません。サーボモータにパルス幅による位置の指定を行うことで指定の方向に関節を動かすことができます。

www.pololu.com

 https://www.pololu.com/product/1352

Mini Maestro 12の基板サイズは28 × 36 mmで、秋月電子のD型基板より一回りサイズが小さいです。このコントローラーはシンプルで動作も安定しているので他のロボットでも最初に機体の動作確認をする場合に使用しています。
また、プログラミング環境と動作確認用機能が一緒になったソフトウェアがダウンロード出来るので、PCにインストールしてMini-B のUSBケーブルをつなげば、繋いだサーボモータを画面からコントロールすることができ、直ぐにArduiroidOneの機体を動かすことができます。ちょっと特殊ですがVisualBasicに似たオリジナルのスクリプト言語により、簡単なプログラムも行うことができ、自律動作させてり、センサに反応させたり、LEDを付けたり、ブザー音を鳴らしたりすことができます。 

マニュアルは英語ですが以下からダウンロードすることができます。 

Pololu Maestro Servo Controller User’s Guide

 https://www.pololu.com/docs/0J40

 

1.インストール(Windows10 の場合)
ソフトウェアのダウンロードは以下のリンクからです。
https://www.pololu.com/file/0J266/maestro-windows-130422.zip

ダウンロードしたファイルを解凍して maestro-windowsフォルダの中にある setup.exe を管理者モードで起動します。 Windows10にインストールするには、.NET フレームワーク3.5が必要となり、インストーラー起動すると先にインストールが必要なので Apply でインストーリします。続いてNextを押して行けばドライバ、ソフトウェアの順でインストールが行え最後にCloseでインストールは終了です。
インストールが完了すると Pololuのマーク(ヤシの木?)のプログラムがインストールされます。

スタートメニューから Pololuフォルダの中のMaestro Control Center が出来ているはずです。インストールの確認はアプリと機能からでも Pololu Maestro USB Servo Controller として確認できます。

2.接続
PCとMini Maestro 12をUSBのMini-Bケーブルで接続して、インストールしたプログラム Pololu Maestro Control Centerを起動します。 なおPCとの接続ケーブルはMini Maestro 12には付属していませんので、別途準備が必要です。ArduiroidOneのSG90サーボモータをPololuのMiniMaestroコントローラに接続して行きます。サーボ番号は0から順に接続して行きます。LEDは9、赤外線距離センサは10に接続します。 

Status 画面の Connected to: でコンボボックスからボードを選択して通信が確立すると ファームウェアのバージョンを表示し、0から11までのチャンネルが表示されます。Maestro Control CenterのChannel Settingsタブでチャンネルを設定し、 右下の Apply Settings を押し記憶させます。

f:id:nakarobo:20200503093408p:plain

(!)サーボモータは長時間ロックさせてしまうと電流を消費して熱くなって故障してしまいます。ロックさせない(ジリジリ言い続けない)様に、Min と Max を設定して動きをこの範囲に制限します。

 

3.サーボモーターを動かす
Status画面に戻り、動かすサーボの Enable をチェックし、スライダーを動かすと、サーボモータが動きます。

f:id:nakarobo:20200503094746j:plain

(!)全てのSG90サーボモータの中心パルス幅の1500μsecに設定するとこのように左右の脚や腰や顔の向きが微妙にずれていますが、これから調整するので大丈夫です。

各サーボモーターの位置を順番に動かして、ArduiroidOneの基本姿勢(立った状態)を確認します。
f:id:nakarobo:20200503093602p:plain

(!)この例はArduiroidOneを直立させた場合の数値ですが、組み立て方やSG90サーボモータの個々の特性によって若干異なるので、自分の機体に合わせて微調整して下さい。

f:id:nakarobo:20200503095127j:plain

調整するとこのように左右均等に直立するようになります。
各サーボモーターの位置を順番に動かして、ロボットの姿勢が決まったら、左下のSave Frame フレームを押しこの姿勢をセーブします。フレームとは、一回分のロボットの姿勢のことです。このフレームをコマ送りのようにつなぎ合わせることで、一連の動き(モーション)を作って行きます。

4.モーションを確認する
タブを Sequenceに切替て、記録したフレームの順番や時間を調整しモーションを編集します。
Play Sequenceを押すと、記録したフレームの順番に再生して行きます。Play in a loop をチェックすると、最後のフレームを再生すると最初から繰り返し再生します。
Move Frame で、フレームの順番を動かします。
Duration では、フレームの持続時間をしていします。
Copy all Sequence to script でスクリプトにモーションがコピーされます。
コピーしたモーションは、テキストファイルに書き出して、再度読み込むことが可能です。  

5.スクリプトを使って動かす
モーションを保存すると、スクリプトがテキストファイルに落とせます。
このテキストファイルを編集して、動作をプログラミングすることができます。
一つのサーボモータの位置を記述するのに、11バイト必要で、8Kバイトのメモリが搭載されているので、最大で744のサーボモータの位置を覚えさせることができます。
8個のモーターを使うので、最大で93の姿勢を覚えさせることができ、スクリプトに分割して再生したりすることができます。

6.LEDを付ける
LEDを付けたポートをOutputに設定してあれば、スライダーを使って、ON/OFFすることができます。

7.距離計から距離を入力する。
距離計をつけたポートをInputに設定して、前に手をかざして距離に応じて数値が変化することを確認します。 このセンサでは5cm~30cm位が実用範囲です。5cmで180、30cmで25の数値が表示されました。
赤外線は人間の目では見えませんが、スマートホンのカメラで撮影すると、実際に赤外線ビームを発射しているのをが確認できます。

f:id:nakarobo:20200503095536j:plain(目からビーム~耳からミサイル~きみにテレパシ~伝えてハート~)

 

その他
Ch.8のPWMを使って、圧電素子でブザー音を鳴らすことができます。
圧電素子は保護の為に1KΩの抵抗を直列に接続してから使用して下さい。

 

まとめ
MiniMaestroを使用すればArduiroidOneを簡単に動かすことができます。このボードのスクリプトだけでプログラムを組むのは大変なので、このボードを使ってモーションを確認したり一通り遊んで、さらにロボットのプログラミングを行いたくなったらArduino IDEにステップアップすると良いと思います。

 

注意事項
サーボモータへの指示が、角度指定ではなくパルス幅指定なので、変換しながら設定する事になるので少し面倒です。

 

つづく
次回はArduinoNanoのソフトウェアです。

 

購入品情報 
PololuのMini Maestro 12コントローラはAmazonで購入可能です。 

Mini Maestro 12-channel USB Servo Controller

Mini Maestro 12-channel USB Servo Controller

  • メディア: Personal Computers
 

USBケーブルはMiniBの巻取りが細くてお勧めです。