Team GRA・CHAN!

Robocup Junior サッカーに挑戦しているTeam”GRA・CHAN!”ロボ日記

Entries

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

LEGO用コンパスセンサー③

こんにちは、GRA父です。

今日は、”End of Life Products(=製造中止)”となっていますRCX用コンパスセンサーについて書きたいと思います。(今日は、いつも以上に、長いですが、お付き合いして下さいな。)

ご紹介するRCX用コンパスセンサーは、mindsensors社のCompass for RCX (CMP01L)です。

①と②でNXT用コンパスセンサーは、I2C通信で、NXTと接続すると書きましたが、このコンパスセンサ-はRCXとは、”光センサー”として接続します。
精度は、0~99の範囲で、方位に該当する値を返します。
もちろん、”0”が真北です。

キャリブレーション(=補正)機能がありますので、余程の磁場が悪い会場でない限り、キャリブレーションすれば、問題なく使用できます。
(GRA兄は、キャリブレーション機能のおかげで、一度も磁場の影響を受けませんでした!。)
但し、磁場が悪い環境では、モータ又は、RCXよりも7cm以上、上につけないとキャリブレーションしても使えませんが・・・。(我が家に魔の磁場地帯があるので、そこは使用不可でした。)

今回なぜ、このコンパスセンサーのことをUPしたかと言いますと、実は、2009年埼玉ノード大会でGKロボに使用していたからでした~。

先も書いたとおり、RCXから見ると光センサーです。
NXTから見れば、RCX用光センサーの扱いになるのではと思い、使用させました。
GRA・CHAN!達は、NXT用でないセンサーでしたので、ブーイングをしていましたが、私のサイフが難ありで、単純に買えなかっただけでという理由もありましたが、ちょうど購入しようとした時期が悪く(出来るだけ、11月までには購入しないと、シーズンインなのか、どこも2月中旬まで在庫切れが続く・・・。)、国内の取り扱っているところが、どこも”在庫切れ”なので購入できず、海外のHiTechic社は”在庫切れ”、mindsensors社のものは既に”End of Life Products(=製造中止)”でした。
ようは、購入手段がことごとくなかったのです。

NXTとの接続は、やはりRCX用光センサとして認識され接続できましたが、帰ってくる値がとんでもない数値を返します。
0~99として、返すのですが、”1~99”までは順調にカウントアップしますがこの”99”と”0”と”1”との間が、円の角度で表す(一周360度、90度が真北ね)と、-90度(いわゆる0度又は360度)まで”1”にならない!。
”0”が延々と続く状態に・・・・。
何度も、コンパスセンサーをキャリブレーションさせ、補正を行いましたが、結果はやっぱり同じ・・・。
そりゃそうですよね、NXTは0~254までみれるんですから・・・。

GRA・CHAN!のプログラム担当であるYが”こんなのプログラムできない!!”とまで言う始末。
確かに難しい・・・。
実験を繰り返し、なんとか”0”が続くエリアをパスする技(=プログラムね。)を編み出して、埼玉ノード大会をパスしました。

今思うと、もし、コンパスセンサーの”0”エリアがクリアーできなければ、ノード敗退だったろうと考えると、冷や汗が出ますね(笑)。
これを教訓に、ソッコー、NXT用コンパスセンサーを輸入したGRA父でした(涙)。

使い方次第ですが、コンパスセンサーの値に頼りすぎないプログラムを考え、”0”をパスでき、真北が必ず”0”になってもいいプログラムを作れば、NXT用コンパスセンサーよりも、遙かに高速に値を返しますので、ハンドリングはかなり良いです。
GRA・CHAN!は、ブロック大会から、かなり細かくコンパスセンサーの値に頼るプログラムになりましたので、このRCX用コンパスセンサーは使用できません。

これからは、疑似対戦相手用として活躍する予定です。

その他として、私が知る限りでは、RCX用コンパスセンサーは、Wiltronics社のRoboball Compassが販売しています。
性能はmindsensor社のものと比べてしまうと、ちょっと良くないみたいです。
また、価格も若干高めですね。
(GRA・CHAN!達が使用する場合は、1台のロボットに最低2個は必要になるな・・・。)

後は・・・・自作ですかね・・・・。
英語圏のblogには、RCX用センサ自作を紹介するものが数多くあります。
その中に、自作コンパスセンサがいくつかありました。
(すいません、GRA兄時代に調べたことなので、再度、調べてみましたが・・・・です。)

そういえば、いまこのblogを書いていて、NXT用コンパスセンサーで、重要なことを書き忘れました。
ゴメンナサイ!、パート④をUPします。
スポンサーサイト

Comment

Re: LEGO用コンパスセンサー③

モッパーです。こんにちは。

mindsensors社のCompass for RCX ですが、最強ファイターズも RCX 時代に使っていました。確かにキャリブレーションの効果はあったようですが、当時は結局 4 方向の検出にしか使わなかったのでキャリブレーションするごとに閾値を調整する必要があるためひどく時間がかかって試合毎にハマっていました。プログラムも難しくなりメンバー達が毛嫌いしたことと、1台壊して2台しか残ってないので予備品が無くなってしまったので昨シーズンは使っていません。メンバー達はまだ気付いてませんがオムニの場合にどうなの ? という部分を考慮すると、再度使って見る価値はあるかも知れないと思っています。

今はWiltronicsのRCX用と秋月のデジタルコンパスの双方を搭載してどちらが良いか現場で調整して判断していますが、メンバー達曰くWiltronicsのほうが良いとのことです。Wiltronics は見た目流体を使ってセンシングする(?)アヤシー感じのセンサーですし、自宅で私が試すと絶対秋月のほうが良いのですが、なぜWiltronicsのほうが良いのか私も理解出来ていません。

2 軸・3軸のコンパスセンサーとかも市販されているようですが、用途とか精度とかよく把握出来てません。何かご存知でしょうか ? いつも他力本願ですみません。
  • posted by モッパー
  • URL
  • 2009.08/01 20:46分
  • [Edit]

Re: Re: LEGO用コンパスセンサー③

モッパーさん、こんにちは。
GRA父です。

> mindsensors社のCompass for RCX ですが、最強ファイターズも RCX 時代に使っていました。

 今、思い出しました。
 当時のGRA兄が、”対戦相手で、うちのコンパスを使っている小学生2~3
 年生のチームがいるよ”と言っていましたね。

>メンバー達はまだ気付いてませんがオムニの場合にどうなの ? という部分を考慮すると、再度使って見る価値はあるかも知れないと思っています。

 う~ん。オムニだからとは正直、思えませんけど、かなりコンパスに頼るプ
 ログラムにすると、経験値上、8方位では、全く足りないですね。
 たしか、沼津オープンを見に行った時、どっかのチームが2枚コンパスとつ
 けていて、16方位にしていたと記憶してます。(チーム高浜さんか?)
 そういう意味では、Compass for RCX は、優れものですから、個人的には
 利用できるなら利用された方が良いと思います。
 ただ、2線式なんで、電源供給してセンサー値もらってという制御を子供が
 どこまで理解できるかですね。(うちは無理ですが・・・。)

> 2 軸・3軸のコンパスセンサーとかも市販されているようですが、用途とか精度とかよく把握出来てません。何かご存知でしょうか ?
 秋月のコンパスモジュールって、GEOSENSORY社のRDCM-802
 (http://www.geosensory.com/rdcm-802.htm)でなかったのではないので
 しょうか?。
 あれって、2軸じゃないんですか?。
 もし違うとなると、2軸は勘違いしてますね。(笑)。
 3軸は、ご存じだと思いますが、最近では、auの携帯に搭載されている電子
 コンパスモジュール同様、2軸方向+上下があるので、傾き方向も判ります。
 ロボカップジュニアの競技では、ダンスを除くとするとレスキューで力を発揮
 しますが、サッカーでは必要性があるのかどうか・・・。
 私が知っている3軸の中で、唯一モジュールになっていて、一般でも購入で
 き、高性能なものは、PNI Sensor社のCompassPoint PRIME
 (http://www.pnicorp.com/products/all/prime)があります。
 あとは、やっぱり一般で購入するモジュールとなると、8方位程度ですので、
 めぼしいものはないですね。
 同社では、高精度2軸モデルも、リリースしています。
 (2軸は、メカロボショップで通販購入可能) 
 両方とも、かなり精度が良いみたいですし、SPIインターフェースで接続します
 ので、細かい値がもらえます。
 モッパーさんの所には、ここのメーカーがおすすめですかね。

  • posted by GRA父
  • URL
  • 2009.08/01 23:14分
  • [Edit]

Re: Re: Re: LEGO用コンパスセンサー③

先ほどのコメントで、誤解をさせるようなコメントを書きましたので、訂正します。
(新しい記事を書くみたいに、コメントも再編集できればコメントのコメントを書かなくても良いのですが。)

>3軸は、ご存じだと思いますが、最近では、auの携帯に搭載されている電子コンパスモジュール同様、2軸方向+上下があるので、傾き方向も判ります。

傾きが判るんじゃなくて、2軸コンパスは水平にしていない状態、例えば携帯電話のように人間が手に持った場合は、方位がめちゃくちゃになりますが、3軸は、上下方向で判断して、水平でなく斜めでも正しい方位を出力(補正して)してくれる電子コンパスです。
3D加速度センサのように、Z軸が判るわけでは、ありません。
  • posted by GRA父
  • URL
  • 2009.08/01 23:52分
  • [Edit]

Re: LEGO用コンパスセンサー③

モッパーです。

すみません、2 軸の意味を全く勘違いしていました。加速度センサと違って 1 軸の意味があまりないですもんね。

GRA! 父さん、さすがにお詳しいですね!!! すごい !!! 調子に乗ってもう少しお聞きしてしまいます。

SPI はロボデザで扱えるか全く未知数なのでメカロボショップのPN002 Vector 2Xe コンパスモジュールは対象にはしていませんでした。

あとは、以下の Sparkfun の以下のやつですが、評価されたことはありますでしょうか ?
http://strawberry-linux.com/catalog/items?code=18038

>う~ん。オムニだからとは正直、思えませんけど、かなりコンパスに頼るプ
 ログラムにすると、経験値上、8方位では、全く足りないですね。

最強ファイターズは今まで 2 輪走行しかやってきてませんので、実は相手ゴールを向いているかいないかという 2 方向制御を基本としていました。それに加えてちょっとしたオウンゴール回避制御やフィールド角のボール追い出しで昨シーズンから 8 方向を使い始めた程度です。なのでいかに相手のほうを向いているかどうかセンスする精度をアップするかが今まで最も重要な課題でした。
上記のような経緯のなかでオムニを採用して、メンバー達はコンパスセンサーを使った姿勢制御に対して多いに悩んでいます。安易に答えを出してやりたくないので、今は気付くまで放置してありますが。

ここからは私の理解の範疇です。「オムニの姿勢制御で何故コンパスセンサの精度が必要か」は「相手ゴール方向に常に向かい続けるためには何をすべきか」の解決のためであり、二枚コンパスは 16 方向と言うより「いかに相手ゴール方向を絞り込むか」を目的としていると理解していたのですが、この認識は間違っているのでしょうか ?

別のスレッドで書かれている、ガンローラーの件、大変期待しています。以前メンバー達が質問して色々お聞きしたようで非常に興味を持っていました。

いつも長文で申し訳ありません。よろしくお願いします。
  • posted by モッパー
  • URL
  • 2009.08/02 20:07分
  • [Edit]

Re: Re: LEGO用コンパスセンサー③

モッパーさん、こんにちは。

> GRA父さん、さすがにお詳しいですね!!!

たまたま、職務柄、3軸電子コンパス素子を選定する機会があっただけでの偶然ですよ。
ロボカップジュニアの方のメンター知識だと、NXT用コンパスで終わりでした(笑)。 

> あとは、以下の Sparkfun の以下のやつですが、評価されたことはありますでしょうか ?
> http://strawberry-linux.com/catalog/items?code=18038

これは、NXT用コンパスが入手不可の為、RCX用コンパスを使わざる追えない時、検討したことがありますが、仕様を見る限り、かなり良いと思いました。
が具体的に購入していないので、最終判断は何とも・・・。
(GRA・CHAN!達のスキルでは無理だと判断(I2Cコマンドまで教えていなかった)したので・・・。)

> ここからは私の理解の範疇です。「オムニの姿勢制御で何故コンパスセンサの精度が必要か」は「相手ゴール方向に常に向かい続けるためには何をすべきか」の解決のためであり、二枚コンパスは 16 方向と言うより「いかに相手ゴール方向を絞り込むか」を目的としていると理解していたのですが、この認識は間違っているのでしょうか ?

常に、相手ゴール方向を見るようにしているチームさんは、その通り、正解だと思います。

ただ、GRA・CHAN!達の見解は、似ているようで異なります。
GKロボは、ゴール前に居座っている時は、相手ゴール方向を向くため、姿勢制御させているらしいですが、FWロボの場合、姿勢制御よりもまず、敵ロボより早くボールを見つけ、追いつくことが最優先のようです。
ですから彼女達の見解では、オムニは、全方位にボールを取りに行く手段、コンパスは、ボールがある方向が自分ゴール方向なのかどうかの判断やボールを奪取できた場合、相手ゴール方向に向きを変える等の判定手段だそうです。
コンパスの使い方は、他にもいろいろやっているそうですが、これ以上は許可なくUPするとまずい(企業秘密だそうです)ので、コメントは差し控えさせて頂きますが・・・。
(別に良いと思うけどなあ。)

話から推測するには、彼女達は”あまり姿勢制御していないし、する気もない!!”というオチですね。
(この件は、好きにさせておりますので、何とも・・・。)

個人的には、姿勢制御させないと不利な点も多く見受けられますので、した方が有利ぽいとは思いますが、いかせんNXTとガンローラの組み合わせでは、難しいのではないのかなとは思えますね(笑)。

まあ、姿勢制御をしたらしたで、いろいろ問題がありますしね。
  • posted by GRA父
  • URL
  • 2009.08/02 21:57分
  • [Edit]

Re: LEGO用コンパスセンサー③

モッパーです。こんにちは。

うーん、なるほど。

最強ファイターズはとりあえず 2 輪走行の頃と同じ感覚でボールを追うプログラムを作っていたので「そんなんじゃオムニの意味ないんじゃないの ?」と言ってしまいましたが、オムニで姿勢制御しないというのもひとつの選択肢なのかもしれませんね。目から鱗です。まずは好きなようにやらせて見ようと思います。
  • posted by モッパー
  • URL
  • 2009.08/03 21:45分
  • [Edit]

Re: Re: LEGO用コンパスセンサー③

モッパーさん、こんにちは。

この件、今日、もう一度、彼女達に聞いてみたのですが・・・。
姿勢制御の考え方に関しては、もしかしたら、私たちメンターは、お互いの子供達に、とんでもない敵をロボットに使せてあげているのかもしれません。
それが災いしているのかも・・・。
姿勢制御する他チームとは違い、光センサー数が極端に多いですから・・・。
  • posted by GRA父
  • URL
  • 2009.08/03 23:19分
  • [Edit]

Comment_form

管理者のみ表示。 | 非公開コメント投稿可能です。

左サイドMenu

黒ねこ時計 くろック

最新記事

最近のコメント

データ取得中...

右サイドメニュー

アクセス カウンター

検索フォーム

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。