8

シミュレートされたサッカーの試合でロボット プレーヤーを制御するソフトウェア エージェントをプログラミングしています。最終的にはロボカップ大会に出場したいと思っています。

このようなエージェントを作成するためのさまざまな課題の中で、ボディのモーションは、私が最初に直面したものの 1 つです。私が対象としているシミュレーションでは、22 ヒンジの Nao ロボット本体を使用して制御します。各脚に 6 つ、各腕に 4 つ、首に 2 つ:


(出典: sourceforge.net )

私は機械学習に興味があり、この男を制御するためのテクニックがいくつかあるに違いないと考えています。

いつでも次のことがわかっています。

  • 22個のヒンジすべての角度
  • ロボットの胸部にある加速度計の X、Y、Z 出力
  • ロボットの胸部にあるジャイロスコープの X、Y、Z 出力
  • ロボットの頭にあるカメラを介した特定のランドマーク (コーナー、ゴール) の位置
  • 各足の底に適用される力のベクトルと、足の裏の力の位置を示すベクトル

達成したいタスクの種類は次のとおりです。

  • できるだけ速く直線で走る
  • 定義された速度での移動 (つまり、追加の入力に応じて、早歩きと遅歩きを処理する 1 つの関数)
  • 後ろ向きに歩く
  • その場でターンオン
  • 単純なカーブを走る
  • 横歩き
  • 転ばずにできるだけ高くジャンプして着地する
  • 足の前にあるボールを蹴る
  • 予期せぬ力(ボールや他のプレーヤーが当たったとき)にさらされたときに、「無意識の」安定動作を行う。理想的には、上記のいずれかと連携して行う

これらのタスクのそれぞれについて、適切なフィットネス関数を思いつくことができると思いますが、期待される出力を備えたトレーニング入力のセットは思いつきません。つまり、どのような機械学習アプローチでも、教師なし学習を提供する必要があります。

さまざまな振幅と位相で各ヒンジの角度に配線された円形関数 (正弦波) のオープンソース プロジェクトでいくつかの例を見てきました。これらはまっすぐに歩いているように見えますが、すべて少しぎこちなく見えます。ただし、上記のすべてのタスクで機能するアプローチではありません。

一部のチームは逆運動学を使用しているようですが、私はそれについてあまり知りません.

では、ロボットの二足歩行にはどのようなアプローチがあるのでしょうか?


余談ですが、サッカー シミュレーション サーバーとの基本的なやり取りを提供するTinMan という .NET ライブラリを作成して公開しました。これには、ロボットの 22 個のヒンジのセンサーとアクチュエーター用の単純なプログラミング モデルがあります。

ロボカップの 3D シミュレーション サッカー リーグの詳細については、次の記事を参照してください。

4

5 に答える 5

4

ロボットの動作計画ロボットの移動に関する研究文献はたくさんあります。

一般的なロボット移動制御

二足歩行ロボットの場合、ロボットの設計と制御には少なくとも2つの主要なアプローチがあります(ロボットがシミュレートされているか、物理的に実在しているかに関係なく)。

二足歩行サッカーロボットのモーションコントロール

シミュレートされた二足歩行ロボットの制御の問題を処理するには、実際には2つの側面があります。

  1. 基本的な歩行および移動制御
  2. タスク指向のモーションプランニング

最初の部分は、ロボットの安定性を維持するための基本的な制御の問題(重力を伴う物理ベースのモデルを使用していると仮定)、直線歩行、回転などを処理することです。2番目の部分は、ロボットをサッカー選手として特定のタスクを実行します。たとえば、ボールに向かって走る、ボールを蹴る、相手のプレーヤーをブロックするなどです。これらを個別に解決し、2番目の部分を軌道とゴールを送信する上位レベルのコントローラーとしてリンクするのがおそらく最も簡単です。最初の部分へのディレクティブ。

提案される可能性のある関連する論文や本はたくさんありますが、あなたがすでに行った研究に含めたいと思うかもしれないいくつかの潜在的に有用なものを以下にリストしました。

読書の提案

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

レイバート、マーク(1986)。バランスの取れた脚付きロボット。MITプレス。

Vukobratovic、Miomir and Borovac、Branislav(2004)。「ゼロモーメントポイント-その寿命の35年」、ヒューマノイドロボティクスの国際ジャーナル、Vol。1、No. 1、pp 157–173。

廣瀬正人・竹中徹(2001)。「ヒューマノイドロボットASIMOの開発」、ホンダR&Dテクニカルレビュー、vol 13、no。1.1。

Wu、QiDiとLiu、ChengJuとZhang、JiaQiとChen、QiJun(2009)。「生物学的概念に触発された脚式ロボットの移動制御の調査」、Science in China Series F:Information Sciences、vol 52、no。10、pp 1715--1729、Springer。

Wahde、Mattias and Pettersson、Jimmy(2002)「二足歩行ロボット研究の簡単なレビュー」、第8回メカトロニクスフォーラム国際会議の議事録、pp480-488。

Shan、J.、Junshi、C.およびJiapin、C.(2000)。「多目的GAに基づくヒューマノイドロボット歩行のための中央パターンジェネレータの設計」、In:Proc。IEEE / RSJ International Conference on Intelligent Robots and Systems、pp。1930–1935。

Chestnutt、J.、Lau、M.、Cheung、G.、Kuffner、J.、Hodgins、J.、およびKanade、T.(2005)。「HondaASIMOヒューマノイドの足跡計画」、2005 IEEE International Conference on Robotics and Automation(ICRA 2005)、pp629-634。

于 2010-06-25T13:36:09.973 に答える
2

私はこれとそれほど似ていないプロジェクト(ロボットマグロの作成)に取り組んでおり、私たちが調査した方法の1つは、遺伝的アルゴリズムを使用して人工中央パターンジェネレーターのパフォーマンスを調整することでした(この場合、パターンは尾の各関節に作用する正弦波)。試してみる価値があるかもしれません。遺伝的アルゴリズムは、適応度関数の選択に注意すれば、信じられないほど強力なツールの1つです。

于 2010-06-18T12:54:29.073 に答える
2

私はこれについてかなり長い間考えてきましたが、これを適切に機能させるには、少なくとも 2 つのインテリジェントな「エージェント」が必要であることに気付きました。基本的な考え方は、ここには 2 種類のインテリジェント アクティビティがあるということです。

  1. 潜在意識の運動制御 (SMC)。
  2. 意識的な意思決定 (CDM)。

SMC のトレーニングはオンラインで行うことができます...よく考えてみると、モーター制御内での成功の定義は、基本的に、ロボットに信号を提供するときに行われ、ロボットはその信号を評価し、それを受け入れるか拒否します。ロボットが信号を受け入れて「失敗」した場合、ロボットは「オフライン」になり、それ以上信号を受け入れることができなくなります。「失敗」と「オフライン」の定義は難しいかもしれませんが、例えば、ロボットのセンサーがロボットが動かない (地面に横たわっている) ことを示している場合、それは失敗であると考えていました。

したがって、SMC のフィットネス関数は次のようなものになる可能性があります。numAcceptedSignals/numGivenSignals + numFailure

CDM は信号を生成する別の AI エージェントであり、その適合度関数は次のようになります。(numSignalsAccepted/numSignalsGenerated)/(numWinGoals/numLossGoals)

つまり、CDM を実行すると、そこから得られるすべての出力が SMC に送られます。ゲームの最後に、フィットネス関数を実行します。または、SMC と CDM を組み合わせて単一のエージェントにし、他の 2 つのフィットネス関数に基づいて複合フィットネス関数を作成することもできます。他にどのようにできるかわかりません...

最後に、学習セッションを構成するものを決定する必要があります。半分のゲームか、完全なゲームか、ほんの数手か、などです。ゲームが 1 分間続き、フィールドに合計 8 人のプレーヤーがいる場合、次のプロセストレーニングは非常に遅くなる可能性があります。

アップデート

遺伝的プログラミングを使用してサッカーをする「ソフトボット」を作成した論文のクイック リファレンスを次に示します。

あなたのコメントに関して: 潜在意識の運動制御 (SMC) の場合、信号は意識的な意思決定者 (CDM) から来ると考えていました。このようにして、SMC エージェントを進化させて、CDM エージェントのコマンド (シグナル) を適切に処理できるようにします。CDM エージェントの指示に関係なく、SMC エージェントのアップタイムを最大化する必要があります。

SMC エージェントは、たとえばジョイントにかかるベクトル フォースなどの入力を受け取り、その入力を処理ユニットに実行して、その入力を実行するか拒否するかを決定します。SMC は、回復すると「考えない」入力のみを実行し、「壊滅的な障害」につながると「考える」入力を拒否する必要があります。

これで、SMC エージェントは出力を持ちます: シグナルを受け入れるか拒否するか (1 または 0)。CDM は、その信号を自分のトレーニングに使用できます... CDM は、SMC が受け入れる信号の数を最大化したいと考えています。また、目標を達成したいと考えています。自チームの高得点と相手チームの低得点です。 . そのため、CDM には独自の処理ユニットがあり、これらの両方のニーズを満たすために進化しています。あなたのリファレンスは 3 層のデザインを提供していましたが、私のものは 2 層にすぎません... 私は 3 層のデザインに向けた正しい一歩だったと思います。

ここで注意すべきもう 1 つの点は、落下は本当に「壊滅的な失敗」なのかということです。ロボットが倒れても、CDM によって再び立ち上がるとしたら? それは妥当な振る舞いだと思うので、ロボットが落下したことに対して罰を与えるべきではありません...おそらくより良いのは、ゴールを達成するのにかかる時間に対してロボットに罰を与えることです (必ずしもサッカーのゴールである必要はありません)。 )。

于 2010-06-22T17:59:45.617 に答える
2

これは、1999 年に Peter Nordin と Mats G. Nordahl が作成した ELVIS ロボットの構築経験に基づいて、ヒューマノイド ロボットを制御するための進化的アプローチを概説した素晴らしい論文です。

于 2010-06-18T16:54:24.837 に答える