【发布时间】: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
此运行时错误在模拟过程中导致。是什么导致了这个错误?
【问题讨论】: