ROS下两台电脑通信

1.首先,我的自己的笔记本名字叫midi,实验室的笔记本名字叫turtlebot.

2.分别查看两台电脑的ip信息:ifconfig,midi的为192.168.43.211.turtlebot的为192.168.43.153.

3.在两台笔记本的/etc/hosts文件中增加:(中间是tab,不是空格)

192.168.43.211	midi
192.168.43.153	turtlebot

4.输入下面的命令重启网络:

sudo /etc/init.d/networking restart

5.在两台电脑上装上chrony包,用于实现同步:

sudo apt-get install chrony
sudo ntpdate ntp.ubuntu.com

5.在终端中输入下面的命令,安装SSH服务器:

sudo apt-get install openssh-server

安装完以后,确认服务器是否已经启动:

ps -e|grep ssh

 

如果看到sshd那说明ssh-server已经启动了。

6.再修改文件:

sudo gedit ~/.bashrc

我的笔记本为:

export ROS_MASTER_URI=http://192.168.43.153:11311 
export ROS_HOSTNAME=midi

实验室的笔记本为:

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

7.检查(这一步可以跳过):

我的笔记本:

ssh midi
ping turtlebot

实验室笔记本:

ssh turtlebot
ping midi

出现滚动的数字就成功。

8.连接:

案例一:先在实验室笔记本输入roscore,再在自己笔记本上输入rosrun turtlesim turtlesim_node,最后在实验室输入rosrun turtlesim draw_square,即可。

案例二:

实验室输入:

roslaunch turtlebot_bringup minimal.launch --screen

自己笔记本输入:

roslaunch turtlebot_teleop keyboard_teleop.launch

便可以控制。

9.断开:

这样可以跑之后,若想还是用自己的笔记本单独跑,比如roscore就开始报错,什么都跑不了,这是因为在~/.bashrc中,需要把增加的那两行注释掉。还必须出去后source ~/.bashrc一下,实在不行还得注销一下才行。

追加:这样好像还不行,建议不需要两台通信的时候,把~/.bashrc的和hosts的刚才增加的部分都注释掉,需要的时候再打开。这样还是会报错。。还需要在hosts中这样设置:

127.0.0.1    localhost    #这一行是原来就有的,不能动
127.0.1.1    midi         #这一行是新加的,后面的名字是对应的笔记本的名字

这样基本就没问题了

-------------------------10月14补充---------------------------------------

经测试,用两台电脑通信,Kinect和hokuyo都可以正常显示(实验室笔记本的gmapping配置应该有问题,需要改正)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值