如何在 Webots 中从 highway_overtake.py 访问 SUMO 车辆?

How to access the SUMO vehicles from highway_overtake.py in Webots?

我正在修改 highway_overtake.py 控制器,以便能够跟踪相邻 SUMO 车辆(以透明彩色框突出显示的车辆)的位置和速度。如何获取林肯车附近的SUMO车辆信息?我想获得在林肯汽车附近突出显示的 SUMO 汽车的位置、加速度、速度等。到目前为止,这是我尝试过的方法:

我相信可以从 SumoSupervisor.py 文件中检索此信息,该文件是 Sumo 界面的控制器文件。但是我也不知道如何在我的 highway_overtake.py 脚本中访问这个文件。

任何可以帮助我解决这个问题的信息都将非常有帮助! 提前致谢。

如果是为了debug,你可以用这个supervisor函数来获取模拟中所有汽车的位置,然后找出哪一辆接近你的目标汽车(你知道哪个ID)。 https://cyberbotics.com/doc/guide/supervisor-programming#tracking-the-position-of-robots

否则,如果您只想使用实际机器可用的功能,请尝试 emitter/receiver 设备。您可以使用信号强度作为接近度的代理,或者,如果有同步刻度,则使用信号接收时间作为接近度检测器。

或者在每辆车上使用 GPS 模块(具有足够高的分辨率)并比较坐标。