11

私は障害物でいっぱいのフィールドを持っていて、それらがどこにあるか、そしてロボットの位置を知っています。パスファインディングアルゴリズムを使用して、ロボットがたどるパスを計算します。

今私の問題は、ロボットをグリッドからグリッドに誘導しているのですが、これはそれほどスムーズではない動きを作成します。私はAから始めて、鼻をポイントBに向け、ポイントBに到達するまでまっすぐに移動し、すすぎ、最後のポイントに到達するまで繰り返します。

だから私の質問は、私がスムーズな動きを得るように、そのような環境でナビゲートするためにどのような技術が使用されているのかということです。

ロボットには2つの車輪と2つのモーターがあります。モーターを逆回転させてモーターの向きを変えます。

編集:私はモーターの速度を変えることができます基本的にロボットはarduinoとardumotoです、私はどちらの方向のモーターにも0から255の間の値を供給することができます。

4

4 に答える 4

8

差動駆動ロボットにはフィードバック線形化が必要です。このドキュメントでは、セクション2.2で説明しています。以下に関連する部分を含めました。

プロジェクトに必要なシミュレートされたロボットは、制限された速度の差動駆動ロボットです。差動駆動ロボットは非ホロノミックであるため、学生はフィードバック線形化を使用して、アルゴリズムからの運動学的制御出力を変換し、差動駆動ロボットを制御することをお勧めします。変換は次のとおりです。

変身

ここで、v、ω、xyは線形、角速度、および運動学的速度です。Lは、ロボットのホイールベースの寸法に比例するオフセット長さです。

于 2010-05-25T17:33:53.447 に答える
5

私がかなり良い結果を得た1つの制御アルゴリズムは、純粋な追跡です。基本的に、ロボットは、ロボットの前方の一定距離のパスに沿ったポイントに移動しようとします。そのため、ロボットがパスに沿って移動すると、先読みポイントも進みます。アルゴリズムは、可能なパスをアークとしてモデル化することにより、非ホロノミック制約を補正します。

先読み距離が大きいほど、動きがスムーズになります。ただし、前方視距離が大きくなると、ロボットが角を切り、障害物と衝突する可能性があります。この問題は、Vector Field Histogram(VFH)と呼ばれるリアクティブ制御アルゴリズムのアイデアを実装することで修正できます。VFHは基本的に、ロボットを閉じた壁から遠ざけます。これは通常、ある種の距離測定センサーを使用しますが、ロボットのポーズと障害物の位置がわかっているため、障害物の相対的な位置を推定できます。

于 2010-06-18T07:16:26.730 に答える
1

これについての私の最初の考え(私は仕事をしているので、あまり多くの時間を費やすことはできません):

これは、コーナーをどれだけタイトにするか、または必要とするかによって異なります(これは、パスファインダーが障害物からどれだけの距離を与えるかによって異なります)。

ロボットの幅が与えられると、各車輪の速度が与えられた場合の回転半径を計算できます。できるだけ速く進みたいと仮定し、横滑りが問題にならない場合は、常に外側のホイールを255に保ち、内側のホイールを必要な回転半径が得られる速度まで下げます。

パス上の特定のターンの角度と使用するターン半径を指定すると、内側のホイールの速度を落とすノードからの距離を計算できます。

于 2010-05-25T14:41:39.870 に答える
0

最適化アプローチは、これを処理するための非常に一般的な方法です。

計算されたパスを一般的な非線形最適化アルゴリズム(選択!)への入力として使用します。コスト関数は、入力軌道への回答軌道の近さ、非ホロノミック制約、およびその他の制約の順守で構成されます。強制したい(例えば、障害物から離れている)。最適化アルゴリズムは、元の軌道から構築された軌道を使用して初期化することもできます。

Marc Toussaintのロボット工学コースノートは、このタイプのアプローチの良い情報源です。特に講義7を参照してください:http: //userpage.fu-berlin.de/mtoussai/teaching/10-robotics/

于 2013-01-24T12:07:28.767 に答える