ダウンロード
最新バージョン
C++ | 1.2.1-RELESE |
Java | 1.2.1-RELESE |
Python | 1.2.1-RELESE |
Tools | 1.2.1 |
初めての方へ
Windows msi(インストーラ) パッケージ (サンプルの実行ができます。)
C++,Python,Java, Toolsを含む |
1.2.1-RELEASE |
RTコンポーネントを開発するためには開発環境のインストールが必要です。詳細はダウンロードページへ
Choreonoid
モーションエディタ/シミュレータ
OpenHRP3
動力学シミュレータ
OpenRTP
統合開発プラットフォーム
産総研RTC集
産総研が提供するRTC集
TORK
東京オープンソースロボティクス協会
DAQ-Middleware
ネットワーク分散環境でデータ収集用ソフトウェアを容易に構築するためのソフトウェア・フレームワーク
はじめに
Python のサンプルとして付属している GUIジョイスティック
http://svn.openrtm.org/OpenRTM-aist-Python/trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/TkJoyStick/TkJoyStickComp.py
移動ロボットのシンプルなシミュレーターのサンプル
http://svn.openrtm.org/OpenRTM-aist-Python/trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/MobileRobotCanvas/TkMobileRobotSimulator.py
などが一例です。
TkJoystickComp の例
TkJoystickComp のサンプルの main関数ですが、以下のようになっています。
ポイント
コンポーネントの中から GUI のメインループ関数を呼んだり、GUI オブジェクトを生成したりはしないほうが無難
GUI ツールキットの中には、mainスレッドから呼ばなければならないものや、 同一のスレッドから呼ばれることを前提としている関数などを持つものがある。RTC は onInitialize/onFinalize を呼ぶスレッドと、onExecute/onActivated/onDeactivated その他を呼ぶスレッドは異なります。また、onExecute 他の関数は複数のスレッドから同時に呼ばれる可能性すらあります。GUI スレッドと RTC とは別に扱ったほうがトラブルは少ないでしょう。
GUI と RTC のデータのやり取りは、RTC にそのための関数を追加することで対応
RTC と GUI のコントロールやウィジェットを1対1対応にしておくとわかりやすい
ただし、GUI コントロールと RTC はそれぞれ生成方法が異なるので、別々に生成して、上述したように RTC に実装したデータ入出力関数を通じて GUI コントロールと結びつけたほうがよいでしょう。
http://svn.openrtm.org/OpenRTM-aist-Python/trunk/OpenRTM-aist-Python/OpenRTM_aist/examples/MobileRobotCanvas/TkMobileRobotSimulator.py