我在Windows 10机器上的python3虚拟环境中安装了dronekit-sitl,之前运行dronekit-sitl copter
时没有任何问题。然而,截至今天,我在尝试执行ArduCopter sitl时遇到了似乎是权限问题的问题。
$ dronekit-sitl copter
os: win, apm: copter, release: stable
SITL already Downloaded and Extracted.
Ready to boot.
Execute: C:\Users\kyrlon\.dronekit\sitl\copter-3.3\apm.exe --home=-35.363261,149.165230,584,353 --model=quad -I 0
SITL-0> Started model quad at -35.363261,149.165230,584,353 at speed 1.0
SITL-0.stderr> bind port 5760 for 0
Starting sketch 'ArduCopter'
bind failed on port 5760 - Operation not permitted
Starting SITL input
不确定是什么触发了新的操作权限问题,我尝试用一个新的Python环境重新开始,但即使在完全关闭PC后,我仍然有如上所示的错误。
1条答案
按热度按时间goqiplq21#
事实证明,在我的系统上有docker是罪魁祸首,并且排除了我试图使用的端口,如SO post中所提到的,这导致了我使用这个github issue。
为我提供了以下排除端口的结果:
原来Docker或Hyper-V排除了包括5760的范围:
正如github问题中所提到的,我可能在多次重启后解决了这个问题,这些重启增加了端口范围,或者可能在我的系统上运行docker之前幸运地启动了
dronekit-sitl
。无论哪种方式,要解决 *Operation not permised * 的问题,请以admin身份运行以下命令:解决了dronekit-sitl的问题,无需指定除默认5760之外的其他端口。