Robotics Studio 1.0には「Visual Programming Language(以下、VPL)」が標準で搭載されています(注)。これを使えば、視覚的にサービスの開発ができます。UMLを使ってシステムの構造を図式化して、そこからプログラムのスケルトンを生成するという手法に似ていますが、VPLはあくまでもボットムアップ言語です。
VPLは、画面左のツールボックスに用意されているBasic ActivitiesとServicesを画面中央のDiagramに配置し、それらを線で結んで処理を表現します。画面2に、英語で「Hello World」と発声するVPLプログラムの例を示します。
ここでは、Robotics Studio 1.0とロボットの接続について説明します。
まず、ロボットのタイプを下記の2つに分類します。
上記1の場合ロボットの制御装置内にノードを設け、このノードにユーザーのサービスを配置して、ロボットの制御を行います。
上記2の場合は、PCにノードを設けます。Bluetoothなどを介してノードとロボットは通信します。この際、ロボットに埋め込む制御系(モーターのPID制御など)を「ファームウェア」といいます。図3は、PCのノードとロボットが通信しているイメージです。
PCのノードはロボットに対して、通信を介してコマンドを送ります。その反対に、ロボットが障害物を検知した場合などは、通信を介して検知結果をノードへ通知するのです。
通常、ロボットの制御プログラムは画像認識、音声認識、人工知能、ニューラルネットワークなどのアルゴリズムを使うので非常に複雑です。Robotics Studio 1.0では、プログラムの開発の効率を上げるために実機テストの前に「Visual Simulation Environment」というシミュレータを使ってテストできます。
シミュレーションを現実に近づけるために、物体の運動計算に「物理学の法則」を適用します。例えば、「空中に飛び出した物体の軌道」「物体と物体の衝突時における挙動」などを計算する際に「ニュートンの運動方程式」を用いています。また、これらの物理計算を高速処理するために、米AGEIA Technologiesの物理演算処理プロセッサ「PhysX」にも対応しています。
次回は、Robotics Studio 1.0に実機のロボットを接続してテストを行ってみます。VPLとシミュレータの解説を交えながらテスト結果にも触れたいと思います。(次回に続く)
Copyright © ITmedia, Inc. All Rights Reserved.