【发布时间】:2015-07-19 18:47:34
【问题描述】:
我正在寻求通过 2 个不同流程处理同一车辆的帮助。
我有一个 SITL 实例正在运行。我正在尝试从 DroneKit 脚本的主进程和在同一脚本中生成的子进程连接到同一个实例。
两个连接都可以正常工作(在两种情况下都返回 MPAPIConnection 对象,具有相同的 @ 引用),但在子流程中连接对象似乎不是活动的,并且车辆参数没有更新。
在下面的例子中,无人机移动时主进程返回的位置是实际位置,而子进程返回的位置仍然停留在子进程刚启动时的初始位置。
例子:
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实例中的不同进程访问同一个车辆?
【问题讨论】:
标签: python dronekit-python dronekit