七种仿真平台

1 主要介绍以下七种仿真平台(侧重移动机器人仿真而非机械臂等工业机器人仿真):

1.1 USARSim-Unified System for Automation and Robot Simulation

USARSim是一个基于虚拟竞技场引擎设计高保真多机器人环境仿真平台。主要针对地面机器人,可以被用于研究和教学,除此之外,USARSim是RoboCup救援虚拟机器人竞赛和虚拟制造自动化竞赛的基础平台。使用开放动力学引擎ODE(Open Dynamics Engine),支持三维的渲染和物理模拟,较高可配置性和可扩展性,与Player兼容,采用分层控制系统,开放接口结构模拟功能和工具框架模块。机器人控制可以通过虚拟脚本编程或网络连接使用UDP协议实现。被广泛应用于机器人仿真、训练军队新兵、消防及搜寻和营救任务的研究。机器人和环境可以通过第三方软件进行生成。软件遵循免费GPL条款,多平台支持可以安装并运行在Linux、Windows和MacOS操作系统上。

"http://sourceforge.NET/projects/usarsim/"

1.2 Simbad

Simbad是基于Java3D的用于科研和教育目的多机器人仿真平台。主要专注于研究人员和编程人员热衷的多机器人系统中人工智能机器学习和更多通用的人工智能算法一些简单的基本问题。它拥有可编程机器人控制器,可定制环境和自定义配置传感器模块等功能,采用3D虚拟传感技术,支持单或多机器人仿真,提供神经网络和进化算法等工具箱。软件开发容易,开源,基于GNU协议,不支持物理计算,可以运行在任何支持包含Java3D库的Java客户端系统上。

"http://simbad.sourceforge.net/"

1.3 Webots

Webots是一个具备建模、编程和仿真移动机器人开发平台,主要用于地面机器人仿真。用户可以在一个共享的环境中设计多种复杂的异构机器人,可以自定义环境大小,环境中所有物体的属性包括形状、颜色、文字、质量、功能等也都可由用户来进行自由配置,它使用ODE检测物体碰撞和模拟刚性结构的动力学特性,可以精确的模拟物体速度、惯性和摩擦力等物理属性。每个机器人可以装配大量可供选择的仿真传感器和驱动器,机器人的控制器可以通过内部集成化开发环境或者第三方开发环境进行编程,控制器程序可以用C,C++等编写,机器人每个行为都可以在真实世界中测试。支持大量机器人模型如khepera、pioneer2、aibo等,也可以导入自己定义的机器人。全球有超过750个高校和研究中心使用该仿真软件,但需要付费,支持各主流操作系统包括Linux, Windows和MacOS。

"http://www.cyberbotics.com/"

1.4 MRDS-Microsoft Robotics Developer Studio

MRDS是微软开发的一款基于Windows环境、网络化、基于服务框架结构的机器人控制仿真平台,使用PhysX物理引擎,是目前保真度最高的仿真引擎之一,主要针对学术、爱好者和商业开发,支持大量的机器人软硬件。MRDS是基于实时并发协调同步CCR(Concurrency and Coordination Runtime)和分布式软件服务DSS(Decentralized Software Services),进行异步并行任务管理并允许多种服务协调管理获得复杂的行为,提供可视化编程语言(VPL)和可视化仿真环境(VSE)[28,29]。支持主流的商业机器人,主要编程语言为C#,非商业应用免费,但只支持在Windows操作系统下进行开发。

"http://msdn.microsoft.com/zh-tw/library/bb648760.aspx"

"http://msdn.microsoft.com/library/bb648760"

"http://www.microsoft.com/en-us/download/details.aspx?id=29081"

1.5 PSG-Player/Stage/Gazebo

PSG是由美国南加州大学 (USC)开发的一套针对机器人和传感器系统研究的免费平台,包含网络服务部分Player和机器人平台仿真部分Stage与Gazebo。Player定义了机器人和传感器与Stage和Gazebo通信接口,Stage是2D环境,提供基本碰撞检测和距离传感器模型但不支持物理仿真,Gazebo是3D环境使用ODE物理引擎。PSG提供声纳、激光扫描测距仪、碰撞检测和执行器等虚拟机器人设备,支持进行多机器人仿真。它是目前在研究和教学方面最流行的开源机器人仿真软件,开发的程序通过简单的修改甚至无需修改即可应用于实体机器人的控制,因此可以大大降低研究成本、缩减研究周期。大量的主要智能机器人期刊和会议发表的文章都使用PSG作为真实和模拟的仿真实验平台。免费软件,基于GNU协议,这款软件是在Unix系统上开发,只支持Linux和Mac OS。

"http://playerstage.sourceforge.net/"

"http://www.gazebosim.org/"

1.6 MissionLab

MissionLab是佐治亚理工学院 (Gatech)开发的一组功能强大的平台用于开发和测试单个或一组机器人行为。通过Missionlab生成的代码可以直接控制主流商用机器人,包括ARTV-Jr、iRobot、AmigoBot、Pioneer AT和MRV-2等。Missionlab最主要的优点在于它支持仿真和真实机器人同时实验。MissionLab是分布式体系结构,主要有六个核心组件:mlab、CfgEdit、cdl、cnl、HServer和CBRServer。使用CMDL和ODL作为开发配置语言。它起初是为DARPA开发用于研究在敌对环境多智能体机器人系统灵活反应控制,现已开源,仅支持Linux操作系统。

"http://www.cc.gatech.edu/aimosaic/robot-lab/research/MissionLab/"

1.7 MORSE-Modular OpenRobots Simulation Engine

MORSE是一款通用的多机器人仿真平台,主要特点是能控制实际仿真的自由度,可以自由设计符合自己需求的组件模型,运用Blender实时游戏引擎进行原始渲染,设计适合的体系结构,支持通用的网络接口。它提供了大量可配置的传感器和执行器模块,高度的可扩展性,提供人与机器人的交互仿真,使用Python编程,有丰富的文档并且易于安装但无法进行精确的动力学仿真,时钟同步能力性能较差,多机器人仿真时可能出现不同步情况。目前有5所学校和科研机构使用,开源软件,仅限于Linux和MacOSX操作系统。

"https://www.openrobots.org/wiki/morse/"

1.8 其他常用机器人仿真软件

ROS----"http://www.ros.org/"

V-Rep----"http://www.v-rep.eu/"

MRPT----"http://www.mrpt.org/"

空中机器人仿真模拟软件

Orbiter----"http://orbit.medphys.ucl.ac.uk/"

Flighntgear----"http://www.flightgear.org.cn/forum.PHP"

原文地址:https://www.cnblogs.com/dayspring/p/9707528.html

时间: 2024-07-29 18:22:01

七种仿真平台的相关文章

面试官的七种武器:Java篇

起源 自己经历过的面试也不少了,互联网的.外企的,都有.总结一下这些面试的经验,发现面试官问的问题其实不外乎几个大类,玩不出太多新鲜玩意的.细细想来,面试官拥有以下七种武器.恰似古龙先生笔下的武侠世界中的七种武器.下面我为各位一一道来. (欢迎转载.转载请注明出处:http://www.cnblogs.com/hzg1981/) 长生剑=语言基础 长生剑是七种武器之首,同理,编程语言的考察也是技术面试中最基本的.这条不满足的就直接Pass了.以Java为例,语言的考察大致可以分为三个层次: 初级

传感器仿真平台——数据生成模块(三)

数据生成模块有下面这样一种情况: 对于不同的传感器仿真实验,所使用的数据类型,数据数量不一样. 如实验一是进行最大覆盖率实验,则他需要的数据格式可能是如下所示: 1 Class Sensor 2 { 3 public int x; 4 public int y; 5 public double direction; //方向 6 public double sweep;//扇形大小 7 } 实验二进行的是信号强度实验,则他可能还需要一个用来作为覆盖物的目标,如下: 1 Class Target

这七种数据分析领域中最为人称道的降维方法

这七种数据分析领域中最为人称道的降维方法 感谢王穆荣的投稿,转自数盟社区 近来由于数据记录和属性规模的急剧增长,大数据处理平台和并行数据分析算法也随之出现.于此同时,这也推动了数据降维处理的应用.实际上,数据量有时过犹不及.有时在数据分析应用中大量的数据反而会产生更坏的性能. 最新的一个例子是采用 2009 KDD Challenge 大数据集来预测客户流失量. 该数据集维度达到 15000 维. 大多数数据挖掘算法都直接对数据逐列处理,在数据数目一大时,导致算法越来越慢.该项目的最重要的就是在

shell实例浅谈之三产生随机数七种方法

一.问题 Shell下有时需要使用随机数,在此总结产生随机数的方法.计算机产生的的只是"伪随机数",不会产生绝对的随机数(是一种理想随机数).伪随机数在大量重现时也并不一定保持唯一,但一个好的伪随机产生算法将可以产生一个非常长的不重复的序列. 二.随机数 1.生成随机数的七种方法 (1)通过内部系统变量($RANDOM) echo $RANDOM 生成0-32767之间的整数随机数,若超过5位可以加个固定10位整数,然后进行求余. 生成400000~500000的随机数: #!/bin

如何用 Hadoop/Spark 构建七牛数据平台

数据平台在大部分公司都属于支撑性平台,做的不好立刻会被吐槽,这点和运维部门很像.所以在技术选型上优先考虑现成的工具,快速出成果,没必要去担心有技术负担.早期,我们走过弯路,认为没多少工作量,收集存储和计算都自己研发,发现是吃力不讨好.去年上半年开始,我们全面拥抱开源工具,搭建自己的数据平台. 1.数据平台设计理念 公司的主要数据来源是散落在各个业务服务器上的半结构化日志,比如系统日志.程序日志.访问日志.审计日志等.日志是最原始的数据记录,如果不是日志,肯定会有信息上的丢失.说个简单的例子,需求

【微信分享】王团结:如何用Hadoop/Spark构建七牛数据平台

摘要:7月30日,七牛数据平台工程师王团结就七牛内部使用的数据平台,深入分享了该团队在Flume.Kafka.Spark以及Streaming上的实践经验,并讲解了各个工具使用的注意点. 继" YARN or Mesos?Spark痛点探讨"." Mesos资源调度与管理的深入分享与交流".及" 主流SQL on Hadoop框架选择"之后,CSDN Spark微信用户群邀请了王团结为大家分享Hadoop/Spark在七牛数据平台的实战. 王团结

asp网络编程:ASP中实现分页显示的七种武器

在微软的ASP编程体系中,ADO对象的建立,使得从网页访问数据库成为一件易事,特别是ADO的Recordset对象使得控制数据的输出显示更为方便.自由.而在Visual InterDev6.0(以下简称VI6.0)中,由于Script Object Model(以下简称SOM).Design-Time Control(以下简称DTC)以及Data Environment Object Model(以下简称DEOM)等对象模型的引入,使网页对数据库的访问设计显得更为方便. 因为主题方面的原因,关于

传感器仿真平台——多线程与单步(六)

这个模块并没有被包括到整个平台框架中去,而是以工具的形式被放在一边.不过该模块的加入可以极大的提高仿真实验的直观性.(权当是熟悉多线程了,哈哈!) 仿真平台想要实现多线程运行和单步,并且希望结构尽量简单.这里需要说明,单步不仅仅是使用Thread.Stop()将线程中断,而是在某一次步骤执行完时非暴力的让其停止下来. 如上图所示,MutiThreadHelper需要加载数据,包括环境配置数据(Config).实验数据(Hashtable)等,接下来就会有三个函数: ——start用于开始开始线程

传感器仿真平台——UI绘制模块(二)

这一章讲的是UI绘制模块 该模块的作用是将实验对象绘制出来,它可能是目标.传感器等等,由于事先并不知道会有哪些物体,也无法事先定义好某个对象该怎么画,以我懒人的性格,得了,就抛给用的人吧~喝前摇一摇,大家自己画自己. 具体设计如下图: 这个模块主要包括两个部分. 第一个是一个接口,IDrawSelf定义了一个方法,叫做DrawSelf(画自己?),任何使用UI绘制模块的类都需要对该接口进行实现,某个类自己画出自己. DrawBoard是一个自定义控件类,它通过ReDraw方法接收一系列的(知道怎