Package: inet.mobility.single
TractorMobility
simple moduleMoves a tractor through a field with a certain amount of rows. Since the tractor also moves around the field, the tractor travels the number of rows PLUS one rows. Consider the following piece of ascii-art for rows=2.
>>>>>>>>>>>>>>>v ^ v ^ v <<<<<<<<<<<<<<<< v ^ v ^ >>>>>>>>>>>>>>>^
NOTE: Does not yet support 3-dimensional movement.
Author: Peterpaul Klein Haneveld
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 |
|---|---|---|---|
| subjectModule | string | "^" |
module path which determines the subject module, the motion of which this mobility model describes, the default value is the parent module |
| coordinateSystemModule | string | "" |
module path of the geographic coordinate system module |
| displayStringTextFormat | string | "p: %p\nv: %v" |
format string for the mobility module's display string text |
| updateDisplayString | bool | true |
enables continuous update of the subject module's position via modifying its display string |
| constraintAreaMinX | double | -inf m |
min x position of the constraint area, unconstrained by default (negative infinity) |
| constraintAreaMinY | double | -inf m |
min y position of the constraint area, unconstrained by default (negative infinity) |
| constraintAreaMinZ | double | -inf m |
min z position of the constraint area, unconstrained by default (negative infinity) |
| constraintAreaMaxX | double | inf m |
max x position of the constraint area, unconstrained by default (positive infinity) |
| constraintAreaMaxY | double | inf m |
max y position of the constraint area, unconstrained by default (positive infinity) |
| constraintAreaMaxZ | double | inf m |
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 |
| faceForward | bool | true | |
| speed | double | ||
| x1 | double | ||
| y1 | double | ||
| x2 | double | ||
| y2 | double | ||
| rowCount | int |
the number of rows on the field |
Properties
| Name | Value | Description |
|---|---|---|
| display | i=block/cogwheel | |
| class | TractorMobility |
Signals
| Name | Type | Unit |
|---|---|---|
| mobilityStateChanged | inet::MobilityBase |
Scheduled messages (observed)
| msg | kind | ctrl | tags | msgname | context |
|---|---|---|---|---|---|
| omnetpp::cMessage | 0 | move |
Source code
// // Moves a tractor through a field with a certain amount of rows. // Since the tractor also moves around the field, the tractor travels // the number of rows PLUS one rows. Consider the following piece of // ascii-art for rows=2. // // <pre> // >>>>>>>>>>>>>>>v // ^ v // ^ v // <<<<<<<<<<<<<<<< // v ^ // v ^ // >>>>>>>>>>>>>>>^ // </pre> // // NOTE: Does not yet support 3-dimensional movement. // @author Peterpaul Klein Haneveld // simple TractorMobility extends MovingMobilityBase { parameters: double speed @unit(mps); double x1 @unit(m); double y1 @unit(m); double x2 @unit(m); double y2 @unit(m); int rowCount; // the number of rows on the field @class(TractorMobility); }File: src/inet/mobility/single/TractorMobility.ned