gpt4 book ai didi

c++ - 在 NS-3 中使用 Ramdomwaypoint 模型时如何设置位置分配器

转载 作者:太空宇宙 更新时间:2023-11-04 13:00:01 30 4
gpt4 key购买 nike

我尝试通过将移动模型名称 (RandomWalk2dMobilityModel) 替换为 RandomWaypointMobilityModel 来更改示例代码 (third.cc)。运行代码后,结果是这样的输出

assert failed. cond="m_position", msg="No position allocator added before using this model"

所以基本上这是与错误消息最相关的代码

MobilityHelper 移动性;

mobility.SetPositionAllocator ("ns3::GridPositionAllocator",

"MinX", DoubleValue (0.0),

"MinY", DoubleValue (0.0),

"DeltaX", DoubleValue (5.0),

"DeltaY", DoubleValue (10.0),

"GridWidth", UintegerValue (3),

"LayoutType", StringValue ("RowFirst"));

//mobility.SetMobilityModel ("ns3::RandomWalk2dMobilityModel", //"边界", RectangleValue (Rectangle (-50, 50, -50, 50)));

mobility.SetMobilityModel ("ns3::RandomWaypointMobilityModel");
mobility.Install (wifiStaNodes);

mobility.SetMobilityModel ("ns3::ConstantPositionMobilityModel");

mobility.Install (wifiApNode);

我感到困惑的是在设置移动模型之前,已经设置了它适用于 randomwalk2d 的 position allocator,但是,显然它不适用于 randomwaypoint 模型。那么如何处理呢?如果有人可以帮助我解决这个问题,我将不胜感激。

非常感谢。

最佳答案

当您使用 RandomWayPointModel 时,实际上应该有两个位置分配器。

  • 第一个,您已经使用过的,用于节点的初始位置。

  • 第二个是 RandomWayPointModel 的属性,用于选择目标点。请引用documentation更多细节。

关于c++ - 在 NS-3 中使用 Ramdomwaypoint 模型时如何设置位置分配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44593991/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com