mp_potential_settings()


mp_potential_settings

mp_potential_ 関数で行う回避運動のパラメータを設定する

構文

mp_potential_settings(maxrot, rotstep, ahead, onspot)
maxrot
一回の処理で可能な進行方向変化量の最大値(デフォルト値:30)
rotstep
回避運動の実行間隔(ステップ数)(デフォルト値:10)
ahead
障害物認識のための先読みステップ数(デフォルト値:3)
onspot
回避運動の有無(デフォルト値:true)

戻り値

N/A.
なし

説明

 この関数は、mp_potential_ 関数の回避運動パラメータを設定します。mp_potential_ 関数は次のように動作します。
 まず障害物が無い場合、目標に向って直進しようとします。そして(ahead)で設定したステップ数分だけ障害物の有無を先読みします。
 もしも障害物を発見した場合は、右か左のどちらか最善の方向へ回避する運動に切り替わります。 (ahead)で回避運動を開始するタイミングを設定します。値を小さくすると障害物に近づいてから回避し始めます。回避運動は(rotstep) / (maxrot)により設定します。
 (rotstep)で回避運動を実際に行うタイミングを設定します。この間隔を短くすれば小刻みに判定するので回避率が上がりますが、その分処理負荷が高くなります。
 (maxrot)で一度に行う進行方向の最大変化量を設定します。これを大きくすると、各回避ステップで進行方向を大きく変化させることが出来るので障害物を回避しやすいですが、本来通るべきパスの精度が悪くなってしまいます。小さく設定すればパスをスムーズにトレースしますが、回避運動の精度が落ち、目標座標までたどり着けなくなるケースも出てくるかもしれません。
 (onspot)により、回避運動の有無を指定できます。trueで(maxrot)に応じた回避運動をします。falseなら回避せず静止します。 このアプローチは付近の情報しか見ないので注意してください。付近の情報のみで回避できるのであれば良いですが、迷路のような障害物を通り抜けることは通常失敗します。

mp_potential_settings(45, 5, 5, 0)

上記コードは mp_potential_ 関数で使用する設定となります。5Step先を読んで、1Stepあたり45度方向を転換しつつ、5Stepごとに計算を行います。また障害物に衝突した際には動作を停止します。


関連

Wiki内検索

#search(): You already view a search box

MENU

ドキュメント

GMLリファレンス

2ch

その他



最新の30件

2024-03-07 2023-08-09 2023-05-21 2023-05-20 2023-05-04 2022-10-13 2022-07-21 2022-07-02 2022-04-06 2021-11-30 2021-11-26 2021-10-03 2021-09-23 2021-08-15 2021-06-02 2021-01-23 2021-01-21 2021-01-19 2021-01-18 2021-01-16 2021-01-15

人気の10件

今日の10件



これまでの訪問者: 1766
今日の訪問者: 1
昨日の訪問者: 0
閲覧者: 9