ROS1可视化利器---Webviz
创始人
2024-01-20 07:29:30
0

0. 简介

对于ROS1而言,rqt和plotjuggler是我们最常用的工具,这两个工具:rqt中嵌入了很多有用的小工具,但是它需要播放离线包,没有办法对离线包进行实时的分析。而plotjuggler支持对离线bag包进行分析,但是不支持可视化的工具,这两个各有千秋。而近年来,有更多的工作开始落实在可视化上。

1. SLAMer常用的可视化开源库

  1. opengl:Open Graphics Library,译名:开放图形库或者“开放式图形库”。是用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。即为可视化开发API,强项在于交互功能。

  2. Pangolin是SLAM常用的库之一,主要用于SLAM系统的可视化。它是基于OpenGL的,主要优势在于使用比OpenGL简单。

  3. PlotJuggler:时序数据可视化工具。

  4. Webviz:是由 cruise 开发的一个data replay工具。https://webviz.io/

  5. Foxglove:webviz开发人员从cruise 独立了出来开发了foxglove:https://foxglove.dev/

2. Webviz

对于这一章讲的Webviz,我们知道rviz是ROS中最常用的可视化软件,作者将rviz的功能搬到了web页面上,可以通过浏览器完成数据的显示,称之为Webviz。同时Webviz还支持离线安装。并将程序运行在本地,直接将bag包拖到里面即可观察激光、视觉、以及各类信息。

Webviz-本地运行视频

2.1 Webviz安装

作者建议使用托管版本的Webviz,它可以连接到您的rosbridge_server或从您的S3/GCS bucket流式传输bag数据。这样,您将始终使用最新版本的Webviz。

然而,有时托管版本很不方便,因为在国内访问该网站较慢,不太建议直接使用官网的web机器人流式传输数据。下面我们来看下怎么在本地部署。

2.1.1 安装rosbridge_suite

Webviz和ROS之间是通过rosbridge_suite进行数据传递,如果要实时显示(不是用bag),则必须安装。

sudo apt-get install ros--rosbridge-suite

运行,launch中默认的websocket端口为9090,不用去更改,因为目前Webviz连接默认的端口就是9090。

roslaunch rosbridge_server rosbridge_websocket.launch

在这里插入图片描述

2.1.2 安装 nvm

nvm 是nodejs的版本管理器,类似 Anaconda(python的版本管理器)

#预备工作
sudo apt-get update
sudo apt-get install build-essential libssl-dev#获取脚本并安装
#方法一
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
#方法二
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash#更换源为淘宝镜像
#方法一(临时)
NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
#方法二(永久)
#在 ~/.bashrc 中添加下列语句
export NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node
2.1.3 安装nodejs

直接使用nvm进行node安装和版本控制,Webviz项目暂时仅支持 node10 和 node11,高版本的 node 会出现编译错误。

#查看可安装的node版本
nvm ls-remote
#安装指定版本的node
nvm install 10.19.0
#查看当前的node版本
nvm current
#查看已安装的node版本
nvm list
#选择需要的node版本
nvm use 10.19.0
2.1.4 换源加速
#更换npm源为淘宝的源
npm config set registry https://registry.npm.taobao.org
#检查是否配置成功
npm config get registry
2.1.5 编译代码
git clone https://github.com/cruise-automation/webviz.git
cd webviz/
#建议先手动安装node-sass
npm config set sass_binary_site https://npm.taobao.org/mirrors/node-sass/
npm install node-sass
#执行脚本安装项目依赖
npm run bootstrap

在这里插入图片描述

2.1.6 编译项目
npm run build

在这里插入图片描述

2.2 使用Webviz

…详情请参照古月居

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
一帆风顺二龙腾飞三阳开泰祝福语... 本篇文章极速百科给大家谈谈一帆风顺二龙腾飞三阳开泰祝福语,以及一帆风顺二龙腾飞三阳开泰祝福语结婚对应...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...