机器人开发仿真软件

1. webbots vs Micorosoft robotic developer studio

2. motion strategy library

关于第一个:

nchygy 于 2008-5-24 16:52:36 在大作中提到一直在用webots,,当初选择仿真软件时就有了Microsoft Robotic studio 为选哪个曾颇费了番思量. webots:           3D世界模型的构架,应用它自带的Scene tree可以比较灵活的添加各种形状的物体/、传感器、机器人、光源、电机。但是需要好好学习一下它的vrml97语言才能够清晰的理解其构架(也许是因为我没有什么3D建模基础所以刚开始非常费劲).不过好在学习这个语言并不困难,而且的确不需要太深究             控制器与机器人模型分离,这比较符合实际情况。控制器编程语言可以基于C++,JAVA,matlab,python等等,比Micorsoft 的Robotic studio只支持C#要好的多。可以用Visual Studio开发是我最选择它的主要原因。另外它带有非常多的现成模块,满足移动机器人的各种研究。比如视觉、超声、激光雷达、电池、无线网络设备,等等,与现实情况的相似度很高。webots的物理效果也很不错,个人感觉仿真度非常高。不过他内部也存在若干不足,比如他的某些传感器的精度低(哪怕在不设噪声的情况下),你可以自己试试用它的编码器读数推测一小段位置,将这个位置与 webots给出的位置去比较这种理想情况下都存在误差,与公司联系过答案是无法避免(不过这倒是与实际实验情况相吻合)。            买webots的话获得一年的售后期,可以直接与对方请教联系,个人感觉对于学习或使用webots非常有必要,主要原因在于他的帮助文档并不算好(我给他个差评),相比微软就差了些。就联系的情况看,感觉对方还是非常敬业的,有问题基本上3天内回话,而且都会有答案。             缺点也很明显:太贵(首要),用Visual Studio只能用console application 或者 win32 application的程序,理论上能够使用MFC,最近本人心血来潮研究了一下,很容易就实现了在MFC框架下的控制器。从6.0版本开始,webots与Visual Studio的结合得到很大改进,主要体现在程序的中断调试上,我使用visual studio 2005,通过将程序附加到进程实现了非常好的中断与调试能力。当然这应该算是VS的进步而非webots。webots虽然支持的语言多,不过他给的例子绝大多数都是基于C 的,因此用C++ API,MATLAB等其他语言的例子严重不足,导致容易出现问题,如果按国内的国情没有人指点的话能把人急死。而且建复杂模型会非常麻烦,需要一个节点一个节点的加,可以说痛苦。用第三方软件建,然后导入也可行,不过一旦用到碰撞体节点就麻烦些,还是的重新建的(当然这么复杂带来的优势就是灵活性非常高有利有弊吧)。小公司处于弱式,micro soft介入机器人领域后的时代它如何生存下去值得观察。 Microsoft Robotic studio:(研究不多希望后续达人们跟上)            支持C#,VB.net,还有python什么的(不支持C++是我个人否决它的原因,最近从他提供的视频中,项目负责老大提及了c++,可以部分支持c++了??)与Visual Studio融合的很好,需要学习的知识很多(从他手册的页数可见一般,不过也充分证明了老外们做事的严谨)事实上,MRS与webots定位完全不同,webots是一款机器人仿真软件,而MRS是一款包含:机器人软件开发,调试,以及仿真的软件。从他的文档中的例程看仿真的物理效果非常漂亮,远比webots来的漂亮,提供了pioneer的机器人仿真现成模型,但是个人觉得仅就仿真功能而言,并不如webots 实用。我仅就仿真能力好好看了下,感觉不如webots 方便。我没有成功运行过它含机器人的仿真,估计如果需要在仿真中运行自己的机器人程序的话需要按他的模式对自己的程序进行较大改写。(希望不会太片面。) 选择:        如果希望快速上手,请选webots(没有深入学过Robotic studio因此是否妥当请指正)       如果想用c++请选webots       如果希望在Linux下使用,请选webots       如果想一劳永逸请选Microsoft Robotic studio(前途光明,Microsoft的金子招牌就是市场主流的保证,虽然现在还不是)       如果你只是想要个仿真软件,那么选webots,反之若需要的是一整套开发平台,那么MRS是个好选择       如果使用Visual Studio,并且无法忍受webots对控制器的限制请选Microsoft Robotic studio(现在新的webots与visual sdutio融合的比较好了,个人感觉这一条仁者见仁了)       如果你没(或不想花)钱请选Microsoft Robotic studio。(Microsoft Robotic studio现在还是免费的,将来么....)  

2 关于第2个MSL(师兄推荐的开源机器人库,基于unix)

感觉比较专业,但是渲染效果没有msrs好看

 

3.为了研究机器人的点到点的移动,在老师的督促下开始学习

(1)基于microsoft的机器人仿真开发软件visual robotic studio,它是基于。net框架的,编程开发语言据估计是C#,可惜我以前接触过C#,但是到现在基本上忘了,不得不重新开始学习啊。

(2)机器人移动的场景建模

(3)机器人定位的方法分析

(4)机器人的路劲规划研究

(5)论文的书写


--------------------------------------------------------------

机器人的“操作系统”――Microsoft Robotic Studio

来源: 微软俱乐部的日志

 机器人的“操作系统”:

    Microsoft Robotic Studio
                ――让你的机器人像个人电脑一样
 
     众所周知,微软公司(Microsoft Corp.)的Windows系列操作系统已经在个人电脑领域占据了主导地位。无论您的机器是何种品牌、何种型号、何种配置,Windows操作系统都能够轻松应对并为您提供想要的服务。同时,友好的用户界面也赢得了广大用户的青睐,使Windows成为个人电脑领域最受欢迎的操作系统。如今,这一传统正在进入欣欣发展的机器人行业,而且不仅仅局限于家用机器人领域,在工业机器人领域也已经崭露头角。这就是微软机器人工作室推出的机器人操作系统――Microsoft Robotic Studio。
     在目前机器人行业的生产和开发过程中,还没有统一的平台和标准,不同公司按照不同的标准和技术路线生产和开发机器人设备。对于机器人的初学者而言进入的门槛过高,每一个开发人员都要从底层硬件入手再到上层的控制软件,大量的人力物力消耗在了重复的设计中,为了改变这一局面,为机器人开发人员能减少一些麻烦的工作和创建不同类型硬件的标准,简化对机器人的编程,把更多的精力投入机器人智能领域的研究,2006年6月微软公司推出了“Microsoft Robotic Studio”机器人开发软件,迈出了向机器人行业进军的第一步。
     微软公司于2008年5月19日在匹兹堡举办的 RoboBusiness Conference and Exposition(机器人商业大会暨展览会)上首次发布了其机器人技术编程平台的最新版本 Microsoft Robotics Developer Studio 2008 的社区技术预览版 (CTP)。Microsoft Robotics Developer Studio 2008 包含对齐运行时间性能、分布式计算功能以及工具的改进。这个被称为“Microsoft Robotics Studio”(微软机器人技术工作室)的新平台主要用于机器人技术的开发,适合学术、理论和商业研究等领域。


1 Microsoft Robotic Studio的特点 
      Microsoft Robotic Studio(MSRS)是一个用于机器人项目的软件开发包(SDK),它主要包括可视化编程语言,机器人服务和机器人仿真三个主要部分,运行时环境可以工作在目前的机器人技术中使用的各种8、16和32位处理器上。该软件重点是让用户编写简单的模块化命令程序,并如同服务那样动作。这种程序一般不在目标机器人的有限处理器和存储器上运行,而是通过机器人定义的许多通信协议中的一种与机器人进行交互。
      基于MRS开发机器人控制软件是使用“服务”概念的程序,就是将机器人的每一个子功能和任务设计成一个个独立的“服务”,该服务可以通过PC与机器人实体有线或者无线的连结来得到机器人实体上传感器的数据,并进行处理,可以向机器人实体发送控制命令,控制机器人的运动。这样的控制软件结构对应了机器人控制中基于行为的控制方法,其中的“服务”就是“行为”的软件实现。在开发机器人软件时还可以使用Microsoft提供的可视化编程语言,这是一种基于数据流的编程模型,使得编程的过程更加直接易懂,方便没有编程基础的用户学习使用。
      MRS还提供机器人环境仿真,该仿真使用Ageia技术公司提供的PhysX物理引擎,能够使我们充分利用强大的物理仿真技术,实现机器人的高保真度、高可视化的环境仿真。图1是采用Microsoft Robotic Studio技术设计的机器人。
  
                         图1采用Microsoft Robotic Studio技术设计的机器人


2 Microsoft Robotic Studio的功能 
2.1 机器人服务(Robotic Server) 
     Microsoft Robotics Studio是基于Windows平台,使学生、爱好者和商业开发者们都能够很容易的创建跨硬件平台的机器人技术应用。Microsoft Robotics Studio仿真运行时技术提供的运行环境能够满足了大部分机器人应用的需求:
1. 当程序运行时,它必须能够监控状态和与单个组件进行互动。
2. 当程序运行时,它必须能够发现、创建、停止和重起组件。
3. 它必须能够处理从多个传感器来的并发输入,并将这些输入变成互不干扰的任务列表。
4. 它必须能够处理自治系统,也能够在本地或者通过网络控制机器人应用。
5. 运行时必须是轻量级的并能够运行在不同的环境中。
6. 应用环境必须具有可扩展性和灵活性,来适应多种不同的软硬件环境。
     为了满足这些需求, Microsoft Robotics Studio 运行时提供一个面向服务的架构,它结合了传统基于WEB架构的主要理念和WEB服务来提供高灵活性和轻量级,分布式的应用模型。Web架构主要着眼于轻便性,互操作性和松耦合性。运行在Http协议之上,基于Web的应用已经证明是可伸缩的,具备互操作性,并且能够灵活的适应多种不同的应用场景。
     根据微软《Robotics Studio用户指南》,运行时环境包括了CCR(并发与协调运行时)与DSS(分散软件服务)部件,而这些部件必须满足下列需求集:必须能监控状态;当应用运行时能与部件交互;能发现、创建、终止和重新启动部件;能并发地处理多个传感器的输入,并将这些输入组织为任务,而不会有这些任务之间无意干扰的风险;能通过网络同时处理本地与远程的自动与受控机器人应用;运行时重量必须足够轻,从而能在广泛的环境中执行;应用环境必须为可扩展,并有足够的灵活性,以适应各种硬件与软件环境的交互。
     CCR通过一个面向信息的变成模型支持异步与并发操作,该模型可以自动揭示出并行硬件与协议信息,而无需使用手工线程、锁定或信标。这种方案使设计者能够建立起更松散耦合的软件模块或部件。独立的CCR .NET DLL可以从任何面向.NET 2.0 CLR(公共语言运行时)的语言中访问。微软在CCR上建立了DSS运行时,且DSS并不依赖于微软Robotics Studio中的任何其它部件。它为管理服务提供了一个主控环境,以及一组架构服务,可以用于服务创建、发现、记录、调试、监控与安全。DSS支持一种轻量级的面向服务应用模型,它结合了传统REST基于Web的架构,以及部分Web服务架构。DSS定义了一个应用模型,它建立在REST模型上,通过它们的状态和对该状态的一组统一操作而展示服务,但通过增加结构化数据操作、事件通知以及服务组织扩展了HTTP(超文本传输协议)应用模型。
     DSS的主要目标时提供服务之间的互操作性,不管这些服务是否运行在相同结点或网络上。DSS用HTTP和DSSP(分散软件服务协议)作为服务间交互的基础。基于DSSP的轻量级SOAP(简单对象存取协议)支持结构化状态与事件模型的操作,这改变了结构化状态的驱动。
2.2 可视化编程语言(Visual Programming Language)
     微软VPL(虚拟编程语言)图形编辑开发环境采用一种数据流编程模型,而不是控制流模型。一个VPL数据流包括一个连接的动作序列,数据流将其表示为带输入和输出的块,可以将它们连接到其它动作块上。动作可以表示为预构的服务、数据流控件、函数或其它代码模块;动作也可以包含其它动作的组合。VPL面向初级程序员,但该编程语言也吸引高级程序员用作快速原型开发或代码开发。
     Microsoft 可视化编程语言 (VPL) 是一种应用程序开发环境,它基于图形化的数据流式编程模型基础上设计,而不是传统编程中常用的控制流。数据流程序更像生产线上接到材料后完成其所负责任务的一组工人,而不是顺序执行的一系列强制命令。因此,VPL 很适合于各种并行或分布式处理情况下的编程。 
     VPL 面向的是对变量和逻辑等概念有基本理解的初级编程人员。但是,VPL 并不是仅供初学者使用。此编程语言的组合特性对于追求快速原型设计和代码开发的高级编程人员也极具吸引力。另外,尽管它的工具箱是专为开发机器人应用程序而设计的,但其基础结构并不仅限于机器人编程,还可以用于其他用途。因此,VPL 受到包括学生、热衷者和业余爱好者在内的众多用户的广泛欢迎,有些 web 开发人员以及专业程序员也为之所深深吸引。
     在Microsoft Robotics Studio中,即使不懂编程的


http://blog.renren.com/share/264154919/954768081


你可能感兴趣的:(智能机器)