如何在 Webots 中从 highway_overtake.py 访问 SUMO 车辆?
How to access the SUMO vehicles from highway_overtake.py in Webots?
我正在修改 highway_overtake.py 控制器,以便能够跟踪相邻 SUMO 车辆(以透明彩色框突出显示的车辆)的位置和速度。如何获取林肯车附近的SUMO车辆信息?我想获得在林肯汽车附近突出显示的 SUMO 汽车的位置、加速度、速度等。到目前为止,这是我尝试过的方法:
- 我已将林肯 MKZ 车辆节点的高速公路超车世界中的 'supervisor' 字段更改为 TRUE。
- 我从 higway_overtake.py 控制器文件中的控制器导入了 Supervisor。
- 我尝试调用 traci 函数 getIDList() 和 getPosition(),但它给出了一个错误,指出控制器没有任何此类属性。
我相信可以从 SumoSupervisor.py 文件中检索此信息,该文件是 Sumo 界面的控制器文件。但是我也不知道如何在我的 highway_overtake.py 脚本中访问这个文件。
任何可以帮助我解决这个问题的信息都将非常有帮助!
提前致谢。
如果是为了debug,你可以用这个supervisor函数来获取模拟中所有汽车的位置,然后找出哪一辆接近你的目标汽车(你知道哪个ID)。
https://cyberbotics.com/doc/guide/supervisor-programming#tracking-the-position-of-robots
否则,如果您只想使用实际机器可用的功能,请尝试 emitter/receiver 设备。您可以使用信号强度作为接近度的代理,或者,如果有同步刻度,则使用信号接收时间作为接近度检测器。
或者在每辆车上使用 GPS 模块(具有足够高的分辨率)并比较坐标。
我正在修改 highway_overtake.py 控制器,以便能够跟踪相邻 SUMO 车辆(以透明彩色框突出显示的车辆)的位置和速度。如何获取林肯车附近的SUMO车辆信息?我想获得在林肯汽车附近突出显示的 SUMO 汽车的位置、加速度、速度等。到目前为止,这是我尝试过的方法:
- 我已将林肯 MKZ 车辆节点的高速公路超车世界中的 'supervisor' 字段更改为 TRUE。
- 我从 higway_overtake.py 控制器文件中的控制器导入了 Supervisor。
- 我尝试调用 traci 函数 getIDList() 和 getPosition(),但它给出了一个错误,指出控制器没有任何此类属性。
我相信可以从 SumoSupervisor.py 文件中检索此信息,该文件是 Sumo 界面的控制器文件。但是我也不知道如何在我的 highway_overtake.py 脚本中访问这个文件。
任何可以帮助我解决这个问题的信息都将非常有帮助! 提前致谢。
如果是为了debug,你可以用这个supervisor函数来获取模拟中所有汽车的位置,然后找出哪一辆接近你的目标汽车(你知道哪个ID)。 https://cyberbotics.com/doc/guide/supervisor-programming#tracking-the-position-of-robots
否则,如果您只想使用实际机器可用的功能,请尝试 emitter/receiver 设备。您可以使用信号强度作为接近度的代理,或者,如果有同步刻度,则使用信号接收时间作为接近度检测器。
或者在每辆车上使用 GPS 模块(具有足够高的分辨率)并比较坐标。