我试图通过编辑Webots 中现有的highway_overtaking.wbt 来模拟超车场景,以观察切换车道前指示灯的开/关。如何使用驱动程序库来执行此操作?
在修改后的场景中,我目前在中间车道上只有 3 辆汽车,灰色林肯汽车位于其他 2 辆汽车之间。我使用 setIndicator() 函数来设置指示灯(如下面的代码片段所示)但是当林肯汽车超过前面的汽车时,我没有观察到任何变化。
以下是修改后的代码片段,来自highway_overtaking.py 文件
if (is_vehicle_on_side("left") and
(not safeOvertake or sensors["rear left"].getValue() > 0.8 * sensors["rear left"].getMaxValue()) and
sensors["left"].getValue() > 0.8 * sensors["left"].getMaxValue() and
currentLane < 2):
driver.setIndicator(1)
currentLane += 1
overtakingSide = 'right'
lane_change = True
elif (is_vehicle_on_side("right") and
(not safeOvertake or sensors["rear right"].getValue() > 0.8 * sensors["rear right"].getMaxValue()) and
sensors["right"].getValue() > 0.8 * sensors["right"].getMaxValue() and
currentLane > 0):
driver.setIndicator(2)
currentLane -= 1
overtakingSide = 'left'
lane_change = True
我使用 getIndicator() 函数读取了指标的值,并观察到当我将其设置为 1 时,指标值从 0 变为 1。但我没有观察到窗口上的指示灯改变颜色。请帮忙!