ロボカップ姉妹の日常

ステッピー&ロック・オンの姉がロボットとか作りつつ制御の勉強してみたり、部品作ってあそんでみたり…

スポンサーサイト

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

【第二回】超音波センサで距離を制御する ~比例制御編~

前回は超音波によるON/OFF制御について書いたので、今回は比例制御です。
過去に書いた『【第二回】比例制御でライントレースをする ~実践編~』で公開したプログラムとほぼ同じです。
比例制御の基本的な話は『【第一回】比例制御でライントレースをする ~概要編~』をご覧ください^^






早速、超音波センサによる比例制御プログラムのサンプルを。

右クリック→対象をファイルに保存でどうぞ。
テキストファイルとして保存されてしまう場合は保存方法を「テキストドキュメント」から「全てのファイル」に切り替えて、ファイル名の最後に「.Csy」とつければ大丈夫です(-_-)b
PING_P.Csyのダウンロード

フローチャートは以下のようになっています。
目標値というのは目標の距離のことです。目標値とセンサ値の差が偏差となります。
130812_03.png
130812_04.png
130812_05.png



正直、単純に壁などから一定距離を保って走行するだけなら前回の記事で紹介したON/OFF制御でも十分だと思いますが………

次の動画を見比べてください。

↓ON/OFF制御で坂を登る↓



↓比例制御で坂を登る↓


坂を登りながらの制御では機体が安定しないので、ON/OFF制御特有のハンチングが顕著になっており、機体のガタつきが原因でタイヤが滑りやすくなっています。
それに比べ、比例制御は全くブレなく坂を登っています。

同じように、高速で走行しながらのON/OFF制御ではハンチングが大きくなり、それが原因でロボットが転倒してしまう場合があります。
このように、制御のガタつきが望ましくない場合、機体が不安定な場面、高い精度の距離制御が必要な場合は比例制御の方が適しています。

スポンサーサイト

【第一回】超音波センサで距離を制御する ~ON/OFF制御編~

先日、父の講習会にアシスタントとして出てきました( ・∀・)ノ
その中で紹介した超音波センサによる障害物回避について、センサ制御のコツをお話ししたので記事にまとめてみようと思います。

少し気を付けるだけで見違えるので、一度試してみてください( ^ω^ )


  • 超音波センサの読み込みは1回で済ませる
超音波センサは下の図のように、センサが音を発してから音が反射されてくるまでの時間を計ることで、距離を計測しています。
PING3.jpg


次にこちらのタイミングチャートを見てください。
PING-2.jpg
これは超音波センサPINGのタイミングチャートです。
見てわかるとおり、最短470us、最長18.9msかかります。
これを長いと感じるかどうかは超音波センサの用途によりますが、光学センサとは比べ物にならないほど時間がかかるので、注意が必要です。

よって、超音波センサの値を何度も判断に使いたい場合は、必要以上に読み込み直さず、あらかじめ値を格納するための変数を作っておくことをオススメします。




  • 通常時は近づく制御
障害物回避のプログラムを作るとき、最小で障害物の周りを回るには少しコツが要ります。

ON/OFF制御は制御が必要でないOFF状態と、ロボットが障害物に近づき過ぎて離れる必要があるON状態の2状態に分けて制御を行います。
130812_01.png
このとき、
通常時…障害物に接触しようとする軌道
近づきすぎた場合…障害物から離れていく軌道
という設定にすると、「常に障害物に接触しようとするのを超音波センサで避ける」動きになるので、動画のように四角い障害物を四角く回ることができるようになります。

↓四角い障害物を四角く回るロボット↓






上記を踏まえたうえで、TJ3Bで使える距離制御プログラムを作りました。
右クリック→対象をファイルに保存でどうぞ。
テキストファイルとして保存されてしまう場合は保存方法を「テキストドキュメント」から「全てのファイル」に切り替えて、ファイル名の最後に「.Csy」とつければ大丈夫です(-_-)b
PING_onoff.Csyのダウンロード

フローチャートも描いたので、TJ3ユーザーでない方も是非試してみて下さい^^
130812_02.png

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