Team GRA・CHAN!

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

Entries

スポンサーサイト

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

超音波センサというのは?? - その4 今までの補足 さらにその1-

こんにちは、GRA父です。

もうすぐ9月ですね~。
もうじき会社の研修で低山ですが、なぜか登山!をします(涙)

小学校の頃、林間学校で富士山の5合目から7合目(?)ぐらいまで上りましたがそれ以来ですか。

まず間違いなく途中でへばるんじゃないかなぁ~。
その日が待ち遠しくない!今日この頃です。

さて本題をば。

前回、超音波センサPING)))を例にしたプログラムの考え方のようなもの?を書きましたが、今回はそれらを含めた補足?的なことを書こうと思います。

その中でも今回は、複数個ある超音波センサの動作方法について書きたいと思います。

どういうことかというと、まず最初に。

例として、同じ方向に向けた超音波センサがAとBと2つあるとし、同じ反射物体に超音波を発信するとします。

同時に超音波を発信すると反対側の反射物体にもよりますが、ほぼ同時に反射波が帰ってきます。

この例の場合には普通、それほど問題なく受信できます(=家でやったPING))))でのテストでは。)が、もし反射物体に凹凸があり、Aの超音波センサは遠くの物体で反射、Bの超音波センサは近くの物体で反射した場合、Aの超音波センサはAで発信した反射波で受信するのではなくBの超音波センサで発信したものを受信してしまうケースがあります。(ケースbyケースですけど)

この状態になってしまうと、当たり前ですが正確なデータは計測できません。
この計測データを正常にする為には普通、超音波センサの間隔を十分に開けて取り付けます。

といっても、ロボカップにエントリーするロボットは”超音波センサの間隔を十分開ける”ことはできないので、同時に動かすということはなかなか・・・。

その為、このような同じ方向に取り付けて発信するようなケースでは、2個の超音波センサを同時に発信させるのではなく、1個、1個各々動作させる制御が必要です。

1個目の超音波センサが動作をして反射を受信をしたのちに2個目の超音波センサを動かす、つまり1個、1個動かしなさい!ということですね。(かなり曖昧に書いちゃいました(笑))

また同じ2個でも、全く反対に向けて取り付けて発信(=右設置・左設置とか)の場合、同時発信は思った以上にうまくいきます。

ですので、もし同時発信をしたい場合は、超音波の発信方向が異なる組み合わせ、左・右の組み合わせ、前後の組み合わせとか、また左・後、右・前とか同じ方向でない場合であれば可能かと。

但しロボットの構造によっては、これもNGとなりますので、まずはお試ししてからがいいと思います。

でも同時発信をしたからといって計測する方法は、1つのマイコンだとマルチタスク的な処理は望めないので、結果、2個目の計測データは補正をしないと使い物にならないデータになりますので、ご注意をば(笑)

普通、電子工作で考えると2個同時とか3個以上同時に動かそうなんて発想はしないとは思いますが、念のため(笑)

ということで、ロボカップジュニアのサッカーでは2個以上超音波センサを取り付ける(当方チームの場合は4個でしたね。)のが多いので、1個、1個動かすようにしないといけません。

と、いいつつ完全同時でなく時間差動作であれば、2個までならできないこともないですが、それはプログラムの腕次第になるので、ここでは割愛します(笑)

参考にですが産業用の超音波センサの例ですが、産業用の場合、1つの超音波センサにはマイコンが搭載されていて自身で発信・受信制御をしています。
つまり電源入れれば勝手に動くわけですね。

複数個超音波センサを使う場合において、同じような悩みがでます(笑)

先程の同時発信や1個1個制御するやり方(=時間差動作)を”同期信号”という信号を超音波センサ同士で繋いで”同期”をとります。

つまり、この信号がONしている場合は、同時に発信とか、1個目が発信しているよ、だから2個目は発信するなよとか、予め決められた動かし方を決めていて、そのタイミングの取り方が”同期”といってます。

ロボカップのような場合は、1つのマイコンで複数の超音波センサを動かすので”同期信号”は不要ですが、やっている制御は”同期”制御とイメージ的には変わんないことをしているのですよ!

あ、ちなみに当方チームの場合ですが、4個の超音波センサを1つ、1つ動かして、すべて計測終了してから走行プログラムへ進むようにしているようです。


最後に、4個を1つ1つ動かすと遅いじゃない?と思う方へ。

オープンAに限って書くと、コートサイズは122cm×183cmですよね。

といことは、自分のロボットのサイズを22cmとすれば、横軸は122-22=100cm、縦は183-22=161cmです。

100cmというこは2で割ると1個あたり50cmですが、1個の場合、0~100cmの範囲で増減するので、そのままなにも考えず横は100cm、そして同様に縦は161cmと考えると、100cm+161cm=261cmとなり、動作時間は単純に考えると1個の超音波センサのMAX18.5msよりも短くなります。

これに(入力トリガ時間+ホールドオフタイム時間)×4をした時間を加えても、やっぱり1個分の超音波センサ相当の時間になりますよね(笑)
まぁ、イレギュラーな状態や次回書く事を踏まえると、4個の超音波センサが動作する時間は、大体2個分の超音波センサの動作時間をしていることになります。

以上、ご参考までに(笑)


実は、今回書いた内容は補足事項のその1相当です(笑)
その2相当も大部分できていたのでですが、その1にいらんことを追加したら恐ろしいほどの長文でしたので分割しました。

ここまで読んだ方、大変ご苦労様です(爆笑)

その2相当もこれから追記やら修正やらしていくので、そのうちにUPしたいと思います。


以上、できれば研修、行きたくね~と思うGRA父でした~。
スポンサーサイト

Comment

Comment_form

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

左サイドMenu

黒ねこ時計 くろック

最新記事

最近のコメント

データ取得中...

右サイドメニュー

アクセス カウンター

検索フォーム

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