机器人系统常用仿真软件介绍和效果

2018 ROS Melodic的迷失与救赎::https://blog.csdn.net/column/details/28058.html

2018 GitChat::沉迷机器人操作系统的一个理由和四种修仙秘籍

ROS机器人操作系统在线练习课程正在逐步完善中,目前以ROS官网中文资料制作,

补充参考链接:

1. Robotics simulator::机器人仿真器

https://en.wikipedia.org/wiki/Robotics_simulator

2. Most Advanced Robotics Simulation Software Overview::最先进的机器人仿真软件概述

https://www.smashingrobotics.com/most-advanced-and-used-robotics-simulation-software/

3. Robotics Simulation Softwares With 3D Modeling and Programming Support::支持三维建模和编程的机器人仿真软件

https://www.intorobotics.com/robotics-simulation-softwares-with-3d-modeling-and-programming-support/

通过网页快速了解Linux(Ubuntu)和ROS机器人操作系统,请参考实验楼在线系统如下:

初级教程可参考:https://www.shiyanlou.com/courses/854 邀请码:U23ERF8H

中级教程可参考:https://www.shiyanlou.com/courses/938 邀请码:U9SVZMKH

欢迎补充到留言我会及时更新。ROS机器人操作系统定制版纯净镜像:http://blog.csdn.net/zhangrelay/article/details/54632130

网盘分享全部资料:http://pan.baidu.com/share/home?uk=3171396548

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"

2 评价指标

为了从机器人研究者的角度去客观地评价这些仿真软件,需要制定统一的标准。本文的基于Alexander、Craighead、Michael等学者前期工作,确定了评估机器人仿真平台的通常标准:逼真度、可扩展性、开发简易性和成本,这四个标准可以用来判断任何一款虚拟机器人仿真软件,但对于多机器人系统而言,由于其分布式等特点,对网络化的要求也越来越高,因此网络功能也是一个不可缺少的重要指标。仿真软件按照这些标准被分为高中低三个层次。

2.1  逼真度

2.1.1 物理逼真度

物理逼真度是指物理环境的相貌、声音和感受逼近真实操作环境的程度。当一个仿真软件不能模拟操作环境的感受,它可以模拟环境视觉和听觉部分。Alexander证明研究效果可以被更高逼真度的仿真软件加强。以机器人操作为例,操作者一般是远离操作环境的,一个高逼真度的视觉和听觉仿真软件与操作真实机器人相比相差不大。通过每个仿真软件的视觉渲染和音频性能确定它们物理逼真度的等级。一个高物理逼真度的仿真软件可以渲染高分辨率纹理、材质、灯光、反射和凹凸贴图等。模型使用大量多边形,而不是使用纹理贴图作为几何建模主要部分。机器人的运动特性必须被正确显示。一个高物理逼真度的仿真软件还包括机器人和环境感觉的高度融合。一个中物理逼真度的仿真软件能够通过3D渲染环境,对于物体细节则没有要求。一个低物理逼真度的仿真软件只能通过2D渲染环境并没有声音。

2.1.2 功能逼真度

功能逼真度是指仿真中机器人行为逼近真实机器人执行任务操作环境和装备反应的程度。功能逼真度的首要目的就是指仿真软件使用者期望得到与真实装备相比相似的行为。通过比较物理特性仿真性能确定功能逼真度等级。高功能逼真度定位为仿真大部分作用在机器人和驱动器的力学特性包括重力、牵引力、电机或与其他物体机器人等碰撞产生的加速度都能精确显示,并能详细测量和记录状态信息用于分析。中功能逼真度包括机器人整体的动力学仿真,但无法对单个关节进行仿真。低功能逼真度是指软件不能仿真在机器人上的力学行为只能仿真速度和位置等运动学特性。

2.2 可扩展性

可扩展性是指仿真软件适应多种应用的能力。主要表现为仿真实验算法开发实现不能受限于仿真软件功能。包括是否可以较容易地增加和减少机器人,定制传感器和驱动器模块种类的多少,能否提供模块化的标准接口支持第三方软件开发,仿真程序应用与真实机器人的可移植性的好坏。

2.3 开发简易性

开发简易性是指使用仿真软件开发适用机器人的难易程度。包括环境与机器人配置的复杂程度,软件配置新装备的复杂程度,支持编程语言的种类,软件的开发文档的丰富性,通信接口配置的通用性。

2.4 成本

成本包括费用花费和时间花费。主要为初次安装和开发过程中必须消耗的时间、软件的价格等。如果软件是开源免费的并且安装使用简易则为低成本,软件免费但是安装使用复杂或软件付费但是安装使用简单定为中,软件购买昂贵并且安装使用需要一定经验定位为高。

2.5 网络功能

网络功能是分布式多机器人系统的一个重要组成部分,包括是否支持远程操作真实机器人,是否有完备的仿真机器人的网络接口和大型复杂场景的多终端联合调试仿真等。

3 仿真效果

可以参考视频录像

"http://i.youku.com/zhangrelay"

附:ROS入门资料书籍如下:

    

http://blog.csdn.net/ZhangRelay/article/category/6506865

ubiquity-frontend-debconf,ubiquity-frontend-gtk,ubiquity-ubuntu-artwork,ubiquity

机器人系统常用仿真软件工具介绍、效果与评价指标(2018年更新)相关推荐

  1. 机器人开发--常用仿真软件工具

    机器人开发--常用仿真软件工具 1 介绍 2 各软件介绍 [3D机器人]RobotStudio [3D机器人]Webots [3D机器人]Gazebo [3D机器人]RoboDK(树状图) [3D机器 ...

  2. 机器人系统常用仿真软件介绍和效果

    机器人系统常用仿真软件介绍和效果 1 主要介绍以下七种仿真平台(侧重移动机器人仿真而非机械臂等工业机器人仿真): 1.1  USARSim-Unified System for Automation ...

  3. 机器人系统常用仿真软件介绍效果与评价指标

    本文转载自博主zhangrelay:http://blog.csdn.net/ZhangRelay/article/details/42586491 转载过来,方便自己查看,感谢原博主. 机器人系统常 ...

  4. 自行走机器人系统常用的技术栈

    前言 由于就职于一家AI机器人及工业检测相关的公司,就对当前相关联的技术栈有一个大致的了解.本人是Java后端服务开发岗,之前互联网公司经历,但对机器人这块比较好奇,所有只做了相关的了解. 基础技术栈 ...

  5. 基于51单片机的搬运机器人系统protues仿真

    硬件设计 (末尾附文件) 代码设计 #include<reg52.h> #include"config.h" #include"key.h" #in ...

  6. 常用IT系统架构及DevOps介绍

    导读 随着业务需求的变化,IT系统架构也随之升级.新的架构对比之前的架构具有何种优势,又存在哪些问题需要解决?在架构演进的过程中,引入云.DevOps等方法,而这些方法又是如何解决架构中存在的问题,助 ...

  7. 机器人穿法_(图解)机器人系统组成介绍

    一.机器人介绍 1.机器人主体结构 机器人主体结构主要由机器人本体.机器人控制柜.机器人控制面板组成. 2.机器人控制面板 机器人控制面板,主要担负这人机对话的作用,我们对机器人的调试.操作.编程.校 ...

  8. 同步电机调速matlab,基于matlab的永磁同步电机调速系统的仿真word格式

    基于matlab的永磁同步电机调速系统的仿真word格式 摘 要本文首先介绍了永磁同步电机的国内外发展状况,然后介绍了永磁同步电机的结构及原理,接着建立了永磁同步电机的数学模型,并在此基础上用MATL ...

  9. 如何利用AI(ChatGPT、NewBing、PHIND、YouChat)实现多智能体系统一致性仿真的代码编写

    多智能体系统(Multi-Agent System,MAS)已成为人工智能.机器人.自动化等领域的研究热点之一.在MAS中,实现智能体之间的一致性是一个重要问题.为了研究这个问题,如今爆火的AI软件被 ...

  10. 虚拟仿真测试介绍(9):硬件在环(HIL)测试简介

    如果方便,请帮忙分享.喜欢和收藏 ,谢谢! "关于硬件在环HIL测试的简单介绍,供大家批评." 01 是什么 硬件在环hardware-in-the-loop,简称HIL,大家可能 ...

最新文章

  1. 花几万元报IT培训班,只为进入互联网大厂:有人年薪百万,有人黯然退场
  2. react-native 相关问题
  3. 4G EPS 中的消息类型
  4. openresty开发系列12--lua介绍及常用数据类型简介
  5. from .filename import class
  6. 编译原理之词法分析、语法分析、语义分析,【精炼总结】
  7. 计算机知识竞赛决赛流程,计算机知识竞赛决赛圆满结束!还不快戳?!
  8. php基础_变量和比较符
  9. 9-算法 希尔排序 shell_sort
  10. 树的平衡之AVL树——错过文末你会后悔,信我
  11. coursera 计算概论与程序设计基础(李戈)-第一题
  12. Vquery PHP 简单爬虫类
  13. 使用验证控件出现错误:要“jquery”ScriptResourceMapping。请添加一个名为 jquery (区分大小写)的 ScriptResourceMapping。”的解决办法。...
  14. JAVA之进制转换(全)
  15. git commit --amend如何合并多个commitId
  16. 商品详情页html手机,商品详情页.html
  17. 伟大的UHD编解码器的辩论:谷歌VP9与HEVC / H.265
  18. 前端基于excljs导出xlsx时图片资源的处理及踩坑实录
  19. python eel 无边框_荐帮你解剖Python的一个轻量级桌面GUI开发第三方库:Eel,让它体无完肤...
  20. outbox计算机术语,《计算机英语常用词汇》4066(0)

热门文章

  1. 小米手机的专用计算机连接软件,小米手机怎么连接电脑?这些方法值得收藏!...
  2. 关于springboot自动注入出现Consider defining a bean of type 'xxx' in your configuration问题解决方案...
  3. 基于python的异方差检验_【Python】统计科学之讲讲异方差的检验
  4. a与雪碧图在导航处的使用
  5. 共享远程计算机文件夹,怎么远程访问共享文件夹
  6. Oracle基本知识点总结
  7. 已知闭合曲线上各点的坐标,如何求曲线上的凹点
  8. 转置矩阵(Transpose of a matrix)
  9. C语言实现顺序栈以及栈的特点
  10. vs配置python环境_VS2017中安装Python开发环境[TZZ]