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。
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/"
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"