RTM Box Coding

概要 「RTM Box Coding」は,ロボットミドルウェアの初学者向けのWebベースのビジュアルプログラミングツールです. 本研究では,プログラミング教育,及び,ロボット制御を目的とした既存のビジュアルプログラミングツールを比較検討しました. その結果,ロボットシステム開発で将来的に不可欠となるテキストプログラミングに繋げる学習ツールとして, (1)利用するロボットミドルウェア特有の性質を理解できること (2)変数と命令の組み合わせで動作を指定すること (3)ビジュアルプログラミングで用いるオブジェクトとソースコードの対応関係を確認すること の3点の要求仕様を抽出し,この考えに基づいて,システム設計及び実装を行いました. RTミドルウェアの特徴 本ツールは,日本の産業技術総合研究所が開発したRTミドルウェアを実装した「OpenRTM-aist」をサポートするものです. RTミドルウェアでは,ロボットに用いられる要素技術をRTコンポーネント(RTC, RT-Component)としてカプセル化し,それらの組合せでシステムを構築します. これにより,資産の再利用性の向上,及びシステム開発の効率化を狙っています. RTCは基本的に以下に示す状態をもち,それぞれの状態遷移(ライフサイクル)を理解した上で,RTCを作成することが必要となります.  • 生成状態(Created)  • 活動状態(Alive)   – 非アクティブ状態(Inactive)   – アクティブ状態(Active)   – エラー状態(Error) さらに,RTCの実装では,通常のプログラムとは異なり,main関数に実行する処理内容を直接記述することはありません. 上述した,各状態や遷移時に,あらかじめ決められた関数(コールバック関数)が実行コンテキストから呼ばれるため,どのタイミングで行いたい処理なのかを設計した上で,該当の関数に処理を記述します. 主なコールバック関数と,それぞれの関数が呼ばれるタイミング以下に示します. 関数名 概要 onInitialize ライフサイクル初期化時に1度だけ呼ばれる. onActivated アクティブ化する際に1回呼ばれる. onDeactivated 非アクティブ化する際に1回呼ばれる. onExecute アクティブ状態にあるとき周期的に呼ばれる. 基本利用方法 本ツールでは,ボックスを組み合わせてコーディングを行います. 本ツールで用意している,プログラムを構成するためのボックス一覧を以下に示します. 【onInitializeタブ】 1. RT-Componentの基本設定を行う カテゴリ『RTミドルウェア』から 「入力/出力ポート追加」を選択. ポートの名称を入力し、データタイプを選ぶ. 2. プログラムに必要な変数を予め宣言する …

How to use MAX/MSP and RTC Gateway

RTCGatewayとは? RTCGatewayはCycling’74社のMax(MAX/MSP)とRTミドルウェアである産業総合技術研究所開発のOpenRTM-aistとの間でデータ交換を行うことができるプラグインです。MaxのExternalオブジェクトとして実装されており、Max側ではRTCオブジェクトとして、RTM側ではRTコンポーネントMAX_MSP_RTCとして扱われます。 Max(MAX/MSP)はシンセサイザーのコントロールのためのビジュアルプログラム環境として開発されましたが、現在はリアルタイム音響処理、映像処理・生成、MIDI・様々なデバイスのコントロールに対応しています。オブジェクトと呼ばれる特定の機能を持った部品同士を線でつなぐ(Patch)ことでプログラミングができるようになっており、音楽表現、舞台演出、メディアアートなどのインタラクティブなシステム開発にとって強力なツールとなっています。対してOpenRTM-aistはコンポーネント志向のロボットシステム開発環境RTミドルウェアの実装です。C++ , Python, Javaで動作し、他の人が作ったコンポーネントを再利用することでロボットシステム開発の効率化を狙っています。 RTCGatewayを導入することでMaxで主にロボット用に開発されたRTコンポーネントを比較的簡単に利用することができます。例えばロボットを用いたメディアアート作品の制作の際、音や映像といったインタフェースとロボット制御との間でのデータ交換を行うことも可能です。 現在、Mac OSX 10.8 Mountain Lion+ Xcode 4 or 5 + Max 6 で動作確認しており、尾形研究室のGithub(https://github.com/ogata-lab/RTCGateway)上で配布しています。 ※使い方によってはMaxが強制終了することがあります。自己責任でご利用ください。 RTCGatewayビルドの仕方 Githubからレポジトリをクローンします: git clone https://github.com/ogata-lab/RTCGateway RTCGatewayは以下の2つをサブモジュールとして利用しています。 MAX 6のエクスターナルオブジェクト開発SDK(https://github.com/Cycling74/max6-sdk) Mac環境下でのRTミドルウェア開発SDK(https://github.com/ogata-lab/rtmsdk-mac) クローンしたディレクトリ内で以下のコマンドを実行してください: git submodule init git submodule update 問題なくサブモジュールがクローンできたら以下のコマンドでビルドを行います: ./build.sh build.shと同じディレクトリにRTC.mxoが生成されます。これがMaxのExternalオブジェクトであるRTCオブジェクトの実行ファイルになります。 使い方 クローンしたファイルの中にあるRTC.maxhelpはMaxで開くと対応データ型をすべて使ったサンプルになっています。とりあえず使いたい場合はこれらをコピーしてPatcherに組み込むことができます。以下ではMaxのインストールとRTC.mxoの設定、ポートの追加方法とコンポーネントのアクティブ化について説明します。   Maxが入っていない場合はまずインストールを行います。 http://cycling74.com/ 内の[Download Max]よりMax 6をインストールしてください。 ダウンロードしてから30日間はデモ(無料)で使用することができます。   …

How to use WACOM Tablet RTC

<h2>RTCGatewayとは?</h2> <a href=”https://github.com/ogata-lab/RTCGateway”>RTCGateway</a>は<a href=”http://cycling74.com/”>Cycling’74社</a>のMax(MAX/MSP)とRTミドルウェアである産業総合技術研究所開発の<a href=”http://www.openrtm.org/openrtm/ja”>OpenRTM-aist</a>との間でデータ交換を行うことができるプラグインです。MaxのExternalオブジェクトとして実装されており、Max側ではRTCオブジェクトとして、RTM側ではRTコンポーネントMAX_MSP_RTCとして扱われます。 Max(MAX/MSP)はシンセサイザーのコントロールのためのビジュアルプログラム環境として開発されましたが、現在はリアルタイム音響処理、映像処理・生成、MIDI・様々なデバイスのコントロールに対応しています。オブジェクトと呼ばれる特定の機能を持った部品同士を線でつなぐ(Patch)ことでプログラミングができるようになっており、音楽表現、舞台演出、メディアアートなどのインタラクティブなシステム開発にとって強力なツールとなっています。対してOpenRTM-aistはコンポーネント志向のロボットシステム開発環境RTミドルウェアの実装です。C++ , Python, Javaで動作し、他の人が作ったコンポーネントを再利用することでロボットシステム開発の効率化を狙っています。 RTCGatewayを導入することでMaxで主にロボット用に開発されたRTコンポーネントを比較的簡単に利用することができます。例えばロボットを用いたメディアアート作品の制作の際、音や映像といったインタフェースとロボット制御との間でのデータ交換を行うことも可能です。 現在、Mac OSX 10.8 Mountain Lion+ Max 6 で動作確認しており、尾形研究のGithub(<a href=”https://github.com/ogata-lab/”>https://github.com/ogata-lab/</a>)上で配布しています。 <strong>※使い方によってはMaxが強制終了することがあります。自己責任でご利用ください。</strong> <h2>RTCGatewayビルドの仕方</h2> Githubからレポジトリをクローンします: <pre>git clone https://github.com/ogata-lab/RTCGateway</pre> RTCGatewayは以下の2つをサブモジュールとして利用しています。 MAX 6のエクスターナルオブジェクト開発SDK(https://github.com/Cycling74/max6-sdk) Mac環境下でのRTミドルウェア開発SDK(https://github.com/ogata-lab/rtmsdk-mac) クローンしたディレクトリ内で以下のコマンドを実行してください: <pre>git submodule init git submodule update</pre> 問題なくサブモジュールがクローンできたら以下のコマンドでビルドを行います: <pre>./build.sh</pre> build.shと同じディレクトリにRTC.mxoが生成されます。これがMaxのExternalオブジェクトであるRTCオブジェクトの実行ファイルになります。 <h2>使い方</h2> クローンしたファイルの中にあるRTC.maxhelpはMaxで開くと対応データ型をすべて使ったサンプルになっています。とりあえず使いたい場合はこれらをコピーしてPatcherに組み込むことができます。以下ではMaxのインストールとRTC.mxoの設定、ポートの追加方法とコンポーネントのアクティブ化について説明します。 &nbsp; Maxが入っていない場合はまずインストールを行います。 <a href=”http://cycling74.com/”>http://cycling74.com/</a> 内の[Download Max]よりMax 6をインストールしてください。 <a href=”http://ogata-lab.jp/wp-content/uploads/2013/08/ようこそ_と_Cycling_74-3.png”><img …

NAO RTC

Aldebaran NAO RT-component. Now implementing… This component depends on OpenRTM-aist-Python 1.1, naoqi-Python 1.14.5. Interfaces DataInPorts None DataOutPorts camera RTC.CameraImage. NAO’s camera image. audio RTC.TimedOctetSeq. NAO microphone input. jointAngle RTC.TimedDoubleSeq. Current joint angle [rad] bumper RTC.TimedBooleanSeq. 足についている接触センサの値.(左足左側,左足右側,右足左側,右足右側,という並び) touch RTC.TimedBooleanSeq型.頭部および両腕の接触センサの値.(頭部後側,頭部中心,頭部前側,左手後部,左手中央,左手前部,右手後部,右手中央,右手前部,という並び) sonar RTC.TimedBooleanSeq型.胸にある超音波センサの値.(左,右,という並び) ServicePorts NAO_srv インターフェース一覧 ALMotion ALTestToSpeech ALVideoDevice ALMemory ALBehaviorSelector ALLeds IDL …