SlideShare a Scribd company logo
Suche senden
Hochladen
160608 02
Melden
Teilen
O
openrtm
Folgen
•
0 gefällt mir
•
1,312 views
1
von
56
160608 02
•
0 gefällt mir
•
1,312 views
Melden
Teilen
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Software
ROBOMECH2016 RTM講習会第1部(その2)講演資料 RSNP講習会合同セッション
Mehr lesen
O
openrtm
Folgen
Recomendados
ROBOMECH2017 RTM講習会 第1部・その1 von
ROBOMECH2017 RTM講習会 第1部・その1
openrtm
1.4K views
•
38 Folien
160705-w01 RTミドルウエア講習会・早稲田大 von
160705-w01 RTミドルウエア講習会・早稲田大
openrtm
909 views
•
59 Folien
Japan Robot Week 2016 RTM講習会 第2部 von
Japan Robot Week 2016 RTM講習会 第2部
openrtm
2.2K views
•
110 Folien
Rtミドルウェア講習会 第2部資料 von
Rtミドルウェア講習会 第2部資料
openrtm
249 views
•
48 Folien
130522 rt講習会(説明用) von
130522 rt講習会(説明用)
openrtm
4.3K views
•
70 Folien
Japan Robot Week 2016 RTM講習会 第1部 von
Japan Robot Week 2016 RTM講習会 第1部
Noriaki Ando
1.5K views
•
32 Folien
Más contenido relacionado
Was ist angesagt?
RTミドルウェアによるロボットプログラミング技術 1.コース概要 von
RTミドルウェアによるロボットプログラミング技術 1.コース概要
Noriaki Ando
2.1K views
•
43 Folien
130522 00 von
130522 00
openrtm
2.1K views
•
41 Folien
iREX2015 RTM講習会 von
iREX2015 RTM講習会
openrtm
1.8K views
•
44 Folien
Robomec2015講習会 150517 01 von
Robomec2015講習会 150517 01
openrtm
2.2K views
•
52 Folien
170622-01 von
170622-01
openrtm
504 views
•
43 Folien
1.コース概要 von
1.コース概要
openrtm
127 views
•
40 Folien
Was ist angesagt?
(20)
RTミドルウェアによるロボットプログラミング技術 1.コース概要 von Noriaki Ando
RTミドルウェアによるロボットプログラミング技術 1.コース概要
Noriaki Ando
•
2.1K views
130522 00 von openrtm
130522 00
openrtm
•
2.1K views
iREX2015 RTM講習会 von openrtm
iREX2015 RTM講習会
openrtm
•
1.8K views
Robomec2015講習会 150517 01 von openrtm
Robomec2015講習会 150517 01
openrtm
•
2.2K views
170622-01 von openrtm
170622-01
openrtm
•
504 views
1.コース概要 von openrtm
1.コース概要
openrtm
•
127 views
170622 02 von openrtm
170622 02
openrtm
•
490 views
131111 東工大授業「ロボット技術」資料 von openrtm
131111 東工大授業「ロボット技術」資料
openrtm
•
3.4K views
Rtミドルウェア講習会 第1部資料 von openrtm
Rtミドルウェア講習会 第1部資料
openrtm
•
288 views
160428 東工大「ロボット技術」授業資料 von openrtm
160428 東工大「ロボット技術」授業資料
openrtm
•
4.1K views
RTミドルウェアによるロボットプログラミング技術 4.ロボットの運動学と制御の基礎 von Noriaki Ando
RTミドルウェアによるロボットプログラミング技術 4.ロボットの運動学と制御の基礎
Noriaki Ando
•
1.6K views
Robomec2014 rtm講習会第3部 von openrtm
Robomec2014 rtm講習会第3部
openrtm
•
1.1K views
Rtshell 2017 von openrtm
Rtshell 2017
openrtm
•
1.3K views
160705-01 RTミドルウエア講習会・名城大 von openrtm
160705-01 RTミドルウエア講習会・名城大
openrtm
•
405 views
2015 summercamp 05 von openrtm
2015 summercamp 05
openrtm
•
4.2K views
160705-w03 RTミドルウエア講習会・早稲田大 von openrtm
160705-w03 RTミドルウエア講習会・早稲田大
openrtm
•
832 views
OpenRTM-aist入門 von Yuki Suga
OpenRTM-aist入門
Yuki Suga
•
5K views
Robomec2014 rtm講習会第2部 von openrtm
Robomec2014 rtm講習会第2部
openrtm
•
1.3K views
2015RTミドルウエア講習会 von openrtm
2015RTミドルウエア講習会
openrtm
•
942 views
181106 01 von openrtm
181106 01
openrtm
•
459 views
Destacado
160608 01 von
160608 01
openrtm
1.4K views
•
69 Folien
Japan Robot Week 2016 RTM講習会 第3部 von
Japan Robot Week 2016 RTM講習会 第3部
openrtm
1.9K views
•
9 Folien
20130329 rtm2 von
20130329 rtm2
openrtm
594 views
•
12 Folien
20130329 rtm3 von
20130329 rtm3
openrtm
809 views
•
67 Folien
130329 01 von
130329 01
openrtm
720 views
•
48 Folien
130329 04 von
130329 04
openrtm
639 views
•
54 Folien
Destacado
(20)
160608 01 von openrtm
160608 01
openrtm
•
1.4K views
Japan Robot Week 2016 RTM講習会 第3部 von openrtm
Japan Robot Week 2016 RTM講習会 第3部
openrtm
•
1.9K views
20130329 rtm2 von openrtm
20130329 rtm2
openrtm
•
594 views
20130329 rtm3 von openrtm
20130329 rtm3
openrtm
•
809 views
130329 01 von openrtm
130329 01
openrtm
•
720 views
130329 04 von openrtm
130329 04
openrtm
•
639 views
自動アングル機能を有したロボットカメラSi von Shogo Namatame
自動アングル機能を有したロボットカメラSi
Shogo Namatame
•
13.5K views
160705-02 RTミドルウエア講習会・名城大 von openrtm
160705-02 RTミドルウエア講習会・名城大
openrtm
•
354 views
160705-03 RTミドルウエア講習会・名城大 von openrtm
160705-03 RTミドルウエア講習会・名城大
openrtm
•
537 views
ポータブルコンポーネントマネージャの実装 von Yosuke Matsusaka
ポータブルコンポーネントマネージャの実装
Yosuke Matsusaka
•
1.5K views
JVRC Tutorial von Yosuke Matsusaka
JVRC Tutorial
Yosuke Matsusaka
•
3.4K views
Robomec2015講習会 150517 02 von openrtm
Robomec2015講習会 150517 02
openrtm
•
1.8K views
Robomec2015講習会 150517 03 von openrtm
Robomec2015講習会 150517 03
openrtm
•
2K views
130710 01 von openrtm
130710 01
openrtm
•
1.2K views
Robomec2014 rtm講習会第1部(その2) von openrtm
Robomec2014 rtm講習会第1部(その2)
openrtm
•
1.5K views
130710 02 von openrtm
130710 02
openrtm
•
1.4K views
Robomec2014 rtm講習会第1部(その1) von openrtm
Robomec2014 rtm講習会第1部(その1)
openrtm
•
1.2K views
グループ4 ロボットで福笑い von openrtm
グループ4 ロボットで福笑い
openrtm
•
1.9K views
グループ5 ひとりでもだるまさんが転んだ von openrtm
グループ5 ひとりでもだるまさんが転んだ
openrtm
•
1.7K views
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会 von openrtm
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
openrtm
•
2.4K views
Similar a 160608 02
200923 01jp von
200923 01jp
openrtm
446 views
•
37 Folien
OpenRTM-aistおよび RTコンポーネントプログラミングの概要 von
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
openrtm
351 views
•
37 Folien
ROBOMECH2023 RTミドルウェア講習会 第1部 von
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
18 views
•
49 Folien
151026 東工大授業「ロボット技術」資料 von
151026 東工大授業「ロボット技術」資料
Noriaki Ando
1.1K views
•
81 Folien
Nedo講座・rtmセミナー von
Nedo講座・rtmセミナー
openrtm
624 views
•
32 Folien
131017 cnr研究会 ando von
131017 cnr研究会 ando
openrtm
633 views
•
31 Folien
Similar a 160608 02
(20)
200923 01jp von openrtm
200923 01jp
openrtm
•
446 views
OpenRTM-aistおよび RTコンポーネントプログラミングの概要 von openrtm
OpenRTM-aistおよび RTコンポーネントプログラミングの概要
openrtm
•
351 views
ROBOMECH2023 RTミドルウェア講習会 第1部 von openrtm
ROBOMECH2023 RTミドルウェア講習会 第1部
openrtm
•
18 views
151026 東工大授業「ロボット技術」資料 von Noriaki Ando
151026 東工大授業「ロボット技術」資料
Noriaki Ando
•
1.1K views
Nedo講座・rtmセミナー von openrtm
Nedo講座・rtmセミナー
openrtm
•
624 views
131017 cnr研究会 ando von openrtm
131017 cnr研究会 ando
openrtm
•
633 views
Rtm講習会 140626 01 von openrtm
Rtm講習会 140626 01
openrtm
•
610 views
201110 01 Polytech Center 1 von openrtm
201110 01 Polytech Center 1
openrtm
•
306 views
200520 ユビキタスロボティクス特論 von NoriakiAndo
200520 ユビキタスロボティクス特論
NoriakiAndo
•
87 views
130711 01 von openrtm
130711 01
openrtm
•
701 views
150629 01 von openrtm
150629 01
openrtm
•
676 views
Rtミドルウェア講習会@名城大 20140624 1 von openrtm
Rtミドルウェア講習会@名城大 20140624 1
openrtm
•
1.4K views
20130329 rtm01 von openrtm
20130329 rtm01
openrtm
•
339 views
20130329 rtm1 von openrtm
20130329 rtm1
openrtm
•
379 views
東京工業大学「ロボット技術・ロボットミドルウェア」 von NoriakiAndo
東京工業大学「ロボット技術・ロボットミドルウェア」
NoriakiAndo
•
577 views
Ossで作成するチーム開発環境 von Tadahiro Ishisaka
Ossで作成するチーム開発環境
Tadahiro Ishisaka
•
3.9K views
Open lab2013パネル原稿集 von openrtm
Open lab2013パネル原稿集
openrtm
•
2.6K views
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」 von openrtm
RTミドルウェアサマーキャンプ2018「有用なRTCの紹介」
openrtm
•
1.1K views
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会 von Noriaki Ando
RTミドルウェア強化月間2017 in 東京都立産業技術研究センター・RTミドルウェア講習会
Noriaki Ando
•
369 views
ロボット管理プラットフォーム「 RoboticBase 」の紹介 von Kazuki Urabe
ロボット管理プラットフォーム「 RoboticBase 」の紹介
Kazuki Urabe
•
1.3K views
Más de openrtm
ピッキングシステム von
ピッキングシステム
openrtm
706 views
•
9 Folien
GNGを使った未知環境における経路計画 von
GNGを使った未知環境における経路計画
openrtm
713 views
•
10 Folien
まねっこロボット von
まねっこロボット
openrtm
719 views
•
15 Folien
商品自動補充ロボットシステム von
商品自動補充ロボットシステム
openrtm
712 views
•
13 Folien
RTサマーキャンプ2022最終発表_都立大.pptx von
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
715 views
•
15 Folien
SysML実習20220822SC_GA.pdf von
SysML実習20220822SC_GA.pdf
openrtm
822 views
•
10 Folien
Más de openrtm
(20)
ピッキングシステム von openrtm
ピッキングシステム
openrtm
•
706 views
GNGを使った未知環境における経路計画 von openrtm
GNGを使った未知環境における経路計画
openrtm
•
713 views
まねっこロボット von openrtm
まねっこロボット
openrtm
•
719 views
商品自動補充ロボットシステム von openrtm
商品自動補充ロボットシステム
openrtm
•
712 views
RTサマーキャンプ2022最終発表_都立大.pptx von openrtm
RTサマーキャンプ2022最終発表_都立大.pptx
openrtm
•
715 views
SysML実習20220822SC_GA.pdf von openrtm
SysML実習20220822SC_GA.pdf
openrtm
•
822 views
RTミドルウェアサマーキャンプ資料2022.pdf von openrtm
RTミドルウェアサマーキャンプ資料2022.pdf
openrtm
•
821 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
•
852 views
RTミドルウェアサマーキャンプ2021_坂本武志_1 von openrtm
RTミドルウェアサマーキャンプ2021_坂本武志_1
openrtm
•
794 views
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2 von openrtm
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
openrtm
•
64 views
Rtミドルウェアサマーキャンプ資料2021_菅佑樹 von openrtm
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
openrtm
•
795 views
160608 02
1.
第1部(その2):OpenRTM-aistおよび RTコンポーネントプログラミングの概要 国立研究開発法人産業技術総合研究所 ロボットイノベーション研究センター ロボットソフトウェアプラットフォーム研究チーム長 安藤 慶昭 1 2016年6月8日(水) ROBOMECH2016 チュートリアル RTミドルウェア講習会、RSNP講習会合同セッション
2.
はじめに • RTミドルウェアとは? • ロボット新戦略 •
ロボットソフトウェアプラットフォーム • RTミドルウェアの特長 • ROSとの比較、動向 • RTミドルウェアとオープンソースコミュニティー • RTコンポーネントの開発 • まとめ 2
3.
RTミドルウェアとは? 3
4.
44 • RT =
Robot Technology cf. IT – ≠Real-time – 単体のロボットだけでなく、さまざまなロボット技術に基づく機能要素 をも含む (センサ、アクチュエータ, 制御スキーム、アルゴリズム、 etc….) • RT-Middleware (RTM) – RT要素のインテグレーションのためのミドルウエア • RT-Component (RTC) – RT-Middlewareにおけるソフトウエアの基本単位 RT-Middleware + + + + + RTとは? 産総研版RTミドルウエア OpenRTM-aist
5.
5 従来のシステムでは… Joystick Robot Arm Joystick software 互換性のあるインターフェース同士は接続可能 Robot Arm Control
software
6.
6 ロボットによって、インターフェースは色々 互換性が無ければつながらない Joystick Humanoid’s Arm Robot Arm Joystick software Humanoid’s
Arm Control software Robot Arm Control software 従来のシステムでは…
7.
7 compatible arm interfaces RTミドルウエアは別々に作られた ソフトウエアモジュール同士を繋ぐ ための共通インターフェース を提供する ソフトウエアの再利用性の向上 RTシステム構築が容易になる Joystick Joystick software Arm A Control
software Arm B Control software Humanoid’s Arm Robot Arm RTミドルウエアでは…
8.
ロボットソフトウェア開発の方向 コンポーネント指向開発従来型開発 カメラ マイク 頭・腕駆動 音声合成 ステレオビジョン
対話音声認識 顔認識 ミドルウェア ステレオビジョン 対話音声認識 顔認識 カメラ マイク 頭・腕駆動 音声合成 様々な機能を融合的に設計 実行時の効率は高いが、柔軟性に欠ける システムが複雑化してくると開発が困難に 大規模複雑な機能の分割・統合 開発・保守効率化(機能の再利用等) システムの柔軟性向上
9.
ロボットミドルウエアとは? • ロボットシステム構築を効率化するための共通 機能を提供する基盤ソフトウエア – 「ロボットOS」と呼ばれることもある –
インターフェース・プロトコルの共通化、標準化 – 例として • モジュール化・コンポーネント化フレームワークを提供 • モジュール間の通信をサポート • パラメータの設定、配置、起動、モジュールの複合化(結合 )機能を提供 • 抽象化により、OSや言語間連携・相互運用を実現 • 2000年ごろから開発が活発化 – 世界各国で様々なミドルウエアが開発・公開されてい る 9
10.
10 ミドルウエア、コンポーネント、etc… • ミドルウエア – OSとアプリケーション層の中間に位置し、特定の用途に対して利便性、抽象 化向上のために種々の機能を提供するソフトウエア –
例:RDBMS、ORB等。定義は結構曖昧 • 分散オブジェクト(ミドルウエア) – 分散環境において、リモートのオブジェクトに対して透過的アクセスを提供す る仕組み – 例:CORBA、Java RMI、DCOM等 • コンポーネント – 再利用可能なソフトウエアの断片(例えばモジュール)であり、内部の詳細機 能にアクセスするための(シンタクス・セマンティクスともにきちんと定義され た)インターフェースセットをもち、外部に対してはそのインターフェースを介し てある種の機能を提供するモジュール。 • CBSD(Component Based Software Development) – ソフトウエア・システムを構築する際の基本構成要素をコンポーネントとして 構成するソフトウエア開発手法
11.
モジュール化のメリット • 再利用性の向上 – 同じコンポーネントをいろいろなシステムに使いまわせる •
選択肢の多様化 – 同じ機能を持つ複数のモジュールを試すことができる • 柔軟性の向上 – モジュール接続構成かえるだけで様々なシステムを構築 できる • 信頼性の向上 – モジュール単位でテスト可能なため信頼性が向上する • 堅牢性の向上 – システムがモジュールで分割されているので、一つの問 題が全体に波及しにくい
12.
RTコンポーネント化のメリット モジュール化のメリットに加えて • ソフトウエアパターンを提供 – ロボットに特有のソフトウエアパターンを提供することで、 体系的なシステム構築が可能 •
フレームワークの提供 – フレームワークが提供されているので、コアのロジックに 集中できる • 分散ミドルウエア – ロボット体内LANやネットワークロボットなど、分散システ ムを容易に構築可能
13.
1313 RTミドルウエアの目的 モジュール化による問題解決 • 仕様の明確化 • 最新技術を容易に利用可能 •
誰でもロボットが作れる ロボットの低コスト化 多様なニーズに対応 コストの問題 技術の問題 ニーズの問題 ! ! ! ! 最新の理論・ アルゴリズム A社製移動ベース B社製アーム C社製センサ・・・ 多様なユーザ システム開発者 カスタマイズが容易に RTコンポーネント化 最新技術を利用可能 ロボットシステムインテグレーションによるイノベーション モジュール化・再利用 仕様
14.
ロボット新戦略 14
15.
ロボット新戦略(2015年2月) • 日本経済再生本部決定文書 – ロボット革命実現会議の取りまとめ 内容 •
第1部 総論 – 現状分析 – 革命実現のための方策(3つの柱) • 第2部 アクションプラン – 分野横断事項 • 協議会設置・次世代技術開発・標準 化・人材育成等 – 分野別事項 • ものづくり・サービス・インフラ/災害対 応/建設・農林水産/食品産業分野 15 ロボット新戦略の重要性 関係各省庁も議論に参加し、内容の詳細に関与し合意したロボット戦略 →今後の施策に大きな影響 ロボット革命実現会議(2014年9月11日)
16.
ロボット新戦略:3つの柱 16 ロボット創出力強化 ロボットの活用・普及 世界を見据えた ロボット革命の展開・発展 多様な分野の要請に柔軟に対応 できるロボット創出力強化とイノ ベーションを誘発する場の創出 サービス、介護等様々な分野で ロボットの開発・導入を進める環 境整備の実施 Industry4.0やIndustrial
Internet 等世界的な潮流の中で、ものづく りを引き続きリードするロボット技 術の世界展開 A社製移動台車 B社製アーム C社製センサ・・・ D社製アクチュエータ サービス分野 食品分野 災害対応 インフラ点検 標準化 連携 イニシアチブ 普及 日本の強み RTミドルウェアで (ロボット創出力を)強化 (メーカーと地域を)つなぐ (市場を)広げる
17.
ロボット新戦略とRTミドルウェア(1) 17 p.13 第1部 総論 第2章
ロボット革命実現のための方策 第1節 ロボット創出力―日本のロボットを徹底して強化する 第3項 次世代に向けて (2) 国際的な展開を見据えた規格化・標準化 我が国おいて開発されたロボットの国際的な展開を見据えると、予め国際標準や規 格を構築し、それに準拠する形で実用化を目指すことが重要である。 その際、今後、複数のロボットが連携しシステムとして機能することが必要となってく ることを踏まえ、個々のデバイスのほか、ミドルウェア(ロボットOS)等のソフトウェア・ インターフェース、通信等の機器間連携、そしてこれらの機能評価に関し、規格化・標 準化に重点的に取り組む。
18.
18 p.23 第2部 アクションプラン―五カ年計画 第1章 分野横断的事項 第2節
次世代に向けた技術開発 (3) 開発すべき技術 ④OS・ミドルウェア等 ロボットやロボットシステムを構成するためには、要素技術・部品・ロボットそのものを OS・ミドルウェア等の基盤的なソフトウェアで統合する必要がある。また、これにより 互換性、開発の生産性も高めることが可能となる。そうした技術について、現状では、 • (中略)使い勝手が良く一定程度標準化されたOS・ミドルウェア・プログラミング言 語等を、将来の要素技術の発展に対応させる必要がある。 • 異なるOSのロボット同士が対話する場合、あるいは、ロボットに新たなモジュール を搭載する場合など、ロボット及びモジュールのインターフェースを標準化する必 要がある。 等の課題が存在している。こうした課題に対して、動作環境を模擬するシミュレータや、 シミュレータと連携可能なOS・ミドルウェア、また、標準になり得る汎用的なOS・ミドル ウェア等の研究開発が必要と考えられる。 ロボット新戦略とRTミドルウェア(2)
19.
19 pp.27-32 第2部 アクションプラン- 五カ年計画 第1章
分野横断的事項 第3節 ロボット国際標準化への対応 第1項 ハードウェア/ソフトウェアのモジュール化を見据えた共通基盤 (ミドルウェア・ロボット OS) (中略)ロボットを構成するハードウェア、ソフトウェアの機能要素をモジュール化・共 通化することで、 (中略)ロボットを低価格で構成することが可能となる。また、共通 のソフトウェアプラットフォームを利用することで、 (中略)ロボットインテグレータは対 象毎の機能の実現に注力することができる。 (3) 2020 年に目指すべき姿 ロボットによる産業革命を日本主導で実現するためにも、(中略)ロボット制御の基幹 部分であるロボット OS・ミドルウェアについても積極的な取組を進めていくことが重 要である。 (中略)様々な国際標準を日本主導で策定することで、 (中略)日本のロ ボット産業が世界をリードすることが可能となる。 (中略)そのため、新たに設置される「ロボット革命イニシアティブ協議会」(第1項参 照)が中心となって、必要な情報収集及び国際発信を行い、国際標準化の流れを主 導していく。 ロボット新戦略とRTミドルウェア(3)
20.
ロボットソフトウェアプラットフォーム 20
21.
① 世界のロボットイノベーション拠点 「ロボット創出力の抜本的強化」 ② 世界一のロボット利活用社会 「ショーケース(ロボットがある日常の実現)」 ③
世界をリードするロボット新時代への戦略 ① 世界のロボットイノベーション拠点 「ロボット創出力の抜本的強化」 ② 世界一のロボット利活用社会 「ショーケース(ロボットがある日常の実現)」 ③ 世界をリードするロボット新時代への戦略 「ロボット新戦略」三つの柱 ・ものづくりにおける未活用作業 ・サービス産業(物流、バックヤード) ・生活支援、介護・医療 ・災害対応、インフラ点検 ・コミュニケーション、モビリティー等 ・ものづくりにおける未活用作業 ・サービス産業(物流、バックヤード) ・生活支援、介護・医療 ・災害対応、インフラ点検 ・コミュニケーション、モビリティー等 ロボット未活用領域 • ユーザが求めるロボットをいち早く提供できる「Easy to use」なロボットの実現 • インテグレーションコストの削減によるイニシャルコストの低減 • 多様な分野への展開によりスケールメリットが働く産業横造 ロボットのプラットフォーム化によるロボット普及促進 ■ プラットフォームロボットSWG(RRI・WG3に設置) ・プラットフォーム化が有効に働く分野について議論 ・要求仕様や具体的なハードウェアプラットフォームを提案 ・ソフトウェアプラットフォームとエコシステムを含めた具体的アクションプラン を提言としてまとめた ロボットプラットフォームの必要性
22.
ロボットソフトウェアプラットフォーム 22 1. ソフトウェア基盤 2. ベース機能 4.
SI費⽤ 利⽤するHW・⽤途に応じて既存OS利⽤、 RTM・ROS等OSS活⽤or機能強化 ピックアンドプレース、SLAM等⽤途別基本機能 MoveIt!, OepnCV等OSS活⽤or機能強化 ティーチング、チューニング゙等顧客の要望に応じた作業 知能化研究・パッケージ化を進めPF化することで削減 3. ⾮機能要件 ・テスト・検証・性能指標 ・ドキュメンテーション ・教育・コミュニティー ・安全規格とのマッチング ・ライセンス・特許 ・⻑期的な保守・運⽤体制 ソフトウェアプラットフォーム コンパイラCLANGの例 (オープンソース) 近年大規模かつ公共性の高いソフトウェ アは企業がオープンソース開発に関与 ロボットのミドルウェア・基本機能 ライブラリも公共性は高いが、OSS 開発コミュニティーが未発達 プラットフォームとして 強化すべき領域 分野横断的機能開発 多様な参加者が必要 分野別機能開発 1社のみの開発は負担大 横展開可能な技術 情報共有の場が必要 市場が成熟するまではコンソーシアム方式が適当 ロボットソフトウェアプラットフォームコンソーシアム プレイヤー:ハードメーカー、ソフトベンダ、SIer、ユーザ ロボットソフトウェアプラットフォームコンソーシアム プレイヤー:ハードメーカー、ソフトベンダ、SIer、ユーザ ※OSS=オープンソースソフトウェア
23.
ソフトウェアプラットフォームの仕様 23 ③ ⽣ 活 ⽀ 援 分 野 ③ ⽣ 活 ⽀ 援 分 野 ② サ ー ビ ス 分 野 ︵ 物 流 ︶ ② サ ー ビ ス 分 野 ︵ 物 流 ︶ ① も の づ く り 分 野 ① も の づ く り 分 野 OS ミドル モ バ イ ル マ ニ ピ ュ レ ー シ ョ ン ビ ジ ョ ン コ ミ ュ ニ ケ ー シ ョ ン 情 報 通 信 モ バ イ ル マ ニ ピ ュ レ ー シ ョ ン ビ ジ ョ ン OS ミドル 情 報 通 信 モ バ イ ル マ ニ ピ ュ レ ー シ ョ ン ビ ジ ョ ン コ ミ ュ ニ ケ ー シ ョ ン OS ミドル 情 報 通 信 • 分野別ソフトウェアPF •
A. マニピュレーション機能(①、②、③) • B. コミュニケーション機能(①、③) • C.モバイル機能(①、②、③) • D. ビジョンセンサ機能( ①、②、③) • E. 情報通信機能( ①、②、③) • ミドルウェア層 • コンポーネント指向開発 • 粒度︓アルゴリズム・デバイスレベル以上の細粒度 • パッケージング機能 • 分散システム開発 • ネットワーク透過、通信QoS制御 • リアルタイム制御可能︓ • マニピュレータ︓ 位置制御 5ms、⼒制御 1ms • 移動制御︓ 5〜10ms が可能 • モジュール化開発 • 多⾔語開発可能 • C/C++、Python等スクリプト⾔語) • 多種OS対応 • Linux, Windows, リアルタイムOS(RTOS)等 • OS層 • ハードリアルタイム実⾏可能 • プリエンプティブ・優先度ベーススケジューリング • マルチタスク対応 • 応答時間︓100 μs程度以下 • POSIX互換(⾮組込)またはTRON等組込OS • マルチコア対応 • ネットワーク対応 • 32bitまたは64bit ソフトウェアプラットフォームの仕様 RTM実現済、ROS2で実現予定 RTM要開発、ROS実現済 RTM⼀部実現済、ROSは要開発 RTM⼀部実現済、ROSは要開発 RTM要商⽤RTOS対応 ROS要Windows対応強化 RTM・ROS要開発 ハードPFに応じて 適切なものを選択 オープンソースを活⽤し 品質向上と機能強化 要求を満たすものが 無ければ新規開発
24.
RTミドルウェアの特長 24
25.
25 RTミドルウエアとRTコンポーネント 25 RT コンポーネント フレームワーク RT コンポーネント ロジック ロジックを箱(フレームワーク)に入れたもの=RTコンポーネント(RTC) RTミドルウエア RTC RTC RTC
RTC RTC RTC RTC RTC RTCの実行環境(OSのようなもの)=RTミドルウエア(RTM) ※RTCはネットワーク上に分散可能 ・デバイス制御 ・制御アルゴリズム ・アプリケーション etc…
26.
RTコンポーネントの主な機能 26 Inactive Active Error アクティビティ・実行コンテキスト ライフサイクルの管理・コアロジックの実行 共通の状態遷移 センサRTC 複合実行 制御RTC アクチュエータRTC エンコーダ コンポーネント アクチュエータ コンポーネント 制御器 ンポーネントコ 1 TI s TDs Kp+ - 目標値 位置 位置 電圧 データポート •
データ指向ポート • 連続的なデータの送受信 • 動的な接続・切断 データ指向通信機能 サーボの例 • 定義可能なインターフェースを持つ • 内部の詳細な機能にアクセス – パラメータ取得・設定 – モード切替 – etc… サービスポート 画像 データ 3Dデプス データ ステレオビジョンの例 ステレオビジョン インターフェース ・モード設定関数 ・座標系設定関数 ・キャリブレーション ・etc… サービスポート ステレオビジョン コンポーネント データポート サービス指向相互作用機能 名前 値 セット名 名前 値 セット名 複数のセットを 動作時に 切り替えて 使用可能 コンフィギュレーション • パラメータを保持する仕組み • いくつかのセットを保持可能 • 実行時に動的に変更可能
27.
RTCの分割と連携 (モジュール)情報の隠蔽と公開のルールが重要 音声合成 ンポーネントコ カメラ ンポーネントコ カメラ ンポーネントコ 画像データ 画像データ ポート データ・コマンドの流れ 顔位置 合せ問 文字データ 音声データ 人物データ カメラコントロール 表情データ 文字データ ジェスチャ 道データ軌 頭・腕駆動 ンポーネントコ マイク ンポーネントコ ステレオビジョン ンポーネントコ 対話 ンポーネントコ 音声認識 ンポーネントコ 顔認識 ンポーネントコ ロボット体内のコンポーネントによる構成例
28.
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同士の接続 は、プログラム 実行中に動的に 行うことが出来る。
29.
29 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標準仕様 ver.1.0公式リリース • 2010年1月 OpenRTM-aist-1.0リリース • 2012年9月 ver. 1.1改定 • 2014年12月 FSM4RTC(FSM型RTCとデータポート標準) Beta1
30.
OMG RTC ファミリ 30 名称
ベンダ 特徴 互換性 OpenRTM-aist AIST C++, Python, Java --- OpenRTM.NET SEC .NET(C#,VB,C++/CLI, F#, etc..) ◎ RTM on Android SEC Android版RTミドルウエア ◎ H-RTM 本田R&D OpenRTM-aist互換、FSM型コンポーネントをサポート ◎ RTC-Lite AIST PIC, dsPIC上の実装 〇(ブリッジ) miniRTC, microRTC SEC CAN・ZigBee等を利用した組込用RTC実装 〇(ブリッジ) RTMSafety SEC/AIST 機能安全認証 (IEC61508) capableなRTM実装,商用 〇(ブリッジ) RTC CANOpen SIT, CiA CANOpen-RTCマッピングを定めたCiA 標準 〇(ブリッジ) PALRO 富士ソフト 小型ヒューマノイドのためのC++ PSM 実装 × OPRoS ETRI 韓国国家プロジェクトでの実装 × GostaiRTC GOSTAI, THALES ロボット言語上で動作するC++ PSM実装 × 同一標準仕様に基づく多様な実装により • 実装(製品)の継続性を保証 • 実装間での相互利用がより容易に
31.
応用例(研究用プラットフォーム) HRP-4(川田工業) HIRO(川田工業) ビュートローバーRTC/RTC-BT(VSTONE) OROCHI(アールティ) HRP-2(川田工業)
32.
応用例(実応用その他) 災害対応ロボット操縦シミュレータ: NEDO/千葉工大 S-ONE:SCHAFT DAQ-Middleware: KEK/J-PARC KEK: High
Energy Accelerator Research Organization J-PARC: Japan Proton Accelerator Research ComplexTAIZOU: GRX 新日本電工他: 小型ベクレルカウンタ 新日本電工他: Mobile SEM HRP-4C: AIST RAPUDA:Life Robotics
33.
ROSとの比較、動向 33
34.
ROS ROSの良い点 • UNIXユーザに受けるツール( 特にCUI)が豊富 • 独自のパッケージ管理システ ムを持つ •
ノード(コンポーネント)の質、 量ともに十分 – WGが直接品質を管理してい るノードが多数 • ユーザ数が多い • メーリングリストなどの議論が オープンで活発 • 英語のドキュメントが豊富 ROSの問題点 • Ubuntu以外の対応が今一つ – Windows対応はいろいろな人 が試したがいまだに公式には 含まれない • コアライブラリの仕様が固まっ ていない – 他の言語で実装する際の妨げ – サードパーティー実装が出にく い – 品質を保証しづらい • コンポーネントモデルがない
35.
OpenRTM OpenRTMの良い点 • 対応OS・言語の種類が多い – Windows、UNIX、uITRON、T- Kernel、VxWorks、QNX –
Windowsでネイティブ動作する • GUIツールがあるので初心者向き • 仕様が標準化されている – OMGに参加すればだれでも変更可 – サードパーティー実装が作りやすい – すでに10程度の実装あり • コンポーネントモデルが明確 – オブジェクト指向、UML・SysMLとの 相性が良い – モデルベース開発 • IEC61508機能安全認証取得 – RTMSafety OpenRTMの問題点 • コンポーネントの数が少ない • パッケージ管理システムがな い • CUIツールが少ない – UNIXユーザ受けしない • ユーザ数が少ない • 英語のドキュメントが少ない • 知名度が低い • 開発速度が遅い – 現在は開発者一人
36.
新たなユースケースと新たな技術 ユースケース • 複数のロボット • 組込みCPU •
リアルタイム • 理想的でない通信環境 • 製品向け使用 • あらかじめ規定された パターンにのっとった構 造化したシステム構成 新たな技術 • Zeroconf (avahi, bonjour, UPnP等) • Protocol Buffers • ZeroMQ (and the other MQs) • Redis(次世代高速key-valueデータストア) • WebSockets • DDS (Data Distribution Service). 36 http://design.ros2.org/articles/why_ros2.html
37.
ROS2 • 2015年6月ごろalphaリリース • 通信部分は既存の標準に基づくミドルウェア: DDSで行うとした –
ただし、DDSの複数の実装に対応 – RTMが複数のCORBA実装に対応したように • DDS依存部分はmiddleware interfaceとして 隠ぺいすることとした – ちょうどRTMがCORBAを隠ぺいしたように • コンポーネントモデルを導入することにした • コードはWindowsでの使用も意識した形に 37 http://design.ros2.org/articles/ros_middleware_interface.html
38.
RTミドルウェアと オープンソースコミュニティー 38
39.
RTミドルウエアの広がり 39 2008年 2009年 2010年
2011年 2012年 合計 C++ 4978 9136 12049 1851 253 28267 Python 728 1686 2387 566 55 5422 Java 643 1130 685 384 46 2888 Tool 3993 6306 3491 967 39 14796 All 10342 18258 18612 3768 393 51373 2012年2月現在 ダウンロード数 プロジェクト登録数 タイプ 登録数 RTコンポーネント群 287 RTミドルウエア 14 ツール 19 仕様・文書 4 ハードウエア 28 タイプ 登録数 Webページユーザ 365 人 Webページアクセス 約 300 visit/day 約 1000 view/day メーリングリスト 447 人 講習会 のべ 592 人+22人 利用組織(Google Map) 46 組織 ユーザ数 OMG RTC規格実装 (11種類) 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実装
40.
プロジェクトページ • ユーザが自分の作品を 登録 • 他のユーザの作った RTCを探すことができ る 40 タイプ
登録数 RTコンポーネント群 287 RTミドルウエア 14 ツール 19 仕様・文書 4 ハードウエア 28
41.
サマーキャンプ • 毎年夏に1週間開催 • 今年:8月1日~8月5日 •
募集人数:20名 • 場所:産総研つくばセンター • 座学と実習を1週間行い、最後 にそれぞれが成果を発表 • 産総研内のさくら館に宿泊しな がら夜通し?コーディングを行 う! 41
42.
RTミドルウエアコンテスト • SICE SI
(計測自動制御学会 システムインテグレーション 部門講演会 )のセッションとして開催 – 各種奨励賞・審査基準開示:5月頃 – エントリー〆切:8月21日(SI2015締切) – ソフトウエア登録:10月ごろ – 講演原稿〆切:9月25日 – オンライン審査:11月下旬~ – 発表・授賞式:12月ごろ • 2014年度実績 – 応募数:20件 – 計測自動制御学会学会RTミドルウエア賞 (副賞10万円) – 奨励賞(賞品協賛):2件 – 奨励賞(団体協賛):11件 – 奨励賞(個人協賛):7件 • 詳細はWebページ: openrtm.org – コミュニティー→イベント をご覧ください 42
43.
提言 • 自前主義はやめよう!! – 書きたてのコードより、いろいろな人に何万回も実行されたコードの ほうが動くコードである!! –
自分にとって本質的でない部分は任せて、本当にやりたい部分・やる べき部分のコードを書こう!! – 誰かがリリースしたプログラムは一度は動いたことがあるプログラム である!! – 人のコードを読むのが面倒だからと捨ててしまうのはもったいない! ! • オープンソースにコミットしよう!! – 臆せずMLやフォーラムで質問しよう!! – どんなに初歩的な質問でも他の人にとっては価値ある情報である。 – 要望を積極的にあげよう!! – できればデバッグしてパッチを送ろう! 43
44.
RTコンポーネントの開発 44
45.
OpenRTMを使った開発の流れ 45 コンポーネント の仕様 RtcTemplate コードの雛型 (C++のクラス) コアロジック RTC開発者が 開発したプログ ラム資産 .so or DLL 雛型にコアロジック を埋め込む コンパイル コード生成 どのようなコンポーネントか? ・名前 ・データポート ・サービスポート ・コンフィギュレーション 実行 マネージャ (ミドルウエア)
46.
フレームワークとコアロジック ステレオビジョン ルゴリズムア コアロジック 右目画像左目画像 デプスマップ RT ンポーネント レームワーク コ フ RT ンポーネント 準インターフェース コ 標 ステレオビジョン RT
ンポーネントコ RT ンポーネント 準インターフェース コ 標 右目画像左目画像 デプスマップ + =中身は空 RTCフレームワーク+コアロジック=RTコンポーネント
47.
コンポーネントの作成 (Windowsの場合) 47 RTBUilder CMake Visual
C++ コンポーネントの 仕様の入力 VCのプロジェクト ファイルの生成 実装および VCでコンパイル 実行ファイルの生成 テンプレートコード の生成
48.
コード例 • 生成されたクラスのメン バー関数に必要な処理 を記述 • 主要な関数 –
onExecute (周期実行) • 処理 – InPortから読む – OutPortへ書く – サービスを呼ぶ – コンフィギュレーションを 読む 48
49.
コンポーネント内の状態遷移 ActiveDo/RTC::onExecuteはここに入る (DataFlow型のコンポーネントのとき) ユーザがあまり 意識しなくてよい部分 コンポーネント開発時に 必要な部分
50.
コールバック関数 コールバック関数 処理 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
51.
InPort • InPortのテンプレート第2引数:バ ッファ – ユーザ定義のバッファが利用 可能 •
InPortのメソッド – read(): InPort バッファから バインドされた変数へ最新値 を読み込む – >> : ある変数へ最新値を読 み込む リングバッファ バインドされた変数 read() operator>> 最新値 InPort Robot Component Sensor Data 例 基本的にOutPortと対になる データポートの型を 同じにする必要あり
52.
OutPort • OutPortのテンプレート第2引数: バッファ – ユーザ定義のバッファが利用 可能 •
OutPortのメソッド – write(): OutPort バッファへ バインドされた変数の最新値 として書き込む – >> : ある変数の内容を最新 値としてリングバッファに書き 込む リングバッファ バインドされた変数 write() operator<< OutPort 最新値 Sensor Component Sensor Data 例基本的にInPortと対になる データポートの型を 同じにする必要あり
53.
動作シーケンス 53 ネームサーバ ① 参照を登録 ②
参照を登録 ③ 参照を取得 ④ ポートを接続
54.
ネットワークインターフェースが 2つある場合の注意 54 ネーム サーバ Address A Address B こちらのアドレスを基に CORBA参照を生成 登録はアドレスB側の ネームサーバ 登録はアドレスB側の ネームサーバ RTC-A RTC-A
(Address B) RTC-A (Address B) ってどこ?
55.
まとめ • RTミドルウエアの概要 – 基本概念 •
ロボット新戦略とプラットフォーム – ロボット未活用領域の開拓 • ROSとの比較、動向 • RTコンポーネントの開発方法 – 開発の流れ 55
56.
本日の実習の流れ 56 13:00 -14:30 RTコンポーネント作成 (Flipコンポーネント) 講師:安藤 14:45 -16:45 プログラミング実習 講師:宮本信彦
氏 (産総研) 他 LEGO Mindstorms EV3RaspberryPi マウス RSNP講習会:E202へ移動RTM講習会はこの部屋(E204)のままで