机器人的“操作系统”_第1页
机器人的“操作系统”_第2页
机器人的“操作系统”_第3页
机器人的“操作系统”_第4页
机器人的“操作系统”_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、机器人的“操作系统”: Microsoft Robotic Studio 让你的机器人像个人电脑一样 众所周知,微软公司(Microsoft Corp.)的Windows系列操作系统已经在个人电脑领域占据了主导地位。无论您的机器是何种品牌、何种型号、何种配置,Windows操作系统都能够轻松应对并为您提供想要的服务。同时,友好的用户界面也赢得了广大用户的青睐,使Windows成为个人电脑领域最受欢迎的操作系统。如今,这一传统正在进入欣欣发展的机器人行业,而且不仅仅局限于家用机器人领域,在工业机器人领域也已经崭露头角。这就是微软机器人工作室推出的机器人操作系统Microsoft Robotic

2、Studio。 在目前机器人行业的生产和开发过程中,还没有统一的平台和标准,不同公司按照不同的标准和技术路线生产和开发机器人设备。对于机器人的初学者而言进入的门槛过高,每一个开发人员都要从底层硬件入手再到上层的控制软件,大量的人力物力消耗在了重复的设计中,为了改变这一局面,为机器人开发人员能减少一些麻烦的工作和创建不同类型硬件的标准,简化对机器人的编程,把更多的精力投入机器人智能领域的研究,2006年6月微软公司推出了“Microsoft Robotic Studio”机器人开发软件,迈出了向机器人行业进军的第一步。 微软公司于2008年5月19日在匹兹堡举办的 RoboBusiness Co

3、nference and Exposition(机器人商业大会暨展览会)上首次发布了其机器人技术编程平台的最新版本 Microsoft Robotics Developer Studio 2008 的社区技术预览版 (CTP)。Microsoft Robotics Developer Studio 2008 包含对齐运行时间性能、分布式计算功能以及工具的改进。这个被称为“Microsoft Robotics Studio”(微软机器人技术工作室)的新平台主要用于机器人技术的开发,适合学术、理论和商业研究等领域。1 Microsoft Robotic Studio的特点 Microsoft Ro

4、botic Studio(MSRS)是一个用于机器人项目的软件开发包(SDK),它主要包括可视化编程语言,机器人服务和机器人仿真三个主要部分,运行时环境可以工作在目前的机器人技术中使用的各种8、16和32位处理器上。该软件重点是让用户编写简单的模块化命令程序,并如同服务那样动作。这种程序一般不在目标机器人的有限处理器和存储器上运行,而是通过机器人定义的许多通信协议中的一种与机器人进行交互。 基于MRS开发机器人控制软件是使用“服务”概念的程序,就是将机器人的每一个子功能和任务设计成一个个独立的“服务”,该服务可以通过PC与机器人实体有线或者无线的连结来得到机器人实体上传感器的数据,并进行处理,

5、可以向机器人实体发送控制命令,控制机器人的运动。这样的控制软件结构对应了机器人控制中基于行为的控制方法,其中的“服务”就是“行为”的软件实现。在开发机器人软件时还可以使用Microsoft提供的可视化编程语言,这是一种基于数据流的编程模型,使得编程的过程更加直接易懂,方便没有编程基础的用户学习使用。 MRS还提供机器人环境仿真,该仿真使用Ageia技术公司提供的PhysX物理引擎,能够使我们充分利用强大的物理仿真技术,实现机器人的高保真度、高可视化的环境仿真。图1是采用Microsoft Robotic Studio技术设计的机器人。 图1采用Microsoft Robotic Studio技

6、术设计的机器人2 Microosoft Robottic Sttudio的的功能2.11 机器人服服务(Robbotic Serveer) Miicrosooft Rooboticcs Stuudio是基基于Winddows平台台,使学生、爱爱好者和商业业开发者们都都能够很容易易的创建跨硬硬件平台的机机器人技术应应用。Miccrosofft Robboticss Studdio仿真运运行时技术提提供的运行环环境能够满足足了大部分机机器人应用的的需求:1. 当程序运运行时,它必必须能够监控控状态和与单单个组件进行行互动。2. 当程序运运行时,它必必须能够发现现、创建、停停止和重起组组件。3. 它

7、必须能够够处理从多个个传感器来的的并发输入,并并将这些输入入变成互不干干扰的任务列列表。4. 它必须能够够处理自治系系统,也能够够在本地或者者通过网络控控制机器人应应用。5. 运行时必须须是轻量级的的并能够运行行在不同的环环境中。6. 应用环境境必须具有可可扩展性和灵灵活性,来适适应多种不同同的软硬件环环境。 为了满满足这些需求求, Miccrosofft Robboticss Studdio 运行行时提供一个个面向服务的的架构,它结结合了传统基基于WEB架架构的主要理理念和WEBB服务来提供供高灵活性和和轻量级,分分布式的应用用模型。Weeb架构主要要着眼于轻便便性,互操作作性和松耦合合性。

8、运行在在Http协协议之上,基基于Web的的应用已经证证明是可伸缩缩的,具备互互操作性,并并且能够灵活活的适应多种种不同的应用用场景。 根据据微软Rooboticcs Stuudio用户户指南,运运行时环境包包括了CCRR(并发与协协调运行时)与与DSS(分分散软件服务务)部件,而而这些部件必必须满足下列列需求集:必必须能监控状状态;当应用用运行时能与与部件交互;能发现、创创建、终止和和重新启动部部件;能并发发地处理多个个传感器的输输入,并将这这些输入组织织为任务,而而不会有这些些任务之间无无意干扰的风风险;能通过过网络同时处处理本地与远远程的自动与与受控机器人人应用;运行行时重量必须须足够轻

9、,从从而能在广泛泛的环境中执执行;应用环环境必须为可可扩展,并有有足够的灵活活性,以适应应各种硬件与与软件环境的的交互。 CCCR通过一个个面向信息的的变成模型支支持异步与并并发操作,该该模型可以自自动揭示出并并行硬件与协协议信息,而而无需使用手手工线程、锁锁定或信标。这这种方案使设设计者能够建建立起更松散散耦合的软件件模块或部件件。独立的CCCR .NNET DLLL可以从任任何面向.NNET 2.0 CLRR(公共语言言运行时)的的语言中访问问。微软在CCCR上建立立了DSS运运行时,且DDSS并不依依赖于微软RRobotiics Sttudio中中的任何其它它部件。它为为管理服务提提供了

10、一个主主控环境,以以及一组架构构服务,可以以用于服务创创建、发现、记记录、调试、监监控与安全。DDSS支持一一种轻量级的的面向服务应应用模型,它它结合了传统统REST基基于Web的的架构,以及及部分Webb服务架构。DDSS定义了了一个应用模模型,它建立立在RESTT模型上,通通过它们的状状态和对该状状态的一组统统一操作而展展示服务,但但通过增加结结构化数据操操作、事件通通知以及服务务组织扩展了了HTTP(超超文本传输协协议)应用模模型。 DSSS的主要目标标时提供服务务之间的互操操作性,不管管这些服务是是否运行在相相同结点或网网络上。DSSS用HTTTP和DSSSP(分散软软件服务协议议)作

11、为服务务间交互的基基础。基于DDSSP的轻轻量级SOAAP(简单对对象存取协议议)支持结构构化状态与事事件模型的操操作,这改变变了结构化状状态的驱动。2.2 可视化编程语言(Visual Programming Language) 微软VPL(虚拟编程语言)图形编辑开发环境采用一种数据流编程模型,而不是控制流模型。一个VPL数据流包括一个连接的动作序列,数据流将其表示为带输入和输出的块,可以将它们连接到其它动作块上。动作可以表示为预构的服务、数据流控件、函数或其它代码模块;动作也可以包含其它动作的组合。VPL面向初级程序员,但该编程语言也吸引高级程序员用作快速原型开发或代码开发。 Micros

12、oft 可视化编程语言 (VPL) 是一种应用程序开发环境,它基于图形化的数据流式编程模型基础上设计,而不是传统编程中常用的控制流。数据流程序更像生产线上接到材料后完成其所负责任务的一组工人,而不是顺序执行的一系列强制命令。因此,VPL 很适合于各种并行或分布式处理情况下的编程。 VPL 面向的是对变量和逻辑等概念有基本理解的初级编程人员。但是,VPL 并不是仅供初学者使用。此编程语言的组合特性对于追求快速原型设计和代码开发的高级编程人员也极具吸引力。另外,尽管它的工具箱是专为开发机器人应用程序而设计的,但其基础结构并不仅限于机器人编程,还可以用于其他用途。因此,VPL 受到包括学生、热衷者和

13、业余爱好者在内的众多用户的广泛欢迎,有些 web 开发人员以及专业程序员也为之所深深吸引。 在Microsoft Robotics Studio中,即使不懂编程的爱好者都可以用可视化编程语言(VPL)像堆积木一样,选择一些服务(比如Lego NXT已经被很好支持),把这些服务按顺序连接,给出输入参数,定义一些计算方法,然后运行,就可以控制一台Lego NXT这样简单的机器人了。 如图2所示,服务列表中列出了很多基本的的服务,如Lego电机、XBOX手控器等,只需把它们拖动到框图板上,设置所需的参数,然后将服务之间顺序连接起来,一个机器人控制程序就完成了。当然,你也可以自定义服务,如果使用到基本

14、过程,那么也同样简单。如果你使用过Matlab的Simulink或是NI公司的LabView,那么这些对你来说更是易如反掌了。2.3 机器人仿真(Robotic Simulation) Microsoft Robotics Studio目标是使广大的爱好者能够加快机器人技术的开发和使用。他所提供的一个重要组成部分就是运行时仿真技术。PC和游戏技术的成熟运用,使机器人仿真技术变得可行,并为大量使用铺平了道路。设计模拟运行时的目的是将其用于各种对保真度、可视化、比例要求很高的高级方案中。同时,不懂编程或编程经验极浅的初学者也可使用模拟功能,在类似游戏的环境中开发有趣的应用程序。集成的Ageia技术

15、和PhysX引擎能够使我们使用充分利用强大的物理仿真技术,这些无疑对机器人技术的发展和成熟有着不可估量的价值。物理渲染的引擎基于可管理的DirectX技术。 机器人设计最困难的问题之一在于如何让机器人与周围环境交互。现在你可以在仿真环境中建立不同的地形,添加不同的物体,然后让你的机器人在其中运行。每种物体背后实际上是一个独立的物理模型。比如你可以添加3张桌子,但第一张桌子的物理模型就是桌子形状,第二张桌子的物理模型是个圆球,第三张桌子的物理模型是个立方体,那么一旦他们受到外力,三张桌子会以不同的方式运动,或翻倒,或滚动,或位移。你可以操纵机器人,或者看机器人自动运行,碰撞到或者通过传感器检测到

16、周围物体后如何动作,从而设计机器人的运动方式。这比摸黑写好程序,输入机器人,发现问题再回去摸黑改,改好了再输入机器人试运行的方式方便多了。 Robotics Studio仿真运行时包含了仿真引擎服务、受控物理引擎封装器、原生的物理引擎库,以及与物理引擎和在仿真世界中表示硬件与物理对象的渲染引擎接口的部件。仿真引擎服务负责渲染实体、加快物理引擎仿真时间。它跟踪整个仿真的状态,为仿真提供一个服务/分布前端。受控物理引擎封装器将用户从低级物理引擎API中抽象出来,为物理仿真提供一个受控接口。 如图3所示,仿真环境提供多层次的视角、真实的物理特性和逼真动画效果。并且初始环境下就提供了如图4所示的控制窗

17、口,只要加入控制协议就可以通过普通手柄或者键盘控制机器人的运动,就和操作真的机器人一样。(PS:我最喜欢驾驶Pioneer来与Lego小机器人玩碰碰车)同时,仿真环境的一切都可以自己设定,天空、地面、障碍物,材质、重心、质量等,完全像真的一样表现出不同的物理特性。视角也同样可以切换,如图5所示,可以从机器人的第一视角感受极品飞车的感觉。 图3 MSRS仿真环境 控制窗口左上方选择控制设备,一般情况下可以使用键盘和手柄。下方为电机开关,还可以选择是否进行运动记录。它的下方是机械臂专用的控制部分,可以对机械臂各运动节点分别控制,有了这个可以不用购买价值百万美元的实物就可以进行机械臂运动算法的开发和

18、试验了。启动窗口下方的虚拟激光传感器就可以得到虚拟世界的激光传感信息,非常适合买不起传感器的用户们做体验和研究。窗口右方可以选择运行环境,可以本机运行,也可以联网运行。图4 仿真环境境控制窗口 图5 仿仿真环境自定定义模式微软软MSRS的的最新版本 Microosoft Robottics DDevelooper SStudioo 20088中加入了地地板编辑器,如如图6所示,你你可以轻松的的勾画出你的的环境地图,并并使之3D 可视化。 图66 地板编辑辑器3 结束语微软软在这个新领领域的第一个个合作伙伴是是Lego(乐高),后后者的Minndstorrms NXXT产品将充充分发挥微软软新平台的优优势,提供更更多新功能.微软表示新新平台已经得得到了业界的的积极响应,还还有数家学术术和商业合作作伙

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论