連載
» 2007年02月09日 00時00分 公開

ロボット業界は、フォードの出現を待っている解説! ロボット開発環境Robotics Studio(1)(3/3 ページ)

[大川 善邦 工学博士 日本大学工学部非常勤講師/大阪大学名誉教授,@IT MONOist]
前のページへ 1|2|3       

サービスの開発

 Robotics Studio 1.0には「Visual Programming Language(以下、VPL)」が標準で搭載されています(注)。これを使えば、視覚的にサービスの開発ができます。UMLを使ってシステムの構造を図式化して、そこからプログラムのスケルトンを生成するという手法に似ていますが、VPLはあくまでもボットムアップ言語です。


※注:
Visual C#やVisual Basicなどでも開発可能。


 VPLは、画面左のツールボックスに用意されているBasic ActivitiesとServicesを画面中央のDiagramに配置し、それらを線で結んで処理を表現します。画面2に、英語で「Hello World」と発声するVPLプログラムの例を示します。

Visual Programming Languageの画面 画面2 Visual Programming Languageの画面

ロボットとの接続

 ここでは、Robotics Studio 1.0とロボットの接続について説明します。

 まず、ロボットのタイプを下記の2つに分類します。

  1. ロボットの制御装置が.NET Framework 3.0に対応している(大型ロボット、工場の溶接ロボットなど)
  2. ロボットの制御装置が小型のCPUを使っていて、.NET Framework 3.0に対応しない(H8やPICなどのマイコン制御による小型ロボット)

 上記1の場合ロボットの制御装置内にノードを設け、このノードにユーザーのサービスを配置して、ロボットの制御を行います。

 上記2の場合は、PCにノードを設けます。Bluetoothなどを介してノードとロボットは通信します。この際、ロボットに埋め込む制御系(モーターのPID制御など)を「ファームウェア」といいます。図3は、PCのノードとロボットが通信しているイメージです。

ノードとロボットが通信するイメージ 図3 ノードとロボットが通信するイメージ

 PCのノードはロボットに対して、通信を介してコマンドを送ります。その反対に、ロボットが障害物を検知した場合などは、通信を介して検知結果をノードへ通知するのです。

物理学の法則を適用したシミュレータ

 通常、ロボットの制御プログラムは画像認識、音声認識、人工知能、ニューラルネットワークなどのアルゴリズムを使うので非常に複雑です。Robotics Studio 1.0では、プログラムの開発の効率を上げるために実機テストの前に「Visual Simulation Environment」というシミュレータを使ってテストできます。

Visual Simulation Environmentでのシミュレーションの様子 画面3 Visual Simulation Environmentでのシミュレーションの様子

 シミュレーションを現実に近づけるために、物体の運動計算に「物理学の法則」を適用します。例えば、「空中に飛び出した物体の軌道」「物体と物体の衝突時における挙動」などを計算する際に「ニュートンの運動方程式」を用いています。また、これらの物理計算を高速処理するために、米AGEIA Technologiesの物理演算処理プロセッサ「PhysX」にも対応しています。

関連リンク:
AGEIA
PhysX



 次回は、Robotics Studio 1.0に実機のロボットを接続してテストを行ってみます。VPLとシミュレータの解説を交えながらテスト結果にも触れたいと思います。(次回に続く)


前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.