这种方法需要在局域网范围内进行,通信距离取决于WIFI模块的传播距离
1、连接同局域网
将主机和从机连接相同的网络,在同一局域网内。例如192.168.0.*(前三位相同)
网络会自动给每个机器一个IP
2、安装SSH
sudo apt-get install ssh
sudo apt-get install openssh-server
sudo apt-get install openssh-client
3、id_rsa.pub文件传递
在本地计算机生成公钥和私钥:
ssh-keygen
然后将id_rsa.pub 文件复制到远程计算机
scp ~/.ssh/id_rsa.pub cxl@192.168.0.188:/tmp
4、修改 /etc/hosts文件
加入无人机zhao和b的ip (感觉没必要,不影响)
5、修改~/.bashrc(所有通信机器)
export ROS_HOSTNAME=192.168.0.122 #本机IP
export ROS_MASTER_URI=http://192.168.0.122 #主机IP
所有机器的主机IP都应该一样,变的只是本机IP,所有消息都会传到主机
6、登录SSH进行控制及查看消息
出现这个错误连接不上采用下面命令
ssh -o StrictHostKeyChecking=no 192.168.xx.xx
需要在主机运行ROSCORE,进入到从机后才能启动ros命令。如果想单独用从机运行,则把bashrc文件加的那两行export注释即可。
关于消息,只要是在同一局域网下,所有设备上的rostopic共享,在主机运行rosbag,从机也可以也受到topic。
在主机收到两从机的图片topic