ROSROS2可视化仿真软件
0. 简介
在面对ROS这个软件时,我们会尝试着设计更多的可视化软件用于仿真,以展示我们算法程序的效果。作者就在这里向大家展示6种二次开发和可视化平台。下面我们以ROS2为主来一一说明。
1. RVIZ2
rviz2作为我们最常用的可视化软件,其也支持插件的开发使用,具体使用方法也和ROS1类似,这里之前写过一篇ros1 如何开发rviz plugin插件的文章,这里就不展开叙述了。下图为小米cyberdog铁蛋的rviz2的示意图,其使用和ROS1没有差别。
2. RQT
RQT作为和RVIZ2一样经常使用的软件,其也具有插件开发的能力。作为一个RQT的plugin插件,其结构大致如下
其中CMakeLists,packag.xml与其他ros包无明显差异
plugin.xml表示了此插件在rqt中的显示方式,也就是说可以在plugin菜单找到它
resource文件中MyPlugin.ui是用QT designer设计的UI界面
script文件中的rqt_mypkg是一个Python脚本,负责启动这个插件
按照官网的顺序:
修改package.xml,填入export语句让我们的plugin能够被系统找到进行调用。
创建plugin.xml ,描述plugin,最重要的是,在rqt_gui界面中的分组与顺序。
setup.py 通过ROS的catkin, 利用CMake 来将脚本文件放在一个不在PATH中但是又跟package关联的文件夹下让系统找得到。
修改CMakeLists.txt
创建src/rqt_mypkg,添加__init__.py和my_module.py
界面元素及布局 MyPlugin.ui
经过这六步,我们就可以用Plugins->Logging->My plugin label菜单在rqt的框架内添加新一个my_plugin实例,并得到一个自定义的RQT插件了
3. gazebo
与rviz2和rqt一样,gazebo也是ROS1中经常使用的其在功能上也没有什么差别,这里可以参照创客制造的一篇小文章来入门。如果使用过ROS1的同学,可以无缝衔接到ROS2中
4. V-rep/CoppeliaSim
第三种是V-rep/CoppeliaSim与ROS2完成的数据通信,瑞雷老师在这篇文章中详细介绍了这部分的工作。通过下载simExtROS2Interface的foxy版本,并利用该功能包生成.so文件。
相较于我们常见的gazebo而言,V-rep/CoppeliaSim的好处是其可以更加便捷的完成代码的配置与二次开发,同时该软件支持lua或者python语言的开发与撰写。
5. Webots
Webots 作为一种界面与仿真兼具的软件,其可以通过对真实世界中机器人的传感器、执行器的仿真得到一个更加符合真实情况的结果,这也为实机测试省去了大量的麻烦,之前Webot与ROS一开始还不兼容,目前Webots已经全面的拥抱ROS2。从官方的例子我们可以看到webots的上手难度越来越低,中间件直接连通了,只需要你通过简单的调用即可完成车辆在仿真环境中的运动。官方的文档已经讲得很详细了,这里也不过多的去展开讲述,等作者啥时候研究这块后再详细展开吧。
…详情请参照古月居
ROSROS2可视化仿真软件相关推荐
- 底物的分子描述符计算及 CYP450 酶-底物选择性技术研究
本篇推文引自:基于网络的标签空间划分方法预测 CYP450 酶-底物选择性 1. 分子描述符计算 本文计算了四种类型的底物分子描述符并把他们当成 4 类特征表示用于机器学习建模,这 4 类特征 ...
- 【CG】汇总开源的三维图形/计算几何/CAD算法库
目录 Computer Graphics Group at RWTH Aachen OpenFlipper OpenMesh OpenVolumeMesh [IceSL]ADVANCED MODELI ...
- 实例九— 除法器设计
4.3 实例九 除法器设计(Robei工具) 4.3.1. 本章导读 要求掌握除法器原理,并根据原理设计除法器模块以及设计对应的测试模块,最后在 Robei可视化仿真软件经行功能实现和仿真验证. 设计 ...
- 单相桥式有源逆变电路matlab,单相桥式有源逆变电路在MATLAB中的建模与仿真
电子技术研发Electronics R&D 电子技术 10.3969~.issn.1000-0755.2016.04.001 蔡红专 吴玉平 眸 涛 曹 琴 (西京学院控制工程学院,陕西 西安 ...
- 实例六 自动售饮料机
实例六 自动售饮料机 3.2.1. 本章导读 了解自动售货机的工作流程以及各个工作状态,以及其testbench,最后在Robei可视化仿真软件经行功能实现和仿真验证. 设计原理 自动售货机的信号定义 ...
- 基于matlab数字基带,基于MATLAB的数字基带传输系统的仿真设计
基于MATLAB的数字基带传输系统的仿真设计 绵阳师范学院 本科生毕业设计(论文) 题 目 基于MATLAB的数字基带 传输系统的仿真设计 专 业 电子信息科学与技术 院 部 物理与电子工程学院 学 ...
- 井下通风类毕业论文文献包含哪些?
本文是为大家整理的井下通风主题相关的10篇毕业论文文献,包括5篇期刊论文和5篇学位论文,为井下通风选题相关人员撰写毕业论文提供参考. 1.[期刊论文]五阳煤矿井下通风系统的优化研究 期刊:<山东 ...
- 解读 8 位移位寄存器的设计
8 位移位寄存器的设计 先了解下 8 位移位寄存器的设计的原理,先从基础开始:要求掌握 8 位移位寄存器原理,并根据原理设计 8 位移位寄存器模块以及设计相关testbench,最后在 Robei 可 ...
- 实例七— 8位移位寄存器的设计
实例七 8位移位寄存器的设计(基于Robei工具的8位移位寄存器的设计) 4.1.1. 本章导读 设计目的 要求掌握8位移位寄存器原理,并根据原理设计8位移位寄存器模块以及设计相关testbench, ...
- C++语言Qt实现控件拖拽和连线类似可视化操作Simulink仿真类软件 电路仿真软件 和模型驱动等软件
目标:开发一个电路仿真软件. 内部原理:qt编写电路元件连接的可视化界面,输出电路节点连接关系为一张表.matlab编写电路仿真算法,读取节点连接表,进行运算,得出仿真结果,qt读取仿真结果并且在界面 ...
最新文章
- python 申请内存空间、用于创建多维数组_python 申请内存空间,用于创建多维数组的实例...
- Django框架(4.django中进入项目的shell之后对数据表进行增删改查的操作)
- android data binding jetpack III 绑定一个方法
- SRS-DOLPHIN
- MySQL性能优化知识:长连接、短连接、连接池
- java的tcp实时接收json格式报文_tcp - 如何使用带有rsocket Java的TcpClientTransport将自定义数据格式转换为JSON - 堆栈内存溢出...
- 编译错误:[Error] initializer-string for array of chars is too long [-fpermissive]
- 怎么用Iometer测试存储性能
- 设计模式(Design Patterns)
- mysql主从同步搭建过程_mysql 主从复制搭建详细步骤
- 学一门计算机语言大体的过程,学习一门新编程语言的6个步骤
- Webview 非http或者https的网络请求拦截
- mp3文件怎么压缩大小
- 手机wps取消不等宽分栏_wps文字怎么取消分栏很简单,三个步骤即可取消
- 软件测试分为哪几个阶段?
- xp隐藏桌面计算机图标不见了怎么办,XP系统桌面IE图标不见了怎么办?IE图标消失了怎么恢复?...
- Linux入侵检查工具,linux系统入侵检测工具chkrootkit
- 比亚迪秦后排座椅拆卸
- pqi 更方便的使用pip源
- Linux(Centos7.8)中conda虚拟环境搭建LSTM神经网络基于django3.1.2的api接口