现在的位置: 首页 > 专题 > 机器人 > Robotics Studio > 设计中心 > 文档 > 专题 > 机器人 > 正文

Robotics Studio学习教程:第五天——MSRS 概况 (Overview)

2014年04月21日 Robotics Studio, 文档, 机器人 ⁄ 转载:原文链接 ⁄ 共 2259字 ⁄ 字号 暂无评论 ⁄ 阅读 1,160 次
Microsoft Robotics Studio

Microsoft Robotics Studio

继之前分享的一篇《Robotics Studio学习教程:第四天——行走机器人》,我们将继续分享下一篇《Robotics Studio学习教程:第五天——MSRS 概况 (Overview)》,让我继续开始我们学习Visual Programming Language,以及使用Robotics Studio学习开发机器人应用的道路吧。

 

[Robotics Studio] MSRSg概况 (Overview) – Day5

甚么? 第五天才来提概观?

话说, 写了几天  VPL , 大家也许腻了, 觉得 Microsoft Robotics Studio 就这么简单啊..

所以我现在才写整体概观, 因为看完了这篇文章, 你就知道 MSRS 不是这么简单, 而是集大成之前的皮毛只是让大家有点兴趣, 别因为 MSRS 太过于艰深而放弃接触, 事实上这是一门很好玩, 也很有未来的学问.

接下来的文字也许有很多我翻译的不好, 所以我会尽量放原文, 事实上很多文字也没有统一的中译, 所以大家要原谅我, 我并不是专业的翻译员, 但是我是专业的 Programmer, 至少有专业的能力, 至于沟通或文笔问题, 大家要有些担待.

MSRS (Microsoft Robotics Studio) , 或是 RDS (Robotics Developer Studio) , 基本上由众多的底层组件以及服务组合出来的一个套件, 根据我自己的了解可以画出以下的图 (抱歉, 我找不到官方的架构图)

clip_image00234.gif

大家可以看到, 前几天简单的 VPL 是架构在 Visual Simulation Environment (虚拟环境) , DSS , CCR , XNA , .NET Framework, Direct X 之上的.

也就是说, 如果想对 VPL 做出更深入的了解, 我们就要钻研底层的技术, 这些都不是小东西, 这也就是为什么先玩简单的皮毛 (但是却是建立在庞大的架构之上)
如果有兴趣成为专家, 就可以开始接触底下的专业技术, 如果不想碰触底下的专业技术, 也是可以透过 VPL 玩的很愉快^ ^

由上到下, 大家透过之前的介绍, 相信对 Visual Programmming Language 应该不陌生, 微软提供的 VPL Express Edition 也是相当的简单易用, 至于 Visual Simulation Environment, 应该也看过, 这个虚拟环境透过 DSS, CCR , 以 XNA Frameowork 呈现画面, 相当专业, 如果对 VSE 有更多的兴趣, 您可以执行开始程序集当中的 Microsoft Robotics Studio 2008 Express 底下的 Visual Simulation Environment 2008 Express 下面的范例 (记得要有足够的权限, 否则还是重新安装算了), 如 Basic Simulation Environment:

clip_image00434.gif

Apartment Environment:

clip_image00634.gif

等等.

Microsoft Decentralized Software Service 则是微软提供的一个架构, 透过这个架构来实现 REST Programming 的程序风格.

根据微软的说明, DSS 提供轻量级 (lightweight), 服务导向程序模型 (Service-oriented programming model) , 以网站的架构 (Web-based) , 以及 XML 文件沟通来达到高效能而且扩充性强大的程序架构. 我个人觉得透过 DSS , 设计组件时的弹性以及效能都不错, 也不容易写出紧密链接的组件. DSS 还奠基于 CCR 之上, 透过 CCR 处理许多同步协调的问题.

Microsoft Concurrency and Coordination Runtime 负责处理多任务环境同时存取资源的协调以及同步, 有了 CCR , 撰写多线程 (Multi-Thread) 时遇到的众多相关问题, 就交给它来帮你解决.

根 据微软的说明, CCR  提供高效能的同时运算, 以讯息导向的程序模型 (Message-oriented programming model) 完成多任务的资源协调问题处理, 透过 CCR , 程序不需要自己管理线程 (Manual threading),  也不需要考虑同步锁 (lock), 或是号志 (semaphores) 等等多任务的问题, CCR 提供的程序架构可以帮你管理资源多任务时的同步运算, 而且也考虑到了部分失败 (Parital Fault)的处理.

身为一个程序设计人员, 当然觉得这是一个伟大的福音, 未来的程序人员再也不用碰触或学习这些恼人的多任务问题, 那些艰深的问题就留给 CCR 系统处理...

不过, 学习 CCR 也不是那么简单的事啦 (哈哈), 比方说为了解决以上的问题, CCR 当中提供了仲裁器 (Arbiter) ,还有工作排程 (Task scheduling) 的观念, 往后我们在写 DSS 的程序时也会不时遇到这些东西的.

最后, 微软在 RDS 当中还提供了 DSS Manifest Editor , 因为 DSS manifest XML 直接编辑可能不是人干的事情, 所以提供一个编辑器就方便多了.

以上, 概观应该还算不难懂, 更深入的东西可以留在后面一点才说, 大家如果还有很多兴趣时间, 可以参考官方的 使用 Microsoft Robotics Studio 打造虚拟世界 , 话说作者的书也有中文版, 只是我上次翻好像觉得...不像是程序设计师爱看的类型...哈.

 

让我们继续一下章教程:

《Robotics Studio学习教程:第六天——改良自走型机器车》

fgx

分享到:

Wopus问答

×