ROS数据可视化工具Rviz和三维物理引擎机器人仿真工具V-rep Morse Gazebo Webots USARSimRos等概述

Rviz

Rviz是ROS数据可视化工具,可以将类似字符串文本等枯燥的数据以二维或三维等非常形象的可视化方式进行显示,如下:

 

除此之外,也是重要的人机交互界面,如下以一个六足机器人为例:

单足(初始--调整):

         

数值结果如下:

---
header:
  seq: 9034
  stamp:
    secs: 1487127789
    nsecs: 815515041
  frame_id: ''
name: ['coxa_joint_r1', 'femur_joint_r1', 'tibia_joint_r1']
position: [-0.973265404079084, 0.7737742705767539, 0.37542032210281007]
velocity: []
effort: []

六足(调整):

数值结果如下:

---
header:
  seq: 2740
  stamp:
    secs: 1487128030
    nsecs: 840929985
  frame_id: ''
name: ['coxa_joint_r1', 'femur_joint_r1', 'tibia_joint_r1', 'coxa_joint_r2', 'femur_joint_r2', 'tibia_joint_r2', 'coxa_joint_r3', 'femur_joint_r3', 'tibia_joint_r3', 'coxa_joint_l1', 'femur_joint_l1', 'tibia_joint_l1', 'coxa_joint_l2', 'femur_joint_l2', 'tibia_joint_l2', 'coxa_joint_l3', 'femur_joint_l3', 'tibia_joint_l3']
position: [-0.1977, 0.5781000000000001, -0.5928, -0.0009000000000001229, 0.0, 0.3878999999999999, 0.35850000000000026, -0.21209999999999996, 0.0, 1.017, 0.5486999999999997, 0.46109999999999984, 0.35850000000000026, 0.0, 0.0, 0.0, 0.0, 0.0]
velocity: []
effort: []
---

其他功能如下:

   

可见,rviz功能还是非常丰富的,如果想进一步深入学习rviz,下面提供了一下参考网址:

1 ros wiki: http://wiki.ros.org/rviz

2 ros-visualization/rviz: https://github.com/ros-visualization/rviz

3 gareth-cross/rviz_satellite: https://github.com/gareth-cross/rviz_satellite

4 davetcoleman/rviz_visual_tools: https://github.com/davetcoleman/rviz_visual_tools

5 uArm-Developer/UArmForROS: https://github.com/uArm-Developer/UArmForROS

6 ros-planning/moveit_visual_tools: https://github.com/ros-planning/moveit_visual_tools

7 ros-visualization/oculus_rviz_plugins: https://github.com/ros-visualization/oculus_rviz_plugins

8 ros-visualization/visualization_tutorials: https://github.com/ros-visualization/visualization_tutorials

9 davetcoleman/ompl_visual_tools: https://github.com/davetcoleman/ompl_visual_tools

资料太多,这里是给出一些典型的~

V-rep

这款机器人仿真软件网上介绍比较多,用过一段时间觉得比Gazebo消耗资源小很多,支持多种物理引擎,效果如下:

在Linux下使用非常简单,也有与ROS,Matlab等接口,解压后,直接运行即可:

relaybot@relaybot-desktop:~/Rob_Soft/V-REP_PRO_EDU_V3_3_2_64_Linux$ ./vrep.sh
Using the default Lua library.
Loaded the video compression library.
Add-on script 'vrepAddOnScript-addOnScriptDemo.lua' was loaded.
Simulator launched.
Plugin 'MeshCalc': loading...
Plugin 'MeshCalc': load succeeded.
Plugin 'BubbleRob': loading...
Plugin 'BubbleRob': load succeeded.
Plugin 'Collada': loading...
Plugin 'Collada': load succeeded.
Plugin 'ConvexDecompose': loading...
Plugin 'ConvexDecompose': load succeeded.
Plugin 'CustomUI': loading...
Plugin 'CustomUI': load succeeded.
Plugin 'DynamicsBullet-2-78': loading...
Plugin 'DynamicsBullet-2-78': load succeeded.
Plugin 'DynamicsBullet-2-83': loading...
Plugin 'DynamicsBullet-2-83': load succeeded.
Plugin 'DynamicsNewton': loading...
Plugin 'DynamicsNewton': load succeeded.
Plugin 'DynamicsOde': loading...
Plugin 'DynamicsOde': load succeeded.
Plugin 'DynamicsVortex': loading...
Plugin 'DynamicsVortex': load succeeded.
Plugin 'ExternalRenderer': loading...
Plugin 'ExternalRenderer': load succeeded.
Plugin 'K3': loading...
Plugin 'K3': load succeeded.
Plugin 'LuaRemoteApiClient': loading...
Plugin 'LuaRemoteApiClient': load succeeded.
Plugin 'Mtb': loading...
Plugin 'Mtb': load succeeded.
Plugin 'OMPL': loading...
Plugin 'OMPL': load succeeded.
Plugin 'OpenMesh': loading...
Plugin 'OpenMesh': load succeeded.
Plugin 'PovRay': loading...
Plugin 'PovRay': load succeeded.
Plugin 'Qhull': loading...
Plugin 'Qhull': load succeeded.
Plugin 'RRS1': loading...
Plugin 'RRS1': load succeeded.
Plugin 'ReflexxesTypeII': loading...
Plugin 'ReflexxesTypeII': load succeeded.
Plugin 'RemoteApi': loading...
Starting a remote API server on port 19997
Plugin 'RemoteApi': load succeeded.
Plugin 'SDF': loading...
Plugin 'SDF': load succeeded.
Plugin 'SimpleFilter': loading...
Plugin 'SimpleFilter': load succeeded.
Plugin 'SurfaceReconstruction': loading...
Plugin 'SurfaceReconstruction': load succeeded.
Plugin 'Urdf': loading...
Plugin 'Urdf': load succeeded.
Plugin 'Vision': loading...
Plugin 'Vision': load succeeded.
Using the 'MeshCalc' plugin.
Checking for an updated V-REP version...
qt.network.ssl: QSslSocket: cannot resolve SSLv2_client_method
qt.network.ssl: QSslSocket: cannot resolve SSLv2_server_method
This V-REP version is up-to-date.
Initializing the Bullet physics engine in plugin 'DynamicsBullet_2_78'...
Engine version: 2.78
Plugin version: 8
Initialization successful.
Initializing the Bullet physics engine in plugin 'DynamicsBullet_2_78'...
Engine version: 2.78
Plugin version: 8
Initialization successful.
Simulator ended.

主要参考资料如下:

1 官网: http://www.coppeliarobotics.com/

2 ROS wiki: http://wiki.ros.org/vrep_ros_bridge

3 文档: http://www.coppeliarobotics.com/helpFiles/index.html

4 lagadic/vrep_ros_bridge: https://github.com/lagadic/vrep_ros_bridge

Morse

使用blender游戏引擎,仿真效果还是不错的,支持ROS,如下:

ROS:

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

参考资料:

1 官网: http://www.openrobots.org/morse/doc/stable/morse.html

2 morse-simulator/morse: https://github.com/morse-simulator/morse

Gazebo

ROS标配,博客有介绍,这里不再多说。

推荐一些网址:

1 官网: http://gazebosim.org/

2 RotorS is a UAV gazebo simulator: https://github.com/ethz-asl/rotors_simulator

Webots

付费机器人仿真软件,支持ROS。

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

Mrpt

具体参考官网: http://www.mrpt.org/

1 mrpt_localization: http://wiki.ros.org/mrpt_localization

2 mrpt_navigation:  http://wiki.ros.org/mrpt_navigation

usarsimros

参考: https://sourceforge.net/projects/usarsimros/

Matlab

推荐安装Matlab 2016b。

学习Linux,推荐一个Linux爱好者,每天学习一个linux命令

ROS小课堂机器人学家

ROS数据可视化工具Rviz和三维物理引擎机器人仿真工具V-rep Morse Gazebo Webots USARSimRos等概述的更多相关文章

  1. Linux 上的数据可视化工具

    Linux 上的数据可视化工具 5 种开放源码图形化工具简介 Linux® 上用来实现数据的图形可视化的应用程序有很多,从简单的 2-D 绘图到 3-D 制图,再到科学图形编程和图形模拟.幸运的是,这 ...

  2. ROS_Kinetic_07 ROS中机器人三维物理引擎高保真仿真利器gazebo 7.0

    ROS_Kinetic_07 ROS中机器人三维物理引擎高保真仿真利器gazebo 7.0 ROS kinetic中的gazebo版本是7.0,有很多新的特性. 首先,启动gazebo: ~$ gaz ...

  3. CentOS6安装各种大数据软件 第九章:Hue大数据可视化工具安装和配置

    相关文章链接 CentOS6安装各种大数据软件 第一章:各个软件版本介绍 CentOS6安装各种大数据软件 第二章:Linux各个软件启动命令 CentOS6安装各种大数据软件 第三章:Linux基础 ...

  4. 教你如何选择BI数据可视化工具

    本文来自网易云社区. 关于如何选择BI数据可视化工具,总体而言,主流BI产品在选择的时候要除了需要考虑从数据到展现.从公司内到公司外等各种场景,结合前面朋友的回答,还需要考虑以下几点:1:以后的数据处 ...

  5. BI数据可视化工具怎么选?用这款就够了!

    任何一项产品的选择都需要谨慎而全面,BI数据可视化工具的选择就更不用说了.作为企业的IT部门,如果没有良好的BI工具支持,IT部门将会十分容易陷入困境.那么面对多元化的BI工具市场,IT部门该如何选择 ...

  6. 目前数据可视化工具排名如何?好用的BI可视化软件

    数据可视化用专业术语来就是通过视觉的方式向人类展示数据,这种在文本基础上的图表即简单又实用,而且相关性.趋势分析都非常明确,也非常可靠,通过图表一目了然.用通俗的话说就是画一张图表,将数据以比例的方式 ...

  7. ROS可视化工具RViz的简单使用教程

    1.安装rviz sudo apt-get install ros-melodic-rviz  环境检测.安装 rosdep install rviz rosmake rviz startup(开两个 ...

  8. 机器人操作系统(ROS)教程22:ROS的3D可视化工具—rviz

    rviz是ROS中的一个3D可视化工具,有了它就可以把你用代码建的机器人模型转化为可视的3D模型. 首先需要安装: rosdep install rviz 然后编译rviz: rosmake rviz ...

  9. 【WaaCaa】一款开源科学作图/数据可视化工具 —— 诞生篇

    作为一个理工男.用过了形形色色能够用于科学作图/数据可视化软件:从大学时做实验课推荐用于分析简单採集数据的 Origin; 毕业论文时用来呈现实验时序信号和离线分析脑电信号的 MATLAB.后面还发现 ...

随机推荐

  1. [POI2008] BLO

    link 试题分析 分两种情况考虑. 当此点不是割点是,答案是$2\times (n-1)$. 当是割点时,我们发现这个点把树分成了若干个联通块,只要两两相乘即可. #include<iostr ...

  2. 使用 laravel 的 queue 必须知道的一些事

    1. 在修改 queue 相关代码后,必须要使用 php artisan queue:restart 来重启队列服务,否则所做的修改可能不会生效(没法重现了,按理说应该和使用 queue:listen ...

  3. web页面的绝对路径

    在JavaWeb开发中,常使用绝对路径的方式来引入JavaScript和CSS文件,这样可以避免因为目录变动导致引入文件找不到的情况,常用的做法如下:一.使用${pageContext.request ...

  4. P1392 取数

    P1392 取数 题目描述 在一个n行m列的数阵中,你须在每一行取一个数(共n个数),并将它们相加得到一个和.对于给定的数阵,请你输出和前k小的取数方法. 说明 对于20%的数据,n≤8 对于100% ...

  5. Java基础-面向接口(interface)编程

    Java基础-面向接口(interface)编程 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.接口的概念 接口是功能的集合,同样可看做是一种数据类型,是比抽象类更为抽象的“类 ...

  6. List(JDK1.7)(3)

    Vector 实现了一个存储对象的增长数组.如同一个数组,它可以使用一个整型下标来访问元素.但是,vector的大小是可以根据需要增长或收缩的. 每个vector通过维护capacity和capaci ...

  7. Configure文件学习

    Linux安装软件有一种方式就是通过源码安装,源码通常是一个压缩包,打开压缩包,经常会看到一个叫configure的文件,而不见makefile文件.通常我们在自己的电脑写应用的时候都是通过makef ...

  8. 20155213 2016-2017-2 《Java程序设计》第七周学习总结

    20155213 2016-2017-2 <Java程序设计>第七周学习总结 教材学习内容总结 Lambda 如果使用JDK8的话,可以使用Lambda特性去除重复的信息. 在只有Lamb ...

  9. Java容器Set接口

    Set接口的实现,可以方便地将指定的类型以集合类型保存在一个变量中.Set是一个不包含重复元素的Collection,更确切地讲,Set 不包含满足 e1.equals(e2) 的元素对,并且最多包含 ...

  10. 训练赛第二场C题 zoj 2339 Hyperhuffman

    题目链接:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2339 解题报告:题目太长了,比赛的时候根本看不懂,完了之后问了什 ...