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配置应该有问题,需要改正)