Robotics Developer StudioのCCR/DSS紹介

微软的Robotics Developer Studio(RDS)是一个用于机器人控制的中间件和开发环境套装,包含CCR(并发与协调运行时)和DSS(分散软件服务),支持分布式并行处理和服务配置。CCR提供非同步消息传递的.NET库,而DSS则负责网络上服务的部署与监控。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

そういえば、このブログで説明していなかったなと気づき、解説しようかなと。Robotics Developer StudioのCCRとDSSを紹介します。

先ず、Robotics Developer Studio自体知らないという方にちょっとだけ解説。

Robotics Developer Studioは、マイクロソフトが提供する、ロボット制御向けミドルウェアと開発環境一式です。ロボット制御向けというか、沢山のコンピュータノードがネットワークで繋がって連携して分散動作する為の基盤として位置づけられています。最初のバージョンがリリースされてから既に4年以上たっていて、今一番新しいのはRDS 4.0のBeta版です。最新版はKinectやSilverlightにも対応しています。

以下長いのでRDSと約します。

RDSは、主に3つの要素から成り立っています。

  • ネットワークで繋がっている分散並行処理を行う為の基盤ミドルウェア - CCR/DSS
  • 各ノードに配置されて動作する単位(サービス)を組合わせ&ノードの配置を記述するオーサリングツール - Visual Modeling ToolとDSS Editor
  • ロボットの動作をしミューレートする為の物理シミュレーター

RDSを試すには、 http://www.microsoft.com/robotics (※全て英語でごめんなさい)からSDKをダウンロード&インストールすればOKです。SDKには、上の3つと、各種ドキュメント、サンプルコード、チュートリアルなどが入っています。

さて、CCR/DSSの説明に移ります。この二つの用語はそれぞれ、

Concurrency and Coordination Runtime

Decentralized Software Services

の略です。実はETロボコンの計測システムのミドルウェアとして2年前まで実際に使っていたりします。

Robotics Studioは、ネットワーク上に分散して配置された状態を持ったサービス(コンポーネントと考えてよい)群が、必要な他のサービスとメッセージを非同期に送受信しあってシステムの動作を実現することを想定しています。メッセージを受信したサービスは、そのメッセージと自分の状態に応じて処理を行い、必要に応じて他のサービスにメッセージを送ります。全てが非同期かつ並行に動作し、各サービスが協調してシステムの責務を達成していきます。

CCRは、その基盤となる非同期メッセージの送受信を.NET上で実現する為のManaged Code ライブラリです。http://msdn.microsoft.com/en-us/library/bb905457.aspx
このランタイムを使えば、それぞれのサービスは、送信したメッセージの状態や、送られてきたメッセージの順序や複数サービスから送信されてくるメッセージを受信する為のスレッド制御などを一切関知することなく、状態モデルとして、そのサービスが行うべきことに注力して開発することが可能です。CCRライブラリを使ってRDSで動作可能なサービス(コンポーネント)部品を、C#やVBでVisual Studioを使って開発することができます。

※RDSが昔初めてリリースされた直後は、まだマルチコアは珍しく、並行処理に関するプログラミング言語の進歩も未熟だった為、かなり面白いテクノロジーではあったのですが、現在はC#やVC++でもParallel & Concurrentに関する技術が追加されたため、ちょっと特殊かなと思われますが、RDS全体としては完成度が上がってきたので、RDSの機能を使いたい場合にはそれなりに便利なライブラリセットではあります。 - う~ん微妙な説明

DSSは、CCRのライブラリ群の上に構築された、複数のサービス間でメッセージを非同期に送受信する状態を持ったサービスを、ネットワーク上で連動させるシステム基盤です。http://msdn.microsoft.com/en-us/library/bb905470.aspx
サービスのインスタンスを所望のノードに配置したり、サービスインスタンスの状態を監視したり、ノードに配置されたサービスインスタンスを連携させたりするシステムです。サービスの配置や状態監視もまたCCRで記述されたサービスとして用意されています。サービス間の通信には、DSS Protocolと呼ばれる、SOAPの上に今クラウド系で流行のRESTスタイルのAPIを定義したプロトコルを使います。

※既にここ2、3年でクラウド技術の進展により、HTTP上でのRESTスタイルのAPIが主流になったのと、加えてWorkflow Foundationも成熟してきたので、こちらも現時点ではちょっと特殊かなと。
※DSSPの仕様書は、http://download.microsoft.com/download/5/6/B/56B49917-65E8-494A-BB8C-3D49850DAAC1/DSSP.pdf からダウンロード可能です。RESTとは何かの理解にもつながるので、ご一読を。ちなみにこのドキュメントの作者のHenrik Frystyk Nielsen は、Wikipediaにも載っていて、1pp6年に出版されたHTTP仕様書の著者の一人らしい

説明は以上にしておきますが、多分「何のことやらさっぱりわからん」という方のほうが多いかなと思います。論より証拠、Robotics StudioのサイトからSDKをダウンロードしてインストールし、実際に使ってみて見てください。サンプルも豊富にあるので、RDSのインストールディレクトリ(ユーザーディレクトリ直下)のDocumentation Folderに用意されている、RDSUserGuideのTutorialを参考に色々試してみてください。とても綺麗な物理シミュレーターや、DFDに近いモデルエディター上でメッセージの流れとサービスの実行状況をステップ実行できるVisual Programming Tool、Kinectセンサーのシミュレータなど、面白いものが沢山用意されています。まぁ、自分独自のサービスを作成するのは結構難しいですが。

转载于:https://www.cnblogs.com/iphone6/archive/2011/12/08/2280680.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值