« 2008年4月 | トップページ | 2008年6月 »

2008年5月20日 (火)

週刊myRobotを作ろう(91)

■更新情報 デジタルコンパス搭載動画 (2008/5/31)
■更新情報 URCを内蔵する (2008/5/24)


このところKENさん主催の「ロボットの集まり」に参加させて頂いています。
皆さんがお持ちになったロボ君達の動作について、これが同じID-01か・・・と思うほど、夫々個性が有るのです。

音も静か、しかもなんでこんなに動きが滑らかなのか・・・という、ほれぼれするようなロボ君がいる一方で、問題を抱えて参加された新人オーナーさんのロボ君は、ギア鳴り音がものすごく、イニシャライズ途中でエラー・・・、そしてギックリ腰のロボ君?など、多種多様の持病持ちのものが多いようです。

殆どのオーナーさん達は、ベテラン会員のご指導の元、何回かの参加で見違えるように健康を取り戻し、皆さんと楽しく走行を楽しまれています。
中には、オーナーさん泣かせの、頑固なロボ君もいるようですが・・・・

■メンテナンスの重要性
昨年11月に販売が終了してしまった「週刊myRobot」は、BASEボードをはじめ、かなりのボード類の在庫が底を突いてしまったようです。
現在デアゴサービスに連絡しボードの障害が判明すると、修理品(リペア部品)を送ってくれはしますが、同時にユーザからのボード返却が必要になるようです。
つまり、返送された壊れたボードを修理して、次の方に回す・・・という、リサイクル(リペア部品)方式をとられているようです。
ただしこのサービスも、デアゴのサポートが終了する2008年11月までの話です。

それ以降は、ID-01の取り扱い、運用などに関し、ユーザー側が気をつけたり、或いはなんらかの対策するなどを行わなければなりません。
障害を未然に防ぐ・・・という心がけが、今まで以上に求められることになります。

今回は夏に向かって、とくに事故の多い、走行を司る足回りの対策について、我々ユーザ側が出来る事に付いて考えてみようかと思います。

■走行周りの整備
「掲示板」を拝見すると、走行させる度にBASEボードが焼損してしまい、ボードを何枚か交換した・・・という事例が載っていました。
BASEボードを交換しても、すぐに又障害が数回発生しているということは、走行するときに、車輪の回転に対し通常より大きな抵抗が掛かっている・・・と推察できます。
左右主車輪の回転に対する抵抗、尾輪の回転に対する抵抗などが要因として挙げられ、夫々の車輪が手で軽く回るか・・・など、簡単なチェックからはじめ、もし、左右で重さの違いが発見できたときは、重い方の再点検を行うなど、こまめのチェックが必要です。

気持ち良く走行させるためにも、BASEボードのトランジスターに負担をかけないためにも、モーターボックスの調整、グリスアップなどは、面倒くさがらずに、定期的に行う必要が有るかと思われます。

◇モーターボックスのメンテナンス対策

BASE部モーターボックスをメンテナンスする・・・と聞いて、ため息をついてしまう方もいらっしゃると思います。このモーターボックスの取り外しには手間がかかるからです。

まず、バックボディケースと配線周り取り外し、ボディ上部とBASE部の切り離しと配線周りの取り外しです。
次に、腰部ケースの分解を行ってから右側のプーリーカバーをとり外せます。
左側はさらに一苦労。腰部モーターボックスを取り外さなければプーリーカバーが外せません。
①プーリーカバーの改造
そんな方には、『週刊myRobotを作ろう(89)』(2008/4/8付け)でご紹介した、プーリーカバーの改造記事をご覧ください。
左右のプーリーカバーが何の苦も無く、いきなり外せてしまう方法を載せてありますので参考にされてください。Id01_94_11
いつでも自由に取り外せるプリーカバー

私は、その文中に載せてある「対策1」と「対策2」の双方を実施しています。
特に「対策1」のプーリーが浮き上がらない処置を施しておけば、走行周りのケースを全て取り外した状態でモーター及びギア部の回転テストが行えます。Id01_95_35
プーリー軸にラジコン用「ロッドストッパー(赤丸印)」を取り付ける

プーリー軸の太さをデジタルノギスで計測したところ、2.0mmより僅かながら太めでした。
ロッドストッパーは、2.0~2.3mmあたりのものが有れば良いのではないでしょうか・・・
    
Id01_95_33 ロッドストッパーは4個で360円、ホビーショップで手に入ります

尚、ロッドストッパーを取り付ける場合、プーリーカバーの軸受けの突起(赤丸印)が必要なくなりますので、ニッパー、カッター、ヤスリなどで取り去ります。Id01_95_34
A)は加工前、B)は加工後

車輪の回転が途中で止まる、片方が回転しない・・・など、オプチカルエンコーダーに伴う障害のメンテナンスも、カバーを取り付けずに回転テストを行う事ができますので非常に便利です。Id01_95_36
この状態で、前/後進、左右回転などの運転テストが可能

②ギアケース周りの調整
2007/4頃、丁度BASE部を組み始めた頃、判明した事ですが、ID-01の走行部はモーターボックス以外にも、シャフトカバーや、車輪の取り付けなどにも抵抗を生み出す原因が有る事が分かりました。Id01_60_11
シャフトカバーの例は週刊myRobotを作ろう(55)の後半以降に掲載してありますので参考になるのではないでしょうか・・・
宜しければご覧下さい。

③ロボ君の健康診断テストツール
モーターボックスの回転テストを行う場合、以前ですとモーターからの配線をボードからいちいち取り外してモーターチェックボックスに繋いで行いましたが、KENさんがうまい方法を考案しました。
バッテリーケースからマザーボードに繋いでいる「マザーボード電力供給ケーブル」に、簡単なアダプターを取り付け、電流測定機能のついたテスターで電流値をチェックする方法です。
測定するときは、胸のボタン、PCコントロール、モバイルコントロール、T-Droidなどを使用して目的のモーターを駆動させ、その時の電流値を読み取ります。
モーターボックスの調整を行うときは、回転数や、ギヤ音なども参考になりますが、電流値の読み取りが一番分かりやすく、正確な調整が行えます。
詳細は、KENさんのブログ「ロボ君の健康診断」用のテストツールをご覧ください。
何れ、各モーターボックスのベーシックな電流値が公表されるようですので、大変参考になると思われます。
この健康診断用ツールを利用し束愛、前進/後進の電流値が170mA付近を目標にするとベストであるとの事です。Photo
KENさんのブログにある「ロボ君の健康診断」用ツール

以上の①③の方法を利用すれば、走行モーターボックスの調整が、いつでも気軽に行えるようになります。併せて、②の改善などを行えば、BASE部走行周りの対策は、かなり万全となるのではないでしょうか・・・
尚、改造される方は自己責任でお願いいたします。

■衝突時の緊急停止
一方、ID-01の走行を、テレビリモコンで行われている方もいらっしゃると思いますが、衝突しかけた時、「慌ててボタンの長押し」、「重ね打ち」、「赤外線が届かない」などで、モーターが停止せずに障害物に衝突することが、度々発生する・・・というお話を何人かの方からお聞きしました。
ID-01が障害物に引っかかった場合、ただちに持ち上げるか、電源をOFFにしなくてはなりません。
万が一そのままにしておくと、車輪が回転しようとして無理な過電流がBASEボードに流れ、BASE部トランジスターが焼損してしまう危険があります。

このように、モーターボックスの調整が万全でハードウェアとしては完璧であったとしても、走行中における障害などにより、モーターに余分な負荷が掛かからないような対策も併せて必要になってくると考えられます。
そこで、テレビ(赤外線)リモコンのプログラムに、「緊急停止機能」を組み込んでみました。

◇緊急停止システム
緊急停止の原理は、衝突センサー(単なるスイッチ)が障害物にあたり、そのスイッチがONになれば、車輪が「緊急停止」して、同時にアラームが鳴り響く・・・という仕組みです。
衝突したら(押されたら)ONになるスイッチなら、どんなものでもかまいません。
私は衝突センサーとして、タミヤ製マイクロスイッチ(120円)を利用してみました。
このスイッチは、全国のホビーショップ、通販などで手に入ると思います。

衝突センサー(スイッチ)を並列接続する事により、ご覧のようにいくつ取り付けてもかまいません。
例えば、車輪前方、尾輪周り、側面、腕の先、ヘッド部など、家具などにひっかかり易い場所にスイッチを取り付け、配線すればOKです。Id01_95_30
センサーはいくつでもOK、配線はGPIOに接続

各スイッチの接続はバッテリケース上面にある、GPIOのコネクターのうち、アナログ1とGND,あるいは、アナログ2とGNDに接続すればOKです。Id01_95_37
GPIO端子は手前から3番目がアナログ1、一番奥がGND

◇センサー
具体的に何処に付けるか・・・ですが、停止状態から左右に回転を行ったとき、尾輪側面をぶつける事があります。
●後部センサー
私の場合尾輪は「短足くん」にしていしまい、BASE部のテール部分が物に触れる確立が多かった事からテール部に2個のマイクロスイッチを設置しました。Id01_95_28_2
左右回転中の衝突に備え、テール部左右に設置したマイクロスイッチ(上から見下ろした画像)


●前側側センサー
フロント側の衝突は、超音波センサーの及ばない、前車輪の外側で発生する事があります。
ID-01の横幅は、車輪の軸を入れて実に280mmもあります。
そこで、ラッチさんに構想をお話してフロント側のセンサーをお願いしました。
しばらくして、画像のようなセンサーが送られてきました。
これで、タイヤの外側まで、幅広いエリアをカバーできそうです。Id01_95_27
マイクロスイッチを利用した「左右フロントセンサー」(クリックで拡大)

実際にフロントセンサーを取り付けてみましたが、なかなか格好が良く、運悪く何かに衝突すると、直ぐアラームが鳴り、停止します。Id01_95_50
タイヤ幅一杯にせり出したフロントセンサー


動作をシンプルにして、ぶつかればスイッチがONになり、「停止する」「アラームが鳴る」の2点に絞りました。

◇「緊急停止付きテレビリモコン」のプログラムを公開
今回の改造を行った当初、アナログ1は前側、アナログ2は後側の衝突検知を行い、前側の衝突では後退、後ろ側では前方へ、左旋回中は右側へ、右旋回中は左側へ・・・など、衝突時の対処として、一旦停止した後、夫々の進行方向とは反対方向に移動するようにプログラムを組んでみました。

ところが、入り組んだ場所での衝突事例では、自動的に反対方向に動かすと、ますます袋小路にはまってしまい、最終的には身動きが取れなくなり、モーターに過電流が流れてしまう・・・という場面が多々ありました。
そこで、とにかくぶつかったら「緊急停止」、そして「お知らせアラーム」というシンプルな動作に変更しました。
センサーさえ働いてくれれば、とにかくモーターは停止しますので、BASE部トランジスターに過剰電流が流れる事故が防止できます。

これからの暑い季節を、我々ユーザー各位がいろいろな工夫することにより、ロボ君と楽しく付き合っていきたいものです。

◇緊急停止付きテレビリモコンの概要
既存のテレビリモコンプログラムを改良しました。
プログラムをスタートさせると「アクション」と「アナログチェック」という2つのモジュールが同時に動作するようにプログラミングしてあります。
何処かの衝突センサー(SW)がONになりますと、アナログチェックモジュールの値が変化して、緊急停止処理として、走行モーターが「停止」に、同時に「アラーム」が鳴り響き、アクションモジュールのSTOPにジャンプするようになっています。
このアラームはSWが押されている間は鳴り渡りますので、ID-01が衝突した事を、すぐに気がつかれる事と思います。
「緊急停止」処理が行われた後は「アクション」モジュールの通常の「停止」状態になりますので、テレビリモコンで、バックするなり、左右に旋回するなりなどをして、衝突状態から回避処理を行ってください。

●テレビリモコンプログラムのバージョンアップ版
以前より、テレビリモコンのプログラムをお使いの方でしたら、今回このプログラムに更新されますと、以下の機能が追加されます。
この機会に、更新される事をお勧めします
○緊急停止機能
SWを配線しなければこの機能は無視されるだけですので、この機能を使いたくない場合は、SWも配線も何もしない事でOKです。
○左右旋回がステアリング感覚
例)前直進→「右」(前進しながら曲がる)→「右」(片車輪停止で旋回)→「左」(前進しながら曲がる)→「左」(前直進)
○停止動作のレスポンス向上
ボタンを押してからのレスポンス速度の向上を図りましたので、危ない!と思った瞬間、止めやすくなりました。

●プログラム
多機能リモコン用、テンキー用の2つのプログラムで、夫々、「Remot_Control05Ua.clike」と「Remot_Control05Ta.clike」という名前のプログラム名です。
下の「ファイル置き場」からプログラムを適当なフォルダーにダウンロードしてください。

ID-01のVCLE及びCLEプログラムは、メモ帳などのテキストエディターで開くと文字化けしてしまう事がありますので、今回はそれを防ぐためにZIP形式に圧縮してあります。
適当なフォルダーにダウンロードしてから、Lhasaなどの適当な解凍ツールで解凍してください。
解凍されたファイルは、夫々”Remot_Control05Ua.clike”と、
”Remot_Control05Ta.clike”という名前が付けられていますので、ID-01のプログラム用の適当なフォルダーに保存して、VCLEで開いてください。
(05Uの後ろのアルファベットは、バージョンが更新されるたびにa~zまで順に変えていきます)


尚、テレビリモコンの操作説明は『週刊myRobotを作ろう(86)』(2008/1/19付)で解説しておりますので、宜しければご覧ください。

☆ファイル置き場
***************************************
多機能リモコン用緊急停止付きプログラム
「Remot_Control05Ua.zip」をダウンロード

***************************************

***************************************
テンキーリモコン用緊急停止付きプログラム
「Remot_Control05Ta.zip」をダウンロード

***************************************
現在”Remot_Control05Ua.zip”が最新バージョンです (2008/05/20)

(ご注意)
プログラムをダウンロードしてお使い頂くのはご自由ですが、あくまでも自己責任でご使用ください。


■赤外線送信部を胸に
360度の方向から赤外線(IR)リモコンを受信できるように、ユニコンのIR受信部は背中のアンテナ頂上に取り付け(Aの赤丸印)ていますが、IR送信部を頂上に付けてミラー反射させてみると減衰が激しく、送信に関しては、かなりの近距離以外、球面反射させた光を送信する事は実用上使用できない事が分かりました。

白色、青色なんでも良いのですが、点灯させたLEDを、真正面から見ると眩しいのですが、側面から見ると暗くなってしまう・・・つまり、光量が減衰してしまうのです。
一方、ミラーボールを用いて球面反射を行いますと、光量が四方に拡散してしまい、目的の地点に到達する赤外線量は僅かになってしまいます。
従って、ユニコンのIR送信部は、LEDの光軸を直接被対象物に向けて送信する必要があると推察しました。

そこで、ボディの胸部にある音声認識用マイクの穴(Bの赤丸印)にIR送信部を取り付けました。
以前、当ブログでご紹介しましたように、音声認識用マイクは、ヘッド部頂点に移動させてしまいましたので、その空いた穴を利用しました。
ご覧頂くとお分かりのように、見た目には、全く違和感がありません。Id01_95_39
マイクの穴に赤外線LEDの取り付けが可能

◇頭上のエアコンをコントロール出来るか?
胸に取り付けたIR送信部で、窓枠の上にあるエアコンの調整が可能かトライしてみました。
まず、ID-01のIR情報に、エアコンのリモコンを登録します。
私は、61番にエアコンのON/OFF、62番に温度(上げる)、63番に温度(下げる)を登録させました。

とりあえず、ID-01を机の上に追き、窓の上にあるエアコンの方向に向け、PC-Controlで赤外線61番を送信させてみました。
距離にして3~4mほど離れたところにあるエアコンを無事操作する事が出来ました。
これで、温度センサーの値により、エアコンを調整するプログラムとか、部屋の明るさによって照明をつけたりとか、テレビのチャンネルを選局するプログラムでも書けば良い事になります。
ところが、それを行うためにはID-01に常時通電しておかなければなりませんので、あまり面白い使い方ではないのでは・・・などと思っています。
なにかIR送信を行って、ロボットらしい使用方法なないものか、これから考えてみる必要がありそうです。

このところ、「デジQトレイン」が10編成近くに増えたこともあり、近いうちに、胸に取り付けたIR送信部で、これらの複数車両のコントロールに挑戦してみようか・・・と思っています。
コントローラーは4台まで同時使用できますので、ID番号11~18、21~28、31~38、41~48の計32台までの、列車や電動ポイントがコントロールできます。
全車両全て・・とはいきませんが、列車の色をCMOSカメラで判定して、このエリアを通過したら、この色(ID番号12番)の列車は停車させるとか、ID23番ポイントを切り替える・・・などが出来るかもしれません。
「えっ? 複数の車両カラーの判定はどうするの?」ですか・・・・
考えがありますので、そのうち、トライしてみようかと思っています。
Id01_95_38_2 10編成を一度に同時走行させるのは難しそうです
    
Id01_95_40 4両のトレインを同時に充電できるマイコン制御の充電器


■URCを内蔵する
「掲示板」で「ユニバーサルリモコン(URC)内蔵について具体的に教えて欲しい」旨の書き込みがありました。
以前、『週刊myRobotを作ろう(89)』コネクターの接続方法まで紹介させて頂きましたが、具体的な配線部分には触れていませんでした。
私の改造方法が、参考になるかどうか分かりませんが、公開させていただきます。

◇ボード間ダイレクト接続ケーブル
アームボードと、URCボードを直接結ぶケーブルを作成します。
上の画像の通りに、コネクターにケーブルを接続します。
具体的に・・という事で、そのダイレクト接続ケーブルの画像を載せておきます。ケーブルの色も合わせていますので参考になるかと思います。
(但しグレー線が白ケーブルになっています)Id01_95_41a_2

ボード間ダイレクト接続ケーブル(画像クリックで拡大)
左が4PのURC側、右が5Pのアーム側


接続は、4Pコネクター側に、URCボードを、5Pコネクター側には、アームボードの、左手に繋がる黄色いケーブルの代わりにこのダイレクト接続ケーブルを繋ぎます。Id01_95_42

URCボードとアームボードの接続例(各画像クリックで拡大)

尚、アームボードは2つの4Pコネクターがありますので、間違えないように配線してください。

◇アンテナ側のケーブル
前項「赤外線送信部を胸に」でも述べさせて頂きましたが、アンテナの上にIR受信部、胸部分にIR送信部と、2つの素子を分離してしまいましたので、URCコネクターからのコードを2つに分けました。
片側(3本ケーブル)はアンテナ頂上のIR送信素子へ、片方(2本ケーブル)は抜き差しできるように2Pコネクターにしてあります。
4Pコネクターを3本+2本(5本)にするため、赤色コードを2本に分岐させました。Id01_95_43

URCに繋ぐ4Pコネクターの先は、アンテナ(3本)と、送信(2本)に分岐させる

◇URCボードの収納
各ボード、送受信部にも配線が完了し、いざバックパックを閉じようとした時に困るのが、URCボードの収納先です。
私は、画像のような透明プレートで”コ”の字型のマウントを作り、B.Tボードと音声ボードの間の隙間に収納させました。
この辺りは、各自、工夫されてみては如何でしょうか・・・・Id01_95_44_2

URCボードの透明マウントと、胸のIR送信部へ接続中のコネクター(赤丸印内)

URCボードを収納させる際は、なるべく音声ボードに近く、B.Tボードから離す位置に設置した方が良いと思います。
B.Tボードには電波の送受信をする小さなアンテナがありますので、その影響を少なくするための回避処置です。
あまったケーブルは、他のパーツに引っかからないようにうまく裁いて収納してください。
アンテナからのケーブルをゆとりを持たせた長さにすると、画像のようにテール部に載せたバックパックでの接続作業が楽に行えます。Id01_95_45

左がケーブルセット中、右はバックパックセット完了

尚、改造に関しては、あくまでも自己責任でお願いします。
(2008/5/24)


■デジタルコンパス搭載動画
いつも斬新なアイデアと、卓越した技術でリードされている、皆様おなじみの”た”さんが、こんどは、ID-01に「デジタルコンパス」を取り付けに成功され、目下、テスト中とのレポートを頂きました。

◇デジタルコンパスって?
ご存知tのようにデジタルコンパス(以下デジコンという)は、半導体を用いた電子式の方位計のことです。
近頃、値段もだいぶこなれて、いくつかのキットも販売されているようです。Id01_95_49

デジタルコンパスモジュールEBCM-802 (秋月電子通商)

「掲示板」で記事をご覧の方もいらっしゃると思いますが、”た”さんは、このデジコンキットを手に入れられ、試行錯誤を繰り返し、頭上にデジコン設置することに成功されました。

デジコンを利用すると、ID-01のような自立ロボットが方向転換したとき、自分の位置情報をかなり正確に把握する事が可能です。また、本来目的とした方位に向かうように、自立で微調整する事も可能となります。Id01_95_47

ハードウェアテスト中の画像
  
今回は、その前段階のテストとして、デジコンから送られてくる3ビットの位置情報を告げるプログラムを開発され、そのテスト様子をビデオで送っていただきました。Id01_95_48

ビデオからのキャプチャー画像です
   
”た”さんから、公開が可能と言うことで、このブログにてUPします。
おそらく、デジコン搭載のID-01としては、世界初の試みかもしれません。宜しければご覧ください。


◇動画
マイロボットにデジタルコンパスを搭載
マイロボットにデジタルコンパスを搭載


ご興味のある方は、是非トライされてみては如何でしょうか?
尚、この件に関しましては、デアゴ「マスターズ掲示板」に「デジコンモジュールを搭載」というスレッドを、”た”さんが出しておられますので、そちらの方にお願い致します。
2008/5/31)

■あとがき

デアゴのmyRobotは、最終90号(2007/11)でした。
早いもので、完了してから約半年が経過しようとしています。そして2008年11月にはデアゴのサポートが終了します。
今後は、ID-01をより大事にしなければいけませんね。

*** 週刊マイロボットを作ろう ***

| | コメント (8)

« 2008年4月 | トップページ | 2008年6月 »