SlideShare a Scribd company logo
Suche senden
Hochladen
130710 01
Melden
Teilen
O
openrtm
Folgen
•
0 gefällt mir
•
1,194 views
1
von
27
130710 01
•
0 gefällt mir
•
1,194 views
Melden
Teilen
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
O
openrtm
Folgen
Recomendados
iREX2015 RTM講習会 von
iREX2015 RTM講習会
openrtm
1.8K views
•
44 Folien
130711 01 von
130711 01
openrtm
701 views
•
51 Folien
131106 01 i-rex2013 von
131106 01 i-rex2013
openrtm
1.3K views
•
56 Folien
RTミドルウエア: OpenRTM-aist概要 von
RTミドルウエア: OpenRTM-aist概要
openrtm
1.5K views
•
44 Folien
RTミドルウエア講習会2015 von
RTミドルウエア講習会2015
Yuki Suga
1.3K views
•
54 Folien
2015RTミドルウエア講習会 von
2015RTミドルウエア講習会
openrtm
942 views
•
45 Folien
Más contenido relacionado
Was ist angesagt?
Robomec2015講習会 150517 01 von
Robomec2015講習会 150517 01
openrtm
2.2K views
•
52 Folien
Robomec2014 rtm講習会第2部 von
Robomec2014 rtm講習会第2部
openrtm
1.3K views
•
33 Folien
Nedo講座・rtmセミナー von
Nedo講座・rtmセミナー
openrtm
624 views
•
32 Folien
Rtミドルウェア講習会 第2部資料 von
Rtミドルウェア講習会 第2部資料
openrtm
249 views
•
48 Folien
130522 rt講習会(説明用) von
130522 rt講習会(説明用)
openrtm
4.3K views
•
70 Folien
2015 summercamp 05 von
2015 summercamp 05
openrtm
4.2K views
•
15 Folien
Was ist angesagt?
(20)
Robomec2015講習会 150517 01 von openrtm
Robomec2015講習会 150517 01
openrtm
•
2.2K views
Robomec2014 rtm講習会第2部 von openrtm
Robomec2014 rtm講習会第2部
openrtm
•
1.3K views
Nedo講座・rtmセミナー von openrtm
Nedo講座・rtmセミナー
openrtm
•
624 views
Rtミドルウェア講習会 第2部資料 von openrtm
Rtミドルウェア講習会 第2部資料
openrtm
•
249 views
130522 rt講習会(説明用) von openrtm
130522 rt講習会(説明用)
openrtm
•
4.3K views
2015 summercamp 05 von openrtm
2015 summercamp 05
openrtm
•
4.2K views
OpenRTM-aist入門 von Yuki Suga
OpenRTM-aist入門
Yuki Suga
•
5K views
Rtミドルウェア講習会 第1部資料 von openrtm
Rtミドルウェア講習会 第1部資料
openrtm
•
288 views
Rtm講習会 140626 01 von openrtm
Rtm講習会 140626 01
openrtm
•
610 views
Japan Robot Week 2016 RTM講習会 第1部 von Noriaki Ando
Japan Robot Week 2016 RTM講習会 第1部
Noriaki Ando
•
1.5K views
Robomec2014 rtm講習会第1部(その1) von openrtm
Robomec2014 rtm講習会第1部(その1)
openrtm
•
1.2K views
130522 00 von openrtm
130522 00
openrtm
•
2.1K views
Rtm講習会 140626 02 von openrtm
Rtm講習会 140626 02
openrtm
•
787 views
Robomec2014 rtm講習会第1部(その2) von openrtm
Robomec2014 rtm講習会第1部(その2)
openrtm
•
1.5K views
ROBOMECH2017 RTM講習会 第1部・その1 von openrtm
ROBOMECH2017 RTM講習会 第1部・その1
openrtm
•
1.4K views
170622-01 von openrtm
170622-01
openrtm
•
504 views
160608 01 von openrtm
160608 01
openrtm
•
1.4K views
2013 summercamp 02 von openrtm
2013 summercamp 02
openrtm
•
2.2K views
Rtミドルウェア講習会 第3部資料 配布版 von openrtm
Rtミドルウェア講習会 第3部資料 配布版
openrtm
•
216 views
Rtミドルウェア講習会@名城大 20140624 1 von openrtm
Rtミドルウェア講習会@名城大 20140624 1
openrtm
•
1.4K views
Destacado
130329 01 von
130329 01
openrtm
720 views
•
48 Folien
20130329 rtm2 von
20130329 rtm2
openrtm
594 views
•
12 Folien
20130329 rtm3 von
20130329 rtm3
openrtm
809 views
•
67 Folien
130329 04 von
130329 04
openrtm
639 views
•
54 Folien
130710 02 von
130710 02
openrtm
1.4K views
•
54 Folien
160608 02 von
160608 02
openrtm
1.3K views
•
56 Folien
Destacado
(9)
130329 01 von openrtm
130329 01
openrtm
•
720 views
20130329 rtm2 von openrtm
20130329 rtm2
openrtm
•
594 views
20130329 rtm3 von openrtm
20130329 rtm3
openrtm
•
809 views
130329 04 von openrtm
130329 04
openrtm
•
639 views
130710 02 von openrtm
130710 02
openrtm
•
1.4K views
160608 02 von openrtm
160608 02
openrtm
•
1.3K views
自動アングル機能を有したロボットカメラSi von Shogo Namatame
自動アングル機能を有したロボットカメラSi
Shogo Namatame
•
13.5K views
Japan Robot Week 2016 RTM講習会 第3部 von openrtm
Japan Robot Week 2016 RTM講習会 第3部
openrtm
•
1.9K views
Japan Robot Week 2016 RTM講習会 第2部 von openrtm
Japan Robot Week 2016 RTM講習会 第2部
openrtm
•
2.2K views
Similar a 130710 01
150629 01 von
150629 01
openrtm
676 views
•
58 Folien
160705-01 RTミドルウエア講習会・名城大 von
160705-01 RTミドルウエア講習会・名城大
openrtm
405 views
•
55 Folien
ROBOMECH2023 RTミドルウェア講習会 第1部 von
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
18 views
•
49 Folien
1.コース概要 von
1.コース概要
openrtm
127 views
•
40 Folien
201110 01 Polytech Center 1 von
201110 01 Polytech Center 1
openrtm
306 views
•
40 Folien
160705-w01 RTミドルウエア講習会・早稲田大 von
160705-w01 RTミドルウエア講習会・早稲田大
openrtm
909 views
•
59 Folien
Similar a 130710 01
(19)
150629 01 von openrtm
150629 01
openrtm
•
676 views
160705-01 RTミドルウエア講習会・名城大 von openrtm
160705-01 RTミドルウエア講習会・名城大
openrtm
•
405 views
ROBOMECH2023 RTミドルウェア講習会 第1部 von openrtm
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
•
18 views
1.コース概要 von openrtm
1.コース概要
openrtm
•
127 views
201110 01 Polytech Center 1 von openrtm
201110 01 Polytech Center 1
openrtm
•
306 views
160705-w01 RTミドルウエア講習会・早稲田大 von openrtm
160705-w01 RTミドルウエア講習会・早稲田大
openrtm
•
909 views
181106 01 von openrtm
181106 01
openrtm
•
459 views
RTミドルウェアによるロボットプログラミング技術 1.コース概要 von Noriaki Ando
RTミドルウェアによるロボットプログラミング技術 1.コース概要
Noriaki Ando
•
2.1K views
131017 cnr研究会 ando von openrtm
131017 cnr研究会 ando
openrtm
•
633 views
20130329 rtm01 von openrtm
20130329 rtm01
openrtm
•
339 views
20130329 rtm1 von openrtm
20130329 rtm1
openrtm
•
379 views
Open lab2013パネル原稿集 von openrtm
Open lab2013パネル原稿集
openrtm
•
2.6K views
200923 01jp von openrtm
200923 01jp
openrtm
•
446 views
171129-irex2017 von openrtm
171129-irex2017
openrtm
•
425 views
Using SysML in an RTC-based Robotics Application von Kenji Hiranabe
Using SysML in an RTC-based Robotics Application
Kenji Hiranabe
•
7.9K views
171128 01 von openrtm
171128 01
openrtm
•
473 views
RTM on Androidの紹介 von openrtm
RTM on Androidの紹介
openrtm
•
2.4K views
OpenEL for Robot(Japanese) von Upwind Technology Inc.
OpenEL for Robot(Japanese)
Upwind Technology Inc.
•
4.3K views
RTミドルウェアサマーキャンプ2018「Rtshellj入門」 von openrtm
RTミドルウェアサマーキャンプ2018「Rtshellj入門」
openrtm
•
995 views
Más de openrtm
ピッキングシステム von
ピッキングシステム
openrtm
711 views
•
9 Folien
GNGを使った未知環境における経路計画 von
GNGを使った未知環境における経路計画
openrtm
718 views
•
10 Folien
まねっこロボット von
まねっこロボット
openrtm
724 views
•
15 Folien
商品自動補充ロボットシステム von
商品自動補充ロボットシステム
openrtm
717 views
•
13 Folien
RTサマーキャンプ2022最終発表_都立大.pptx von
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
720 views
•
15 Folien
SysML実習20220822SC_GA.pdf von
SysML実習20220822SC_GA.pdf
openrtm
827 views
•
10 Folien
Más de openrtm
(20)
ピッキングシステム von openrtm
ピッキングシステム
openrtm
•
711 views
GNGを使った未知環境における経路計画 von openrtm
GNGを使った未知環境における経路計画
openrtm
•
718 views
まねっこロボット von openrtm
まねっこロボット
openrtm
•
724 views
商品自動補充ロボットシステム von openrtm
商品自動補充ロボットシステム
openrtm
•
717 views
RTサマーキャンプ2022最終発表_都立大.pptx von openrtm
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
•
720 views
SysML実習20220822SC_GA.pdf von openrtm
SysML実習20220822SC_GA.pdf
openrtm
•
827 views
RTミドルウェアサマーキャンプ資料2022.pdf von openrtm
RTミドルウェアサマーキャンプ資料2022.pdf
openrtm
•
826 views
NEDO講座 MoveIt! チュートリアル 第1部 von openrtm
NEDO講座 MoveIt! チュートリアル 第1部
openrtm
•
817 views
5.総合演習(2) von openrtm
5.総合演習(2)
openrtm
•
139 views
4.総合演習(1) von openrtm
4.総合演習(1)
openrtm
•
135 views
3.RTCプログラミング演習 von openrtm
3.RTCプログラミング演習
openrtm
•
146 views
2.プログラミングの基礎 von openrtm
2.プログラミングの基礎
openrtm
•
123 views
OpenRTM概要 von openrtm
OpenRTM概要
openrtm
•
580 views
Slam実習 von openrtm
Slam実習
openrtm
•
495 views
Rtshell入門 von openrtm
Rtshell入門
openrtm
•
501 views
Rtコンポーネント作成入門 von openrtm
Rtコンポーネント作成入門
openrtm
•
471 views
Rtミドルウェアサマーキャンプ2021_宮本信彦 von openrtm
Rtミドルウェアサマーキャンプ2021_宮本信彦
openrtm
•
853 views
RTミドルウェアサマーキャンプ2021_坂本武志_1 von openrtm
RTミドルウェアサマーキャンプ2021_坂本武志_1
openrtm
•
795 views
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2 von openrtm
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
openrtm
•
64 views
Rtミドルウェアサマーキャンプ資料2021_菅佑樹 von openrtm
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
openrtm
•
796 views
130710 01
1.
第1部:OpenRTM-aistおよび RTコンポーネントプログラミングの概要 (独)産業技術総合研究所 知能システム研究部門 安藤慶昭 1
2.
22 • RT =
Robot Technology cf. IT – ≠Real-time – 単体のロボットだけでなく、さまざまなロボット技術に基づく機能要素 をも含む (センサ、アクチュエータ, 制御スキーム、アルゴリズム、 etc….) • RT-Middleware (RTM) – RT要素のインテグレーションのためのミドルウエア • RT-Component (RTC) – RT-Middlewareにおけるソフトウエアの基本単位 RT-Middleware + + + + + RTとは? 産総研版RTミドルウエア OpenRTM-aist
3.
3 従来のシステムでは… Joystick Robot Arm Joystick software 互換性のあるインターフェース同士は接続可能 Robot Arm Control
software
4.
4 ロボットによって、インターフェースは色々 互換性が無ければつながらない Joystick Humanoid’s Arm Robot Arm Joystick software Humanoid’s
Arm Control software Robot Arm Control software 従来のシステムでは…
5.
5 compatible arm interfaces RTミドルウエアは別々に作られた ソフトウエアモジュール同士を繋ぐ ための共通インターフェース を提供する ソフトウエアの再利用性の向上 RTシステム構築が容易になる Joystick Joystick software Arm A Control
software Arm B Control software Humanoid’s Arm Robot Arm RTミドルウエアでは…
6.
6 RTミドルウエアとRTコンポーネント 6 RT コンポーネント フレームワーク RT コンポーネント ロジック ロジックを箱(フレームワーク)に入れたもの=RTコンポーネント(RTC) RTミドルウエア RTC RTC RTC
RTC RTC RTC RTC RTC RTCの実行環境(OSのようなもの)=RTミドルウエア(RTM) ※RTCはネットワーク上に分散可能 ・デバイス制御 ・制御アルゴリズム ・アプリケーション etc…
7.
RTコンポーネントの主な機能 7 Inactive Active Error アクティビティ・実行コンテキスト ライフサイクルの管理・コアロジックの実行 共通の状態遷移 センサRTC 複合実行 制御RTC アクチュエータRTC エンコーダ コンポーネント アクチュエータ コンポーネント 制御器 ンポーネントコ 1 TI s TDs Kp+ - 目標値 位置 位置 電圧 データポート •
データ指向ポート • 連続的なデータの送受信 • 動的な接続・切断 データ指向通信機能 サーボの例 • 定義可能なインターフェースを持つ • 内部の詳細な機能にアクセス – パラメータ取得・設定 – モード切替 – etc… サービスポート 画像 データ 3Dデプス データ ステレオビジョンの例 ステレオビジョン インターフェース ・モード設定関数 ・座標系設定関数 ・キャリブレーション ・etc… サービスポート ステレオビジョン コンポーネント データポート サービス指向相互作用機能 名前 値 セット名 名前 値 セット名 複数のセットを 動作時に 切り替えて 使用可能 コンフィギュレーション • パラメータを保持する仕組み • いくつかのセットを保持可能 • 実行時に動的に変更可能
8.
RTミドルウエアによる分散システム RTCRTC RTM Windows RTCRTC RTM TRON RTCRTC RTM Linux RTCRTC RTM Solaris RTCRTC RTM FreeBSD RTCRTC RTM ARTLinux RTC アプリケーション 操作デバイス センサ ロボットA
ロボットB ロボットC ネットワーク RTMにより、 ネットワーク上に 分散するRTCを OS・言語の壁を 越えて接続する ことができる。 RTC同士の接続 は、プログラム 実行中に動的に 行うことが出来る。
9.
モジュール化のメリット • 再利用性の向上 – 同じコンポーネントをいろいろなシステムに使いまわせる •
選択肢の多様化 – 同じ機能を持つ複数のモジュールを試すことができる • 柔軟性の向上 – モジュール接続構成かえるだけで様々なシステムを構築 できる • 信頼性の向上 – モジュール単位でテスト可能なため信頼性が向上する • 堅牢性の向上 – システムがモジュールで分割されているので、一つの問 題が全体に波及しにくい
10.
RTコンポーネント化のメリット モジュール化のメリットに加えて • ソフトウエアパターンを提供 – ロボットに特有のソフトウエアパターンを提供することで、 体系的なシステム構築が可能 •
フレームワークの提供 – フレームワークが提供されているので、コアのロジックに 集中できる • 分散ミドルウエア – ロボット体内LANやネットワークロボットなど、分散システ ムを容易に構築可能
11.
11 OMG RTC 標準化 •
2005年9月 RFP: Robot Technology Components (RTCs) 公開。 • 2006年2月 Initial Response : PIM and PSM for RTComponent を執筆し提出 提案者:AIST(日)、RTI(米) • 2006年4月 両者の提案を統合した仕様を提案 • 2006年9月 ABにて承認、事実上の国際標準獲得 FTFが組織され最終文書化開始 • 2007年8月 FTFの最後の投票が終了 • 2007年9月 ABにてFTFの結果を報告、承認 • 2008年4月 OMG RTC標準仕様公式リリース • 2010年1月 OpenRTM-aist-1.0リリース
12.
OMG RTC ファミリ 12 Name
Vendor Feature OpenRTM-aist AIST C++, Python, Java OpenRTM.NET SEC .NET(C#,VB,C++/CLI, F#, etc..) miniRTC, microRTC SEC CAN・ZigBee等を利用した組込用RTC実装 Dependable RTM SEC/AIST 機能安全認証 (IEC61508) capableなRTM実装 RTC CANOpen SIT, CiA CANOpenのためのCiA (Can in automation) における RTC標準 PALRO 富士ソフト 小型ヒューマノイドのためのC++ PSM 実装 OPRoS ETRI 韓国国家プロジェクトでの実装 GostaiRTC GOSTAI, THALES ロボット言語上で動作するC++ PSM実装 H-RTM (仮称) 本田R&D OpenRTM-aist互換、FSM型コンポーネントをサポート 同一標準仕様に基づく多様な実装により • 実装(製品)の継続性を保証 • 実装間での相互利用がより容易に
13.
Success stories 13 HRP-4: Kawada/AIST DAQ-Middleware:
KEK/J-PARC KEK: High Energy Accelerator Research Organization J-PARC: Japan Proton Accelerator Research Complex HRP-4C: Kawada/AISTTAIZOU: General Robotics Inc. HIRO: Kawada/GRX
14.
RTコンポーネントの開発 14
15.
OpenRTMを使った開発の流れ 15 コンポーネント の仕様 RtcTemplate コードの雛型 (C++のクラス) コアロジック RTC開発者が 開発したプログ ラム資産 .so or DLL 雛型にコアロジック を埋め込む コンパイル コード生成 どのようなコンポーネントか? ・名前 ・データポート ・サービスポート ・コンフィギュレーション 実行 マネージャ (ミドルウエア)
16.
フレームワークとコアロジック ステレオビジョン ルゴリズムア コアロジック 右目画像左目画像 デプスマップ RT ンポーネント レームワーク コ フ RT ンポーネント 準インターフェース コ 標 ステレオビジョン RT
ンポーネントコ RT ンポーネント 準インターフェース コ 標 右目画像左目画像 デプスマップ + =中身は空 RTCフレームワーク+コアロジック=RTコンポーネント
17.
コンポーネントの作成 (Windowsの場合) 17 RTBUilder CMake Visual
C++ コンポーネントの 仕様の入力 VCのプロジェクト ファイルの生成 実装および VCでコンパイル 実行ファイルの生成 テンプレートコード の生成
18.
コード例 • 生成されたクラスのメン バー関数に必要な処理 を記述 • 主要な関数 –
onExecute (周期実行) • 処理 – InPortから読む – OutPortへ書く – サービスを呼ぶ – コンフィギュレーションを 読む 18
19.
コンポーネント内の状態遷移 ActiveDo/RTC::onExecuteはここに入る (DataFlow型のコンポーネントのとき) ユーザがあまり 意識しなくてよい部分 コンポーネント開発時に 必要な部分
20.
コールバック関数 コールバック関数 処理 onInitialize 初期化処理 onActivated
アクティブ化されるとき1度だけ呼ばれる onExecute アクティブ状態時に周期的に呼ばれる onDeactivated 非アクティブ化されるとき1度だけ呼ばれる onAborting ERROR状態に入る前に1度だけ呼ばれる onReset resetされる時に1度だけ呼ばれる onError ERROR状態のときに周期的に呼ばれる onFinalize 終了時に1度だけ呼ばれる onStateUpdate onExecuteの後毎回呼ばれる onRateChanged ExecutionContextのrateが変更されたとき1度だけ呼ばれる onStartup ExecutionContextが実行を開始するとき1度だけ呼ばれる onShutdown ExecutionContextが実行を停止するとき1度だけ呼ばれる RTCの作成=コールバック関数に処理を埋め込む とりあえずは この5つの関数 を押さえて おけばOK
21.
InPort • InPortのテンプレート第2引数:バ ッファ – ユーザ定義のバッファが利用 可能 •
InPortのメソッド – read(): InPort バッファから バインドされた変数へ最新値 を読み込む – >> : ある変数へ最新値を読 み込む リングバッファ バインドされた変数 read() operator>> 最新値 InPort Robot Component Sensor Data 例 基本的にOutPortと対になる データポートの型を 同じにする必要あり
22.
OutPort • OutPortのテンプレート第2引数: バッファ – ユーザ定義のバッファが利用 可能 •
OutPortのメソッド – write(): OutPort バッファへ バインドされた変数の最新値 として書き込む – >> : ある変数の内容を最新 値としてリングバッファに書き 込む リングバッファ バインドされた変数 write() operator<< OutPort 最新値 Sensor Component Sensor Data 例基本的にInPortと対になる データポートの型を 同じにする必要あり
23.
データ変数 struct TimedShort { Time tm; short
data; }; struct TimedShortSeq { Time tm; sequence<short> data; }; • 基本型 – tm:時刻 – data: データそのもの • シーケンス型 – data[i]: 添え字によるアクセス – data.length(i): 長さiを確保 – data.length(): 長さを取得 • データを入れるときにはあらかじめ 長さをセットしなければならない。 • CORBAのシーケンス型そのもの • 今後変更される可能性あり
24.
動作シーケンス 24 ネームサーバ ① 参照を登録 ②
参照を登録 ③ 参照を取得 ④ ポートを接続
25.
ネットワークインターフェースが 2つある場合の注意 25 ネーム サーバ Address A Address B こちらのアドレスを基に CORBA参照を生成 登録はアドレスB側の ネームサーバ 登録はアドレスB側の ネームサーバ RTC-A RTC-A
(Address B) RTC-A (Address B) ってどこ?
26.
rtc.confについて RT Component起動時の登録先NamingServiceや、登録 情報などについて記述するファイル 記述例: corba.nameservers: localhost:9876 naming.formats:
SimpleComponent/%n.rtc (詳細な記述方法は etc/rtc.conf.sample を参照) 以下のようにすると、コンポーネント起動時に読み込まれ る ./ConsoleInComp –f rtc.conf
27.
まとめ • RTミドルウエアの概要 – 背景、目的、利点 –
標準化、適用例 – 過去のプロジェクト、Webページ • RTコンポーネントの開発 – 開発の流れ – 動作シーケンス – コールバック、データポート、rtc.conf 27