にほんブログ村 その他趣味ブログ 電子工作へ

2010年11月23日

ダイセンの多機能電子コンパス

モッパーです。

古い話題ですみませんが、ダイセンの多機能電子コンパス DSR-1005 と似たようなものがもっと安くで存在しないか、自作出来る可能性がないかちょっと調べてみました。

ハネウェルの HMR3600 は磁気とジャイロで補正をかけるという最も精度の高そうなセンサです。でも米国武器輸出管理法で輸出制限されてます(!) 通販サイト探しましたが当然ありませんでした(笑)。間違いなくお値段もすんごいんでしょう。

sparkfun のハネウェルの HMC6343 を使ったモジュールは3軸加速度出力と3軸磁気出力をマイコンで統合処理するものなので DSR-1005 と同様の機能をもつかも知れません。でもお値段高すぎて試す気にもなりません。

ST マイクロ LSM303DLH も3軸加速度センサと3軸磁気センサがあるという意味では同様なモジュールですが、モジュール単体なら対象になり得る価格のようです。ただし、加速度と磁気の出力が別々なので自分で補正ロジックを作る必要があります。アプリケーションノートに補正ロジックの理屈らしきものが書いてありますが...ダメだ...私の能力では全く理解できません...

とりあえず、今日の時点では完敗です(泣)。今後もうちょっと頑張ってみようと思います。

posted by モッパー at 19:48| Comment(5) | TrackBack(0) | センサー

2010年09月14日

新ボール対応センサ : WS02

モッパーです。


和歌山ノードにて開発/販売されている新ボール対応センサの WS02 (WS02H/WS02V) を入手してちょっとテストをしてみました。

こいつは素晴らしいです。方向の検知も明るさも IRSeeker V2 よりはるかに分解能が高いです。
2つ買うとIRSeeker V2 よりちょっと高くなってしまいますが、それだけの価値があると思います。

IR センサーは IRM-3638のようです。上記のホームページに回路ブロック図も書かれていますので、自作できるチームはそれだけの情報で出来るかもしれませんが、それが出来ないチームにはお勧めです。
和歌山ノードは新/旧ボール双方対応のセンサや反射光センサ(レスキューのアルミ缶用?)もこちらで販売されています。

2011.4.30 WS02H ですが、N によるとセンサ間の明るさの差分判別だけだとかなり甘い判別しか出来ないが、差分判別だけではなくセンサの明るさの絶対値を利用した微妙な S/W 処理を加えればどんどん細かく制御できるようになるそうです。ただし、ロボット正面の ±15℃程度のスイートスポットについてはWS02Hだけでは判断が難しく、別のセンサを用意しないといけないという結論に至ったようです。今年度はWS02H は既に販売終了しています。来年度の和歌山ノードさんの動きに期待!!!
posted by モッパー at 21:30| Comment(8) | TrackBack(0) | センサー

2010年08月22日

Wii モーションプラスとArduino で方位検出

モッパーです。

「お父さんだって夏休みの自由研究がしたい!」第二弾です。もうやんないとか言っておきながら、やってしまいました。RCJ 夏合宿は家族が皆バラバラなところに行ってしまって参加出来なかったので、今日は一人で悶々とたまりにたまった個人的課題をこなしてました。これはそのなかの一つです。例によって長文ですみません。


RCJ サッカーでは磁気による方位センサーを使用して相手ゴール方向を判別するチームが多くありますが、会場によっては磁気環境が悪くて磁気センサーが役に立たないことがよくあります。このような場合にジャイロセンサーにより方位を検知出来れば有効であり、既に使用しているチームもあるようです。一般的に精度の高いジャイロセンサーは高価ですが、Wii モーションプラスに採用されている3軸ジャイロセンサーが流用できればとても廉価(実売価格 \1500 以下)で実現出来るため、トライしてみました。

  • ジャイロセンサーに関する前提知識

以下は今までジャイロについては素人の私がやっつけで学習したネタなので自信ありません。間違っている部分があれば是非ご指摘下さい!!!
現在廉価で手に入るジャイロセンサはほぼ全てレイトジャイロと呼ばれる、方位ではなく角速度(ロボットがどの程度の速さで回っているか)を出力するものです。このため方位を算出するためには角速度を積分処理する必要があります。誤解を恐れず簡単に言うと方位の精度を上げるためには出来る限り速い速度でジャイロが出力する値を読み取り、読み取った値の足し算をしていく必要があります。さらに角速度の 0 点(センサーが静止している状態での読み取り値)が温度等により変動するという問題、角速度の正方向と負方向での不均一性、G(加速度)の影響、アナログノイズによる影響といった色々な要因によって積分演算にエラーが蓄積して絶対角度がドリフトする(絶対角度が勝手に動いていく)という問題があります。簡単に言うと単純に角速度を足し算して求めた方位は必ずズレていきますので、それをどうやって防止するか・補正するかというのがレイトジャイロで方位を得るために必須な処理となります。適用したい対象(例えばレスキューとサッカーではロボットの速度も違うし衝撃や上下動があるかないかも違いますよね)によってドリフトの特性やドリフトに対する許容度が変わるので、それに合わせて異なる補正の手段が必要になることが難しいところです。


  • Wii モーションプラスについて
 Wii モーションプラスはなんといっても他のジャイロセンサーに比べて格段に安いことが利点です。秋月の村田製作所製 圧電振動ジャイロ(ジャイロスター)を使用したキットには価格面で負けます。ただし、秋月のキットは以前ちょっと実験してみたことがありますがアナログ的な LPF と HPF が入っている関係かドリフトをどうしても押さえ込むことが出来ませんでした。ロボカップジュニアサッカーに適用するためには、多分ジャイロスターを単体で使って回路設計しないと無理というのが当時の私の結論でした。今回の結論から言うと Wii モーションプラスではアナログ回路的な配慮は必要無く、ソフトウェア処理だけで RCJ サッカーに必要とされる精度の補正が出来そうです。(すんません。私はソフト屋なので...アナログ回路に詳しく積分回路とフィルター回路作れるならジャイロスターでも同等の精度が出せるかも知れません)
  • Wii モーションプラスと Arduino
Wii モーションプラスと Arduino の接続については、ネット上に豊富な実績があります。こちらのサイトは分解の仕方や結線方法も載っていてお勧めです。注意しないといけないのはネットで公開されている Wii モーションプラスを Arduino で処理するスケッチには間違っているものがよくあることです。 Pitch と Row を間違えていたり、Wii モーションプラスの FAST モードを考慮していないとか...私が調べた範囲ではこちらのサイトの情報が最も正しいようですので、これをじっくり読んで自分でスケッチ起こしたほうが速いかも知れません。また、公開されているスケッチより 0 点のキャリブレーションサイクルをもっと長めにとって慎重に初期化処理したほうが RCJ 用途では良いように思います。

  • 結果
で、実際やってみた結果ですが yaw 方向については Arduino でウェイト無しで I2C 経由のサンプリングぶんまわすと演算処理を含めても 0.5ms 程度の周期で精度の高い積算値のサンプリングが出来、さらにソフトウェアでごく単純な LPF を入れればまずまずの精度でドリフトが抑えられました。pitch と roll に関しては yaw 方向とは別のセンサーが用いられていることからか、yaw 方向とは異なった補正処理が必要となりそうでした。Wii リモコンには加速度センサーが既に入っており、それに対する補正と考えると yaw 方向の回転精度が最も必要とされるため yaw 方向のみ高精度なジャイロセンサーを選択したのかもしれません。
ともかく、Wii モーションプラスジャイロセンサーの yaw 方向はかなり簡単な補正処理で RCJ サッカーにとって有用なレベルの方位検出が出来そうです。もちろん、前述の通りロボットの運動能力や制御方法によって「使える/使えない」の判断や補正方法が大きく変わりそうなセンサなので、各チームで実際トライ&エラーしてみないと答えは出ないと思います。
また、Arduino 単体で他の色々な処理をしながら読み取って精度出すのは難しいかも...??? 読み取った結果を I2C 液晶に出力(10msくらい?)するだけでも精度落ちましたから。

  • その他
本題と関係ないですが、廉価なジャイロセンサーは「コリオリの力」を使っているものが多いようです。非常に小さな振動子に対するコリオリの力を検出して角速度を検出するとのこと。コリオリの力って、私は恥ずかしいことに「フーコーの振り子」とか北半球と南半球で台風の渦の向きが違うとか、移動している物体が地球の自転により受ける影響のことだと約30年間思い続けてきましたが、そうではなくて地球の自転以外の移動体に対する影響のことも含めたことなんですね。とても勉強になりました。
posted by モッパー at 20:49| Comment(7) | TrackBack(0) | センサー

2009年12月31日

HiTechnic NXT IRSeeker V2

モッパーです。

HiTechnic NXT IRSeeker V2 は、新パルスボールに対する対策として最有力のセンサの一つのはずですが、国内のサイトでは情報が著しく不足しているように思います。

当方や他のサイトが、今まで色々バルクのリモコンセンサー等テストして新ボール対策を公開してきましたが、国内のチームがこの短期間で新ボール対策をキャッチアップするためには、今では IR Seeker V2 が無視できない存在になっているように思います。今回は海外チームの多くがこのセンサーを使用することも想定されます。

このセンサーをどのような形でもよいので、実環境で使用して評価されたチームはいらゃしゃいますでしょうか ?  いらっしゃれば、是非情報を公開して頂きたいです。

他力本願で申し訳ありませんが、よろしくお願いします。


posted by モッパー at 00:47| Comment(7) | TrackBack(0) | センサー

2009年08月31日

New ball での光センサー

モッパーです。
 
すんません。今回のネタはかなり難しいです。私も詳細は理解出来ません。どなたか日本のロボカッパー達のために助けてほしいです !!!。 (他力本願...)
モトネタはポルトガルの大学のようですが、40khz 近辺のモジュレーションに対応しているリモコンセンサである、TSOP1138 と GP1UX511QS についてロボカップジュニア New ball の周波数変調がどの程度の距離で、どの程度の出力パルス幅としてセンシング出来るかという資料を見つけました。
http://rcj.sci.brooklyn.cuny.edu/rcj2009/newball/ball-report-EK.pdf
 
結論としては距離に連動したパルス幅の応答性として TSOP1138 の優秀性が述べられており、注目に値する定量的データが提示されています。ただし、指向性については良く分かりません。TSOP1138 は日本ではなかなか市販品として買うことの出来ないもののようです。我々が簡易的試験的に手配して評価する価値のあるものなのか ? 仕様が近い同等品なら手に入れることが出来るものなのか私は全然分かりません。どなたか、ご存知ないでしょうか ?
 
よろしくお願いします。
 
posted by モッパー at 23:53| Comment(11) | TrackBack(0) | センサー

2009年06月16日

ロボカップジュニアサッカー新ボールのセンサについて

モッパーです。
ロボカップジュニアサッカー新ボールのセンサについて、当ブログのこちらこちらで盛んな議論がありましたので、現時点での状況をまとめておきます。この記事はコメント禁止にして情報をまとめていきますので、コメントがあれば こちらこちらへどうぞ。
  1.  新ボールについての公式発表

    こちらに 2009 年世界大会での新ボールの扱いと現時点でのターゲットとなるセンサーについて述べられています。
    こちらに新ボールの仕様が記述されています。
    要約すると、新ボールは 40Khz での点滅(変調)に加えて 1200Hz での光量の減衰(明るい状態から暗くなること)が組み合わされており、それら 2 つが組み合わされた状態をセンサで検知することが必要となります。
    点滅していることにより、常時点灯している今までのボールよりも、電池の消費を削減出来ますし、今までより照明や外の光にだまされることが少なくなる可能性が高いです。
    2 つの変調(点滅)周波数が組み合わされている理由は、多分、インバータ照明(後述)という高速に点滅を繰り返す照明やロボット内部のノイズによる誤認識を防ぐためと思われます。

  2. 新ボールに対応しているセンサー

    現時点で、新ボールに対応していると思われるセンサーは以下の通りです。

    NXT IRSeeker V2 (NSK1042) 

    日本で手に入るのはこちらとかこちらです。(V2 かどうか確認して購入したほうが良いと思います)
    2010.9.14 追記 : 当方のブログのこちらの記事のコメントにインプレッション書いてあります。

    MR-9152 の光センサー

    どうも、単体での販売はされていないようです。(エレキットの web で問い合わせても返事なし)
    トライシンクという別の会社が補修部品として取り扱っているとの情報があります。ただし、約\2600と高いので複数買うとかなりの高額になります。以下のページでの問い合わせに個別に対応してくれるそうです。
    http://www.trythink.com/pc/

    ・赤外線リモコン受光センサ

    赤外線リモコンは新ボールと同じ、40Khz 付近で点滅していますので、汎用的なセンサが流用出来る可能性があります。
    公式発表もそれを示唆しています。手に入るものは 38Khz のものが多いですが、先の公式発表にはそれでも使えると書いてあります。
    1個100円〜200円程度と非常に安いですが、単なるオン/オフのアウトプットではなく、「光の振幅の大きさ」や「光の強さ」を出力しているものを選択する必要があるように思います。(そんなものがあるのか未調査です)  使えるものを選択するにはかなり苦労すると思います。デジタルでのアウトプットのものが主流なので、光に対する指向性が高くて1200Hz での光量の減衰をデジタル波形のデューティー比(ON/OFF の期間の比率)で出力できるものを探索する必要があります。こちらの記事に荒削りではありますが、手に入りやすいセンサーについての最強ファイターズの調査結果があります。

    ・いままで使用してきた赤外線センサを使用してフィルタ回路を自作

    全く未踏(誰もやっていない)の領域と思われます。どなたか成功した方は是非教えて下さい。
    Team GRA・CHAN! が既存の光センサ(RCX 光センサ等)を用いてソフトウェアで対応するという挑戦を始められたようです。

  3. 新ボールの敵について

    新ボールの敵になりそうなのは、インバータ照明という、高速で点滅を繰り返す照明や PWM モータ制御を代表とする、ロボット内部のノイズと思われます。蛍光灯や水銀灯はインバータタイプの照明があります。特に水銀灯のインバータ制御は複数の方法があり、数十ヘルツ〜数メガヘルツの幅広い帯域で点滅している可能性があるようで、影響を受ける可能性があるように思います。
    PWM モータ制御もそうですが、オン/オフ を繰り返す矩形派と呼ばれる波形は膨大な高周波成分を持ちますのでそのような周波数成分のピークが新ボールの変調周波数にたまたまぶつかったり(ここは、ちょっと難しいので誰か詳しそうな人をつかまえて原理を聞いて下さい)、モーターのサージのようなランダムなノイズ源に、新ボールに対応したセンサはだまされる可能性も持っています。
    モータの電源を隔離することはもちろんのこと、こちらのモーターノイズに対する対策や、こちらで Hanew さんにご指南頂いた、電磁気ノイズや磁気に対する対策も有効かもしれません。

  4. 光学フィルターについて

    これは、旧ボールにも適用できるものですが、カメラ用の赤外線透過フィルターはセンサに被せると効果がある場合もあるようです。ボールの赤外線波長である、920nm - 960nm を透過出来るものが良いです。特定の方向からの光を通す偏向フィルターも効果がありそうです。(たとえば、水平方向の光のみを透過させる)
    また、赤外線透過フィルターをデジカメや携帯カメラに被せて、フィールド内の赤外線の状況をモニタしてみるという手法も存在するとのこと。
以上、頭の中だけで考えた空論の部分も多くありますので、書かれている内容の全ては信用しないで下さい。当面、調べる/考えるだけで申し訳ありませんが、これからどんどん、実践して検証した方々の精度の高い情報が得られていくことを期待しますし、もちろん最強ファターズにも実験してもらおうと思います。


私は、色々と理屈を考えてしまうタチなので、色々な可能性を上記に提示しただけで、やってみると全然簡単だったという結論である可能性のほうが高いです。難しく考えず、上記の理屈にとらわれずに、まずは、実験しちゃいましょう !!!! うまく行かなかったら、上記の理屈を少し振り返ってもらえればと思います。

個人的には IR seeker V2 みたいな出来合いのセンサで皆やっているような状況にはなって欲しくないです(プライマリはそれでもしょうがないかな...)。セカンダリな年代の方には、原理原則を理解した上で、自作センサでトライアンドエラー繰り返して新たな道を切り開いて行って欲しいです。
posted by モッパー at 23:07| センサー

2009年03月28日

デジタルコンパスセンサー

最近使用しはじめた方位センサーです。
8 つの方位を 3bit のデジタル出力で出します。最強ファイターズは 3 ポート使って接続していますが、DA コンバータかませてアナログ入力にしたほうがポート数が節約できて良いと思われます。我が家の環境では Wiltronics のコンパスセンサーよりも確実に信頼性が高いですが色々な環境でも優秀かはまだ未検証です。出力される方位は絶対値なので、最強ファイターズは「センサーを回してプログラムでの処理に合うよう固定する」という荒業で攻める方向を調整していますが、電源投入時に床を見て攻める方向を判断してプログラムでの処理を変えるとかしたほうがスマートでしょうね。
posted by モッパー at 19:20| Comment(2) | TrackBack(0) | センサー

2009年03月02日

cball センサ

埼玉ノード大会で優勝したチームGRA・CHAN!が cball センサ という聞きなれない光センサを使っていたので調べてみました。8つのフォトダイオードで180度を一気にセンシングするという、最強ファイターズが使っているフライアイセンサと同じようなものです。ただし、フライアイとは以下の点で違い、とくにデジタル出力の場合は強力そうです。


・アナログ出力での仕様

電源投入時に周りの明るさをセンシングしてレベル調整を自動的にやってくれるようです。最も明るい方向と 2 レベル(遠/近) の明るさを出力します。フィールドや時間帯で明るさが異なる場合は便利ですね。フライアイは9段階の明るさ出力が出来るものの、半固定抵抗の微妙なチューニングが必要で毎試合メンバーがハマり倒しています。でも、それゆえに微妙な明るさの違いに対する対処が出来ているとも言えますので、どちらが良いのかは微妙な感じです。
・デジタル出力での仕様
シリアルまたは I2C での接続が可能です。ロボデザイナへの接続は無理そうなので真剣には見ていませんが、各フォトダイオードの生の値が取得出来るようです。これはフライアイでは出来ません。確かにこれが出来れば、かなり高度な制御が出来ると思いますが、最強ファイターズのメンバー達にはスキル的にまだ無理かな...
話は変わりますが、私自身は別のコートで主審をやっていたため、優勝したGRA・CHAN!の戦いっぷりは残念ながら見ていないのですが、メンバー達曰く全国レベルにも通用しそうな超強力なマシンだったようです。関東ブロックサッカーの救世主となるか !!? 要注目です。
posted by モッパー at 21:03| Comment(0) | TrackBack(0) | センサー

2008年12月23日

センサーについて

メンバー達が使用しているセンサーの紹介です。
 
  • 方位センサー

RCX の頃はmindsensors.com の Compass Sensor for RCX を使っていました。キャリブレーションも出来、精度も高く 100 段階まで出力できますが、今では生産中止になってしまいました。
ロボデザイナ純正ロボットの頃にはWiltronics の Roboball Compass Sensor を使っていました。電源投入後ボタンを押すと、その時点での方向を基準として8方向を出力できるため、相手ゴール方向の認識が非常に楽です。ただし、精度は悪かったです。
2010年度頃は、RDCM-802 を使用していました。RCJ サッカーでは結構定番のようで使っているチームを良く見かけます。安く入手性も良いからでしょうか ? 8 方向しか分かりませんので精度は高くありません。そのため以下のような方法で精度アップをして使うチームもあるようです。RDCM-802.jpg
・磁場の状況により、範囲が広く出る方向と狭く出る方向があるため、その場の状況で狭い方向をロボットの前面とするよう調整する。
・2枚を重ねて使用してロボット前面で狭い範囲がセンシングできるよう調整する。
・2 つの方向の境目を使う。
RDCM-802 は3bit のデジタル出力ですが、IO 本数を節約するために簡単な DA コンバータ回路を作成してアナログ出力にする方法もあるようです。
 
方位センサーの使い方によっては調整のためにはセンサー本体を回す必要がありますので、回すための機構を工夫したり、回した時に配線がはずれる等のトラブルが発生しないよう工夫する必要があります。(上の写真を見て頂くと分かるかと思います)

また、周囲やロボット自体の磁気の影響を受けないよう、可能な限り高い位置に設置する必要があります。なるべくロボットのボディーは非磁性体を使う、磁気シールド性のある金属を磁気センサーの下に設置する等の考慮をしているチームもあるようです。
 
埼京ファイターズ2011は RDCM-802と HMC6352 を併用し現場の状況に合わせてどちらかを使用していたようです。HMC6352はキャリブレーションも出来ますし精度も高く高機能です。価格もお安くなりましたし、今後使うチームが増えそうです。ただし、I2C での通信が出きるコントローラと I2C 通信に対する知識が必要です。

  • 光センサー

連続光ボールには Wiltronics の RoboBall FlyEye Sensor を使っていました。LEGO ブロックがついているのは、RCX の頃に瞬間接着剤で固定してしまって剥がせないから...(笑)。SANY0026.JPG7 つの光センサがついていて 180℃ の光の方向と強さを同時に検知できます。ただし、時分割で方向と強さが交互に出力されますので、1秒に 10 回程度しか値が更新されません。また出力されるアナログ値に個体差が激しく、どうキャリブレーションしようとも単一の閾値を複数のセンサに適用することが出来ない問題もあります。尚、新ボールのパルスモードには対応していません。長年使ってきただけに文句ばかりですみませんが、単一の光センサから複数方向の検知にステップアップするためには非常に楽なセンサでした。
 
ロボカップジュニアサッカー新ボールに対応したセンサーの情報についてはこちらにHiTechnic NXT IRSeeker V2 についてはこちらに記事があります。


埼京ファイターズ2011は和歌山ノードのWS02HPL-IRM0101を併用していました。WS02Hは残念ながら販売中止ですが、新機種を和歌山ノードが開発されることをお祈りします。PL-IRM0101 は前面ボールの検出にしか使用していませんので「筒」が必要だったようです。
  •  超音波距離センサーSANY0031.JPG
埼京ファイターズ2011は、パララックスのPING)))を使いました。Maxsonar EZ1  も使ってみましたが、PING))) のほうが精度が高く制御も楽のようなので、今は PING)))を使っています。こちらを見て頂くと分かりますが、ホールドオフタイムが違う2種類のものが市場に出回っているようで注意が必要です。


 

  • 床センサー
ELEKIT のグレースケールセンサを使っていた頃もあります。かなり精度が高く数センチの違いでもセンシング出来る素晴らしいセンサでした。コート内の位置の判断にも使えますし、移動しながらセンシングしてどちらの方向に移動しているか判断することも出来ます。ただし既に生産終了しています。新ルールの緑のカーペットではあまり役に立たないと思います。


尚、センサーを扱うためのソースコードについてはこちらにて公開されているソースコードを参考にして頂ければと思います。ロボデザイナのものですが C 言語なので他のプラットフォームへの移植も容易いはずです。

2011.8.3 最新の内容とするため大幅に書き換えました。


amazon で「ロボカップジュニア」を検索 !

amazon で「ロボカップジュニア センサー」を検索 !
posted by モッパー at 11:37| Comment(20) | TrackBack(0) | センサー
にほんブログ村 その他趣味ブログ 電子工作へ