模型错误:ASSERT:条件(intersectAt.size()%2)== 0 false函数计算衰减,静脉/模块/障碍物/Obstacle.cc [英] Model error: ASSERT: condition (intersectAt.size() % 2) == 0 false in function calculateAttenuation, veins/modules/obstacle/Obstacle.cc

查看:41
本文介绍了模型错误:ASSERT:条件(intersectAt.size()%2)== 0 false函数计算衰减,静脉/模块/障碍物/Obstacle.cc的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我使用Veins-4a2,并且修改了演示示例的场景.执行仿真时,出现此错误:

I use Veins-4a2 and I have modified the scenario of the demo example. When I executed the simulation, I had this error:

模块(Veins :: ObstacleControl)中的错误RSUExampleScenario.obstacles(id = 2)在事件#22,t = 0.037209:模型错误:ASSERT:条件(intersectAt.size()%2)== 0函数错误计算衰减,静脉/模块/障碍/Obstacle.cc第127行.

Error in module (Veins::ObstacleControl) RSUExampleScenario.obstacles (id=2) at event #22, t=0.037209: Model error: ASSERT: condition (intersectAt.size() % 2) == 0 false in function calculateAttenuation, veins/modules/obstacle/Obstacle.cc line 127.

为什么会发生此错误?您能帮我

Why this error was happened? Can you please help me to

推荐答案

在Veins版本中,有一个已知的错误,其最高版本为4.4,有时会触发一个极端情况,导致发送方和接收方之间的墙数被关闭一.为了确保返回正确的结果或不返回任何结果,如果检测到这种情况,将中止模拟.

There is a known bug in Veins versions up to 4.4, where sometimes a corner case is triggered that results in the number of walls between sender and receiver being off by one. To guarantee that either correct results or no results are returned, the simulation is aborted if such a case is detected.

如果在大型仿真过程中这种情况仅发生了几次,则您可能只想删除此ASSERT语句.

If this happens only a few times during a large simulation, you might simply want to remove this ASSERT statement.

如果这种情况经常发生,则您的障碍物定义可能有误(例如,只有两堵墙的建筑物)

If this happens a lot, your obstacle definitions are likely wrong (e.g., a building with only two walls)

这篇关于模型错误:ASSERT:条件(intersectAt.size()%2)== 0 false函数计算衰减,静脉/模块/障碍物/Obstacle.cc的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆