1 / 84

RT ミドルウエア - TOPPERS による組込み機器への展開-

情報処理学会連続セミナー 2009 「進化する組込みシステム技術」 2 nd 組込みソフトウエアプラットフォーム. RT ミドルウエア - TOPPERS による組込み機器への展開-. 安藤慶昭 独立行政法人産業技術総合研究所 知能システム研究部門. 産総研. 独立行政法人産業技術総合研究所 「ライフサイエンス」「情報・通信」「環境・エネルギー」「ナノテク・材料・製造」「地質・海洋」「標準・計測」の 6 分野 研究者: 約 2000 名 知能システム研究部門

izzy
Download Presentation

RT ミドルウエア - TOPPERS による組込み機器への展開-

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 情報処理学会連続セミナー2009 「進化する組込みシステム技術」 2nd 組込みソフトウエアプラットフォーム RTミドルウエア -TOPPERSによる組込み機器への展開- 安藤慶昭 独立行政法人産業技術総合研究所 知能システム研究部門

  2. 産総研 • 独立行政法人産業技術総合研究所 • 「ライフサイエンス」「情報・通信」「環境・エネルギー」「ナノテク・材料・製造」「地質・海洋」「標準・計測」の6分野 • 研究者: 約2000名 • 知能システム研究部門 • 「統合知能」 「タスク・ビジョン」 「ヒューマノイド」「インタラクティブモデリング」「ディペンダブルシステム」「サービスロボティクス」「フィールドロボティクス」の7グループ、「ソフトウエアプラットフォーム研究班」、「AIST-CNRSロボット工学連携研究体」 • 研究者: 約60名(全体約150名)

  3. アナリシスからシンセシスへ

  4. RT = Robot Technology cf. IT ≠Real-time 単体のロボットだけでなく、さまざまなロボット技術に基づく機能要素をも含む (センサ、アクチュエータ, 制御スキーム、アルゴリズム、etc….) RT-Middleware (RTM) RT要素のインテグレーションのためのミドルウエア RT-Component (RTC) RT-Middlewareにおけるソフトウエアの基本単位 RTとは? + + + + + RT-Middleware 産総研版RTミドルウエア OpenRTM-aist 4

  5. 体系的システム開発 開発者の経験やノウハウに依存したロボットシステム開発 体系的システムデザイン: 分析、設計、実装の一連の流れ

  6. RTミドルウエアプロジェクト NEDO 21世紀ロボットチャレンジプログラム(2002-2004年度) 「ロボット機能発現のために必要な要素技術開発」 • RT分野のアプリケーション全体に広く共通的に使われる機能およびRT要素の部品化(モジュール化)の研究開発 • 分散オブジェクト指向システムのミドルウェアであるCORBAをベースとして行う。 • RT要素の分類を行い、モジュール化の形態、必要な機能、課題、インタフェース仕様などを明確にする。 14年度成果報告書より

  7. RTミドルウエアの目的モジュール化による問題解決RTミドルウエアの目的モジュール化による問題解決 仕様の明確化 最新技術を容易に利用可能 誰でもロボットが作れる RTコンポーネント化 ! ! ! ! コストの問題 技術の問題 ニーズの問題 最新の理論・ アルゴリズム 多様なユーザ A社製移動ベース B社製アーム C社製センサ・・・ 仕様 カスタマイズが容易に モジュール化・再利用 システム開発者 ロボットの低コスト化 最新技術を利用可能 多様なニーズに対応 ロボットシステムインテグレーションによるイノベーション 7

  8. 概要 • RTとは? • RTミドルウエア:OpenRTM-aist • 次世代ロボット知能化技術開発プロジェクト • RTミドルウエアと組込みシステム • 標準化 • 終わりに

  9. RT-MiddlewareOpenRTM-aist

  10. 従来のシステムでは… Joystick software Joystick Robot Arm Control software 互換性のあるインターフェース同士は接続可能 Robot Arm

  11. 従来のシステムでは… Humanoid’s Arm Control software Humanoid’s Arm Joystick software Joystick Robot Arm Control software ロボットによって、インターフェースは色々 互換性が無ければつながらない Robot Arm

  12. RTミドルウエアでは… RTミドルウエアは別々に作られた ソフトウエアモジュール同士を繋ぐ ための共通インターフェース を提供する Arm A Control software compatible arm interfaces Humanoid’s Arm Joystick software Joystick Arm B Control software ソフトウエアの再利用性の向上 RTシステム構築が容易になる Robot Arm

  13. RTM、RTCとは? 従来ソフトウエアから分散オブジェクトへ オブジェクト指向開発 言語・OSの壁を越えて利用できる インターフェースをIDLで定義 各言語へ自動変換 OS、アーキテクチャの違いを吸収 ネットワーク透過に利用できる 分散システムを容易に構築可能 分散オブジェクトからRTCへ インターフェースがきちんと決まっている IDLで定義された標準インターフェース 呼び出しに対する振る舞いが決まっている(OMG RTC 標準仕様) 同じ部品として扱える コンポーネントのメタ情報を取得することができる 動的な接続や構成の変更ができる ロボットシステムに特有な機能を提供 後述 RTC・アプリ RTC RTC アプリケーション RTM オブジェクト オブジェクト ミドルウエア(CORBA) ミドルウエア(CORBA) OS OS ソフトウエアアーキテクチャの違い アプリケーション ライブラリ ライブラリ OS

  14. ミドルウエア、コンポーネント、etc… • ミドルウエア • OSとアプリケーション層の中間に位置し、特定の用途に対して利便性、抽象化向上のために種々の機能を提供するソフトウエア • 例:RDBMS、ORB等。定義は結構曖昧 • 分散オブジェクト(ミドルウエア) • 分散環境において、リモートのオブジェクトに対して透過的アクセスを提供する仕組み • 例:CORBA、Java RMI、DCOM等 • コンポーネント • 再利用可能なソフトウエアの断片(例えばモジュール)であり、内部の詳細機能にアクセスするための(シンタクス・セマンティクスともにきちんと定義された)インターフェースセットをもち、外部に対してはそのインターフェースを介してある種の機能を提供するモジュール。 • CBSD(Component Based Software Development) • ソフトウエア・システムを構築する際の基本構成要素をコンポーネントとして構成するソフトウエア開発手法

  15. 分散オブジェクトとは? • システムの機能分割と分散配置 • ネットワーク透過なオブジェクト • コンポーネント化と再利用 オブジェクト指向 + ネットワーク • 代表例 • CORBA (Common Object Request Broker Architecture) • CCM (CORBA Component Model) • JavaRMI (Java Remote Method Invocation) • EJB (Enterprise Java Beans) • DCOM, HORB etc… プロキシ オブジェクト アプリA アプリB アプリC ミドルウエア 分散オブジェクト 計算機A OS A 計算機B OS B 計算機C OS C 計算機D OS D

  16. <<IDL 定義>> interface MobileRobot { void gotoPos(in position pos); } <<サーバ実装>> class MobileRobot_Impl : public virtual POA_MobileRobot, public virtual PortableServer::RefCountServantBase { void gotoPos(position pos) { MobileRobot::gotoPos の実装 } } <<クライアント>> MobileRobot_var robot; robot = {何らかの方法でオブジェクト参照を取得} // robot = プロキシオブジェクト robot->gotoPos(pos); CORBAの例 本題にたどり着くまでが面倒 サーバスケルトン クライアントスタブ IDL RTミドルウエアが 全部面倒みます!! サーバ クライアント object proxy object メソッド gotoPos() 呼び出し call

  17. RTミドルウエアとRTコンポーネント RT コンポーネント フレームワーク RT コンポーネント RTC RTC RTC RTC RTC RTC RTC RTC RTミドルウエア ロジック ・デバイス制御 ・制御アルゴリズム ・アプリケーション etc… ロジックを箱(フレームワーク)に入れたもの=RTコンポーネント(RTC) RTCの実行環境(OSのようなもの)=RTミドルウエア(RTM) ※RTCはネットワーク上に分散可能 17

  18. メタ情報取得 プロファイル どんなコンポーネントか? RTコンポーネントアーキテクチャ Architecture of RT component

  19. 名前 パラメータ 値 メタ情報取得 • メタ情報 • コンポーネントのモデル≒仕様 • RTCのことはRTCに聞けばわかる (イントロスペクション機能) • コンポーネントの名前・タイプ • ポートの数・種類 • ポートのインターフェース情報 • ポート毎のプロパティ • パラメータ情報 • 実行コンテキスト情報 • システムの動的構成に不可欠 A D port0 port4 B C port1 E port5 port2 port6 Periodic実行 port3 port7 実行コンテキスト コンポーネントメタ情報の例

  20. メタ情報取得 プロファイル どんなコンポーネントか? アクティビティ ユーザ定義ロジックの実行 RTコンポーネントアーキテクチャ Architecture of RT component

  21. アクティビティ アームコンポーネントの例 • ロジックを実行する部分 • 共通の状態遷移を持つ • 初期化 • 非アクティブ(OFF状態) • アクティブ状態(ON状態) • エラー(エラー状態) デバイス 初期化処理 Init Inactive Active アーム 停止 アーム サーボON Error アーム 緊急停止 センサRTC (センサからデータを読む) 制御RTC (制御出力計算) 別々に作成された複数のコンポーネントを シーケンシャルにリアルタイム実行し 制御等を行うことも可能 →複合コンポーネント アクチュエータRTC (アクチュエータを駆動) 実行コンテキスト 21

  22. メタ情報取得 プロファイル どんなコンポーネントか? アクティビティ ユーザ定義ロジックの実行 データポート Data Centric な相互作用 データポート RTコンポーネントアーキテクチャ Architecture of RT component

  23. データポート データ指向ポート 連続的なデータの送受信 位置制御サーボ 位置・電圧値 画像処理 画像データ 処理結果 主にロボットの下位レベル処理に利用 同じデータ型のポート同士接続可能 動的に接続・切断可能 コンポーネントB カメラ コ ンポーネント アクティビティ アクティビティ 1 TI s Kp + カメラ - TDs コ ンポーネント 制御器 コ ンポーネント サーボの例 データポート データの流れ 位置 目標値 電圧 エンコーダ コンポーネント アクチュエータ コンポーネント 位置 画像処理の例 画像 データ コンポーネントA 処理画像 データ 位置データ 画像処理 コンポーネント データ生成 データ取得 処理 処理 3Dデプスデータ データ変数 データ変数 画像 データ ステレオビジョン コンポーネント データポート データが自動的に伝送される 23

  24. メタ情報取得 プロファイル どんなコンポーネントか? アクティビティ ユーザ定義ロジックの実行 データポート Data Centric な相互作用 サービスポート request/response型相互作用 サービスポート データポート RTコンポーネントアーキテクチャ Architecture of RT component

  25. サービスポート 任意に定義可能なインターフェースを持つポート コマンド・関数を自由に追加 他のコンポーネントからアクセス可能 (本当は標準化したい) 内部の詳細な機能にアクセス パラメータ取得・設定 モード切替 処理の依頼と結果取得 etc… アクティビティ アームの例 サービスポート アームインターフェース ・モード設定関数 ・座標系設定関数 ・制御パラメータ設定関数 ・ヤコビ取得関数 ・ステータス取得関数 ・etc… 他のコンポーネント・ 上位アプリケーションから利用 アーム コンポーネント 手先位置・ 速度データ データポート ステレオビジョンの例 サービス提供者 (プロバイダ) サービス利用者 (コンシューマ) ステレオビジョン インターフェース コンポーネントB コンポーネントA ・モード設定関数 ・座標系設定関数 ・キャリブレーション - カメラパラメータ設定関数 - 実行関数 - パラメータ取得関数 ・etc… サービスポート サービス インターフェース の実体 実際の処理は ここで行われる サービス プロキシ 3Dデプス データ 関数呼び出し 他のコンポーネント・ 上位アプリケーションから利用 ステレオビジョン コンポーネント 画像 データ サービスポート データポート 25

  26. メタ情報取得 プロファイル どんなコンポーネントか? アクティビティ ユーザ定義ロジックの実行 データポート Data Centric な相互作用 サービスポート request/response型相互作用 コンフィギュレーション ユーザ定義の設定 サービスポート データポート RTコンポーネントアーキテクチャ Architecture of RT component

  27. コンフィギュレーション コンフィギュレーション パラメータを管理 コンフィギュレーションセット セット名、名前:値のリスト 複数のセットを保持 セットを切替可能 Kp リミッタ Ki s + - Kds PID制御コンポーネント 名前 セット名 値 名前 Kp Ki Kd Inmax Inmin modeA 値 名前 0.6 0.01 0.4 5.0 -5.0 セット名 値 名前 Kp Ki Kd Inmax Inmin modeB 値 0.8 0.0 0.01 10.0 -10.0 名前 Kp Ki Kd Inmax Inmin modeC 値 0.3 0.1 0.31 1.0 -1.0 PIDコントローラの例 複数のセットを 動作時に 切り替えて 使用可能 制御対象やモードに応じて複数のPIDゲインおよび 入力リミッタ値を切り替えて使用することができる。 動作中の切り替えも可能。

  28. ステレオビジョン コ ンポーネント 頭・腕駆動 コ ンポーネント カメラ コ ンポーネント 音声合成 音声認識 対話 コ ンポーネント コ ンポーネント コ ンポーネント マイク コ ンポーネント (モジュール)情報の隠蔽と公開のルールが重要 RTCの分割と連携 ロボット体内のコンポーネントによる構成例 画像データ ポート データ・コマンドの流れ 顔位置 問 合せ 顔認識 カメラ コ ンポーネント コ ンポーネント 画像データ 人物データ 表情データ ジェスチャ 軌 道データ カメラコントロール 音声データ 文字データ 文字データ

  29. RTC RTC RTC RTC RTC RTC RTC RTM RTM RTM VxWorks FreeBSD ARTLinux Linux Windows uITRON RTM RTM RTM RTC RTC RTC RTC RTC RTC RTミドルウエアによる分散システム ロボットC ロボットB ロボットA RTMにより、 ネットワーク上に 分散するRTCを OS・言語の壁を 越えて接続する ことができる。 ネットワーク RTC同士の接続 は、プログラム 実行中に動的に 行うことが出来る。 アプリケーション 操作デバイス センサ

  30. OpenRTM-aist • コンポーネントフレームワーク + ミドルウエアライブラリ • コンポーネントインターフェース: • OMG Robotic Technology Component Specification 準拠 • OS • 公式:FreeBSD, Linux (Fedora, Debian, Ubuntu, Vine, Scientific), Windows • 非公式:Mac OS X, uITRON, T-Kernel, VxWorks • 言語: • C++, Python, Java • .NET (implemented by SEC) • CPU アーキテクチャ (動作実績): • i386, ARM9, PPC, SH4 • PIC, dsPIC, H8 (RTC-Lite) • ツール (Eclipse プラグイン) • テンプレートソースジェネレータ: rtc-template、RTCBUilder • システムインテグレーションツール: RtcLink、RTSystemEditor • その他 • Pattern weaver for RT-Middleware(株式会社テクノロジックアートより発売中)

  31. ツールチェーン RTCBuilder RTコンポーネント設計・コード生成 RTSystemEditor RTCを組み合わせてシステムを設計 コンポーネント設計をすばやく簡単に C++、Java、Python、C#のコードを自動生成 RTC・RTM統合開発環境の整備 RTC設計・実装・デバッグ、RTMによるインテグレーション・デバッグまでを 一貫して行うことができる統合開発環境をEclipse上に構築 RTシステムを簡単に設計・操作可能 オンライン編集機能 オフライン編集機能

  32. RTMを取り巻く状況 • プロジェクト • NEDO:オープンイノベーションプロジェクト (2008-2011) • 経産省・NEDO:次世代ロボット知能化技術開発プロジェクト (2007-2011) • 産総研:産総研イニシアチブ (2006-2008) • 文科省:分散コンポーネント型ロボットシミュレータ (2005-2007) • NEDO:次世代ロボット共通基盤開発プロジェクト (2005-2007) • 科研費:ロボットシステムモデリングと分散ミドルウエア・アーキテクチャに関する研究 (2005-2006) • NEDO:21世紀ロボットチャレンジプログラム(2002-2004) • 等 • 国際標準 • OMG Robotic Technology Component Specification • 受賞 • 今年のロボット大賞2007・部品ソフトウエア部門優秀賞 • 2007年度計測自動制御学会・システムインテグレーション部門賞・技術業績賞 • 第20回日本ロボット学会研究奨励賞

  33. 2002年 2003年 2004年 2005年 2006年 2007年 2008年 2009年 2010年 RTミドルウエアの広がり OpenRTM-aist 0.2.0 リリース OMG RTC仕様 初期草案提出 OMG RTC 標準仕様採択 OpenRTM-aist 0.4.0リリース OMG RTC Spec. 公式リリース 年度 NEDO RTミドルウエア OpenRTM-aist 1.0リリース 科研費 若手(B) 科振費 分散コンポーネントシミュレータ 今年のロボット大賞2007 優秀賞受賞 NEDO 次世代ロボット共通基盤開発 工業標準部 標準基盤研究 科振費 環境と作業構造のユニバーサルデザイン 産総研イニシアチブ UCROA NEDO 戦略的先端ロボット要素技術開発 経産省・NEDO次世代ロボット知能化技術開発プロジェクト さまざまなプロジェクトで 標準ソフトウエアプラットフォーム として採用されている NEDOオープンイノベーション促進プロジェクト NEDO生活支援ロボット実用化プロジェクト?

  34. RTミドルウエア開発体制 NEDO知能化PJ NEDOオープンイノベーションPJ OpenRTM-aist C++ Python Java ML 講習会 ビジネス推進協議会 産総研重点化予算 Web コンテスト 利用 派生 組込みRTM RTC-Lite uITRON版 ツール RTCBuilder RTSystemEditor RTミドルウエア 準拠 利用 標準化 RTC標準化 D&C標準化 仕様記述方式 RTCProfile RTSProfile 関連 産総研標準基盤研究

  35. 次世代ロボット知能化技術開発プロジェクト

  36. 次世代ロボット知能化技術開発プロジェクト • 平成19年度(12月)~平成23年度 (5年間) • 平成19年度予算:19億 • 5年間総額で70億程度になる見込み? • PL:東大 佐藤知正教授 • 研究テーマ • プラットフォーム、作業知能、移動知能、コミュニケーション知能 7つのテーマ • 研究グループ • 15グループ

  37. ①ソフトウエアプラットフォーム 「ロボット知能ソフトウェアプラットフォームの研究開発」 産総研 NEC セック マエカワ ゼネラルロボティックス 東大 (社)日本ロボット工業会 ②作業知能(生産分野)の開発 「世界標準を目指したロボットセル生産用知能ハンドモジュール群とマニュアル作業激減知能モジュール群の開発と検証」 IDEC株式会社 「作業知能(生産分野)の開発(物理的接触を伴う作業のための作業知能モジュール群の研究開発)」 東北大学 ③作業知能(社会・生活分野)の開発 「施設内生活支援ロボット知能の研究開発」 安川電機、九大、九工大、産総研 「ロバストに作業を実行するための作業知能モジュール群の開発」 東芝、首都大、東大 プロジェクト参加組織

  38. ④移動知能(サービス産業分野)の開発 「移動知能(サービス産業分野)の研究開発」 富士通、豊橋技科大、セック、東大 「移動知能(サービス産業分野)の研究開発」 筑波大、富士ソフト ⑤高速移動知能(公共空間分野)の開発 「高速移動知能(公共空間分野)の研究開発」 SFC、アイシン、自動車研 ⑥移動知能(社会・生活分野)の開発 「搭乗用移動知能の構築を簡便にするモジュール群の開発 ~ 脚・車輪ロボット:環境インフラと連動するパーソナルモビリティ ~」 芝浦工大、千葉工大、NECソフト 「自律と操縦が融合したインテリジェント立ち乗り電動モビリティシステム」 日本SGI、東北大、レスキューシステム研究機構、電通大 ⑦コミュニケーション知能(社会・生活分野)の開発 「コミュニケーション知能の研究開発」 NEC 「コミュニケーション知能(社会・生活分野)の研究開発」 ATR、阪大、オムロン、ヴイストン、イーガー、三菱重工 プロジェクト参加組織

  39. ソフトウエアプラットフォーム「ロボット知能ソフトウェアプラットフォームの研究開発」ソフトウエアプラットフォーム「ロボット知能ソフトウェアプラットフォームの研究開発」 • マエカワ • ゼネラルロボティックス • 東大 • (社)日本ロボット工業会 • 産総研 • NEC • セック RTC RTC RTC RTC RTC RTC RTC RTC 各コンソーシアムの技術を RTコンポーネントとして集積 相互利用・再利用を図る RTC RTC RTC RTC RTC RTC RTC RTC ソフトウェアプラットフォーム • RTミドルウエアを基盤としたロボットソフトウエア開発のための統合プラットフォームを開発 • 共通のプラットフォーム上で、さまざまな知能モジュールを開発する 仕様・記述方式の共通化 ソフトウェアツール群 RTC RTC RTC RTC RTC RTC RTC RTC 要素機能開発 RTCビルダ RTCデバッガ • ハードウェア仕様 • 知能モジュール仕様 • ロボットシステム仕様 • 作業シナリオ記述 •  ・動作記述 •  ・動作制御記述 RTシステムエディタ OpenRT Platform (OpenRTP) || OpenRTM+ツールチェーン システム開発 ロボット設計支援ツール RTCリポジトリ シミュレータ アプリケーション 開発 動作設計ツール シナリオ作成ツール 実時間SW設計ツール

  40. プロジェクト体制 企画調整WG 各研究組織は実際に使えるものを 作ることを要求される プラットフォーム ツール提供 ②作業知能(生産分野) 標準仕様 記述方式 を検討 ③作業知能(社会・生活分野) ①プラットフォーム ソフトウエア プラットフォーム ④移動知能(サービス産業分野) グループ間で モジュールを 流通させる 各研究組織は開発成果を 事業化することを求められる ⑤高速移動知能(公共空間分野) ハードウエア プラットフォーム ⑥移動知能(社会・生活分野) リファレンス ハードウエア上で 検証 ⑦コミュニケーション知能 (社会・生活分野)

  41. コンポーネント要求仕様 ハードウエア等仕様記述方式 RT コンポーネント 開発プロセス = デザインルール 結合 コンポーネント仕様記述方式 RT システム 開発プロセス モジュール化された開発プロセス = デザインルール 結合 システム仕様記述方式 RT システムシナリオ 開発プロセス = デザインルール 結合 シナリオ仕様記述方式 RT システム 運用プロセス OpenRT Platformによるロボット開発プロセス • OpenRTP • RTミドルウエアを基盤としたロボット開発プラットフォーム • システム開発にもモジュール化の原理を採用 • 信頼性 • ロバスト性 • 柔軟性 • プロセス • 設計 • コンポーネント開発 • システム開発 • シナリオ開発 • 運用

  42. RT システム開発プロセス ビルダ、開発・デバッグツール システムエディタ、シミュレータ デプロイメント お よび コンポーネント開発 RT- システム開発 RT- コ ンフィギュレーション 設計 設計 設計 運用 テスト 実装 テスト 実装 コンポーネント RT- リ ポジトリ パッケージングツール foo Component bar Component コンポーネント指向ロボット開発 Eclipse MotionPattern Generator Hardware DesignTool Real-Time Verification RTCBuilder RTSystem Editor RTC Debuger OpenHRP3 Scenario Editor RT Ripository サービスロボット市場創生のための基盤 開発プロセス間の行き来を容易にし 開発者の負担を減らす統合開発環境を構築

  43. RTコンポーネントビルダ ソースコード <rtcomponent> <profile> </profile> : <port> </port> </rtcomponent> コンポーネント仕様 <rtcomponent> <profile> </profile> : <port> </port> </rtcomponent> コンパイル ソースコード 自動生成 バイナリ rtc-template デバッガへ ウィザード ・GUIで入力 開発・実装 編集 RTコンポーネントパッケージ RTリポジトリへ 仕様 ソースコード バイナリ RTCビルダ

  44. 知能モジュール仕様 知能モジュール仕様 ソースコード ソースコード ソースコード inv main(void) { <rtmodule> <rtmodule> inv main(void) { inv main(void) { <rtcs> int I; int I; <rtcs> int I; : : : : : if (a == b) </rtcs> if (a == b) </rtcs> if (a == b) { <configuration> { <configuration> { : : : : : </configuration> } } } </configuration> : : : : : </rtmodule> } } } </rtmodule> RTリポジトリ foo Component bar Component 知能モジュール仕様記述 雛形ソース生成 RTコンポーネント検証 利用 生成 RTコンポーネントビルダ RTコンポーネントデバッガ 生成 検証 利用 利用 利用 再利用 リポジトリ検索 システム構成 シミュレーション 類似システム作成時 類似コンポーネント RTシステムエディタ シミュレータ RTリポジトリ

  45. ロボットシステム <rtsystem> <rtcs> : </rtcs> <configuration> : </configuration> : </rtsystem> ロボットシステム仕様 <rtsystem> <rtcs> : </rtcs> <connections> : Real RT-System Nodes </connections> : </rtsystem> RT-Network RTシステム仕様記述 システム検証 生成 RTシステムエディタ 利用 利用 再利用 利用 シミュレーション シナリオ等運用時 類似システム作成時 シミュレータ 実システム 類似システム

  46. RTミドルウエアと組込みシステム

  47. ロボットのCPUとOS(1) • P2 • CPU:MicroSPARC II×4 • OS: VxWorks • L12DOF,A14DOF • P3 • CPU :MicroSPARC II(110MHz)×1 • OS: VxWorks • L12DOF,A14DOF • ASIMO • CPU:PowerPC? • OS:VxWorks • L12DOF,A14DOF,H3DOF,F4DOF,C1DOF http://www.honda.co.jp

  48. ロボットのCPUとOS(2) • HRP-2 • OS:ART-Linux • CPU:Pentium!!!x2 • 30DOF • HRP-2m Choromet • OS:ART-Linux • CPU:SH4 240MHz • HRP-3PrometMk-II • OS:ART-Linux • CPU:Pentium4+CAN • HRP-4C • OS:ART-Linux • CPU:PentiumM 1.6GHz, VIA C7 1GHz http://www.aist.go.jp

  49. ロボットのCPUとOS(3) • PaPeRo (NEC) • CPU: i386系(ノートPC) • OS:Windows • ARM9系+Linuxも? • HOPE-1/2 (富士通) • CPU:PentiumMMX300MHz • OS:RT-Linux • WAKAMARU (三菱重工) • CPU:ARMx7 • OS:Linux(MontaVista) • PR2 (WillowGarage) • OS:Linux (Xenomai) • CPU:PCx4+FPGAモータドライバ分散 http://www.nec.co.jp http://techon.nikkeibp.co.jp http://www.mhi.co.jp http://www.willowgarage.com

  50. ロボットとμITRON • サービスロボットでμITRONが使われることは(今のところ)稀である。 • そもそも、サービスロボットは組込みシステムとは言えない(かもしれない)。 しかし • 我々は組込みシステムおよびμITRON(特にTOPPERS)に着目。 なぜか?

More Related