机器人的“操作系统”

上传人:博****1 文档编号:561153737 上传时间:2023-10-03 格式:DOCX 页数:8 大小:460.28KB
返回 下载 相关 举报
机器人的“操作系统”_第1页
第1页 / 共8页
机器人的“操作系统”_第2页
第2页 / 共8页
机器人的“操作系统”_第3页
第3页 / 共8页
机器人的“操作系统”_第4页
第4页 / 共8页
机器人的“操作系统”_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《机器人的“操作系统”》由会员分享,可在线阅读,更多相关《机器人的“操作系统”(8页珍藏版)》请在金锄头文库上搜索。

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

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

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

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

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

6、技术设计的机器人。器人图 1 采用 Microsoft Robotic Studio 技术设计的机2 Microsoft Robotic Studio 的功能2.1 机器人服务(Robo tic Server)Microsof t Robo tics St udio是基于Windows平台,使学生、爱好者和商 业开发者们都能够很容易的创建跨硬件平台的机器人技术应用。Microsoft Robo tics St udio仿真运行时技术提供的运行环境能够满足了大部分机器人应用 的需求:1. 当程序运行时,它必须能够监控状态和与单个组件进行互动。2. 当程序运行时,它必须能够发现、创建、停止和重起组

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

8、并且能够灵活的适应多种不同的应用场景。根据微软Robotics Studio用户指南,运行时环境包括了 CCR (并发与 协调运行时)与DSS (分散软件服务)部件,而这些部件必须满足下列需求集: 必须能监控状态;当应用运行时能与部件交互;能发现、创建、终止和重新启动 部件;能并发地处理多个传感器的输入,并将这些输入组织为任务,而不会有这 些任务之间无意干扰的风险;能通过网络同时处理本地与远程的自动与受控机器 人应用;运行时重量必须足够轻,从而能在广泛的环境中执行;应用环境必须为 可扩展,并有足够的灵活性,以适应各种硬件与软件环境的交互。CCR 通过一个面向信息的变成模型支持异步与并发操作,该

9、模型可以自动 揭示出并行硬件与协议信息,而无需使用手工线程、锁定或信标。这种方案使设 计者能够建立起更松散耦合的软件模块或部件。独立的 CCR .NET DLL 可以从任 何面向.NET 2.0 CLR (公共语言运行时)的语言中访问。微软在CCR上建立了 DSS运行时,且DSS并不依赖于微软Robo tics St udio中的任何其它部件。它为 管理服务提供了一个主控环境,以及一组架构服务,可以用于服务创建、发现、 记录、调试、监控与安全。DSS支持一种轻量级的面向服务应用模型,它结合了 传统REST基于Web的架构,以及部分Web服务架构。DSS定义了一个应用模型, 它建立在 REST

10、模型上,通过它们的状态和对该状态的一组统一操作而展示服务, 但通过增加结构化数据操作、事件通知以及服务组织扩展了 HTTP (超文本传输 协议)应用模型。DSS 的主要目标时提供服务之间的互操作性,不管这些服务是否运行在相 同结点或网络上。DSS用HTTP和DSSP (分散软件服务协议)作为服务间交互的 基础。基于DSSP的轻量级SOAP (简单对象存取协议)支持结构化状态与事件模 型的操作,这改变了结构化状态的驱动。2.2 可视化编程语言(Visual Programming Language)种数据流编程模型, 而不是控制流模型。一个 VPL 数据流包括一个连接的动作序列,数据流将其表示

11、为带输入和输出的块,可以将它们连接到其它动作块上。动作可以表示为预构的 服务、数据流控件、函数或其它代码模块;动作也可以包含其它动作的组合。 VPL 面向初级程序员,但该编程语言也吸引高级程序员用作快速原型开发或代码开 发。Microsoft 可视化编程语言 (VPL) 是一种应用程序开发环境,它基于图 形化的数据流式编程模型基础上设计,而不是传统编程中常用的控制流。数据流 程序更像生产线上接到材料后完成其所负责任务的一组工人,而不是顺序执行的 一系列强制命令。因此, VPL 很适合于各种并行或分布式处理情况下的编程。VPL面向的是对变量和逻辑等概念有基本理解的初级编程人员。但是,VPL 并不

12、是仅供初学者使用。此编程语言的组合特性对于追求快速原型设计和代码开 发的高级编程人员也极具吸引力。另外,尽管它的工具箱是专为开发机器人应用 程序而设计的,但其基础结构并不仅限于机器人编程,还可以用于其他用途。因 此,VPL受到包括学生、热衷者和业余爱好者在内的众多用户的广泛欢迎,有些 web 开发人员以及专业程序员也为之所深深吸引。在 MicrosoftRoboticsStudio 中,即使不懂编程的爱好者都可以用可视 化编程语言(VPL)像堆积木一样,选择一些服务(比如Lego NXT已经被很好支持), 把这些服务按顺序连接,给出输入参数,定义一些计算方法,然后运行,就可以 控制一台 Leg

13、o NXT 这样简单的机器人了。如图2所示,服务列表中列出了很多基本的的服务,如Lego电机、XBOX 手控器等,只需把它们拖动到框图板上,设置所需的参数,然后将服务之间顺序 连接起来,一个机器人控制程序就完成了。当然,你也可以自定义服务,如果使 用到基本过程,那么也同样简单。如果你使用过 Matlab 的 Simulink 或是 NI 公 司的LabView,那么这些对你来说更是易如反掌了。图2:弔PL开发界面2.3 机器人仿真(Robo tic Simula tion)Microsoft Robo tics St udio目标是使广大的爱好者能够加快机器人技术 的开发和使用。他所提供的一个

14、重要组成部分就是运行时仿真技术。 PC 和游戏 技术的成熟运用,使机器人仿真技术变得可行,并为大量使用铺平了道路。设计 模拟运行时的目的是将其用于各种对保真度、可视化、比例要求很高的高级方案 中。同时,不懂编程或编程经验极浅的初学者也可使用模拟功能,在类似游戏的 环境中开发有趣的应用程序。集成的Ageia技术和PhysX引擎能够使我们使用充 分利用强大的物理仿真技术,这些无疑对机器人技术的发展和成熟有着不可估量 的价值。物理渲染的引擎基于可管理的DirectX技术。机器人设计最困难的问题之一在于如何让机器人与周围环境交互。现在你 可以在仿真环境中建立不同的地形,添加不同的物体,然后让你的机器人

15、在其中 运行。每种物体背后实际上是一个独立的物理模型。比如你可以添加 3 张桌子, 但第一张桌子的物理模型就是桌子形状,第二张桌子的物理模型是个圆球,第三 张桌子的物理模型是个立方体,那么一旦他们受到外力,三张桌子会以不同的方 式运动,或翻倒,或滚动,或位移。你可以操纵机器人,或者看机器人自动运行, 碰撞到或者通过传感器检测到周围物体后如何动作,从而设计机器人的运动方 式。这比摸黑写好程序,输入机器人,发现问题再回去摸黑改,改好了再输入机 器人试运行的方式方便多了。Robo tics St udio仿真运行时包含了仿真引擎服务、受控物理引擎封装器、 原生的物理引擎库,以及与物理引擎和在仿真世界

16、中表示硬件与物理对象的渲染 引擎接口的部件。仿真引擎服务负责渲染实体、加快物理引擎仿真时间。它跟踪 整个仿真的状态,为仿真提供一个服务/分布前端。受控物理引擎封装器将用户从低级物理引擎 API 中抽象出来,为物理仿真提供一个受控接口。如图 3 所示,仿真环境提供多层次的视角、真实的物理特性和逼真动画效 果。并且初始环境下就提供了如图 4 所示的控制窗口,只要加入控制协议就可以 通过普通手柄或者键盘控制机器人的运动,就和操作真的机器人一样。(PS:我 最喜欢驾驶 Pioneer 来与 Lego 小机器人玩碰碰车)同时,仿真环境的一切都可 以自己设定,天空、地面、障碍物,材质、重心、质量等,完全像真的一样表现 出不同的物理特性。视角也同样可以切换,如图 5 所示,可以从机器人的第一视 角感受极品飞车的感觉。图 3 MSRS 仿真环境控制窗口左上方选择控制设备,一般情况下可以使用键盘和手柄。下方为 电机

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 其它学术论文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号