ROS—基于树莓派的ROS机器人ssh通信,以及多机分布式通信

1、环境

PC系统:Ubuntu16.04+ROS kinect

树莓派系统:Ubuntu16.04+ROS kinect

前提:PC和树莓派在同一局域网下;也就是都连同一个WIFI(路由器生成的那种,或者手机热点,校园网不行),或者PC连了WIFI、用根网线把树莓派和PC连起来也可以。

注:PC连接的网络要设置为共享模式,即编辑连接,在IPV4设置里把方法(Method)改为与其他计算机共享网络(Shared to other computers)。

2、目的、作用

ssh通信:目的是通过电脑端访问树莓派,实现两者之间的文件互传、远程其他操作。

为了方便,在一台电脑可以操作两个终端。

多机分布式通信:当机器人运行后,在PC上控制、监控机器人。

为了分担树莓派的工作压力,而且ROS机器人控制,建图、导航反映在远端PC也更为人性化。

3、SSH通信

ssh程序分为有客户端程序openssh-client和服务端程序openssh-server。3.

3.1 为两台电脑安装ssh服务(树莓派可操作情况):

$ sudo apt-get install openssh-server

查看开启之:

$ sudo ps -e |grep ssh

如下则已经开启: 

如果没开启,则: 

$ sudo service ssh start

3.2 修改配置文件

输入命令

$ sudo gedit /etc/ssh/sshd_config

把配置文件中的"PermitRootLogin without-password"加一个"#"号注释掉,再增加一句"PermitRootLogin yes",保存文件,是为了允许root用户登录。 

3.3 查看IP

点击右上角的网络图标,看到最下面的连接信息(Connection Information)或者终端输入:ifconfig 查看当前IP,同样方法查看树莓派IP(树莓派可操作),如若树莓派没东西操作,就在电脑端执行以下操作:

(1)通过电脑端ip地址寻找网线另一端raspberry pi的ip地址,用到nmap软件。 
打开terminal,输入如下命令: 

$ sudo apt-get install nmap 

(2)安装完成后根据你之前获得的电脑端ip地址,以192.168.1.100为例,终端输入如下命令进行搜索; 

$nmap 192.168.1.0/24 

一般第二个IP地址即为raspberry pi的ip地址:

第二个IP192.168.1.101就是树莓派的 

3.4 PC终端输入:

$ ssh pibot@192.168.1.101

上面的pibot是树莓派名,@后面就是树莓派的IP地址。

OK

4、分布式多机通信

树莓派为主机;PC为从机;

4.1 修改hosts文件

PC端:

sudo gedit /etc/hosts

加两行:

树莓派端一样。

4.2 ping一下

4.3 设置ROS-MASTER-URI

编辑.bashrc文件

gedit .bashrc

PC端和树莓派都加1行:

export ROS_MASTER_URI='http://192.168.1.101:11311'

保存退出。source一下

source .bashrc

4.4 测试

树莓派运行rosmaster(在PC上SSH操作即可)

roscore

PC运行小乌龟节点

rosrun turtlesim turtlesim_node

PC另一个终端运行键盘控制节点:

rosrun turtlesim turtlesim_teleop_key

 PC端实现了监控与控制

  • 7
    点赞
  • 114
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值