SlideShare ist ein Scribd-Unternehmen logo
1 von 14
Downloaden Sie, um offline zu lesen
2013年 7月30日
株式会社セック
開発本部 第四開発部
川口 仁
RTM on Androidの紹介
RTミドルウェア
SUMMER CAMP 2013
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 2
RTM on Android 開発の狙い
RTC開発者/利用者の
裾野拡大!!
これに伴うRTミドルウェア
の普及促進!!
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 3
Android に RTM を載せるとは?
そもそもRTMとは
RTCを作成するために
RTCがRTCとして動作するために
存在するミドルウェア
...としてのソフトウェア
実行単位はRTMではなくRTC
Android上でRTCを作成する?
そのようなシーンは想像できない!
Android上で動作するRTCとは?
単なるAndroidアプリの1形態に過ぎない
Androidアプリとして
RTCを作成し
Android端末上で
上記RTCが動作する
ことを可能にすること
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 4
RTM on Android の効能
RTミドルウェアやRTCの知識が乏しくても,通常の
Androidアプリケーション開発スキルを持つ人であれば,
容易にRTCの開発が可能となる
RTM on Androidを利用して開発したRTCは,ごく普通の
Androidアプリケーションとして扱うことができ,実行時
のシステムリソースへの負荷も軽い
RTM on Androidを利用して開発したRTCは,OMGによ
り標準化されたRTC標準仕様Ver1.0に従った軽量RTC
のOpenRTM拡張モデルとしての基本的な振る舞いに
対応し,他プラットフォーム上のRTCともシームレスに
相互接続できる
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 5
Androidアーキテクチャとアプリケーション
Android Runtimeに専用VM
(Dalvik VM)
各アプリケーションは,それぞ
れが独立したLinuxのプロセス
各アプリケーションに一つの
Dalvik VMインスタンスが対応し
て動作
一般的Androidアプリケーション
は,UIを持つコンポーネントであ
るActivityとして実装される
Activityは画面の最上位に表示
される場合にのみ動作
UIを持たず,バックグラウンドで
継続的に動作するServiceも代
表的なコンポーネント単位
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 6
RTCとAndroidにおけるコンポーネントの対応
RTCは,必ずしもUIを必要としない
他RTCとの通信は継続的に実施できる必要がある
RTM on Androidでは,RTCがAndroid上でService
として動作
UIが必要な場合は別途Activityを必要なだけ追加
これら全体で一つのアプリケーション単位(apk)
一つのAndroid端末上にて
複数のRTCを同時にActiveな状態で稼動可能
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 7
CORBA と OpenRTM の実装 ...
RTM on Android は
OpenRTMのAndroid実装
CORBA通信が必須
Androidプラットフォームでは未サポート
OpenRTM実装も必須
システムリソースへの負荷を
極力かけないように独自実装
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 8
...ネイティブCライブラリとした
軽量CORBAのRtORBをAndroidにポーティング
RtORBは、独立行政法人産業技術総合研究所の
原功主任研究員が開発を進めている
OpenRTM実装は,IDLファイルからCソースを
生成し,最低限のロジックを実装
OpenRTM-aistに含まれているOpenRTM.idlなどの
産総研の成果を一部利用
Google社により提供されているNDKを利用し,
Cのネイティブライブラリである.so形式として
生成/組み込み
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 9
RTM on Android のアーキテクチャ
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 10
RTM on Android でのRTC開発
ごく普通のAndrodアプリ開発手法と同じ
Google社により提供されているEclipse用SDKを利用
アプリケーション単位にAndroidプロジェクトを作成
ソースの編集からビルドまでを実施
RTCとしての動作は
シンプルなAPI記述
で実現可能
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 11
RTM on Android使用上の注意点
画面オフや回転への注意
Androidバージョン2系では、画面オフ時や回転時に
onDestroy()やonCreate()が内部で呼ばれてしまう
このため、RTCの起動・終了方法によっては、意に反して
連動して終了してしまう危険性がある
対処方法
画面レイアウト定義への指定にて画面オフ抑止
マニフェストへの指定にて回転を抑止
omni-ORBとの親和性への注意
omni-ORBは、デフォルトで一定時間後にタイムアウト処理が走る
RTM on Androidが採用しているRtORBはこれに未対応
対処方法
omni-ORBを利用するRTCのコンフィグレーション指定にて、タイムアウトを抑止
RT SystemEditorとの親和性への注意
RTM on Androidを利用したRTCは、RT SystemEditor上での操作感
が悪く、RT SystemEditorが無応答に陥ることもある
対処方法
Connectorを自作したり、rtshellを使う
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 12
デモ(ROBOCON Magazine連載で開発したアプリ)
RTM.NETで実装したWindows PC上で動作する
RTCをAndroid端末からコントロールするRTC
コントロール対象
Google Earth内を移動するバーチャル飛行体
Arduino用移動台車KURUMA Shield(ピルクス社)
ROBOCON Magazine
(オーム社)
2012年7月号
~ 2013年1月号に連載
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved.
デモシステム構成イメージ
13
Connector
KURUMA Shield コントロール時の接続
Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 14

Weitere ähnliche Inhalte

Was ist angesagt?

自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi
Shogo Namatame
 
Rtm・ros相互運用プログラミング環境
Rtm・ros相互運用プログラミング環境Rtm・ros相互運用プログラミング環境
Rtm・ros相互運用プログラミング環境
openrtm
 
Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部
openrtm
 
2013 summercamp 05
2013 summercamp 052013 summercamp 05
2013 summercamp 05
openrtm
 
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
openrtm
 
130522 rt講習会(説明用)
130522 rt講習会(説明用)130522 rt講習会(説明用)
130522 rt講習会(説明用)
openrtm
 
2013 summercamp 08
2013 summercamp 082013 summercamp 08
2013 summercamp 08
openrtm
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
openrtm
 

Was ist angesagt? (20)

自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi自動アングル機能を有したロボットカメラSi
自動アングル機能を有したロボットカメラSi
 
160608 01
160608 01160608 01
160608 01
 
2015 summercamp 05
2015 summercamp 052015 summercamp 05
2015 summercamp 05
 
190605 01
190605 01190605 01
190605 01
 
Rtm・ros相互運用プログラミング環境
Rtm・ros相互運用プログラミング環境Rtm・ros相互運用プログラミング環境
Rtm・ros相互運用プログラミング環境
 
Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部Robomec2014 rtm講習会第2部
Robomec2014 rtm講習会第2部
 
2013 summercamp 05
2013 summercamp 052013 summercamp 05
2013 summercamp 05
 
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
2016 summercamp RTコンポーネント開発のためのシステムモデリング講習会
 
OpenRTM概要
OpenRTM概要OpenRTM概要
OpenRTM概要
 
NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部NEDO講座 MoveIt! チュートリアル 第1部
NEDO講座 MoveIt! チュートリアル 第1部
 
ROBOMECH2017 インターネットを利用したロボットサービスとRSiの取り組み2017
ROBOMECH2017 インターネットを利用したロボットサービスとRSiの取り組み2017ROBOMECH2017 インターネットを利用したロボットサービスとRSiの取り組み2017
ROBOMECH2017 インターネットを利用したロボットサービスとRSiの取り組み2017
 
130522 rt講習会(説明用)
130522 rt講習会(説明用)130522 rt講習会(説明用)
130522 rt講習会(説明用)
 
160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大160705-w01 RTミドルウエア講習会・早稲田大
160705-w01 RTミドルウエア講習会・早稲田大
 
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
NEDO特別講座 ロボット共通プラットフォーム講習会 (1)
 
2016 summercamp SysML講習会
2016 summercamp SysML講習会2016 summercamp SysML講習会
2016 summercamp SysML講習会
 
2013 summercamp 08
2013 summercamp 082013 summercamp 08
2013 summercamp 08
 
OpenRTM-aist入門
OpenRTM-aist入門OpenRTM-aist入門
OpenRTM-aist入門
 
Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介Moveitを使ったアプリケーションの紹介
Moveitを使ったアプリケーションの紹介
 
C#/Java & Linux で始める ET ロボコン
C#/Java & Linux で始める ET ロボコンC#/Java & Linux で始める ET ロボコン
C#/Java & Linux で始める ET ロボコン
 
Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1Rtミドルウェア講習会@名城大 20140624 1
Rtミドルウェア講習会@名城大 20140624 1
 

Andere mochten auch

2013 summercamp 01
2013 summercamp 012013 summercamp 01
2013 summercamp 01
openrtm
 
2013 summercamp 07
2013 summercamp 072013 summercamp 07
2013 summercamp 07
openrtm
 
2013summercamp group4
2013summercamp group42013summercamp group4
2013summercamp group4
openrtm
 
2013 summercamp 03
2013 summercamp 032013 summercamp 03
2013 summercamp 03
openrtm
 
2013 summercamp 06
2013 summercamp 062013 summercamp 06
2013 summercamp 06
openrtm
 
2016 summercamp 当研究室でのRTミドルウエアの取り組み
2016 summercamp 当研究室でのRTミドルウエアの取り組み2016 summercamp 当研究室でのRTミドルウエアの取り組み
2016 summercamp 当研究室でのRTミドルウエアの取り組み
openrtm
 

Andere mochten auch (17)

2013 summercamp 01
2013 summercamp 012013 summercamp 01
2013 summercamp 01
 
2013 summercamp 07
2013 summercamp 072013 summercamp 07
2013 summercamp 07
 
Siwake
SiwakeSiwake
Siwake
 
2013summercamp group4
2013summercamp group42013summercamp group4
2013summercamp group4
 
2013 summercamp 03
2013 summercamp 032013 summercamp 03
2013 summercamp 03
 
2013 summercamp 06
2013 summercamp 062013 summercamp 06
2013 summercamp 06
 
2016 summercamp 効率よいRTシステム運用法
2016 summercamp 効率よいRTシステム運用法2016 summercamp 効率よいRTシステム運用法
2016 summercamp 効率よいRTシステム運用法
 
グループ5 ひとりでもだるまさんが転んだ
グループ5 ひとりでもだるまさんが転んだグループ5 ひとりでもだるまさんが転んだ
グループ5 ひとりでもだるまさんが転んだ
 
グループ4 ロボットで福笑い
グループ4 ロボットで福笑いグループ4 ロボットで福笑い
グループ4 ロボットで福笑い
 
2016 summercamp 当研究室でのRTミドルウエアの取り組み
2016 summercamp 当研究室でのRTミドルウエアの取り組み2016 summercamp 当研究室でのRTミドルウエアの取り組み
2016 summercamp 当研究室でのRTミドルウエアの取り組み
 
グループ1最終プレゼン資料
グループ1最終プレゼン資料グループ1最終プレゼン資料
グループ1最終プレゼン資料
 
グループ2 Gprese
グループ2 Gpreseグループ2 Gprese
グループ2 Gprese
 
2016 summercamp rtshell入門
2016 summercamp rtshell入門2016 summercamp rtshell入門
2016 summercamp rtshell入門
 
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み2016 summercamp RTM-ROS相互運用とJSKでの取り組み
2016 summercamp RTM-ROS相互運用とJSKでの取り組み
 
Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部Japan Robot Week 2016 RTM講習会 第1部
Japan Robot Week 2016 RTM講習会 第1部
 
Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部Japan Robot Week 2016 RTM講習会 第3部
Japan Robot Week 2016 RTM講習会 第3部
 
Japan Robot Week 2016 RTM講習会 第2部
Japan Robot Week 2016 RTM講習会 第2部Japan Robot Week 2016 RTM講習会 第2部
Japan Robot Week 2016 RTM講習会 第2部
 

Ähnlich wie 2013 summercamp 04

Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01
openrtm
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
openrtm
 
130522 01
130522 01130522 01
130522 01
openrtm
 
130710 01
130710 01130710 01
130710 01
openrtm
 
150629 01
150629 01150629 01
150629 01
openrtm
 
130711 01
130711 01130711 01
130711 01
openrtm
 

Ähnlich wie 2013 summercamp 04 (20)

ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部ROBOMECH2023 RTミドルウェア講習会 第1部
ROBOMECH2023 RTミドルウェア講習会 第1部
 
RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用RT ミドルウェアの IoT プラットフォームへの適用
RT ミドルウェアの IoT プラットフォームへの適用
 
Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料Rtミドルウェア講習会 第1部資料
Rtミドルウェア講習会 第1部資料
 
201110 01 Polytech Center 1
201110 01 Polytech Center 1201110 01 Polytech Center 1
201110 01 Polytech Center 1
 
160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大160705-01 RTミドルウエア講習会・名城大
160705-01 RTミドルウエア講習会・名城大
 
Robomec2015講習会 150517 01
Robomec2015講習会 150517 01Robomec2015講習会 150517 01
Robomec2015講習会 150517 01
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
 
Azure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析するAzure のApp Center でアプリの 使用状況を分析する
Azure のApp Center でアプリの 使用状況を分析する
 
ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1ROBOMECH2017 RTM講習会 第1部・その1
ROBOMECH2017 RTM講習会 第1部・その1
 
130522 01
130522 01130522 01
130522 01
 
Azure の App Center でアプリの 使用状況を分析する
Azure の App Center でアプリの 使用状況を分析するAzure の App Center でアプリの 使用状況を分析する
Azure の App Center でアプリの 使用状況を分析する
 
RTミドルウエア活用について
RTミドルウエア活用についてRTミドルウエア活用について
RTミドルウエア活用について
 
Androidアプリケーション開発中級研修 前編
Androidアプリケーション開発中級研修 前編Androidアプリケーション開発中級研修 前編
Androidアプリケーション開発中級研修 前編
 
130710 01
130710 01130710 01
130710 01
 
Using SysML in an RTC-based Robotics Application
Using SysML in an RTC-based Robotics Application Using SysML in an RTC-based Robotics Application
Using SysML in an RTC-based Robotics Application
 
Hajimete hostedrancher 200605
Hajimete hostedrancher 200605Hajimete hostedrancher 200605
Hajimete hostedrancher 200605
 
150629 01
150629 01150629 01
150629 01
 
130711 01
130711 01130711 01
130711 01
 
Devsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdfDevsumi2013 gunta 2_pdf
Devsumi2013 gunta 2_pdf
 

Mehr von openrtm

Mehr von openrtm (20)

ピッキングシステム
ピッキングシステムピッキングシステム
ピッキングシステム
 
GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画GNGを使った未知環境における経路計画
GNGを使った未知環境における経路計画
 
まねっこロボット
まねっこロボットまねっこロボット
まねっこロボット
 
商品自動補充ロボットシステム
商品自動補充ロボットシステム商品自動補充ロボットシステム
商品自動補充ロボットシステム
 
RTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptxRTサマーキャンプ2022最終発表_都立大.pptx
RTサマーキャンプ2022最終発表_都立大.pptx
 
SysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdfSysML実習20220822SC_GA.pdf
SysML実習20220822SC_GA.pdf
 
RTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdfRTミドルウェアサマーキャンプ資料2022.pdf
RTミドルウェアサマーキャンプ資料2022.pdf
 
5.総合演習(2)
5.総合演習(2)5.総合演習(2)
5.総合演習(2)
 
4.総合演習(1)
4.総合演習(1)4.総合演習(1)
4.総合演習(1)
 
3.RTCプログラミング演習
3.RTCプログラミング演習3.RTCプログラミング演習
3.RTCプログラミング演習
 
2.プログラミングの基礎
2.プログラミングの基礎2.プログラミングの基礎
2.プログラミングの基礎
 
Slam実習
Slam実習Slam実習
Slam実習
 
Rtshell入門
Rtshell入門Rtshell入門
Rtshell入門
 
Rtコンポーネント作成入門
Rtコンポーネント作成入門Rtコンポーネント作成入門
Rtコンポーネント作成入門
 
Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦Rtミドルウェアサマーキャンプ2021_宮本信彦
Rtミドルウェアサマーキャンプ2021_宮本信彦
 
RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1RTミドルウェアサマーキャンプ2021_坂本武志_1
RTミドルウェアサマーキャンプ2021_坂本武志_1
 
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
Rtミドルウェアサマーキャンプ資料2021_坂本武志_2
 
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹Rtミドルウェアサマーキャンプ資料2021_菅佑樹
Rtミドルウェアサマーキャンプ資料2021_菅佑樹
 
ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部ROBOMECH2021 RTMオンライン講習会 第1部
ROBOMECH2021 RTMオンライン講習会 第1部
 
ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部ROBOMECH2021 RTM講習会 第1部
ROBOMECH2021 RTM講習会 第1部
 

2013 summercamp 04

  • 1. 2013年 7月30日 株式会社セック 開発本部 第四開発部 川口 仁 RTM on Androidの紹介 RTミドルウェア SUMMER CAMP 2013
  • 2. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 2 RTM on Android 開発の狙い RTC開発者/利用者の 裾野拡大!! これに伴うRTミドルウェア の普及促進!!
  • 3. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 3 Android に RTM を載せるとは? そもそもRTMとは RTCを作成するために RTCがRTCとして動作するために 存在するミドルウェア ...としてのソフトウェア 実行単位はRTMではなくRTC Android上でRTCを作成する? そのようなシーンは想像できない! Android上で動作するRTCとは? 単なるAndroidアプリの1形態に過ぎない Androidアプリとして RTCを作成し Android端末上で 上記RTCが動作する ことを可能にすること
  • 4. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 4 RTM on Android の効能 RTミドルウェアやRTCの知識が乏しくても,通常の Androidアプリケーション開発スキルを持つ人であれば, 容易にRTCの開発が可能となる RTM on Androidを利用して開発したRTCは,ごく普通の Androidアプリケーションとして扱うことができ,実行時 のシステムリソースへの負荷も軽い RTM on Androidを利用して開発したRTCは,OMGによ り標準化されたRTC標準仕様Ver1.0に従った軽量RTC のOpenRTM拡張モデルとしての基本的な振る舞いに 対応し,他プラットフォーム上のRTCともシームレスに 相互接続できる
  • 5. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 5 Androidアーキテクチャとアプリケーション Android Runtimeに専用VM (Dalvik VM) 各アプリケーションは,それぞ れが独立したLinuxのプロセス 各アプリケーションに一つの Dalvik VMインスタンスが対応し て動作 一般的Androidアプリケーション は,UIを持つコンポーネントであ るActivityとして実装される Activityは画面の最上位に表示 される場合にのみ動作 UIを持たず,バックグラウンドで 継続的に動作するServiceも代 表的なコンポーネント単位
  • 6. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 6 RTCとAndroidにおけるコンポーネントの対応 RTCは,必ずしもUIを必要としない 他RTCとの通信は継続的に実施できる必要がある RTM on Androidでは,RTCがAndroid上でService として動作 UIが必要な場合は別途Activityを必要なだけ追加 これら全体で一つのアプリケーション単位(apk) 一つのAndroid端末上にて 複数のRTCを同時にActiveな状態で稼動可能
  • 7. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 7 CORBA と OpenRTM の実装 ... RTM on Android は OpenRTMのAndroid実装 CORBA通信が必須 Androidプラットフォームでは未サポート OpenRTM実装も必須 システムリソースへの負荷を 極力かけないように独自実装
  • 8. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 8 ...ネイティブCライブラリとした 軽量CORBAのRtORBをAndroidにポーティング RtORBは、独立行政法人産業技術総合研究所の 原功主任研究員が開発を進めている OpenRTM実装は,IDLファイルからCソースを 生成し,最低限のロジックを実装 OpenRTM-aistに含まれているOpenRTM.idlなどの 産総研の成果を一部利用 Google社により提供されているNDKを利用し, Cのネイティブライブラリである.so形式として 生成/組み込み
  • 9. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 9 RTM on Android のアーキテクチャ
  • 10. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 10 RTM on Android でのRTC開発 ごく普通のAndrodアプリ開発手法と同じ Google社により提供されているEclipse用SDKを利用 アプリケーション単位にAndroidプロジェクトを作成 ソースの編集からビルドまでを実施 RTCとしての動作は シンプルなAPI記述 で実現可能
  • 11. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 11 RTM on Android使用上の注意点 画面オフや回転への注意 Androidバージョン2系では、画面オフ時や回転時に onDestroy()やonCreate()が内部で呼ばれてしまう このため、RTCの起動・終了方法によっては、意に反して 連動して終了してしまう危険性がある 対処方法 画面レイアウト定義への指定にて画面オフ抑止 マニフェストへの指定にて回転を抑止 omni-ORBとの親和性への注意 omni-ORBは、デフォルトで一定時間後にタイムアウト処理が走る RTM on Androidが採用しているRtORBはこれに未対応 対処方法 omni-ORBを利用するRTCのコンフィグレーション指定にて、タイムアウトを抑止 RT SystemEditorとの親和性への注意 RTM on Androidを利用したRTCは、RT SystemEditor上での操作感 が悪く、RT SystemEditorが無応答に陥ることもある 対処方法 Connectorを自作したり、rtshellを使う
  • 12. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 12 デモ(ROBOCON Magazine連載で開発したアプリ) RTM.NETで実装したWindows PC上で動作する RTCをAndroid端末からコントロールするRTC コントロール対象 Google Earth内を移動するバーチャル飛行体 Arduino用移動台車KURUMA Shield(ピルクス社) ROBOCON Magazine (オーム社) 2012年7月号 ~ 2013年1月号に連載
  • 13. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. デモシステム構成イメージ 13 Connector KURUMA Shield コントロール時の接続
  • 14. Copyrightⓒ Systems Engineering Consultants Co., LTD. All rights reserved. 14