0
我在尋找使用來自2個不同過程的相同車輛的幫助。Dronekit API Python:如何從兩個不同的進程連接到同一輛車?
我有一個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實例內訪問來自不同的過程相同的車輛的方法嗎?
是的,我跟着關於github的DKPY2討論,我會再試一次。否則,使用DKPY1代理管理器是必要的。謝謝 ! – benblass
我認爲你對DKPY2有效運作的機會相當高 - 但DKPY1很低 - 這根本不是設計要求。 –