Package: inet.mobility.single
ConstSpeedMobility
simple moduleControls all movement related things of a host
ConstSpeedMobility does not use one of the standard mobility approaches. The user can define a velocity for each Host and an update interval. If the velocity is greater than zero (i.e. the Host is not stationary) the ConstSpeedMobility module calculates a random target position for the Host. Every update interval ConstSpeedMobility calculates the new position on its way to the target position and updates the display. Once the target position is reached ConstSpeedMobility calculates a new target position.
This component has been taken over from Mobility Framework 1.0a5.
Author: Steffen Sroka, Marc Loebbers, Daniel Willkomm
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 |
speed | double |
speed of the host |
|
initialX | double | uniform(constraintAreaMinX, constraintAreaMaxX) | |
initialY | double | uniform(constraintAreaMinY, constraintAreaMaxY) | |
initialZ | double | nanToZero(uniform(constraintAreaMinZ, constraintAreaMaxZ)) | |
initFromDisplayString | bool | true |
Properties
Name | Value | Description |
---|---|---|
display | i=block/cogwheel | |
class | ConstSpeedMobility |
Signals
Name | Type | Unit |
---|---|---|
mobilityStateChanged | inet::MobilityBase |
Source code
// // Controls all movement related things of a host // // ~ConstSpeedMobility does not use one of the standard mobility approaches. // The user can define a velocity for each Host and an update interval. If // the velocity is greater than zero (i.e. the Host is not stationary) the // ~ConstSpeedMobility module calculates a random target position for the Host. // Every update interval ~ConstSpeedMobility calculates the new position on its // way to the target position and updates the display. Once the target position // is reached ~ConstSpeedMobility calculates a new target position. // // This component has been taken over from Mobility Framework 1.0a5. // // @author Steffen Sroka, Marc Loebbers, Daniel Willkomm // simple ConstSpeedMobility extends MovingMobilityBase { parameters: double speed @unit(mps); // speed of the host double initialX @unit(m) = default(uniform(constraintAreaMinX, constraintAreaMaxX)); double initialY @unit(m) = default(uniform(constraintAreaMinY, constraintAreaMaxY)); double initialZ @unit(m) = default(nanToZero(uniform(constraintAreaMinZ, constraintAreaMaxZ))); bool initFromDisplayString = default(true); @class(ConstSpeedMobility); }File: src/inet/mobility/single/ConstSpeedMobility.ned