2018 年 3 12 ( ) OSS ユーザーのための勉強会 ロボット開発 / RT-Middleware の特 と最新動向 国 研究開発法 産業技術総合研究所ロボットイノベーション研究センター ロボットソフトウェアプラットフォーム研究チーム 安藤慶昭 1
RT ミドルウェアとは? モジュール化されたソフトウェアを組み合わせてシステムを構成するミドルウェア ツール群 2
RT ミドルウェアとは? 主に多自由度 ( モータ数が多い ) のロボットのリアルタイム制御などに力を発揮 3
はじめに RT ミドルウエアの概要 基本概念 OSS にまつわる問題 ROS との 較 動向 ROS2, ROS-industrial オープンソース活 プロジェクト ロボット新戦略と新規 NEDO プロジェクト RRI 調査検討委員会 まとめ 4
RT とは? RT = Robot Technology cf. IT Real-time 単体のロボットだけでなく さまざまなロボット技術に基づく機能要素をも含む ( センサ アクチュエータ, 制御スキーム アルゴリズム etc.) 産総研版 RTミドルウエア OpenRTM-aist + + + + + RT-Middleware (RTM) RT 要素のインテグレーションのためのミドルウエア RT-Component () RT-Middleware におけるソフトウエアの基本単位 RT-Middleware 5
ロボットソフトウェア開発の 向 従来型開発 コンポーネント指向開発 カメラ マイク頭 腕駆動 声合成 カメラ 声認識 対話 声合成 ミドルウェア マイク 顔認識ステレオビジョン 頭 腕駆動 様々な機能を融合的に設計 実 時の効率は いが 柔軟性に ける システムが複雑化してくると開発が困難に ステレオ顔認識 声認識対話ビジョン 規模複雑な機能の分割 統合 開発 保守効率化 ( 機能の再利 等 ) システムの柔軟性向上 2000 年ごろからロボットミドルウェア ロボット OS の開発が活発化新規ロボット開発にミドルウェア利用することが主流に 6
RT コンポーネント化のメリット モジュール化のメリットに加えて ソフトウエアパターンを提供 ロボットに特有のソフトウエアパターンを提供することで 体系的なシステム構築が可能 フレームワークの提供 フレームワークが提供されているので コアのロジックに集中できる 分散ミドルウエア ロボット体内 LAN やネットワークロボットなど 分散システムを容易に構築可能 7
RT コンポーネントの主な機能 アクティビティ 実 コンテキスト複合実 共通の状態遷移 Inactive Active Error センサ 制御 アクチュエータ ライフサイクルの管理 コアロジックの実 データポート データ指向ポート 連続的なデータの送受信 動的な接続 切断 標値 エンコーダコンポーネント 位置 位置 - 1 TI s TDs + Kp 制御器コンポーネント トルク データ指向通信機能 サーボの例 アクチュエータコンポーネント サービスポート 定義可能なインターフェースを持つ 内部の詳細な機能にアクセス パラメータ取得 設定 モード切替 etc ステレオビジョンインターフェース モード設定関数 座標系設定関数 キャリブレーション etc 画像データ サービス指向相互作 機能 ステレオビジョンの例 サービスポート 3D デプスデータ ステレオビジョンコンポーネントデータポート コンフィギュレーション パラメータを保持する仕組み いくつかのセットを保持可能 実 時に動的に変更可能 セット名 セット名 名前値 名前値 複数のセットを動作時に切り替えて使 可能 8
RT ミドルウエアによる分散システム RTM により ネットワーク上に分散する を OS 語の壁を越えて接続することができる ロボット A (C++) RTM (C++) ロボット B (C++) RTM (C++) (C++) ロボット C (C++) RTM (Python) ネットワーク VxWorks QNX Real-time Linux Linux Windows uitron (Java) RTM (Python) (C++) RTM (Java) (C++) RTM (C++) 同 の接続は プログラム実 中に動的に うことが出来る アプリケーション操作デバイスセンサ 9
RT ミドルウエアの 的モジュール化による問題解決 仕様の明確化 最新技術を容易に利 可能 誰でもロボットが作れる コストの問題技術の問題ニーズの問題 A 社製移動ベース B 社製アーム C 社製センサ 最新の理論 アルゴリズム 多様なユーザ!!!! RT コンポーネント化 仕様 モジュール化 再利 ロボットの低コスト化 システム開発者 最新技術を利 可能 カスタマイズが容易に 多様なニーズに対応 ロボットシステムインテグレーションによるイノベーション 10
OpenRTM-aist のライセンス OpenRTM-aist (C++, Python, Java, ツール群 ) LGPL ( ツールは EPL) と個別契約のデュアルライセンス方式 EPL: Eclipse Public License ( LGPL に特許条項を付加したライセンス ) 特許を含むコードを寄贈しても後から特許権を主張できない RT コンポーネントを作る場合 新たな RTM やツールを作る場合 (GPL) (BSD) (MIT) ( 独自 ) 選択 OpenRTM (LGPL) OpenRTM (LGPL) OpenRTM ( 個別 ) RT コンポーネントは動的リンクライブラリ形式で提供可能なので ライセンスは自由に設定可能 商用ライセンスを設定して販売することもできる MyRTM (LGPL) ソース公開義務 MyRTM ( 任意 ) 産総研 TLO と契約ソース公開義務は生じない の自由な流通を保証 ハード固有の改良に対してクローズド戦略も保証 11
国際標準 OMG 国際標準 標準化組織で 続きに沿って策定 1 組織では勝 に改変できない安 感 多くの互換実装ができつつある 競争と相互運 性が促進される RT ミドルウエア互換実装は 10 種類以上 名称ベンダ特徴互換性 OpenRTM-aist 産総研 NEDO PJ で開発 参照実装 --- HRTM ホンダアシモは HRTM へ移 中 OpenRTM.NET セック.NET(C#,VB,C++/CLI, F#, etc..) RTM on Android セック Android 版 RT ミドルウエア 標準化履歴 2005 年 9 Request for Proposal 発 ( 標準化開始 ) 2006 年 9 OMG で承認 事実上の国際標準獲得 2008 年 4 OMG 標準仕様 ver.1.0 公式リリース 2012 年 9 ver. 1.1 改定 2015 年 9 FSM4(FSM 型 とデータポート標準 ) 採択 -Lite 産総研 PIC, dspic 上の実装〇 Mini/Micor SEC NEDOオープンイノベーションPJで 開発 RTMSafety SEC/AIST NEDO 知能化 PJで開発 機能安全認 証取得 CANOpen SIT, CiA CAN 業界 RTM 標準〇 PALRO 富 ソフト 型ヒューマノイドのためのC++ PSM 実装 OPRoS ETRI 韓国国家プロジェクトでの実装 Gostai GOSTAI, THALES ロボット 語上で動作する C++ PSM 実装 特定のベンダが撤退してもユーザは使い続けることが可能 〇 〇 12
実 例 製品化例 HRP シリーズ : 川 業 AIST S-ONE:SCHAFT DAQ-Middleware: KEK/J-PARC KEK: High Energy Accelerator Research Organization J-PARC: Japan Proton Accelerator Research Complex 災害対応ロボット操縦シミュレータ : NEDO/ 千葉 HIRO, NEXTAGE open: Kawada Robotics RAPUDA:Life Robotics ビュートローバー /-BT(VSTONE) OROCHI( アールティ ) 新 本電 他 : Mobile SEM 13
プロジェクトページ ユーザが 分のを登録 オープンソースのものは 由にダウンロード可能 品質管理 保守が課題 過去のプロジェクトでは ソフト専業企業が検証 ドキュメント整備 保守を実施したことも ライセンスの問題 学などの はライセンスが明記されていないものも Builder ではライセンス記 欄を追加 特許の問題 個々のの特許調査は事実上不可能 過去のプロジェクトでは予防調査は実施 現在 400 弱のプロジェクト登録数 14
サマーキャンプ 毎年夏に1 週間開催 今年 :7 30 8 3 募集 数 :20 名 場所 : 産総研つくばセンター 座学と実習を1 週間 い 最後にそれぞれが成果を発表 産総研内のさくら館に宿泊しながら夜通し? コーディングを う! 15
RT ミドルウエアコンテスト SICE SI ( 計測 動制御学会システムインテグレーション部 講演会 ) のセッションとして開催 各種奨励賞 審査基準開 :5 頃 エントリー〆切 :8 21 (SI2017 締切 ) 講演原稿〆切 :9 25 ソフトウエア登録 :10 ごろ オンライン審査 :11 下旬 発表 授賞式 :12 ごろ 2016 年度実績 応募数 :13 件 計測 動制御学会学会 RTミドルウエア賞 ( 副賞 10 万円 ) 奨励賞 ( 賞品協賛 ):2 件 奨励賞 ( 団体協賛 ):8 件 奨励賞 ( 個 協賛 ):5 件 詳細はWebページ : openrtm.org コミュニティー イベントをご覧ください 16
ロボットにおけるオープンソースソフトウェアの利用 ソフトウェアの大規模化に対応するには必要 コモディティー化した領域で利用 いまや プランニング SLAMもコモディティー化 メリット 世界の研究者 開発者の最新技術が利用可能 競争領域へのリソース集中可能 アルゴリズムの検討 検証 修正 改変が可能 コミュニティの力を借りることが可能 デメリット 製品化時のライセンス問題 特許は依然独自に調査が必要 品質管理を自社で行う必要性 安全関連系には使いづらい 第 3 者による改変 バージョンアップ 仕様変更への対応が必要 ロボット業界でもメリットは認識されつつあるもデメリットを克服できない場合 やはり独自実装になりがち 17
ROS(&ROS2 ROS-I) 18
ROS と RTM ROS の特 UNIX 化に根差した設計思想 Windows 等 Linux 以外は原則サポートしない ROS2 では Linux 以外もサポート 独 のパッケージ管理システムを持つ ノード ( コンポーネント ) の質 量ともに豊富 OSRF が直接品質を管理しているノードが多数 ユーザ数が多い メーリングリストなどの議論がオープンで活発 コアライブラリの仕様が固定しにくい ドキュメントが豊富 OpenRTM の特 対応 OS 語の種類が多い Windows UNIX uitron T- Kernel VxWorks QNX Windows でネイティブ動作する 本国内がメイン 本語ドキュメント ML 講習会 ユーザ数が少ない GUI ツールがあるので初 者向き コマンドラインツールの種類は少ない rtshell 仕様が標準化されている OMG に参加すればだれでも変更可 サードパーティー実装が作りやすい すでに 10 程度の実装あり コンポーネントモデルが明確 オブジェクト指向 UML SysML との相性が良い モデルベース開発 IEC61508 機能安全認証取得 RTMSafety 19
ROS と RTM ROS の特 UNIX 化に根差した設計思想 Windows 等 Linux 以外は原則サポートしない ROS2 では Linux 以外もサポート 独 のパッケージ管理システムを持つ ノード ( コンポーネント ) の質 量ともに豊富 OSRF が直接品質を管理しているノードが多数 ユーザ数が多い メーリングリストなどの議論がオープンで活発 コアライブラリの仕様が固定しにくい ドキュメントが豊富 OpenRTM の特 対応 OS 語の種類が多い Windows UNIX uitron T- Kernel VxWorks QNX Windows でネイティブ動作する 本国内がメイン 本語ドキュメント ML 講習会 ユーザ数が少ない GUI ツールがあるので初 者向き コマンドラインツールの種類は少ない rtshell 仕様が標準化されている OMG に参加すればだれでも変更可 サードパーティー実装が作りやすい すでに 10 程度の実装あり コンポーネントモデルが明確 オブジェクト指向 UML SysML との相性が良い モデルベース開発 IEC61508 機能安全認証取得 RTMSafety 20
ROS1 ROS2 へ OSRF 内部の のコメント NASAの仕事を請け負った時に 独 形式のROS messageはnasaでは使えないから プロトタイプを ROSで実装後にすべて作り直した NASAでは何らかの標準に準拠したものでないと使えない その時は結局 DDSを使 した それ以外にもROS1では 1ノード1プロセス コンポーネントモデルがないので モデルベース開発にならない ROS masterがspofになっているなど不都合な点が多々ある それ故 ROS2ではこれらの問題点を克服するため全く新しい実装にする 21
ROS2 最新版 :2017 年 12 Ardent Apalone リリース 標準ミドルウェアの利 前主義からの脱却 (NASA や商 システムでは何らかの標準準拠が求められるため ) 通信部分は OMG 標準の DDS(Data Distribution Service OMG 規格 ) を採 コンポーネントモデルを導 することにした RTM のように組み込み 性能を意識したアーキテクチャへ 対応 OS の拡 これまでは ある特定の Linux(Ubuntu Linux) のみ ROS2 では Windows Mac にも対応 ただし リアルタイム OS(VxWorks QNX 等 ) への対応はなし OMG による通信規格 DDS を採 航空 軍事 医療 鉄道などで実績のある通信ミドルウエア標準 http://design.ros2.org/articles/ros_middleware_interface.html 22
ROS-I (industrial) 産業用に ROS を活用するためのコンソーシアムでありオープンソースプロジェクト https://www.youtube.com/watch?v=xenfvis_ivc ROS-I America ROS-I Europe ROS-I Asia Pacific Amazon Picking Challenge 優勝した TU Delft は ROS-I を利用 産業利用のためのソフトウェアの 品質管理 および機能拡張 新規開発を目的としたコンソーシアム 23
ROS-I 開発プロセス 基本的には複数のステークホルダーが関与するオープンソース開発モデルに従う Contributor は排除せずに 取り込む方針 24
Focused Technical Projects (FTPs) Fullメンバーが参加可能 新規機能の開発を実施可能 メンバーが集まり資金がcritical mass に到達したらPJ 開始 IPの扱い : 基本的にはオープンにするが FTPメンバーがコードの公開を ( 最大 2 年間 ) 遅らせることができる ただし 参加企業名 詳細な要求仕様 ドキュメント 固有の 3Dモデル 図 絵 デモやそのビデオについては秘匿することは可能 SwRIや国から支援を受けているコードは基本オープンにしなければならない オープンソースとクローズドソースの折り合いをどのようにつけるかが課題 25
ロボットへの OSS 活 の取り組み NEDO 市場化プロジェクト オープンロボットソフトウェアのプラットフォーム化技術開発 26
4. SI 費 ソフトウェアのプラットフォーム化によるロボット導入コスト削減 OSS= オープンソースソフトウェア ティーチング チューニング 等顧客の要望に応じた作業知能化研究 パッケージ化を進め PF 化することで削減 ロボット導 コスト フ ラットフォームソフトウェアにより SI 費用を大幅削減 導入費用 2 割減を目指す 2. 分野 機能別ソフトウェア ヒ ックアント フ レース SLAM 等 途別基本機能 MoveIt!, OepnCV 等 OSS 活 or 機能強化 1. ソフトウェア基盤 利 する HW 途に応じて既存 OS 利 RTM ROS 等 OSS 活 or 機能強化 3. 機能要件 テスト 検証 性能指標 ドキュメンテーション 教育 コミュニティー 安全規格とのマッチング ライセンス 特許 期的な保守 運 体制 分野横断的機能開発 多様な参加者が必要 分野別機能開発 1 社のみの開発は負担 横展開可能な技術 情報共有の場が必要 市場が成熟するまではコンソーシアム 式が適当 オープンプラットフォーム戦略 27
NEDO プラットフォームロボット PJ(H29 年度 ) ( ロボット活 型市場化適 技術開発 PJ) ロボット 命イニシアティブ協議会 (RRI) での議論の結果を提 NEDO 委託事業として 2017 年度より開始 基本計画に明記 NEDO 事業で開発され標準となっている RT ミドルウェア (OMG formal/08-04-01) 又はデファクト標準となっている ROS(Robot Operating System) などの利用を推奨する 28
ードコンソエコシステムハソフトコンNEDO プラットフォームロボット PJ セック,THK hapi-robo 名城大学 川田ロボ ティクス パナソニック YOODS 富士ソフト日本電産 川崎重工 ライフロボティクス 東芝 開発コンサル教育 トレーニングライセンス サホ ートサーヒ ス受託開発 教育 トレーニングサホ ートサーヒ ス PJ 成果物 ソフトウェアコンソーシアム マニヒ ュレーション 技術ナヒ ケ ーション技術 ソ 産業技術総合研究所 オープンソースソフトウェア (OSS) 各種分野 機能別 SW 東京 学 ロボット OS ミドルウェア 材 コミュニティ 東京オープンソースロボティクス協会 イーソル株式会社 本品質保証機構 ロボット 命イニシアティブ協議会 (RRI) での議論の結果を提 ( ロボットプラットフォーム研究会共同主査 ) PL : 国立研究開発法人産業技術総合研究所ロボットイノベーション研究センターロボットソフトウェアプラットフォーム研究チーム長安藤慶昭ハード SPL : 埼玉大学大学院理工学研究科人間支援 生産科学部門准教授琴坂信哉ソフト SPL : 東京大学情報理工学系研究科知能機械情報学専攻准教授岡田慧
RRI WG3 調査検討委員会 RRI WG1 WG2 WG3 ロボットイノベーション WG SWG1 プラットフォームロボット SWG SWG2 ロボット活 に係る安全基準 / ルール SWG SWG3 ロボット国際競技 会 SWG 市場化 PJ 意 指針 ロボットプラットフォーム研究会 安全認証 実証研究会 社会実装研究会 ロボット安全設計開発調査検討委員会委員 中坊 ( 産総研 ) 副委員 櫛引 (JQA) 事例 具体例提供 ソフトウェア特許 ライセンス調査検討委員会委員 安藤 ( 産総研 ) 副委員 ( 原 ) ソフトウェア評価指標 品質管理調査検討委員会委員 岡 ( 東 ) ソフトウェアアーキテクチャ調査検討委員会委員 原 ( 名城 ) 副委員 但 (TORK) 2018 年度から新設 30
ソフトウェア特許 ライセンス調査検討委員会 よく利 されるロボット ソフトウェアの特許 ライセンスを調査 リスト化 ガイドライン化 開発プロセスへの組み込みを提案 OSSのより 層の活 とロボット市場拡 の促進 ライセンス違反で訴えられたりしないのか? 知らないうちに特許侵害していて多大な賠償金を請求されたりしないか? aibo 約 500 以上の OSS ライセンスを Web サイト上で明記 ROS kinetic を利用している模様 http://oss.sony.net/license/ers-1000/ 31
まとめ RT ミドルウエアの概要 基本概念 OSSにまつわる課題 ROS/ROS2/ROS-industrial ロボット新戦略と新規 NEDOプロジェクト オープンソース活 によるロボットのプラットフォーム化 調査検討委員会 32