どのような優れたロボティクスソフトウェアプラットフォーム/オペレーティングシステムが利用可能ですか?[閉まっている]


19

私の会社はまもなく新しいロボットプロジェクトを開始する予定であり、ロボットソフトウェアプラットフォームをゼロから設計およびコーディングするか、既存の優れたプラットフォームがあるかを判断しようとしています。

学術システムと業界の両方で一般的に使用されているソフトウェアプラットフォームがあれば、ロボットシステムは一般的に他のシステムと互換性があり、人々は既に使い慣れているので、非常に便利です。

ソフトウェアプラットフォームができることを望みます。

  • 新しいロボットハードウェアコンポーネントを簡単に統合します。
  • さまざまな便利なデータ処理および視覚化ツールがすでに含まれています
  • コンピューティングハードウェアを効率的に使用する

5
これは主観的な調査質問ではありませんか?StackExchangeの精神に反します。blog.stackoverflow.com/2010/09/good-subjective-bad-subjective
クリスマンスレー

2
ただし、このStackExchangeの品質を作成することはできます。私たちは、回答し、そこから学ぶことができる高品質で客観的な質問の先例を設定する必要があります。
クリスマンスレー

2
私はあなたに同意しますが、1)これは定義の中でトップに選ばれた質問であり、2)そのような質問の少数はサイトを傷つけません(たとえば電子機器を見てください)。3)このような質問は、多くのユーザーにとって本当に役立つ答えを生み出します。
Rocketmagnet

4
これを立たせようとするなら、少なくともコミュニティWikiにする必要があります。理想的には、すべての最良の説明を含む単一のコミュニティWiki回答を使用します。これは、すべてが異なるオプションを説明したり、同じオプションの異なる説明/意見を提供したりする多くの回答よりも優れているでしょう。
マークブース

5
調査の質問は実際に素晴らしいと思います。なぜなら、彼らはどこを見ればよいかを理解するために多くの時間を節約できるからです。グーグルは、多くの場合、すべての一般的な選択肢さえ見つけられません。コミュニティWikiの回答にすることは素晴らしい成果だと思います。
ジョンワット

回答:


20

ROSは、産業用ロボットと研究用ロボットの両方の新しい標準になりつつあります。私が知っているほとんどの研究グループは、彼らの仕事にROSを採用し、誰もが使用して改善できるように結果をオープンに戻しています。Willow Garageは、ROSを中心としたすべてのハードウェアおよびソフトウェアプラットフォームのスイートを開発しています。ROSは検索を開始するのに適した場所です。


注:ROS ほとんどのオペレーティングシステムで動作しますが、LinuxのUbuntuディストリビューションで動作するように最も徹底的にテストされています。
ジョガーディ

1
さらに、ROS紹介ページは、ROSプラットフォームの中心的な前提と理想をカバーする素晴らしい仕事をしていると思います。開発者の観点から見ると、ROSプラットフォームは、既存のライブラリ(ドライバーなど)の非常に「薄い」ラッパーとして使用でき、より大きなROSエコシステムにすばやくアクセスできます。
mjcarroll

5

Robot Construction KitはROSの代替です。複雑なシステムのモデル駆動型エンジニアリングと設計/管理に向かっています。また、「ロックに強く依存しない」ことを目指しています。Rockのアルゴリズム/ドライバーのほとんどは、コンポーネント層から独立しています。RockとROSの違いの概要については、このページも参照してください。

以前の回答が指摘するように、ROSは主にシンコミュニケーションライブラリとして使用されます。Rockのコンポーネント層は厚く、複雑なシステムに拡張するために必要なツールを提供します。

あなたが理解しなければならないことはこれです:この時代において、見る価値のある唯一のオープンソースのロボットソフトウェアは、フレームワークに依存しません(OpenCV、PCL、OpenRave、Gazebo、...)。ウィローガレージでさえ、ついにこれを理解しました。したがって、任意のフレームワークで最小限の作業で統合できます。

さて、あなたの最良の選択はあなたの目的にも依存します。ハードウェアの販売が必要な場合は、ROSノードを使用するのが最善の選択肢である可能性が十分にあります(ROSノードに統合される適切なドライバーライブラリを使用することはさらに優れています)。


たぶん、この答えを追加するために、Rockは別の答えにリストされているOrocosに基づいているため、それに基づいたシステムがリアルタイム対応できるようになります。
ヤコブ

5

オロコス

2001年から開発中のロボット工学における最古のオープンソースフレームワークの1つであり、2005年頃からプロの産業用アプリケーションとそれを使用する製品とともに使用されています。 C ++で実装されたReal-Time Toolkit(RTT)と呼ばれ、通信ミドルウェアやオペレーティングシステムから可能な限り独立しています。

@BarretAmesが述べたように、Orocosと他のSoftware Frameworkが連携して動作するハイブリッドシステムの実装を可能にする統合があります。


Orocosを他のフレームワークとペアリングする方法もあります。たとえば、ROSをOrocosで活用します。
バレットエームズ

1
参考までに、Rockはそのコンポーネント実装としてOrocos / RTTを使用しています-その周りに多くのツールとライブラリを追加するだけ
です-sylvain.joyeux

orocosは優れているかもしれませんが、公式Webサイトとフォーラムはもはや更新されておらず、新しいユーザーはフォーラムにサインインできないため、orocosはいまいましいです。

3

私の好みのプラットフォームはROSです。しかし、別の強力な候補があります...あえて言うなら...マイクロソフト。Robotics Developer Studio(RDS)と呼ばれます。ここから検索を開始してください:http : //www.microsoft.com/robotics/

彼らは印象的なアプリケーションの多くのビデオを持っています。私にとって最大の利点は、MicrosoftのKinect SDKを介したKinectの組み込みサポートです。技術的には、ROSがOpenNIから使用するものも同じ機能を備えていますが、RDSが使用するSDKがハードウェアを製造したのと同じ会社によって作成されていることを知って安心です。


2

Player / Stageは、依然として最も人気のあるオープンソースロボットプロジェクトの1つです。それは長い間存在しており、その開発者の一部はROSを開始するために移動しましたが、それはPlayerの有用性を損なうものではありません。実際、Player(フレームワーク)、Stage(2Dシミュレーター)、およびGazebo(3Dシミュレーター)の3つの主要コンポーネントはすべて、ROSと多少互換性があります。



1

OpenRTM

OpenRTM-aistは、産業技術総合研究所によって開発され、RTミドルウェア標準の定義にも貢献しています。

これは、リアルタイム機能を提供するオープンソースのコンポーネントベースのフレームワークです。フレームワークに加えて、いくつかのツールが利用可能です:

  • RTC Builder:スケルトンコード生成のためのツール。これは、Eclipse開発環境で起動されます。OpenRTM-aistは、コマンドラインタイプのスケルトンコード生成ツールであるRTCテンプレートもサポートしています。
  • RT System Editor:コンポーネントおよびコンポーネントベースのシステムを設計するためのEclipseベースのツールチェーン。
  • rtshellは、次のサービスを提供するコマンドラインツールです。
  • RTCデバッガー:RTC用のデバッグツール。RTCデバッガーはEclipseプラグインです。
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.