1.查看地面站与树莓派的IP地址、域名
笔记本需要将虚拟机的网络模式改为桥接模式。
笔记本虚拟机中,运行->ifconfig,笔记本IP地址为192.168.43.118。
笔记本虚拟机中,运行->hostname,笔记本域名为 ubuntu。
树莓派上,运行->ifconfig,树莓派IP地址为192.168.43.147 。
树莓派上,运行->hostname,树莓派域名为 px4comp-desktop 。
2.添加域名、IP地址
笔记本虚拟机中,运行->sudogedit /etc/hosts,打开文件,添加虚拟机和树莓派的 IP 地址和域名。地址和域名之间一定要用 Tab 键。
树莓派中,运行->sudo nano /etc/hosts,打开文件添加IP和域名。
双方同时重启网络,sudo/etc/init.d/networking restart。
3.安装SSH,Chrony
双方安装 Chrony,运行->sudo apt-get install chrony
双方安装 SSH,运行->sudo apt-get install openssh-server
笔记本虚拟机中,运行->ps-e|grep ssh,如下图,出现 sshd 说明 ssh 已启动,若未启动,sudo/etc/init.d/ssh restart。
4. 查看双方网络是否联通
笔记本虚拟机中,运行->sshubuntu,然后运行->ping px4comp-desktop,出现如下图所示,说明笔记本网络双向畅通。
树莓派上,运行->ssh px4comp,然后运行->ping ubuntu,出现如下图所示,说明树莓派网络双向畅通。
5.添加环境变量
笔记本虚拟机中,运行->sudogedit ~/.bashrc,在打开的文件末尾添加本地域名和 ROS 主机。
在树莓派上,运行->sudo nano ·/.bashrc,在打开的文件末尾添加本地域名和 ROS 主机。
6.测试
重启树莓派,打开新的终端,运行->sshpx4comp-desktop,运行其他节点文件。
打开笔记本虚拟机,打开新的终端,运行->sshubuntu,运行->rostopic list,可以看到虚拟机可以接收树莓派的所有节点信息。运行 rostopic echo 查看相应的话题信息。
运行->rqt,可以打开可视化窗口,查看所有话题变量,目前无法查看树莓派上的自定义消息。
理论上可以用这种方式,实现树莓派(或其他安装ROS的上位机)+pixhawk 的多无人机网络通信。
参考资料博客总结
官网教程