我是 ROS 项目的开发人员。最近我尝试在 WSL2(Linux 的 Windows 子系统)上使用 ROS(melodic),一切都很好。但是当我想使用另一台也在同一局域网(LAN)中的PC进行通信时,我遇到了一些麻烦。在设置“ROS_MASTER_URI、ROS_IP”等环境变量之前,我知道由于 WSL 2 在 Hyper-V 上工作,因此 WSL2 上显示的 IP 不是真实 LAN 中的 IP。我必须执行如下命令才能使 LAN 中的每个人与 WSL2 上的特定主机:PORT 进行通信。
netsh interface portproxy delete v4tov4 listenport=$port listenaddress=$addr
Run Code Online (Sandbox Code Playgroud)
但新的问题又来了:
每次我启动文件时,使用 TCPROS 相互通信的节点都有一个随机端口。
我该如何处理这种问题?或者网上有什么资料可以看一下吗?
谢谢。