4

物理シミュレーションを実行し、一連の動作命令をシミュレートされたスケルトンに適用しています。脚、腕、胴体などへの力の適用と、それぞれの骨に適用される力の持続時間で構成される、スケルトンの複数のセットの指示があります。各命令セット (動作) は、目的の動作を実行するその有効性をテストし、遺伝的アルゴリズムを使用してその動作を他の同様の動作に変更し、再度テストすることによって開発されます。スケルトンのセット リストには、配列の動作が含まれます。

安定性、速度、エントロピーの最小化、および関節の力をテストするフィットネス関数があります。問題は、特定の動作が特定のコンテキストで機能することです。1 つの動作は平らな地面で動作し、別の動作は右足の前に隆起がある場合に動作し、別の動作は左足の前にある場合などです。したがって、各行動の適合性はコンテキストによって異なります。以前のフィットネス レベルで行動を選択しても、そのフィットネス スコアはこのコンテキストには適用されないため、機能しません。

私の質問は、スケルトンがコンテキストに最適な動作を選択するようにプログラムするにはどうすればよいですか? ランダム化された凹凸のある地形に最適な歩行動作を選択するなど。

4

5 に答える 5

2

この質問に対する別の回答では、モデルの「地形」情報は非常に近似的であり、「滑らかで平ら」、「荒い」、「岩が多い」など、大まかなものであると想定しました。 . そしておそらくグリッド レベルでのみ。ただし、 3D レーザー レンジ スキャナーのシミュレートされたバージョンなど、実際に世界モデルが非常に詳細である場合、ロボット工学からのアルゴリズムおよび計算パス/モーション プランニングアプローチは、機械学習分類器よりも有用である可能性があります。システム。

パス/モーションプランニング方法

かなり多数のパスおよびモーション プランニング方法があり、おそらくウォーキング/移動に適しているものもありますが、言及する価値のあるより一般的なもののいくつかは次のとおりです。

  • 可視性グラフ
  • 潜在的なフィールド
  • サンプリングベースの方法

一般的なソリューション アプローチは、パス プランニング メソッドを使用して、障害物を回避するためにスケルトンがたどるべき歩行軌道を決定し、GA ベースのコントローラーを使用して適切なモーションを実現することです。これはまさにロボティクスの核心です。世界を感知し、何らかの目標を達成するために必要な行動と運動制御を決定します。

また、文献をすばやく検索したところ、次の論文と書籍がアイデアのソースとして、またさらなる調査の出発点として見つかりました。脚付きロボットの動作計画に関する論文は、いくつかの動作計画戦略について説明しているため、特に役立つ場合があります。

提案を読む

スティーブン・マイケル・ラヴァレ(2006)。計画アルゴリズム、ケンブリッジ大学出版局。

クリス・ハウザー、ティモシー・ブレットル、ジャン=クロード・ラトムブ、原田謙介、ブライアン・ウィルコックス (2008)。「さまざまな地形での脚式ロボットの運動計画」、国際ロボット研究ジャーナル、Vol. 27、No. 11-12、1325-1349、DOI: 10.1177/0278364908098447

Guilherme N. DeSouza と Avinash C. Kak (2002)。「モバイル ロボット ナビゲーションのビジョン: 調査」、IEEE Transactions on Pattern Analysis and Machine Intelligence、Vol. 24、No. 2、2 月、pp 237-267。

于 2010-06-24T05:32:18.967 に答える
1

私の答えには、(1) 制御理論、(2) センシング、(3) センシングとアクションの融合の 3 つの側面があります。

制御理論

問題に対する答えは、使用している制御スキームの種類によって部分的に異なります。それはフィードフォワード制御ですか、それともフィードバック制御ですか? 後者の場合、地形情報以外にどのようなシミュレートされたリアルタイム センサーがありますか?

単に地形情報を取得して制御戦略に組み込むだけでは、フィードバック制御を使用しているとは言えません。このような情報を使用して、あなたが説明した問題に最も近いと思われるフィードフォワード戦略を選択することができます。

センシング

フィードフォワードまたはフィードバック制御を使用しているかどうかに関係なく、制御システムの入力空間として地形情報やその他の感覚データを表す必要があります。GA ベースのモーション コントローラーのトレーニングの一部として、特徴検出器を学習するために、広範囲のランダムな地形を介してスケルトンを移動する必要があります。特徴検出器は、入力空間を領域に分割することによって、地形シナリオを分類します。これは、何が最善の行動方針であるか、つまり、どの制御動作を採用するかを決定するために重要です。

入力空間を最適に表現する方法は、シミュレーション用の地形情報の粒度のレベルによって異なります。あるグリッド スペース内の地形タイプおよび/または障害物の単なる離散スペースである場合は、変換せずに GA に直接提示できる場合があります。ただし、データが地形タイプや任意の範囲/方向の障害物などの連続空間にある場合は、空間関係を推測しやすい空間にデータを変換する必要がある場合があります。ガウスおよびファジー分類器は後者のアプローチに役立ちますが、離散値コーディングも機能します。

センシングとアクションの融合

上記の入力空間エンコーディング アプローチの 1 つを使用すると、動作選択検索空間とモーション コントロール検索空間 を接続する方法についていくつかのオプションがあります。

  1. 2 つの空間を 2 つの学習問題に分け、別の GA を使用して標準の多層パーセプトロン ニューラル ネットワークのパラメーターを進化させます。後者は、(おそらく変換された) センサー データを入力として、一連のスケルトン ビヘイビアーを出力として持ちます。バックプロパゲーションやその他の ANN 学習方法を使用してネットワークの重みを学習する代わりに、GA はいくつかのフィットネス関数を使用して、一連のシミュレートされた試行にわたってパラメーターを進化させることができます。 B はポイント A から始まります。これは、世代を重ねるごとに、完全にランダムな行動の選択から、より協調的で有用なものへと進化するはずです。

  2. 上記 (1) で説明した多層パーセプトロン ネットワークを既存の GA ベースのコントローラー フレームワークにリンクすることにより、2 つの探索空間 (動作選択とスケルトン モーター制御) を結合し、スケルトン動作セットをリンクとして使用します。進化するパラメーター スペースは、ニューラル ネットワークの重みと、既存のコントローラー パラメーター スペースの両方になります。NSGA-II アルゴリズムなどの多目的遺伝的アルゴリズムを使用していると仮定すると(複数のフィットネス関数があるため)、フィットネス関数は安定性、速度、エントロピーの最小化、関節への力などになります。行動選択ポリシーを学習することを目的としたいくつかのフィットネス関数。たとえば、一定期間内に点 A から点 B に向かって移動した距離。

    このアプローチと上記 (1) の違いは、2 つの問題が分離されているのではなく、結合されている場合にパラメーター空間がよりよく調査される可能性があるため、動作のより良い調整とより細かい運動制御の両方を学習できる可能性があることです。 . 欠点は、妥当なパラメーター ソリューションに収束するのに非常に長い時間がかかる可能性があることです。また、2 つの学習問題が別々に保持されている場合と同様に、モーター制御のすべての側面が学習されるとは限りません。

モーター制御の問題に対する進化したソリューションを既に実行していることを考えると、アプローチ (1) を使用して別の GA で動作選択モデルを学習する方がよいでしょう。また、後者のモデルを学習するために、上で説明したハイブリッド GA-ANN スキームに代わる多くの方法があります。これには、モデルをまったく学習せず、代わりに私からの別の回答で説明されているようにパス プランニング アルゴリズムを使用することが含まれます。あなたはすでに GA ベースの機械学習に精通しているため、このアプローチを提案しただけです。

行動選択問題は、機械学習と自律型ロボティクスの両方でしっかりと研究されている分野です。現在の問題に対するより良い視点と洞察を得るために、このトピック自体を読むことはおそらく十分に価値があり、このレンズを通して問題を見ることで、これまでに提案したものよりも簡単な戦略を考案できるかもしれません。パラダイム。

于 2010-06-22T04:40:35.390 に答える
1

ランダム化された凹凸のある地形に対して動作をテストしてみませんか? GA のパラメーターを少し寛容に設定し、1 つまたは 2 つの失敗に対して動作を非難しないようにします。

2 つの問題があります。

  1. 感覚のない二足歩行は非常に困難です。私は、感覚のない起伏の多い地形でのロボットの優れた移動を見たことがありますが、2 本の足しかありません。したがって、この方法で見つけることができる最善の解決策は、あまり良くない可能性があります。
  2. GA の実行は、科学であると同時に芸術でもあります。回すことができるノブはたくさんありますが、ノイズに溺れずにノベルティを成長させるパラメーターを見つけるのは困難です。

簡単に (クロールなど) 始めると、これらの両方に役立ちます。

編集:
待ってください...同じランダム化された地形で何度もトレーニングしていますか? あなたが困っているのも不思議ではありません!岩や隆起の特定のレイアウトに合わせて最適化することで、一般化するよりもはるかに簡単です。GA の仕組みによっては、コースを非常に長くすることである程度のメリットが得られる場合がありますが、パスごとに地形をランダム化することをお勧めします。地形の特定の機能を利用できなくなると、一般化する進化的なインセンティブが生じます。これはより難しい問題であるため、以前ほど早く学習することはなく、現在のパラメーターではまったくうまくいかない可能性があります。いじくり回す準備をしてください。

于 2010-06-20T02:12:31.620 に答える
0

遺伝的アルゴリズムを使用して動作を変更しているため、要因の組み合わせごとに適合度関数を考案したことを意味するに違いありません。それはあなたの質問ですか?

はいの場合、答えは最適な歩行行動を定義するために使用する指標によって異なります。

  1. 安定性を最大化
  2. 速度を最大化
  3. 関節にかかる力を最小限に抑える
  4. エネルギーまたはエントロピーの生成を最小限に抑える

それとも、一連のパラメーターを試して値を記録し、遺伝的アルゴリズムに最適なソリューションを導き出すだけですか?

それぞれの行動が、あるコンテキストではうまく機能し、別のコンテキストではうまく機能しない場合は、状況を感知して補間する方法を定量化し、戦略をブレンドして、それが役立つかどうかを確認します.

于 2010-06-19T22:23:20.327 に答える
0

この時点で、分類の問題があるように思えます。現在歩いていることに関する知識を、一連のクラスの 1 つにマップしたいとします。地形のクラスがわかれば、適切なサブルーチンを呼び出すことができます。これは正しいです?

その場合、ニューラル ネットワーク、ベイジアン ネットワーク、デシジョン ツリー、最近傍など、さまざまな分類エンジンを使用できます。最適なものを選択するには、問題に関する詳細情報が必要です。

まず、呼び出すべき動作クラスを特定するのに役立つ、どのような種類の入力データまたは感覚データを利用できますか? 2 番目に、この分類器をトレーニングする状況と、それを展開するときの実行時の状況 (計算リソースの制限やノイズに対する堅牢性の要件など) について説明できますか?

編集:固定数のクラスがあり、可能なすべての地形を生成するためのパラメーター化されたモデルがあるため、 k-means clustering の使用を検討します。原則は以下の通りです。一連の地形全体を k 個の異なるクラスにクラスター化します。各クラスターは、その地形のクラスターに対して最適に機能する特殊なサブルーチンの 1 つに関連付けられます。その後、新しい地形が出現すると、おそらくこれらのクラスターのいずれかの近くに落ちます。次に、対応する特殊なサブルーチンを呼び出して、その地形をナビゲートします。

これをオフラインで行います: パラメータ空間を十分にサンプリングするのに十分なランダムな地形を生成し、これらの地形を感覚空間にマッピングします (ただし、感覚空間のどのポイントがどの地形に対応するかを覚えておいてください)。次に、この感覚空間コーパスで k-means クラスタリングを実行します。は、学習したいクラスの数です。クラス代表 C と感覚空間の点 P の間の距離関数は、P を生成した地形をアルゴリズム C にナビゲートさせる単純なフィットネス関数になります。その後、感覚空間を k 個のクラスターに分割し、各クラスターはにマッピングします。あなたが持っている最高のサブルーチン。各クラスターには、感覚空間の代表点があります。

実行時: 感覚空間にラベルのないポイントが表示されます。別の距離関数を使用して、この新しい入力ポイントに最も近い代表ポイントを見つけます。これにより、地形がどのクラスであるかがわかります。

この方法の成功は、地形生成のパラメーター空間から感覚空間へのマッピングの品質、感覚空間からフィットネス関数へのマッピングの品質、および感覚空間内のポイントを比較するために使用する最終距離関数に依存することに注意してください。

また、十分なメモリがある場合は、k 個の代表的な感覚点のみを使用して、ラベル付けされていない感覚点がどのクラスに属しているかを示すのではなく、トレーニング セットを調べて、学習したクラスですべての点にラベルを付けることができます。次に、実行時に最も近い隣人を選択し、感覚空間のラベルのないポイントがその隣人と同じクラスにあると結論付けます。

于 2010-06-22T04:37:56.867 に答える