CodeZine(コードジン)

特集ページ一覧

ロボットアプリケーション開発ツール
「Microsoft Robotics Developer Studio 2008」のインストール

Microsoft Robotics Developer Studio 2008 入門(1)

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/06/26 14:00

目次

RDS 2008 Express Editionの基礎知識

 RDS 2008 Express Editionの基礎知識として、メッセージ、サービス、CCR、DSS、ビジュアルプログラミング、シミュレーション環境、ロボットアプリケーションの作り方について説明します。

メッセージとサービス

 例えば、PCに接続されたXbox用のゲームコントローラのスタートボタン(A)を押して、ロボット(B)を動かす例を考えてみます。この時、AからBへの「スタートボタンが押されました」、またBからAへの「ロボットを起動します」のような情報をメッセージと呼びます。あるメッセージに対してメッセージを返す機能をサービスと呼びます。RDS 2008 Express Editionはこのようなメッセージのやりとりをネットワークを介して行います。

図1:サービスとメッセージのイメージ
図1:サービスとメッセージのイメージ

CCRとDSS

 ロボットの動作には走りながら色を判別したり、障害物を検知したり、人を感知したら停止させたりなど、複数動作の非同期処理が必要となってきます。RDS 2008 Express Editionではこれらのサービスの並列実行のスケジューリングを「Concurrency and Coordination Runtime」(以下、CCR)と呼ばれるランタイムで行い、「Decentralized Software Services」(以下、DSS)と呼ばれる実行エンジン上でサービスを実行します。

 DSSとロボットの配置の関係は次のように大きく2つに分類されます。

  1. DSSがロボットの中にある場合
  2. DSSがロボットの外にある場合

 1.は産業用ロボットのような大型なロボットで、コントローラにOSとしてWindowsが搭載されている場合などがあげられます。

図2:DSSがロボットの中にある場合
図2:DSSがロボットの中にある場合

 2.は卓上を二足歩行できるような小型のロボットなど、Windowsをインストールすることができない環境の場合、パソコン上にDSSを配置してワイヤレス通信することでパソコンとロボットを接続します。本稿では後者について扱います。

図3:DSSがロボットの外にある場合
図3:DSSがロボットの外にある場合

ビジュアルプログラミング言語

 RDS 2008 Express EditionではVisual Programming Language(以下、VPL)と呼ばれる、処理の流れの記述をビジュアルに行える開発環境および、言語が用意されています。

 [スタート]-[すべてのプログラム]-[Microsoft Robotics Developer Studio 2008 Express]-[Visual Programming Language 2008 Express]を選択すると、Visual Programming Languageエディタ(以下、VPLエディタ)が起動します。下記にVPLエディタの画面構成図を示します。

図4:VPLエディタの画面構成図
図4:VPLエディタの画面構成図

 中央の「ダイアグラム領域」に左上の「アクティビティ一覧」や左下の「サービス一覧」から選択したブロックをドラック&ドロップで配置し、ブロック同士を接続することで容易に処理の流れを記述することができます。その際にサービスをつなぐものをアクティビティと呼び、例えば条件式による条件分岐を行う「If」や、2つのデータを結合する「Join」などが用意されています。具体的な使い方については次回以降で説明します。

シミュレーション環境について

 RDS 2008 Express EditionではVisual Simulation Environment(以下、VSE)というシミュレーション環境が付属されており、VPLエディタで作成したロボット制御プログラムをシミュレーション実行することができます。このようにロボット本体を持っていなくても、手軽にロボット制御を体験することができます。

 図5にRDS 2008 Express Editionの対応ロボットの一つであるLEGO MINDSTORM社のNXTを用いた場合のシミュレーション環境の実行結果を示します。シミュレーション環境の具体的な使い方については本連載の後半で解説予定です。

図5:シミュレーション環境例
図5:シミュレーション環境例

ロボットアプリケーションを作るには

 RDS 2008では人型や動物型だけではなく、ネットワークに対応していれば家電製品などもロボットとして制御することができます。それでは、それらを制御するアプリケーションを作成するにはどうすればよいのでしょうか。以下に簡単に手順をまとめます。

  1. サービスをC#やVisual Basicなどで作成
  2. ロボット制御プログラミングをVPLやC#などで作成
  3. シミュレーション環境および実機での実行

 ロボット制御プログラミングは1.で作成したサービスや、あらかじめ用意されているサービスをアクティビティを使って組み合わせて制御フローを作るようなイメージです。

 ただし、1.には、別途、Microsoft Visual C# 2008 Express EditionやVisual Studio 2008 シリーズのインストールが必要です。今回はサービスの作成は取り扱わないので、これらのインストールは不要です。

 本連載では主にあらかじめ用意されているサービスを利用することで、手順2.以降のVPLを用いたロボット制御プログラミングおよびシミュレーション環境を用いたロボット制御を取り上げていきます。


  • LINEで送る
  • このエントリーをはてなブックマークに追加

修正履歴

  • 2009/07/01 06:47 2009/07/01 はじめに・インストール項目・対応OS追記、リンク先変更

バックナンバー

連載:Microsoft Robotics Developer Studio 2008 入門

著者プロフィール

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XM...

  • WINGSプロジェクト asa(asa)

     <WINGSプロジェクトについて>  有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5