雷达点云数据展示在webviz(ROS1)
ROS系统中查看激光点云可以在rviz上查看,但如果远程访问点云存在苦难。
经过搜索发现一个开源仓库webviz符合要求,义如其名,web+rviz=webviz。webviz的demo网址
官网demo的使用页面如下:
在仓库页面,作者给出两种安装方法:拉取Docker镜像和手动构建安装。
尽管官网推荐在线使用webviz,但在测试过程中,我使用的Ubuntu 20.04 LTS系统,无法手动构建,大家有时间可以手动构建尝试一下。
在这里,直接拉去Docker镜像十分方便,而且运行没有问题,推荐直接用Docker。
对于新手朋友,安装Docker的方法如下:
sudo apt update && sudo apt upgrade -y #更新系统软件(确保环境最新)sudo apt install -y ca-certificates curl gnupg lsb-release #安装 Docker 依赖组件curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg #添加 Docker 官方 GPG 密钥echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null #设置 Docker 软件仓库sudo apt update && sudo apt install -y docker-ce docker-ce-cli containerd.io #安装 Docker 引擎sudo systemctl start docker # 启动 Docker 服务sudo systemctl enable docker # 设置开机自启sudo docker run hello-world #验证是否安装成功
安装成功后,按照README的说明,拉取镜像并运行镜像即可。
docker pull cruise/webviz #拉取镜像docker run -p 8080:8080 cruise/webviz #运行镜像
遗憾的是,无法在ARM架构运行镜像,不过仓库作者提供了远程访问的说明,反而增加使用的便捷性。
在设备端(如机器人、无人机、机器狗等边缘计算设备)安装rosbridge_suite,同样义如其名,“bridge”做端口转发。【我使用的设备是Livox激光雷达、海康工业相机和NVIDIA Jetson Nano】
比如是我是ros noetic,安装命令为
sudo apt-get install ros-noetic-rosbridge-suite
安装后新开终端执行
roslaunch rosbridge_server rosbridge_websocket.launch
运行后能够看到9090端口打开。
随后在谷歌浏览器或者Edge浏览器访问,效果如下(如image、imu等多种topic均可以访问,这里就不展示了)
local端使用localhost:8080即可访问;远程端在局域网或者更穿透后,使用类似于这样的http://localhost:8080/?rosbridge-websocket-url=ws://localhost:4321 即可完成访问。
大家可自行在webviz在线操作页面阅读了解远程访问的多种方式。