【发布时间】:2018-04-17 03:18:03
【问题描述】:
所以我正在尝试构建一个可以自动驾驶的机器人。为此,我需要机器人向前行驶并同时检查距离。如果距离小于首选距离,则停止向前移动。到目前为止,我已经在下面编写了这段代码,但它似乎并没有同时运行,而且它们也没有交互。我怎样才能使这两个功能确实相互作用。如果需要更多信息,我很乐意为您提供。谢谢!
from multiprocessing import Process
from TestS import distance
import Robot
import time
constant1 = True
min_distance = 15
def forward():
global constant1:
robot.forward(150) #forward movement, speed 150
time.sleep(2)
def distance_check():
global constant1
while constant1:
distance() #checking distance
dist = distance()
return dist
time.sleep(0.3)
if dist < min_distance:
constant1 = False
print 'Something in the way!'
break
def autonomy(): #autonomous movement
while True:
p1 = Process(target=forward)
p2 = Process(target=distance_check)
p1.start() #start up 2 processes
p2.start()
p2.join() #wait for p2 to finish
【问题讨论】:
-
你能解释一下为什么他们不
seem to run simultaniously或互动吗?你怎么知道的?
标签: python python-3.x python-multiprocessing python-multithreading