【问题标题】:Error while converting a VeinsInetCar to an RSU将 VeinsInetCar 转换为 RSU 时出错
【发布时间】:2021-04-19 13:07:30
【问题描述】:

我尝试通过将移动性更改为固定移动性来使用 VeinsInetCar 模块作为 rsu

# VeinsInetMobility
*.node[*].mobility.typename = "VeinsInetMobility"
*.wifirsu.mobility.typename = "StationaryMobility"

我将 VeinsInetSampleApplication 用于车辆,并为 rsu 稍作更改。创建了一个新的 VeinsInetApplicationBase 并删除了 traci 和mobility 部分。

void VeinsInetApplicationBase::handleStartOperation(LifecycleOperation* operation)
{
    mobility = veins::VeinsInetMobilityAccess().get(getParentModule());
    traci = mobility->getCommandInterface();
    traciVehicle = mobility->getVehicleCommandInterface();

    L3AddressResolver().tryResolve("224.0.0.1", destAddress);
    ASSERT(!destAddress.isUnspecified());

然后删除了与 traci 相关的变量,并将其替换为 RSU 的静脉 InetSampleApplication 中的虚拟变量。现在,当我尝试运行模拟时,它会导致此错误。

check_and_cast(): Cannot cast (inet::physicallayer::Ieee80211ScalarTransmission*) to type 'const inet::physicallayer::DimensionalTransmission *' -- in module (inet::physicallayer::Ieee80211Radio) Scenario.node[0].wlan[0].radio 

此运行时错误在模拟过程中导致。是什么导致了这个错误?

【问题讨论】:

    标签: omnet++ veins inet


    【解决方案1】:

    我的猜测是您为名为@9​​87654321@ 的节点配置了一组参数,为名为@9​​87654322@ 的节点配置了另一组参数。您的.ini 文件可能主要列出了名为node[*] 的节点的参数,并为名为@9​​87654325@ 的节点保留了许多参数的默认值。这可能会导致您的模拟对一种类型的节点使用“标量”单选,而对其他类型的节点使用“维度”单选,这会导致您显示的错误消息。

    【讨论】:

      猜你喜欢
      • 2019-07-05
      • 2020-09-06
      • 2016-04-07
      • 2013-08-28
      • 2016-11-23
      • 2019-01-22
      • 1970-01-01
      • 2014-04-04
      • 2014-12-06
      相关资源
      最近更新 更多