Package: inet.mobility.single
GaussMarkovMobility
simple moduleUses a Gauss-Markov model to control the randomness in the movement. Totally random walk (Brownian motion) is obtained by setting alpha=0, while alpha=1 results a linear motion.
Inheritance diagram
The following diagram shows inheritance relationships for this type. Unresolved types are missing from the diagram.
Extends
Name | Type | Description |
---|---|---|
MovingMobilityBase | simple module |
Abstract base module for mobility models. |
Parameters
Name | Type | Default value | Description |
---|---|---|---|
coordinateSystemModule | string | "" |
module path of the geographic coordinate system module |
visualizeMobility | bool | true |
false means this mobility module does no visualization |
visualRepresentation | string | "^" |
determines the module that is moved by this mobility |
constraintAreaMinX | double | -1m/0 |
min x position of the constraint area, unconstrained by default (negative infinity) |
constraintAreaMinY | double | -1m/0 |
min y position of the constraint area, unconstrained by default (negative infinity) |
constraintAreaMinZ | double | -1m/0 |
min z position of the constraint area, unconstrained by default (negative infinity) |
constraintAreaMaxX | double | 1m/0 |
max x position of the constraint area, unconstrained by default (positive infinity) |
constraintAreaMaxY | double | 1m/0 |
max y position of the constraint area, unconstrained by default (positive infinity) |
constraintAreaMaxZ | double | 1m/0 |
max z position of the constraint area, unconstrained by default (positive infinity) |
updateInterval | double | 0.1s |
the simulation time interval used to regularly signal mobility state changes and update the display |
alpha | double | 0.5 |
[0;1], 0 - brown motion, 1 - linear motion |
speed | double | ||
angle | double | uniform(0deg, 360deg) | |
variance | double | ||
margin | int |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel | |
class | GaussMarkovMobility |
Signals
Name | Type | Unit |
---|---|---|
mobilityStateChanged | inet::MobilityBase |
Source code
// // Uses a Gauss-Markov model to control the randomness in the movement. // Totally random walk (Brownian motion) is obtained by setting alpha=0, // while alpha=1 results a linear motion. // simple GaussMarkovMobility extends MovingMobilityBase { parameters: double alpha = default(0.5); // [0;1], 0 - brown motion, 1 - linear motion double speed @unit(mps); double angle @unit(deg) = default(uniform(0deg, 360deg)); double variance; int margin @unit(m); @class(GaussMarkovMobility); }File: src/inet/mobility/single/GaussMarkovMobility.ned