...
- ACOMMS_SCHEDULER_OFFSET - the estimated offset of the receive start
- ACOMMS_SCHEDULER_DURATION - the estimated duration of the receive
- ACOMMS_SCHEDULER_STATE - current state: 0=unlocked, 1-3=locked (pre, mid, post), 4=unset (no observation)
—
...
pMarinePID_Hover
A slightly modified version of the pMarinePID application included with MOOS-IvP. Differential control is properly implemented by the following equation:
...
The PID is only run when heading has been within ANGLE_LIMIT of the desired heading for at least TIME_DELAY seconds. Even when the PID is not running, the last output of the PID will still be added to the thrust determined by the fit.
...
pAckedComms(Shoreside/Vehicle)
The AckedComms application provides, as its name would imply, a way of sending acknowledged commands to vehicles from shoreside. TCP is not reliable over a lossy wireless link, so AckedComms simply repeats messages until it receives an ack, up to a set number of retries. It also simplifies shoreside configuration by reducing the number of pShare config lines required.
Example shoreside config:
Code Block |
---|
ProcessConfig = pAckedCommsShoreside
{
IterateMode = 1 // comms driven iterate and mail
AppTick = 20 // iterate lower bound
MaxAppTick = 0 // no limit
vehicles = NOSTROMO,SILVANA,KESTREL,ICARUS
BRIDGE = var=MISSION_MODE,repeat=5,delay=0.5
BRIDGE = var=MOOS_MANUAL_OVERRIDE,repeat=5,delay=0.5
BRIDGE = var=GOTO_UPDATES,repeat=5,delay=0.5
BRIDGE = var=SCHEDULED_TRANSMITS,repeat=5,delay=0.5
} |
Each variable you wish to bridge uses its own config line. Repeat and delay set the max number of retries and the delay between consecutive tries. For each variable $VAR, the vehicle will subscribe to $VAR_ALL and $VAR_$VEHICLE for each defined vehicle name. When sending a transmission, pAckedCommsShoreside will post to ACKEDCOMMS_TRANSMIT_$VEHICLE, so pShare should be configured to bridge it to the appropriate vehicle.
The acknowledging app on the vehicles is pAckedCommsVehicle and requires no configuration. It simply listens for incoming transmissions, parses them when received, and posts an acknowledgement to ACKEDCOMMS_RETURN_ACK. This variable should be bridged back to shoreside on every vehicle.