我是OMNeT++的新手,我正在尝试实现一个无人机网络,通过直接消息相互通信。
我想用OMNeT中使用OsgVisualizer in inet.visualizer.scene软件包的三维可视化来可视化我的无人机网络。
在dronenetwork.ned文件中,我使用了IntegratedVisualizer和OsgGeographicCoordinateSystem。然后在omnetpp.ini文件中定义了要使用的地图文件,使得无人机的地图加载和移动性在仿真运行的三维可视化中发挥了良好的作用。
然而,无人机之间的信息传输无法在3D中可视化,即使这是在2D画布模式下被正确可视化的。
我尝试将NetworkNodeOsgVisualizer和NetworkConnectionOsgVisualizer添加到我的无人机模块中,作为可视化的简单模块,我还将无人机定义为@networkNode和@networkConnectionNode。但它仍然无法想象信息的传输。
任何有关这方面的帮助或暗示都将不胜感激。
用于简单模块无人机中可视化的代码如下所示
import inet.visualizer.scene.NetworkNodeOsgVisualizer;
import inet.visualizer.scene.NetworkConnectionOsgVisualizer;
module drone
{
parameters:
@networkNode;
@networkConnection;
submodules:
networkNodeOsgVisualizer: NetworkNodeOsgVisualizer {
@display("p=207,50");
displayModuleName = true;
visualizationTargetModule = "^.^";
visualizationSubjectModule = "wirelessInterface.^.^";
}
networkConnectionOsgVisualizer : NetworkConnectionOsgVisualizer{
visualizationTargetModule = "^.^";
visualizationSubjectModule = "wirelessInterface.^.^";
displayNetworkConnections = true;
}
谢谢
发布于 2021-07-07 14:45:03
消息传递和直接消息发送可视化是Qtenv为二维(默认)可视化(仅为)自动实现的特例。您可以添加定制的2D消息可视化(如aloha示例中的)。默认情况下,OMNeT++不提供任何三维可视化。所有代码都必须由模型提供(在这种情况下是INET)。这也适用于任何瞬态可视化。在osg地球omnet的例子中有一个例子,在这个例子中,母牛之间的交流是通过膨胀的气泡来可视化的。
所以,你必须实现你自己的可视化效果。INET中有一些非常接近您需要的东西:DataLinkOsgVisualizer
和PhysicalLinkOsgVisualizer
,如果在数据链路或物理层上发生通信,则会闪烁箭头。这与消息传递不同,但足够接近。或者您可以使用这些可视化器作为示例来实现自己的动画。
https://stackoverflow.com/questions/68287813
复制相似问题