机器人模拟器

机器人模拟器(Robotics simulator)用于为物理机器人创建应用程序,而不依赖于实际机器,从而节省了成本和时间。在某些情况下,这些应用程序可以无需修改即可转移到物理机器人(或重建)上。

机器人模拟器这个术语可以指几种不同的机器人模拟应用。例如,在移动机器人应用中,基于行为的机器人模拟器允许用户创建刚性物体和光源的简单世界,并对机器人进行编程以与这些世界进行交互。与更二元或计算的模拟器相比,基于行为的模拟允许更具生物性的动作。此外,基于行为的模拟器可以从错误中“学习”并且能够证明韧性的拟人化质量。

机器人模拟器最受欢迎的应用之一是用于机器人及其环境的3D建模和渲染。这种类型的机器人软件具有模拟器,该模拟器是虚拟机器人,其能够模拟真实机器人在真实工作范围内的运动。一些机器人模拟器使用物理引擎来生成更逼真的机器人运动。无论实际的机器人是否可用,强烈建议使用机器人模拟器开发机器人控制程序。模拟器允许在实际机器人上测试程序的最终版本,方便地编写和调试机器人程序。这主要适用于工业机器人应用,

由于机器人的运动取决于现实世界中的瞬时传感器读数,因此基于传感器的机器人动作更难以模拟和/或离线编程。

功能
现代模拟器倾向于提供以下功能:

快速机器人原型设计
使用自己的模拟器作为创建工具(虚拟机器人实验平台,Webots,R-Station,Marilou,4DV-Sim)。
使用外部工具。
用于逼真运动的物理引擎。大多数模拟器使用ODE(Gazebo,LpzRobots,Marilou,Webots)或PhysX(Microsoft Robotics Studio,4DV-Sim)。
现实3d渲染。标准的3D建模工具或第三方工具可用于构建环境。
带脚本的动态机器人体。C,C ++,Perl,Python,Java,URBI,Webots使用的MATLAB语言,Gazebo使用的Python。

模拟器
当今可用于编程的最新技术包括使用虚拟模拟的技术。使用工作环境的虚拟模型和机器人本身的模拟可以为公司和程序员提供优势。通过使用模拟,可以降低成本,并且可以离线编程机器人,从而消除装配线的任何停机时间。在原型制作之前的几个月,机器人动作和装配部件可以在三维虚拟环境中可视化。编写模拟代码也比为物理机器人编写代码更容易。虽然向编程机器人进行虚拟模拟的转变是用户界面设计的一个进步,但许多此类应用程序仅处于初期阶段。

一般信息

软件 开发商 发展现状 执照 3D渲染引擎 物理引擎 3D建模师 平台支持
肌动蛋白 Energid Technologies 活性 所有权 OpenGL的 所有权 所有权 Windows,macOS,Linux,RTLinux,VxWorks,RTOS-32和RTX。(QNX计划)
ARS RAL 待用 BSD VTK 没有 Linux,macOS,Windows
AUTOMAPPPS Convergent Information Technologies GmbH 活性 所有权 OpenGL的 未知 内部 Linux,Windows
凉亭 开源机器人基金会(OSRF) 活性 Apache 2.0 OGRE ODE /子弹/ Simbody / DART 内部 Linux的
莫尔斯 学术界 活性 BSD 搅拌机游戏引擎 子弹 搅拌机 Linux,BSD *,macOS
OpenHRP AIST 活性 日食 Java3D的 ODE /内部 内部 Linux,Windows
RoboDK RoboDK 活性 所有权 OpenGL的 没有 内部 Linux,macOS,Windows,Android
SimSpark O. Obst等人。(26) 活性 GNU GPL(v2) 内部 没有 Linux,macOS,Windows
V-代表 Coppelia Robotics 活性 专有/ GNU GPL 内部 ODE /子弹/涡/牛顿 内部 Linux,macOS,Windows
Webots Cyber​​botics Ltd. 活性 所有权 所有权 所有权(基于ODE) 所有权 Linux,macOS,Windows
4DV-SIM卡 4D Virtualiz 活性 所有权 OGRE PhysX物理 内部 Linux的
OpenRAVE OpenRAVE社区 活性 GNU LGPL Coin3D / OpenSceneGraph的 ODE /子弹 内部 Linux,macOS,Windows
软件 开发商 发展现状 执照 3D渲染引擎 物理引擎 3D建模师 平台支持

技术信息

Related Post
软件 主要编程语言 格式支持 可扩展性 外部API 机器人中间件支持 主要用户界面 无头模拟
肌动蛋白 C ++ SLDPRT,SLDASM,STEP,OBJ,STL,3DS,Collada,VRML,URDF,XML,ECD,ECP,ECW,ECX,ECZ, 插件(C ++),API 未知 ROS GUI 是(ActinRT)
ARS 蟒蛇 未知 蟒蛇 未知 没有 未知 未知
AUTOMAPPPS C ++,Python STEP,IGES,STL 插件(C),API XML,C 插座 GUI
凉亭 C ++ SDF / URDF,OBJ,STL,Collada 插件(C ++) C ++ ROS,播放器,套接字(protobuf消息) GUI
莫尔斯 蟒蛇 未知 蟒蛇 蟒蛇 套接字,YARP,ROS,Pocolibs,MOOS 命令行
OpenHRP C ++ VRML 插件(C ++),API C / C ++,Python,Java OpenRTM-AIST GUI 未知
RoboDK 蟒蛇 STEP,IGES,STL,WRML 插件(C ++),API C / C ++,Python,Matlab 插座 GUI 未知
SimSpark C ++,Ruby Ruby场景图 Mods(C ++) 网络(sexpr) 套接字(sexpr) GUI,套接字 未知
V-代表 LUA OBJ,STL,DXF,3DS,Collada,URDF API,附加组件,插件 C / C ++,Python,Java,Urbi,Matlab / Octave 插座,ROS GUI
Webots C ++ WBT,VRML,X3D API,PROTO,插件(C / C ++) C,C ++,Python,Java,Matlab,ROS 插座,ROS,NaoQI GUI
4DV-SIM卡 C ++ 3DS,OBJ,Mesh 插件(C ++),API FMI / FMU,Matlab ROS,套接字,即插即用接口 GUI
OpenRAVE C ++,Python XML,VRML,OBJ,Collada 插件(C ++),API C / C ++,Python,Matlab 插座,ROS,YARP GUI,套接字
软件 主要编程语言 格式支持 可扩展性 外部API 机器人中间件支持 主要用户界面 无头模拟

基础设施支持

软件 邮件列表 API文档 公共论坛/帮助系统 用户手册 问题跟踪器 维基
肌动蛋白 没有 没有 是(内部) 没有
ARS 未知 未知 未知 未知 未知 未知
AUTOMAPPPS 没有 没有
凉亭
莫尔斯 没有 没有
OpenHRP 没有 没有
RoboDK 没有 没有 没有
SimSpark 没有
V-代表 没有 未知 没有
Webots 没有
4DV-SIM卡 没有 没有
OpenRAVE
软件 邮件列表 API文档 公共论坛/帮助系统 用户手册 问题跟踪器 维基

代码质量

软件 静态代码检查器 风格检查器 测试系统 测试功能覆盖 测试科覆盖范围 代码行 意见线 持续集成
肌动蛋白 未知 未知 未知 未知 未知 未知 未知 詹金斯
ARS 未知 未知 未知 未知 未知 未知 未知 未知
AUTOMAPPPS 未知 未知 未知 未知 未知 未知 未知 未知
凉亭 cppcheck cpplint gtest和qtest 46.1% 34.3% 190.7k 60.45k 詹金斯
莫尔斯 N / A pylint的 Python单元测试 未知 未知 31.4k 9.0k 詹金斯,特拉维斯
OpenHRP 未知 未知 未知 未知 未知 未知 未知 未知
RoboDK 未知 未知 未知 未知 未知 未知 未知 未知
SimSpark 未知 未知 未知 未知 未知 未知 未知 未知
V-代表 未知 未知 未知 未知 未知 未知 未知 未知
Webots 未知 未知 未知 未知 未知 未知 未知 未知
4DV-SIM卡 未知 未知 未知 未知 未知 未知 未知 未知
OpenRAVE 未知 未知 Python鼻子 未知 未知 未知 未知 詹金斯
软件 静态代码检查器 风格检查器 测试系统 测试功能覆盖 测试科覆盖范围 代码行 意见线 持续集成

特征

软件 CAD到Motion 动态碰撞避免 相对末端效应器 离线编程 硬件的实时流控制
肌动蛋白 是(工具路径)
ARS 未知 没有 未知 没有 没有
凉亭 未知
莫尔斯 未知 没有 未知 没有 没有
OpenHRP 未知 没有 未知 没有 没有
RoboDK 未知 没有 未知 没有
SimSpark 未知 没有 未知 没有 没有
V-代表 未知 没有 未知 没有 没有
Webots 未知
4DV-SIM卡 未知 没有 未知 没有 没有
OpenRAVE 未知 没有 未知 没有 没有
软件 CAD到Motion 动态碰撞避免 相对末端效应器 离线编程 实时流控制

机器人家庭

软件 UGV(地面移动机器人) 无人机(空中机器人) AUV(水下机器人) 机械臂 机器人手(抓模拟) 人形机器人 人类头像 完整清单
肌动蛋白 是(可以包括操纵器) 是(可以包括操纵器) 是(可以包括操纵器)
ARS 未知 未知 未知 未知 未知 未知 未知
凉亭
莫尔斯 局部 一些 没有 没有
OpenHRP 没有 没有
RoboDK 没有 没有 没有 没有 没有 没有
SimSpark 没有 没有 也许 也许 没有
V-代表 没有
Webots Webots机器人模型
4DV-SIM卡 没有 也许 没有
OpenRAVE 未知 未知
软件 UGV(地面移动机器人) 无人机(空中机器人) AUV(水下机器人) 机械臂 机器人手(抓模拟) 人形机器人 人类头像 完整清单

支持的执行器

软件 通用运动链 力控运动 完整清单 圆形运动链 运动学冗余链 分叉运动链
肌动蛋白 运动约束
ARS 未知 未知 未知 未知 未知
凉亭
莫尔斯 MORSE执行器 未知 未知 未知
OpenHRP 未知 未知 未知
RoboDK 未知 未知 未知 未知 未知
SimSpark 没有 SimSpark效应器 未知 未知 未知
V-代表 未知 未知 未知
Webots Webots执行器
4DV-SIM卡 未知 未知 未知
OpenRAVE 关节,额外执行器
软件 通用运动链 力控运动 完整清单 圆形运动链 运动学冗余链 分叉运动链

支持传感器

软件 里程计 IMU 碰撞 全球定位系统 单目相机 立体相机 深度相机 全向摄像头 2D激光扫描仪 3D激光扫描仪 完整清单
肌动蛋白 未知
ARS 未知 未知 未知 未知 未知 未知 未知 未知 未知 未知
AUTOMAPPPS 未知 未知 未知 未知 未知
凉亭
莫尔斯 未知 未知 MORSE传感器
OpenHRP 未知 未知 未知 未知 OpenHRP传感器
RoboDK 未知 未知 未知 未知 未知 未知 未知 未知 未知 未知
SimSpark 局部 局部 未知 未知 没有 没有 SimSpark感知器
V-代表 未知 未知
Webots Webots传感器
4DV-SIM卡
OpenRAVE 未知
软件 里程计 IMU 碰撞 全球定位系统 单目相机 立体相机 深度相机 全向摄像头 2D激光扫描仪 3D激光扫描仪 完整清单

其他模拟器

开源模拟器
breve:Python中的3D世界多代理模拟器。
EZPhysics:结合Ogre3D和ODE物理,GUI可以通过Matlab / Simulink公开所有ODE的对象数据,网络闭环遥控器。
Khepera Simulator是一个用于Khepera机器人的开源Windows模拟器,它早于Webots。
Klamp’t:2013年推出的模拟器,专门用于稳定的trimesh-trimesh接触。支持腿部运动和操纵。
LpzRobots:莱比锡大学开发的3D物理机器人模拟器。
miniBloq:这款Arduino主板的机器人编程软件有一个新的模拟器。
Moby:用C ++编写的刚体动力学库。
OpenSim仿真器,用于铰接式和轮式机器人,具有广泛的特性。2006年停止了进一步的开发。
用于MATLAB的Robotics Toolbox是自由软件,提供表示姿势(均匀变换,欧拉和RPY角度,四元数),臂机器人(正向/反向运动学,动力学,模拟,动画)和移动机器人的功能。 (控制,本地化,规划和动画)。
ARTE A Robotics Toolbox for Education(ARTE)是一款基于Matlab的自由软件教育工具。它提供了表示位置和方向的功能。同样,包括模拟机器人手臂的功能(直接/反向运动学,动力学,路径规划等)。该工具箱包括一组可在机器人单元内查看和模拟的3D机器人模型。
Simbad 3D Robot Simulator基于Java的模拟器
SimRobot:在不来梅大学和德国人工智能研究中心开发的机器人模拟器软件包。
阶段:2.5D模拟器经常与Player一起使用以形成播放器/舞台系统。玩家项目的一部分
STDR模拟器一种简单,灵活,可扩展的2D多机器人模拟器,可在机器人操作系统中使用。
UCHILSIM:2004年RoboCup上推出的基于物理的AIBO机器人模拟器
.UWSim:用于海洋机器人研究和开发的UnderWater SIMulator,它结合了传感器,动态和物理模拟。

闭源和专有模拟器
anyKode Marilou
ORCA-Sim:使用Newton Game Dynamics物理引擎的(Windows)3D机器人模拟器。

Share