ROS学习笔记-多机器人通信(4)-远程打开rviz
发布日期:2021-05-08 03:40:01 浏览次数:23 分类:精选文章

本文共 1101 字,大约阅读时间需要 3 分钟。

上篇:

一、报错

远程打开不了rviz窗口出现报错: QXcbConnection:Could not connect to display

之前登录ssh的方式都是所示 hostname@hostname 或是hostname@hostname的ip,这种方式远程登录没问题,但无法显示图像界面,比如在终端输入打开rviz的命令时,都失败了,并报错。
在这里插入图片描述

二、解决办法

2.1可在命令后面添加参数 -X(注意X大写),即

如果需要调用图形界面程序可以使用 -X 选项

ssh hostname@ip -X

或是

ssh hostname@hostname -X

2.2添加环境变量

export QT_QPA_PLATFORM='offscreen'

三、运行rviz:

1.先在一个终端中打开ROS master,不然提示联系不上。

roscore

在这里插入图片描述

2.在另一个终端中输入:

rosrun rviz rviz

成功打开rviz显示窗口。

在这里插入图片描述

在这里插入图片描述

四、打开键盘控制节点报错以及解决方法

4.1报错内容

在使用Spark一键启动的时候,在运行整个封装好的启动文件时,发生如下的报错,根据报错的内容可知是键盘控制节点出现了问题。

只显示了RVIZ界面,但是键盘控制界面却没有出现。
在这里插入图片描述

4.2报错解决

因此,只需要打开键盘控制节点即可控制Spark机器人的运动。

根据报错提示,寻着路径可知keyboard_control.sh文件出现了问题。
打开该文件后,可知运行键盘控制节点的命令是:

rosrun spark_teleop spark_teleop_node 0.14 0.5

因此,可以考虑单独启动该节点。在台式机上远程访问Spark后,终端输入该命令。

在这里插入图片描述
出现了如下的报错,根据报错可知,无法联系上ROS Master,因此只需要打开ROS Master即可。
在这里插入图片描述
问题解决:
在台式机上的终端
1.打开ROS Master

roscore

2.在打开键盘启动节点

rosrun spark_teleop spark_teleop_node 0.14 0.5

如下图所示,说明成功打开了键盘控制器。

在这里插入图片描述

五、控制Spark运动

5.1终端依次输入

cd spark./onekey

5.2选择控制机器人运行

在键盘控制界面控制运行即可。

在这里插入图片描述
本次以采用基于深度相机的rtabmap算法建图为例,建完地图后保存,输入以下命令:

rosrun map_server map_saver -f 2 #2为地图名称,随意取。

在这里插入图片描述

整个过程已录制视频,有兴趣的朋友可以下载,地址:

reference

感谢以下参考博客的分享

1.
2.

上一篇:ubuntu学习笔记-常用文件、命令以及作用(hosts、vim、ssh)
下一篇:移动机器人学习笔记-卫星导航、IMU、加速度计、陀螺仪

发表评论

最新留言

表示我来过!
[***.240.166.169]2025年03月30日 18时04分03秒