我正在模拟一个场景,我想动态添加和/或删除多边形。但是,当我尝试添加多边形时,系统会生成以下错误;
<!> ASSERT: Condition 'result == RTYPE_OK' does not hold in function 'query' at veins/modules/mobility/traci/TraCIConnection.cc:119 -- in module (TraCIDemo11p) RSUExampleScenario.node[1].appl (id=14), at t=1.1s, event #12
我调试代码,发现 TraciConnection 没有返回 RTYPE_OK。如果我删除断言语句,代码就可以正常工作。但是,我想了解这背后的逻辑。
我还看到 SUMO 控制台给出错误消息。我用来添加多边形的代码是;
traci->addPolygon(polyId, polyType, color, filled, layer, points);
相扑:0.32 Omnet:5.4.1 静脉:4.7
如有任何建议,我们将不胜感激。我是 GUI 相关事物的初学者。抱歉,如果问题没有意义。谢谢。
很可能 SUMO 拒绝添加您请求的多边形。也许您选择的 ID 已经存在于模拟中。
要找出 SUMO 抱怨的原因,您可以更改其源代码以包含调试输出 - 或者您可以在调试器中运行 SUMO。
要在调试器中运行 SUMO,最简单的解决方案是从使用
TraCIScenarioManagerLaunchd
切换到 TraCIScenarioManager
(可能通过更改 veins/nodes/Scenario.ned
)并在调试器中手动启动 SUMO(例如,通过运行 lldb sumo -- --remote-port 9999 -c erlangen.sumo.cfg
)
我正在使用 libtraci 库,我想围绕我的车辆制作一个圆圈,因为我需要多边形,但在 Polygon::add() 中,这个参数是形状,数据类型是 TraCIPositionvector,所以我怎样才能制作出这个形状呢?请帮忙