【AirSim+PX4】WSL2上运行PX4连接不上Airsim问题

文章讲述了作者在WSL2环境下尝试运行PX4时遇到的连接问题,包括IP设置、防火墙、rcS文件配置以及版本问题,详细描述了解决步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在WSL2上运行PX4,按照官网教程一步一步做,每次都卡在最后一步,PX4端一直waiting。。。卡了一下午加一晚上,最后终于连上了!!喜大普奔!!!我总结了一下几种连不上的原因:

1.主机IP和WSL2 IP设置不正确

一定一定要仔细检查这两个地址是否设置正确!!

1.查看主机IP

主机IP也就是在AirSim  setting 文件中设置的LocalHostIp。在主机命令行输入,以下代码

ipconfig

以太网适配器 vEthernet (WSL)” 中的 “IPV4 地址” 即为主机地址。

2.查看WSL2 IP

WSL2 IP也就是AirSim  setting 文件中设置的ControlIp在 Linux 命令行中输入

ip address show

 即可查看 WSL2 的 IP 地址,eth0 inet 后面的就是WSL2的IP地址。

可以分别在Windows端和Linux端试试是否可以相互ping通。

ping + IP

2.电脑防火墙是否允许通过

如果IP地址设置正确,但是ping不通,那就是防火墙的问题了,可能通信被防火墙隔离了。去设置一下允许通过的应用即可(百度即可),我采用了简单粗暴的方法—用的时候直接把防火墙关闭。

3.忘记在rcS文件中添加

更改 Linux 中的 文件:

home/PX4/PX4-Autopilot/ROMFS/px4fmu_common/init.d-posix/rcS

阅读官方文档中的 “PX4 SITL with WSL2”,如果没有以下内容,则可能连不上,将它们加入到该文件中:(要不要添加看PX4版本,有些版本就不用添加)

# If PX4_SIM_HOST_ADDR environment variable is empty use localhost.
 if [ -z "${PX4_SIM_HOST_ADDR}" ]; then
     echo "PX4 SIM HOST: localhost"
     simulator start -c $simulator_tcp_port
 else
     echo "PX4 SIM HOST: $PX4_SIM_HOST_ADDR"
     simulator start -t $PX4_SIM_HOST_ADDR $simulator_tcp_port
 fi

4.PX4版本错误

我的问题最后就是这个原因!!如果前几个都试过了不行的话,那恭喜你,要重新git checkout 其他版本了。

官网在PX4 in SITL - AirSim中提到了,And find the latest stable release fromhttps://github.com/PX4/PX4-Autopilot/releasesand checkout the source code matching that release, for example:

git checkout v1.11.3

我就照着这么做了,但是后来发现是因为这个example v1.11.3版本的问题,这个版本到最后出现了一直等待的情况,最后我又去重新git checkout 其他版本1.12.3就可以连上了。

git checkout v1.12.3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值