master設(shè)備配置
1乳丰、查看基本信息
在終端中輸入hostname,查看hostname
輸入ifconfig 查看ip
2内贮、
運(yùn)行
sudo vim /etc/hosts
可以看到如下配置信息
127.0.0.1 localhost
127.0.1.1 本設(shè)備的hostname
-------(下面新增加,注意!!!! ip和hostname用tab鍵隔開,且順序不重要,只是一個(gè)記錄)
[IP_A] [主設(shè)備的hostname ]
[IP_B] [從設(shè)備的hostname]
-------(上面新增加)
增加主設(shè)備和各從設(shè)備后,如下所示
例如:下面的這個(gè)配置
127.0.0.1 localhost
127.0.1.1 本設(shè)備的hostname
192.168.1.11 master_hostname
192.168.1.12 slave_hostname
#the following
.
.
.
3产园、重啟網(wǎng)絡(luò)服務(wù)
sudo /etc/init.d/networking restart
5、裝上chrony包夜郁,用于實(shí)現(xiàn)同步:
sudo apt-get install chrony
6什燕、安裝ssh工具,方便遠(yuǎn)程到另一個(gè)設(shè)備進(jìn)行調(diào)試竞端,省的來回切電腦操作
sudo apt-get install openssh-server
安裝完畢后屎即,可以通過下面命令查看服務(wù)是否啟動(dòng)
ps -e|grep ssh
7、ping下對(duì)方機(jī)子事富,看網(wǎng)絡(luò)通不通
主機(jī)需要ping下每個(gè)從機(jī)技俐,從機(jī)都ping下主機(jī)
8、把下面的內(nèi)容增加到.bashrc末尾
export ROS_HOSTNAME=[本機(jī)的hostname] #!!!注意是本機(jī)的hostname 端口號(hào)11311是固定值,照抄即可
export ROS_MASTER_URI=http://[主機(jī)的hostname]:11311
例如,主機(jī)yuhs的設(shè)備作為master
export ROS_HOSTNAME=yuhs
export ROS_MASTER_URI=http://yuhs:11311
然后啟用
source ~/.bashrc
slave設(shè)備配置
其他內(nèi)容和master配置一致,只有第八項(xiàng)內(nèi)容
8统台、把下面的內(nèi)容增加到.bashrc末尾
export ROS_HOSTNAME=[本機(jī)的hostname] #!!!注意是本機(jī)的hostname
export ROS_MASTER_URI=http://[主機(jī)的hostname]:11311
例如 lisi是從設(shè)備的hostname,yuhs是主設(shè)備的hostname
export ROS_HOSTNAME=lisi
export ROS_MASTER_URI=http://yuhs:11311
測試
打開master終端運(yùn)行
第一個(gè)終端
roscore
第二個(gè)終端
rosrun turtlesim turtlesim_node
可以看到小烏龜
打開slave設(shè)備的終端運(yùn)行
rosrun turtlesim turtle_teleop_key
開始用方向鍵遙控小烏龜雕擂,如果動(dòng)了,就表示成功了
實(shí)驗(yàn)結(jié)果
成功跨主機(jī)控制小烏龜
使用注意事項(xiàng)
如果在從機(jī)運(yùn)行一個(gè)roslaunch,啟動(dòng)一個(gè)程序,需要現(xiàn)在主機(jī)上運(yùn)行roscore后,
從機(jī)才能啟動(dòng)起來,
原本一個(gè)pc上運(yùn)行roslaunch的時(shí)候,會(huì)默認(rèn)啟動(dòng)rosmaster,但是現(xiàn)在主機(jī)是另一個(gè)pc了,所以需要這樣先把master跑起來
盡量把最常用的pc設(shè)置為master