TractorMobility¶
Package: inet.mobility.single
simple module TractorMobility
Moves a tractor through a field with a certain number of rows. Since the tractor also moves around the field, the tractor travels the number of rows PLUS one row. 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¶
Extends¶
Name |
Type |
Description |
|---|---|---|
simple module |
Abstract base module for mobility models. |
Parameters¶
Name |
Type |
Default value |
Description |
|---|---|---|---|
displayStringTextFormat |
string |
“p: {position}\nv: {velocity}” |
Determines the text that is written on top of the submodule, supports displaying pars, watches, and module-specific information |
subjectModule |
string |
“^” |
The module path that determines the subject module, the motion of which this mobility model describes. The default value is the parent module |
coordinateSystemModule |
string |
“” |
The module path of the geographic coordinate system module; optional, empty disables geographic conversion (and the {geo_position} directive) |
updateDisplayString |
bool |
true |
Enables continuous update of the subject module’s position by modifying its display string |
constraintAreaMinX |
double |
-inf m |
The minimum x position of the constraint area. It is unconstrained by default (negative infinity) |
constraintAreaMinY |
double |
-inf m |
The minimum y position of the constraint area. It is unconstrained by default (negative infinity) |
constraintAreaMinZ |
double |
-inf m |
The minimum z position of the constraint area. It is unconstrained by default (negative infinity) |
constraintAreaMaxX |
double |
inf m |
The maximum x position of the constraint area. It is unconstrained by default (positive infinity) |
constraintAreaMaxY |
double |
inf m |
The maximum y position of the constraint area. It is unconstrained by default (positive infinity) |
constraintAreaMaxZ |
double |
inf m |
The maximum z position of the constraint area. It is 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 |
|---|---|---|
class |
TractorMobility |
|
display |
i=block/cogwheel |
Signals¶
Name |
Type |
Unit |
Description |
|---|---|---|---|
mobilityStateChanged |
inet::MobilityBase |
It works in inet, but not in the extended module in another namespace |
Source code¶
//
// Moves a tractor through a field with a certain number of rows.
// Since the tractor also moves around the field, the tractor travels
// the number of rows PLUS one row. 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);
}