我正在寻找帮助与同一辆车从2个不同的进程。在
我有一个SITL实例正在运行。我尝试从我的DroneKit脚本的主进程和在同一脚本中生成的子进程连接到同一个实例。在
两个连接都工作正常(MPAPIConnection对象在两种情况下都返回,具有相同的@reference),但在子进程中,连接对象似乎不处于活动状态,并且车辆参数不会更新。在
在下面的例子中,无人机移动时主进程返回的位置是实际位置,但子进程返回的位置在子进程第一次启动时仍然停留在初始位置。在
示例:
import time
from pymavlink import mavutil
import multiprocessing
class OtherProcess(multiprocessing.Process):
def __init__(self):
super(OtherProcess,self).__init__()
def run(self):
sp_api = local_connect()
sp_v = api.get_vehicles()[0]
while True:
print "SubProcess : " + str(sp_v.location)
time.sleep(1)
api = local_connect()
v = api.get_vehicles()[0]
sp = OtherProcess()
sp.start()
while True:
print "MainProcess : " + str(v.location)
time.sleep(1)
那么,有没有一种方法可以从同一个mavproxy实例中的不同进程访问同一辆车?在
您应该再试一次——DKPY2(刚刚发布)使用独立的脚本,其设计思想是使用connect()函数返回的每个Vehicle对象都是完全独立的。当然可以在同一个脚本(同一个进程)中连接到不同的车辆,因此很可能您可以从不同的进程连接到同一辆车。在
相关问题 更多 >
编程相关推荐