ubuntu通过ssh实现远程控制及ros多机通信(详细)

31 篇文章 1 订阅
12 篇文章 2 订阅

前期准备

主机:自己的笔记本
工控机:被控制的系统
注意:两台设备必须连接同一个局域网
查看工控机ip地址

ifconfig

工控机ip地址为:192.168.1.100
(系统名为:cxd)

配置ssh连接

1.在本地计算机生成公钥和私钥

ssh-keygen

(一直回车确定)
在这里插入图片描述

2.然后将id_rsa.pub 文件复制到远程计算机

scp ~/.ssh/id_rsa.pub cxd@192.168.1.100:/home/cxd

(cxd@192.168.1.100改成被自己控制设备的名字和ip)
【输入yes】
在这里插入图片描述

到此就配置完成了。。

注意:如果报错:

ssh: connect to host 192.168.1.100 port 22: Network is unreachablelost connection

有可能是因为自己电脑没有ssh,需要安装:

sudo apt-get install ssh

远程控制实现

远程控制时直接输入:

ssh cxd@192.168.1.100

在这里插入图片描述
然后就可以看见自己的终端里名称已经变成被控制设备的名字了
此时就可以自己输入控制命令了。。
例如:运行被控制设备的ros
输入:

roscore

ssh免密连接

有些时候每次ssh连接都需要输入密码,比较麻烦,只要再配置一下就能免密连接了:

 cat id_rsa.pub >> ~/.ssh/authorized_keys
 chmod 600 ~/.ssh/authorized_keys

至此,ssh远程控制工控机已经实现了,但是如果要查看工控机的消息(如视频,点云等)权限不够,则需要配置一下ros多机通信

ros多机通信

1.打开hosts文件(笔记本及工控机匀配置)

sudo gedit /etc/hosts

将笔记本及工控机ip地址及名字写入两台设备的hosts文件

192.168.1.102	xx   #笔记本
192.168.1.100	cxd  #工控机

在这里插入图片描述
2.配置.bashrc文件(笔记本及工控机匀配置)
分别在两台设备中打开.bashrc文件
(在home目录中按ctrl+h就可以打开)
笔记本

export ROS_HOSTNAME=xx  #本机名
export ROS_MASTER_URI=http://192.168.1.100:11311 #工控机ip(不要写错了)

工控机

export ROS_HOSTNAME=cxd  #本机名
export ROS_MASTER_URI=http://192.168.1.100:11311 #工控机ip

(11311是ros多机通信固定的,不要改)
改完.bashrc文件保存退出后需要source一下才能生效

source ~/.bashrc

3.使用举例
【用的时候先通过ssh控制工控机,例如启动一个rosbag,然后在笔记本里面也能查看话题消息了】
如:
(通过ssh启动工控机一个rosbag)
在这里插入图片描述

这时在笔记本直接可以查看话题消息
在这里插入图片描述3.注意
配置ros多机通信后,再用自己笔记本的ros时可能会不好使
如输入roscore
在这里插入图片描述
如果需要使用笔记本的ros,在.bashrc文件中把刚才加的那两句注释掉就行了
在这里插入图片描述
如再输入roscore,ros就能正常运行了
在这里插入图片描述

  • 6
    点赞
  • 58
    收藏
    觉得还不错? 一键收藏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值