Robotic simulator software comparison (Gazebo,V-rep,etc)

这篇博客介绍了机器人模拟软件的综合对比,包括通用信息、技术细节和基础设施支持。讨论了模拟软件如何帮助降低机器人生产的成本、诊断代码问题、在实施前测试机器人组件,以及其在复杂项目中的分阶段模拟优势。同时,也指出了模拟的局限性,如只能模拟预编程的因素,无法涵盖所有现实世界的场景。
摘要由CSDN通过智能技术生成


General information

SoftwareDevelopersDevelopment statusLicense3D rendering enginePhysics engine3D modellerPlatforms supported
ActinEnergid TechnologiesActive ProprietaryOpenGL Proprietary ProprietaryWindows, macOS, Linux, VxWorks, and RTOS-32. (RTX and QNX Planned)
ARSRALActive BSDVTKODENoneLinux, macOS, Windows
GazeboOpen Source Robotics Foundation(OSRF)[1]Active Apache 2.0OGREODE/Bullet/Simbody/DARTInternalLinux, macOS, Windows
MORSEAcademic community[2]Active BSDBlender game engineBulletBlenderLinux, BSD*, macOS
OpenHRPAISTActiveEclipseJava3DODE/InternalInternal[3]Linux, Windows
RoboDKRoboDKActive ProprietaryOpenGLnoneInternalLinux, macOS, Windows, Android
SimSparkO. Obst et al. (+26)ActiveGNU GPL (v2)InternalODENoneLinux, macOS, Windows
V-RepCoppelia RoboticsActive Proprietary/GNU GPLInternalODE/Bullet/VortexInternalLinux, macOS, Windows
WebotsCyberboticsActive ProprietaryOGREcustom version of ODEInternalLinux, macOS, Windows
4DV-Sim4D VirtualizActive ProprietaryOGREPhysXInternalLinux
OpenRAVEOpenRAVE CommunityActiveGNU LGPLCoin3D/OpenSceneGraphODE/BulletInternalLinux, macOS, Windows
SoftwareDevelopersDevelopment statusLicense3D rendering enginePhysics engine3D modellerPlatforms supported

Technical information

SoftwareMain programming languageFormats supportExtensibilityExternal APIsRobotics middleware supportPrimary user interfaceHeadless simulation
ActinC++SLDPRT,SLDASM, STEP, OBJ, STL, 3DS, Collada, VRML, URDF, XML, ECD, ECP, ECW, ECX, ECZ,Plugins (C++), API UnknownNoneGUI Yes (ActinRT)
ARSPython UnknownPython UnknownNone Unknown Unknown
GazeboC++SDF[4]/URDF[5]Plugins (C++)C++ROS, Player, Sockets (protobuf messages)GUI Yes
MORSEPython UnknownPythonPython[6]Sockets, YARP, ROS, Pocolibs, MOOSCommand-line Yes[7]
OpenHRPC++VRMLPlugins (C++), APIC/C++, Python, JavaOpenRTM-aistGUI Unknown
RoboDKPythonSTEP, IGES, STL, WRMLPlugins (C++), APIC/C++, Python, MatlabSocketGUI Unknown
SimSparkC++, RubyRuby Scene GraphsMods (C++)Network (sexpr)Sockets (sexpr)GUI, Sockets Unknown
V-RepLUAOBJ,STL, DXF, 3DS, Collada,[8] URDF[5][9]API, Add-ons, PluginsC/C++, Python, Java, Urbi, Matlab/OctaveSockets, ROSGUI Yes[10]
WebotsC++WBT, VRML'97Plugins (C++), APIC/C++, Python, Java, MatlabROS, URBI, NaoQIGUI Yes[11]
4DV-SimC++3DS,OBJ, MeshPlugins (C++), APIFMI/FMU, MatlabROS, Sockets, Plug & Play interfaces[12]GUI Yes
OpenRAVEC++, PythonXML,VRML,OBJ, ColladaPlugins (C++), APIC/C++, Python, MatlabSockets, ROS, YARPGUI, Sockets Yes
SoftwareMain programming languageFormats supportExtensibilityExternal APIsRobotic middleware supportPrimary user interfaceHeadless simulation

Infrastructure

Support
SoftwareMailing ListAPI DocumentationPublic Forum/Help SystemUser ManualIssue TrackerWiki
Actin No Yes No Yes[13] Yes (Internal) No
ARS Unknown Unknown Unknown Unknown Unknown Unknown
Gazebo Yes[14] Yes[15] Yes[16] Yes[17] Yes[18] Yes[19]
MORSE Yes[20] N/A No Yes[21] Yes[22] No
OpenHRP Yes[23] Yes[24] No Yes[25] Yes[26] No
RoboDK Yes[27] Yes[28] No Yes[29] No No
SimSpark Yes[30] Yes[31] No Yes[32] Yes[33] Yes[34]
V-Rep No Yes[35] Yes[36] Yes[37] Unknown No
Webots No Yes[38] Yes[39] Yes[40] Yes[41] Yes[42][better source needed]
4DV-Sim Yes[43] No Yes[44] Yes Yes[45] No
OpenRAVE Yes[46] Yes[47] Yes[48] Yes[49] Yes[50] Yes[51]
SoftwareMailing ListAPI DocumentationPublic Forum/Help SystemUser ManualIssue TrackerWiki
Code Quality
SoftwareStatic Code CheckerStyle CheckerTest System(s)Test Function coverageTest Branch coverageLines of CodeLines of CommentsContinuous Integration
Actin Unknown Unknown Unknown Unknown Unknown Unknown UnknownJenkins
ARS Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Gazebocppcheckcpplintgtest and qtest46.1%34.3%190.7k60.45kJenkins
MORSE N/ApylintPython unittests Unknown Unknown31.4k[52]9.0kJenkins, Travis
OpenHRP Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
RoboDK Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
SimSpark Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
V-Rep Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Webots Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
4DV-Sim Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown
OpenRAVE Unknown UnknownPython nose Unknown Unknown Unknown UnknownJenkins [53]
SoftwareStatic Code CheckerStyle CheckerTest System(s)Test Function coverageTest Branch coverageLines of CodeLines of CommentsContinuous Integration

Features

SoftwareCAD to MotionDynamic Collision AvoidanceRelative End EffectorsOff-Line ProgrammingReal-Time Streaming Control
Actin Yes (Tool Paths) Yes Yes Yes Yes
ARS Unknown No Unknown No No
Gazebo Unknown No Unknown No No
MORSE Unknown No Unknown No No
OpenHRP Unknown No Unknown No No
RoboDK Unknown No Unknown Yes No
SimSpark Unknown No Unknown No No
V-Rep Unknown No Unknown No No
Webots Unknown No Unknown No No
4DV-Sim Unknown No Unknown No No
OpenRAVE Unknown No Unknown No No
SoftwareCAD to MotionDynamic Collision AvoidanceRelative End EffectorsOff-line ProgrammingReal-time Streaming Control
Families of robots
SoftwareUGV (ground mobile robot)UAV (aerial robots)AUV (underwater robots)Robotic armsRobotic hands (grasping simulation)Humanoid robotsHuman avatars
Actin Yes (Can Include Manipulators) Yes (Can Include Manipulators) Yes (Can Include Manipulators) Yes Yes Yes Yes
ARS Unknown Unknown Unknown Unknown Unknown Unknown Unknown
Gazebo Yes Yes Yes[54] Yes Yes Yes Yes
MORSE Yes Yes Partial[55] Some[56] No No Yes
OpenHRP Yes No No Yes Yes Yes Yes
RoboDK No No No Yes[57] No No No
SimSpark Yes No No Maybe Maybe Yes No
V-Rep Yes Yes No Yes Yes Yes Yes
Webots Yes Yes Yes[58] Yes Yes Yes[59] Yes
4DV-Sim Yes Yes No Yes Maybe No Yes
OpenRAVE Yes Unknown Unknown Yes Yes Yes Yes
SoftwareUGV (ground mobile robot)UAV (aerial robots)AUV (underwater robots)Robotic armsRobotic hands (grasping simulation)Humanoid robotsHuman avatars
Supported actuators
SoftwareGeneric kinematic chainsForce-controlled motionFull listCircular kinematic chainsKinematically redundant chainsBifurcated kinematic chains
Actin Yes YesMotion Constraints Yes Yes Yes
ARS Unknown Unknown  Unknown Unknown Unknown
Gazebo Yes Yes  Unknown Unknown Unknown
MORSE Yes[60] YesMORSE actuators Unknown Unknown Unknown
OpenHRP Yes Yes  Unknown Unknown Unknown
RoboDK Unknown Unknown  Unknown Unknown Unknown
SimSpark Yes NoSimSpark effectors Unknown Unknown Unknown
V-Rep Yes Yes  Unknown Unknown Unknown
Webots Yes Yes  Unknown Unknown Unknown
4DV-Sim Yes Yes  Unknown Unknown Unknown
OpenRAVE Yes YesJoints,Extra Actuators Yes[61] Yes Yes[62]
SoftwareGeneric kinematic chainsForce-controlled motionFull listCircular kinematic chainsKinematically redundant chainsBifurcated kinematic chains
Supported sensors
SoftwareOdometryIMUCollisionGPSMonocular camerasStereo camerasDepth camerasOmnidirectional cameras2D laser scanners3D laser scannersFull list
Actin Yes Yes Yes Unknown Yes Yes Yes Yes Yes Yes 
ARS Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown 
Gazebo Yes Yes Yes Yes Yes Yes Yes Unknown Yes Yes 
MORSE Yes Yes Yes Yes Yes Unknown Yes Unknown Yes Yes[63]MORSE sensors
OpenHRP Unknown Yes[64] Yes Unknown Yes Unknown Yes Unknown Yes Yes[65]OpenHRP sensors
RoboDK Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown Unknown 
SimSpark Yes Yes Yes[66] Partial[67] Yes Partial Unknown Unknown No NoSimSpark perceptors
V-Rep Unknown Yes Yes Yes Yes Unknown Yes Unknown Yes Yes 
Webots Yes Yes Yes Yes Yes Yes Yes Unknown Yes Yes 
4DV-Sim Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes 
OpenRAVE Yes Yes Yes Yes Yes Yes Yes Unknown Yes Yes 
SoftwareOdometryIMUCollisionGPSMonocular camerasStereo camerasDepth camerasOmnidirectional cameras2D laser scanners3D laser scannersFull list

Benefits of simulation

  • Reduce costs involved in robot production;
  • Diagnose source code that controls a particular resource or a mix of resources;
  • Simulate various alternatives without involving physical costs;
  • Robot or components can be tested before implementation;
  • Simulation can be done in stages, beneficial for complex projects;
  • Demonstration of a system to determine if is viable or not;
  • Compatibility with a wide range of programming languages;
  • Shorter delivery times.

Disadvantages of simulation

  • An application can simulate just what it is programmed to simulate – it will not simulate internal or external factors which are overlooked in the development phase;
  • A robot can encounter many more scenarios in the real world than there can be simulated.

Abstract
— The number of tools for dynamics simulation has
grown substantially in the last few years. Humanoid robots,
in particular, make extensive use of such tools for a variety
of applications, from simulating contacts to planning complex
motions. It is necessary for the humanoid robotics community
to have a systematic evaluation to assist in choosing which
of the available tools is best for their research. This paper
surveys the state of the art in dynamics simulation and
reports on the analysis of an online survey about the use
of dynamics simulation in the robotics research community.
The major requirements for robotics researchers are better
physics engines and open-source software. Despite the numerous
tools, there is not a general-purpose simulator which dominates
the others in terms of performance or application. However,
for humanoid robotics, Gazebo emerges as the best choice
among the open-source projects, while V-Rep is the prefered
commercial simulator. The survey report has been instrumental
for choosing Gazebo as the base for the new simulator for the iCub humanoid robot

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值