我的想法是,我想用树莓派和 Python 作为编程语言来制造带有避障传感器的汽车。
因此,我想为传感器创建一个单独的线程以继续监控传感器,当它检测到障碍物时,它应该直接中断主程序(向电机发出运动命令),让汽车停下来
如果您可以给我代码示例或仅使用虚拟传感器进行模拟。
或者如果有更好的做法请指教。
我的想法是,我想用树莓派和 Python 作为编程语言来制造带有避障传感器的汽车。
因此,我想为传感器创建一个单独的线程以继续监控传感器,当它检测到障碍物时,它应该直接中断主程序(向电机发出运动命令),让汽车停下来
如果您可以给我代码示例或仅使用虚拟传感器进行模拟。
或者如果有更好的做法请指教。
因为没有人能帮助我,而且我找不到解释这个概念的教程。最后我想出了一种方法来做到这一点,我会分享它,以便其他人可以有希望地使用它,或者如果有的话建议我一个更好的做法。
import time
from threading import Thread, current_thread
def monitorSensorThread(arg1):
print "started sensor montiring"
while True:
if(thereisobstacle):
current_thread().interrupt()
def thereisobstacle():
## just virtual sensor to tell if there is an obstacles
time.sleep(5)
return True
def stopMovmentAndLookfornewdirection():
##the interrupt fuction
## in this function i will write somthing to stop the motor and look for another way
print "stoped"
sensorThread = Thread(target=monitorSensorThread, args=(1,))
sensorThread.daemon=True
sensorThread.start()
try:
moveforward()
except KeyboardInterrupt:
print "the main thread interrupted"