Shoeisha Technology Media

CodeZine(コードジン)

特集ページ一覧

Robotics Developer Studioで通知サービスを実装する

Microsoft Robotics Developer Studio 2008 入門(5)

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

 Visual C# 2008 Express Edition(VisualStudio 2008も同様)を用いてMicrosoft Robotics Developer Studio 2008 R2における通知についてのサービスプログラムの作成手順を説明します。

目次

はじめに

 第4回ではVisual C# 2008 Express Edition (VisualStudio 2008も同様)を用いて、コンソールへの文字出力や状態のログ表示など単純なサービスプログラムの作成と、自作したサービスのVPLでの利用方法、および作成したサービスのロボット制御への利用例を説明しました。今回はロボットが障害物にぶつかった時などに発生する割り込み(通知)の概要および、通知を使ったサービスを取り上げます。

対象読者

  • Microsoft Robotics Developer Studio 2008 Express Edition(以下、RDS 2008 Express Edition)に興味のある方。

必要な環境と準備

  • RDS 2008 R2 Express Edition
  •  第1回を参考にインストールしてください。

  • VisualStudio 2008またはVisual C# 2008 Express Edition

 対応OSは、Windows Vista/XPです。本稿ではWindows Vistaで検証しています。また、シミュレーション環境を使用する場合はグラフィックスのシェーダバージョンが2.0以上でなければ正常に動作しないので注意してください。

通知とは

 例えばロボットを動かしている時に障害物(壁)にぶつかったことを仮定しましょう。ぶつかるまでは走行していたロボットが、壁にぶつかることで走行を中断されてしまいます。

 このような場合、割り込み信号によって、ロボットを停止させたりするなどといった処理が必要となります。RoboticsStudioではこの割り込み信号にあたるものを通知(notification)という名称で呼んでいます。

 今回はこの通知についての概要および、ログに表示させるといった簡単なサンプルを元にRDS 2008 R2 Express Editionでの通知の使い方について取り上げます。

サブスクリプションマネージャ

 RDS 2008 R2 Express Editionではサブスクリプションマネージャによって通知を管理します。

 例えば、図1のようにAとBという2つのサービスがあったとします。サービスBがサービスAから通知を受け取るためにはまず、サブスクライブ(subscribe)を設定し、サービスAはサブスクリプションマネージャをたちあげます。次に、サブスクリプションマネージャにサービスAを登録すると、サブスクリプションマネージャによりサービスBに通知されるという仕組みです。

図1 サブスクリプションマネージャの仕組み
図1 サブスクリプションマネージャの仕組み

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

著者プロフィール

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

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

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

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

バックナンバー

連載:Microsoft Robotics Developer Studio 2008 入門
All contents copyright © 2005-2018 Shoeisha Co., Ltd. All rights reserved. ver.1.5