OpenRTP-aist

OpenRT Platform, AIST

Contents

RTC Builder on the Web(RTCBoW)

RTCBoWとは

RTCBoW(RTC Builder on the Web)は、RTCビルダのインターフェースをほぼそのままにWebアプリケーション化したものです。

Apache+PHPを使って実装されていますので、簡単にインストールすることができます。 また、RTCビルダにはない機能として、RTコンポーネントのソースコードの編集や実行オブジェクト生成(コンパイル)機能もあります。

これによって、自分のPCにOpenRTM-aistの開発環境をインストールすることなく、RTコンポーネントの開発を行うことができます。

RTCBoWに関する詳細なドキュメントは、 こちら を参照してください。

RTCBoWの基本機能

RTC Profileの作成

RTCBoWは、RTコンポーネントビルダと同様に、RTC Profileを生成することができます。 RTC Profileの生成には、モジュール名やコンポーネントの型などの基本的な情報を入力する 「基本情報入力」、RTコンポーネントのでどのアクティビティを実装するかを決める「アクティビティ入力」、データポートのデータ型と変数名を設定する「データポート入力」、ユーザ定義のパラメータを設定する「コンフィグレーション入力」、実装する開発言語を選択し、ひな形のソースコードを生成する「開発言語入力」の各入力フォームを順に選択しながら対話的に進めることができます。

この機能は、RTコンポーネントビルダとほぼ同じ機能であり、生成されるRTC Profileも互換性があります。

ただし、残念ながらRTCBoWでは、RTコンポーネントビルダでサポートされているサービスポートの入力機能が未実装ですので、完全にRTコンポーネントビルダと置き換えることがまだできていません。

開発言語に応じたひな形の作成

RTCBoWでは、RTC Profileの生成と同時に、Windows,Linux,MacOSXの各プラットフォーム上のC++,Python,Javaに対応したソースコードのひな形の生成する機能を実装しています。

この機能は、RTCBoW内で独自のテンプレート生成機能を実装することで実現しています。 現在、動作確認がとれているのは、Windows+C++の組み合わせのみです。

この理由は、RTCBoWはOpenRTM-aist-1.1.0-RELEASEを対象として実装しているため、まだ、正式リリースを行っていないPython,Javaに関してはひな形を作成するためのテンプレートソースコードを作成しいないためです。

しかし、現状のRTコンポーネントビルダと同等機能をサポートするのは、あまり難しくありません。

ソースコードの編集機能

RTCBoWでは、RTコンポーネント開発のクラウド化を目指して開発されていますので、RTC Profileから生成されたひな形となるソースコードをWebブラウザで編集する機能も実装されています。

ソースコード編集機能は、通常のエディタをWebブラウザ上に用意することもできるのですが、RTCBoWが自動生成する部分とユーザが実装すべき部分をより明確にし、操作ミスによるコーディングエラーを抑制するために、アクティビティの部分とプライベート変数に関わる部分のみを編集できるようにしています。

また、OpenCVやKINECT SDKのような外部ライブラリを使用したRTコンポーネント開発を手助けするために、あらかじめ各ライブラリの典型的な使い方のテンプレートを用意することで、ヘッダーやCMakeListsファイルの半自動生成機能も追加してあります。

そのため、RTCBoWが動作する計算機上に開発環境を構築するだけで、RTCBoWの利用ユーザは、だれでもこの機能を使うことができます。

また、RTCBoWでは、独自のソースコード管理機能を持っています。簡単なバージョン管理を行うことができます。

実行オブジェクト生成機能

RTCBoWには、さらに、実行オブジェクト生成機能(コンパイラの実行機能)があります。 前述の操作で、生成、編集したソースコードをサーバー上のコンパイラでコンパイルし、実行ライブラリと実行オブジェクトを生成し、ZIP形式のアーカイブを生成することができます。

そのため、RTCBoWのユーザは、自分のPC上にコンパイラをインストールすることなく実行形式のRTコンポーネントをダウンロードすることができます。 ダウンロードしたZIPアーカイブには、OpenRTM-aistの動作とRTコンポーネント動作に必要なライブラリをすべて含んだ形で提供されますので、自身のPCにOpenRTM-aistをインストールしなくても、動作させることができるようになっています。

しかし、OpenRTM-aistをインストールしていない場合には、NameServerやRTシステムエディタが起動できませんので、少なくともこの2つは自分のPCにインストールしておく必要があります。

将来的には、こちらも公開ネット上にNameServerを起動させ、RTシステムエディタもクラウド化することで、OpenRTM-aistのクラウド化を進めていきたいと思っています。

その他の機能

RTCBoWで開発したRTコンポーネントのソースコードは、デフォルトでは共有フォルダ上で展開されています。 そのため、RTCBoWのユーザ間でソースコードはすべて共有されますので、他の人のRTコンポーネントを簡単に再利用することができます。そのためRTCBoWを複数のユーザで共有する場合には、著作権やライセンスに関して十分に配慮してください。

将来的には、個々のRTコンポーネントのソースコードに関してアクセス制限機能やグループ管理機能を追加する予定です。

また、RTCBoWのユーザ間のお知らせやRTコンポーネント開発のTipsを共有するためにWikiによるドキュメント作成機能も実装されています。Wikiの記法はPukiwikiとほぼ互換性があります。 このWikiの機能については、拙作のSiwikiに置き換える予定ですので、プラグインの追加により、ブログやツィート機能、ニュースの機能などが使えるようにしていきます。

今後実装予定の機能

まだ、未実装で今後の改修によって機能追加していくものとして、サービスポートを作成するための機能や開発するRTコンポーネントに対するドキュメント作成機能を拡充していきたいと思っています。

また、開発したRTコンポーネントのソースコードのパージョン管理やプロジェクト管理を行うための機能拡張も予定していますので、その場合には、より柔軟なリポジトリを含めたクラウド化を実現できると思います。

RTCBoWのデモサイト

RTCBoWの動作を確かめていただくために、Windows VPSを利用して デモ用のサイト を用意しています。 このサイトでは、Windows版のRTコンポーネントを簡単に生成することができますので、お試しください。

また、RTCBoWのご利用にあたっては、下記のユーザIDとパスワードでログインする必要があります。

Login ID: guest

Passwd: rtcbowguest

著作権とライセンス

RTCBoWは、産総研と原功が直作権を保有します。また、RTCBoWのライセンスは、修正BSDとしていますので、RTCBoWのダウンロード、利用、修正に関して自由に行うことが可能です。

また、RTCBoWに関するお問い合わせやご質問、ご要望などは、

isao-hara@aist.go.jp

までお願いいたします。

Contents