ROS系统格式下主机和控制的机器人之间的联系教程(ssh,及网络设置等)

很多时候,由于嵌入式系统的不可视和不方便性,我们需要在自己的PC机上进行嵌入式系统内的操作,即远程控制

瓶子酱这一次遇到的问题是主机和嵌入式板子之间的联通不是很稳定而且连的也不是很好。

首先,瓶子酱的PC端的操作系统(OS)是Ubuntu16.04,ROS的版本是kinetic,要远程控制的小车的控制器是树莓派板子。

https://github.com/mktk1117/six_wheel_robot/wiki/Communication-between-Raspberry-Pi-and-PC-(ROS)

这是github上一个非常好的教程,可以跟着来。

瓶子酱遇到的问题联通不好的问题,分析原因,有两个:一,在自己能够理解的范围内改动程序,并且操作和改动一定要整齐!(这里有两个意思,一个是操作,书写的程序要整齐,一个是要将一些主要的数据等用简短易理解的且不会有争议的名字代替)二,一定要做到万无一失,不要让系统犯糊涂。这就要求除了bash文件外,两个系统的连接文件里也要写清楚:

下面是瓶子酱的具体一些操作,仅供参考[因为糊涂的瓶子酱在这里卡了近乎2天,不希望再有人被困了]

pc$sudo vim /etc/hosts              [1.一定要sudo因为文件较重要,需要该机算计的管理员权限(只要你知道pc和机器人控制器的开机密码就行~),若不sudo打开,文件就是只读模式2./etc/hosts 是计算机的网段连接的文件]

i——>变成可插入模式

在合适的地方添加:

192.168.43.212 mypc

192.168.43.19 raspberry

[以上两行的格式是:IP地址 IP名;IP地址是在不论是你自己的电脑还是机器人控制器(嵌入式系统)上打开终端用$ifconfig命令查看;或者在右上角的wifi标志点击后下方的连接信息中查看;IP名是自己起的,这里mypc是我的笔记本电脑,raspberry代表树莓派raspberry pi控制器]

wlan0     Link encap:Ethernet  HWaddr a4:34:d9:e8:55:03  
          inet addr:192.168.43.212  Bcast:212.191.89.127  Mask:255.255.255.128
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

Esc——>退出插入模式

:wq——>保存并退出vim文本编辑器

***在树莓派上做相同修改!!
 

pc$vim ~/.bashrc

i——>变成可插入模式

在文末插入:

export ROS_HOSTNAME=mypc

export ROS_MASTER_URI=http://raspberry:11311

Esc——>退出插入模式

:wq——>保存并退出vim文本编辑器

pc$source ~/.bashrc      [让bash文件立即生效]

在pc上$ping raspberry

验证是否修改成功:若成功:

pc$ ping raspberry
PING raspberry (192.168.43.19) 56(84) bytes of data.
64 bytes from raspberry (192.168.43.19): icmp_seq=1 ttl=64 time=3.11 ms
64 bytes from raspberry (192.168.43.19): icmp_seq=2 ttl=64 time=5.22 ms
64 bytes from raspberry (192.168.43.19): icmp_seq=3 ttl=64 time=4.30 ms

ctrl+c

pc$ssh hit@raspberry                     [再使用ssh hit@192.168.43.19是不行的了,因为IP已经被唤为raspberry了,否则将不识别]

输入密码

raspberry$vim ~/.bashrc

文末插入:(并保存退出)

export ROS_HOSTNAME=raspberry
export ROS_MASTER_URI=http://raspberry:11311

raspberry$source ~/.bashrc    [使文件立即生效!]

raspberry$roscore

[若报错roscore cannot run as another roscore/master is already running.]

raspberry$killall -9 roscore

[回:roscore: no process found说明是master在运行,不是roscore]

raspberry$killall -9 rosmaster

raspberry$roscore

。。。

再开一个终端,为了来控制树莓派进行具体的操作,注意:在pc端再打开一个新终端进行远程控制链接(ssh)前,一定要先source一下这样才能生效,否则不行!

pc$vim ~/.bashrc    [检查一下,配置是不是对的]

pc$source ~/.bashrc [每开一次终端都要source!]

pc$ping raspberry   [检查通信」

pc$ssh hit@raspberry   「链接」

密码

raspberry$roslaunch rikirobot bringup.launch    「远程开启机器人系统里的启动文件」·「可以运行!完美~~」

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值