web-dev-qa-db-ja.com

ロボットシミュレーター

最高のロボットシミュレータはどれですか?今のところ、私は、ポテンシャルフィールド法、バグアルゴリズム、A *アルゴリズムなどの簡単なシミュレーションを取得するだけです!

既知のロボットシミュレーターのリストは次のとおりです;

  1. プレイヤープロジェクト (2Dシミュレーター-ステージ-3Dシミュレーター-ガゼボ-コントロールインターフェイス-オープンソース、ROSプロジェクトの一部)
  2. [〜#〜] morse [〜#〜] (汎用の屋内/屋外3Dシミュレーター)
  3. Microsoft Robotics Studio (シミュレーター+制御インターフェース)
  4. KiKS (Matlabプラグイン、Khepera +制御インターフェイスのみ)
  5. MobotSim (ロボットのようなポイントの場合、アルゴリズム実装の詳細)
  6. Karel (かわいいキディッシュ、Pascal/Logoのようなものだと思います)
  7. Peekabot (本当にかっこいい!)
  8. [〜#〜] mrpt [〜#〜] (非常に見栄えが良いため、すぐに試してみます)
  9. カルメン (ロボットビジョンなどは簡単に実装できます(?))
  10. Webots (オープンソース-マルチプラットフォーム-多言語[ROS、Python、Matlabなど]-最先端の外観-Webエクスポート)
  11. Simbad (2D/3DシミュレーターJava and Jython)
  12. Robocode (Java/.NETスーツ)
  13. ロスサムのプレイハウス (C/C++スーツ)
  14. V-REP (3D、ソースが利用可能、Luaスクリプト、C/C++用のAPI、Python、Java、Matlab、URBI、2つの物理エンジン、完全なキネマティックソルバーなど)

いくつかのより一般的なプラットフォーム/ミドルウェアもシミュレーションツールを提供しています。

  1. [〜#〜] ros [〜#〜]現在、そのようなプラットフォームの最大の統合
  2. [〜#〜] urbi [〜#〜]
  3. [〜#〜] yarp [〜#〜]
  4. [〜#〜] orocos [〜#〜] (それについて何も知らない!)

ロボットシミュレータに関するいくつかの参照:

  1. 自律移動ロボットの開発環境:調査
  2. オープンソースのロボットツールキット
  3. ロボットソフトウェアプラットフォームのレビューを更新
  4. 既存のシミュレーター[email protected]
  5. アサフマタンのウェブサイトに掲載
55
Arkapravo

私は一般的に使用されるフレームワークに行きます。経路計画に興味がある場合は、すでにロボットをシミュレートしたフレームワークを選択し、その経路を生成するために必要な計画サービスを作成します。

ROSは非常にクールで、非常に多くの便利な認識サービスと、完全なPR2スタックがあります。シミュレーションにはgazebo(プレーヤー/ステージの一部)を使用し、市販のロボットをいくつか含みます(これには、不安定が理想的です)。その非常に新しいが、非常にアクティブです。

MRDSにはいくつかの適切なロボットがあり、ROSよりも率直によくシミュレートされた環境がありますが、高レベルのサービスではそれほどではありません。レゴロボットシミュレーターは、あなたがやりたいことには問題なく、将来的には実際のハードウェアで安価に検証する選択肢を提供します。

これらの2つは、現時点で開発者の大部分を占めています。本当に決定は、あなたが窓の下でビジュアルスタジオで、またはLinuxプラットフォームで幸せに開発しているかどうかに要約されます。どちらも学生には無料です(MSRSはELMS /ドリームスパークプログラムの下にあります)。両方とも学習曲線を持ち、両方ともかなり良いコミュニティサポートがあります。 MRDSの場合はフォーラムにサインアップし、ROSの場合はメーリングリストに参加してください。

9
Tom

peekabotはシミュレータではなく、視覚化ツールであり、ロボットをインタラクティブに制御するツールです。ただし、独自の視覚化なしでシミュレータと組み合わせて使用​​するのに適しています。

MRPTには(完全な)シミュレータAFAIKはなく、アルゴリズム、インターフェイス、ドライバ、および独自のログ形式のみがあります。それに加えて、それはきれいに見えます。

OpenRAVE は、計画に興味がある場合はチェックアウトする価値があるかもしれません。

Gazeboは最後に試してみたところ(1年前まで)十分に成熟しておらず安定していませんでした。しかし、チェックアウトする価値があるかもしれません。

ダイナミクスのない2Dシミュレーターのみが必要な場合、ステージの使用は簡単です。

ロボットシミュレーションにはODEとBulletの両方を使用しましたが、ODEをお勧めしますが、どちらも正常に機能しました。

より明確な答えを得るには、要件を改善する必要があります。つまり、シミュレーターのみ、またはROSのようなものを探している場合、ダイナミクスまたは2Dのみの3Dシミュレーターが必要か、どれだけ正確か、どのセンサーが必要かシミュレートしたい、など.

2
Staffan

SimSpark に対してプログラミングを行ってきました。 RoboCup 3D Simulated Soccer League の背後にあるオープンソースのシミュレーションエンジンです。

さまざまなシミュレーションに拡張可能です。 C++、Rubyおよび/またはRSG(Ruby Scene Graph))ファイルを使用して、独自のセンサー、アクチュエータ、およびモデルをプラグインできます。

それが最高のシミュレータかどうかはわかりませんが、それを使って楽しんでいます。

[〜#〜] edit [〜#〜]Arkapravoのコメントに応えて。

TinMan という独自のRoboCup 3Dエージェントを作成するための.NET APIを作成しました。

YouTubeには、シミュレートされた3Dサッカーの試合のビデオがたくさんあります。 これは私のお気に入りの1つです

RoboCup 201 はシンガポールで今週開催されますが、残念ながら私はそれを作ることができません。

RoboCup 3Dは、 SimSpark と呼ばれる物理シミュレーションエンジンで実行されます。 包括的なWiki があり、すべてがどのように機能するかを説明する多くの情報があります。

私のエージェントはまだ非常に原始的であるため、まだ公開されていません。興味があれば、さまざまな言語で オープンソースエージェントの実装 がたくさんあります。

2
Drew Noakes

必要なのは2Dシミュレーターだけであるように思えます。したがって、3Dシミュレータのオーバーヘッドと頭痛を回避できます。選択に関するいくつかのメモ:

  1. Playerには、ODEを使用すると思われる2Dシミュレーター(ステージ)と3D物理学シミュレーター(Gazeebo)が含まれています
  2. MRDSには、PhysXによる3D物理シミュレータが含まれています

  3. ROSは単なるアーキテクチャであり、独自のシミュレータがあるとは思わない。ただし、いくつかの異なる視覚化ツールがあります。また、Playerをラップします。

もう1つの人気のあるシミュレータ/アーキテクチャはWeBotです。しかし、それは3Dだけだと思います。

私が知っているのはそれで全てです。幸運を。 -ベン

2
Ben

Urbiはシミュレーターではありません。これはミドルウェアプラットフォームであり、パラレルでイベント駆動型のスクリプト言語に依存しています。現在はオープンソースであり、ROSをサポートしているため、両方を使用する必要があります。 Urbiに関する情報を次に示します。 www.urbiforge.org

最後になりましたが、初心者にとって使いやすいです。

入手したすべての情報が、適切なシミュレータの選択に役立つことを願っています!

1
Seg

Blenderをベースにした別のロボットシミュレータの開発に取り組んでいます。 MORSEと呼ばれ、モジュラーコンポーネントに基づいた非常に柔軟なシミュレータを目指しています。さまざまなミドルウェア、現在はYARP、ROS、およびソケットへの接続を提供します。これを使用する現在のアプリケーションには、複数のモバイルロボットの協調と人間とロボットの相互作用が含まれます。

詳細については、公式ホームページをご覧ください: http://morse.openrobots.org

それはすべてオープンソースであり、ユーザー向けのメーリングリストがあります。試してみて、コメントをいただければ幸いです

1
gilberto

ヒューマノイドロボット工学および/または一般的なマルチボディアプリケーションを対象とするものがいくつかありますが、モバイルロボット工学の目的にも使用できます。

  1. OpenHRP :オープンソース、C++で記述されたライブラリのトンが含まれており、フォワードダイナミクスシミュレーションと視覚化にも使用できます。ただし、起動して実行するのは少し苦痛で、バージョンに非常に敏感な依存関係がかなりあります。
  2. Robotran :個人使用および/または研究使用は無料です。主にMatlab/Simulink環境で動作します。モデルを簡単に起動して実行できます。
  3. MapleSim :商用ソフトウェアですが、非常に高度なモデリングに役立ちます。 Matlab/Simulinkでのシミュレーション/視覚化のための効率的なシンボリックマルチボディダイナミクスもエクスポートします。

これらのパッケージはすべて、ロボットアプリケーションの一般的な設計に役立つシミュレーション/視覚化用です。

1
safwanc

[〜#〜] ode [〜#〜] だれでも?私はマイクロマウスプロジェクトで多く使用しました。

1
iamgopal

私がお勧めする本当に素晴らしいオプションは、CogmationのRobotSimです。また、他の製品RobotBuilderを使用して、想像できる任意のロボットを構築し、独自のモデルをインポートすることもできます。

0
mgauthier

今日、Fawkesにオンラインで出会いました。

http://www.fawkesrobotics.org/

Fawkesは、さまざまなプラットフォームおよびドメイン向けのロボットリアルタイムアプリケーション用のコンポーネントベースのソフトウェアフレームワークです。

サッカーやサービスロボット工学などの認知ロボット工学のリアルタイムアプリケーション向けに4年以上にわたって開発および使用されています。不確実な環境で動作する移動ロボットのニーズに合わせて、さまざまなコンポーネントの迅速な情報交換と効率的な組み合わせと調整をサポートします。

オープンソース(GPL)でもあります。

0
Drew Noakes

nity3D も言及します。ゲーム開発用に設計されていますが、3Dグラフィック、スクリプティング(javascriptまたはMono/C#)、物理学などに優れた機能を備えており、シミュレータとして使用できます。ロボット固有の機能(センサー、アルゴリズムなど)を自分で記述または統合する場合。

さらに、クロスプラットフォームであり、基本バージョンは無料で、最小限の労力で非常に見栄えの良いデモを作成できます。

0
WildCrustacean

Breve は、物理的に実装されたロボットをシミュレートするために使用されています。 BreveはODEによって駆動されます。

0
kharrington