FlashAirを使って1Robi
2015年2月13日


 デアゴスティーニの「100Robi」というイベントをご覧になった方も多いと思います。
 100体ものロビを音声認識で操作するのは不可能で無線か何かで遠隔操作しているものと思われます。
 今回はその一部のデモをFlashAirを使って無線操作して再現してみます。



 FlashAirは無線LAN搭載のSDカードでスマートフォン、タブレット端末やパソコンから無線LANを使ってSDカード内のファイルを参集したり書き換えたりする事ができます。
 ロビボイスプレイヤー、ロビモーションエディタ、ロビ設定ファイルエディタはFlashAirに対応しておりリモート接続が可能になっています。

 FlashAirは標準SDカードサイズなのでそのままでロビのSDカードスロットに装着できないのでSD→microSD逆変換アダプターを使います。
 今回は変換名人を使用しました。

 加工すればロビ本体に内蔵する事もできるようですが私の場合外付けにしています。



 変換アダプターのケーブルを通すためロビの裏蓋にスリットを入れておきます。



 エンビ板を30mm×25mmにカットして2mmのビス穴を開けておきます。
 これを10mmの位置で折り曲げて2mmのビス(ロビのネジ)でロビの裏蓋にネジ留めします。



 変換アダプターを両面テープで貼り付けます。



 ロビモーションエディタでモーションプログラムを作成するためにWindowsパソコンにFlahAirを接続します。



 今回使用するWindows PCには無線LANが内蔵されていないので無線LANアダプターを使用します。

 無線LAN内臓のノートPCにはすんなりつながってくれたのですが最初このPCにFlahAirがつながらなかったので参考のためこのPCでのつなぎ方を書いておきます。
 このPCは有線LANで常時インターネットに接続されています。

 そのためFlahAirをアクセスする時にインターネットにアクセスしてしまいます。


 そのためFlahAirと接続する時は有線LANのアダプターを一時的に無効にしています。



 こうするとFlahAirとの接続が可能になります。
 FlahAirにはインターネット同時接続機能という機能がありインターネットに接続する方のSSIDを設定するようですが有線LANなので使えそうにありません。
 Windows側の設定で同時に使えるようにできるかも知れませんが今の所、一時的に有線LANを無効にする方法で対処しています。

 ロビモーションエディタでロビのポーズをモーションキャプチャーしていきモーションプログラムを作成していきます。
 前のバージョンではリモート接続プログラムでモーションキャプチャーができるようにしたのですがこれを行うには手足を動かす必要がありサーボにトルクがかけられません。
 そうするとロビの体勢がくずれて正確にモーションの再現ができなくなります。
 そこで今回のバージョンでは脱力しないリモート接続プログラムを必要に応じて動かせるようにしました。
 もちろんこの状態ではモーションキャプチャーできませんがリモート接続でモーションを確認する場合は有用です。

 また新たにプログラムの開始時と終了時にサーボトルクりON/OFFを制御できるようにしました。
 ロビのアイドル状態(命令待ち)はいくつかの決まったポーズになってしまいます。
 そのため任意のポーズを保持するためサーボのトルクをオフにしてプログラムを終了できるようにしました。

 これに対して開始時にサーボトルクをオンにするプログラムを動かす事でロビが動き出します。
 ただ開始時にサーボトルクをオンにしただけではトルクを入れた瞬間、アイドル状態の姿勢になろうとします。
 このため現在の姿勢を読み取りサーボ位置をセットする命令をサーボトルクをオンにする前に出力するようにしました。

 詳しいロビモーションエディタの操作方法については下記動画を参照してください。


 実際にこのプログラムを動かした動画です。

     

 ロビを何台も同時に動かすにはFlahAirでは難しいかも知れませんがとりあえず1Robiはできたという事で。
 なおロビのプログラム変更やSDカードの書き換えは、ロビ本体への影響を及ぼす可能性があるのであくまでも自己責任という事でお願いします。

目次に戻る