我们发现当客户端通过SSH连接服务端后调用其rviz时十分卡顿,接下来解决此问题。
1.确定主从机ip、用户名、主机名
个人理解:本文操作过程只有主机上可以运行ROS,从机与主机共用一个rosmaster,从机打开rviz其实是打开了主机下的rviz,因此可以共享ros话题,实现“传图”效果,实则传输的是话题内容,而SSH远程连接后在打开rviz实际上传输的是图像数据因此非常卡顿。
我用的主机为一个搭载激光雷达的小车,其 ip:192.168.31.92 用户名:qust-mbot
主机名:qustmbot-desktop
我所用的从机为一ubuntu18.04系统主机,其ip:192.168.31.20 用户名:rws
主机名:rws-NUC7i7DNB
我希望实现主机上运行ROS,运行激光雷达,从机上运行rviz查看雷达的返回数据,并显示。
注意:打开一个终端后@左侧的是用户名,@右侧的是主机名如下图
如《ROS之旅(五)》同样需要确保两台机器在一个局域网下,其ip地址确定方法不再赘述。
2.修改.bashrc文件
sudo gedit .bashrc
打开一个文件,在文件最后两行添加:
export ROS_MASTER_URI=http://192.168.31.92:11311
export ROS_HOSTNAME=192.168.31.20
其中ROS_MASTER_URI后面的地址是主机的
ROS_HOSTNAME后面的地址是从机的
保存后退出
3.修改hosts文件
sudo gedit /etc/hosts
打开一个文件
在中间添加一行代码
192.168.31.92 qustmbot-desktop
地址是主机的ip地址,地址后面是主机的主机名!!!!!!!!!!!!!!!!!!!!!!
保存后退出
4.测试
ros之旅(六)
5.注意
当不需要远程操作时一定把bashrc文件中的添加代码注释掉
有时ip地址会发生变动,不要自信的不用ifconfig
有的主机改完bashrc文件后需要重启才能生效(原因未知,欢迎私聊指教)