目标:使用手中的笔记本电脑(主机)去控制车载电脑(从机)运行,两台机器在同一局域网下,rosmaster在从机上运行,但是从机没有显示器,需要主机的显示器来显示。
item | Hostname | IP |
---|---|---|
主机 | ZYD-Lenovo | 192.168.31.196 |
从机 | ZYD-Desktop | 192.168.31.52 |
1.设置hostname
在主从机上,分别编辑/etc/hosts文件,加入对方的IP地址和hostname
sudo vim /etc/hosts
打开后加入下面两行
192.168.31.196 ZYD-Lenovo
192.168.31.52 ZYD-Desktop
2.设置.bashrc文件
声明rosmaster的IP和ROS的IP
①主机打开.bashrc
vim ~/.bashrc
alias sshcontroller='ssh zyd@192.168.31.52'
alias controllermaster="export ROS_MASTER_URI=http://192.168.31.52:11311;export ROS_IP=192.168.31.196"
②从机打开.bashrc
export ROS_IP=192.168.31.52
之所以把hostname和ROS IP都设置一遍,就是防止通讯过程中有不识别的情况出现。主机端因为在平时不通讯时还要做其他工作,所以不能直接export,否则在不通讯的情况下还得手动注释上面的设置,干脆直接写个命令,用到的时候,直接在命令行敲命令即可:
sshcontroller
输入密码就可进入从机命令行界面
controllermaster
rviz
这条命令仅仅用在主机上需要显示rviz界面时使用,运行后主机会获取从机的消息话题,打开rviz就可以订阅话题,看到可视化效果。
3.运行流程
①打开终端
sshcontroller
输入密码
roscore
②打开终端
sshcontroller
输入密码
在从机上运行你想要运行的包
③打开终端
controllermaster
rviz
订阅话题显示