SUMO建筑物多边形在Veins仿真运行时不显示问题排查求助
问题根因
你当前的配置存在三个核心问题导致Veins仿真界面无法显示建筑物:
ObstacleControl模块没有正确加载t_intersection.poly.xml建筑物文件,错误配置为从不存在的config.xml读取障碍物配置- NED网络文件仅配置了道路可视化模块,缺少专门的障碍物可视化模块,无法将加载的建筑物渲染到OMNeT++画布上
- 未验证Veins启动SUMO的launchd.xml配置是否正确加载了poly附加文件
可行解决方案
1. 修正obstacles加载配置
修改omnetpp.ini中的障碍物加载配置,直接指向你的poly文件:
*.obstacles.obstacles = xmldoc("t_intersection.poly.xml")
2. NED文件新增建筑物可视化模块
在网络.ned的WirelessNetwork的submodules块中添加ObstacleCanvasVisualizer模块:
obstacleCanvasVisualizer: ObstacleCanvasVisualizer { @display("p=3500,2246"); }
3. 校验launchd.xml配置
打开t_intersection.launchd.xml,确保已将poly文件作为附加文件加入SUMO启动配置,参考配置如下:
<launch> <copy file="t_intersection.sumocfg" type="sumocfg"/> <copy file="t_intersection.net.xml" type="net"/> <copy file="t_intersection.rou.xml" type="route"/> <copy file="t_intersection.poly.xml" type="additional"/> <sumo autostart="true" /> </launch>
4. 可选优化显示效果
如果需要调整建筑物显示样式,可在omnetpp.ini中添加可视化参数:
*.obstacleCanvasVisualizer.fillColor = "red" *.obstacleCanvasVisualizer.lineColor = "black"
修改完成后确认所有引用的文件路径与仿真工作目录匹配,重新运行仿真即可正常显示建筑物。
内容的提问来源于stack exchange,提问作者Nehal
相关产品推荐
相关产品推荐

