<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\twocolumn[\section{Appendix - MOOS Files for Single Vehicle Example Missions}\label{alpha_moos}

\refstepcounter{alisting}
{\em {Listing \thesection.\arabic{alisting} The MOOS File for Examples 1-3 (filename: alpha.moos)}} \\
\vspace{0.0in}]

\scriptsize
\begin{verbatim}
  0 ServerHost = localhost
  1 ServerPort = 9000
  2 Simulator  = true
  3 Community  = alpha
  4 LatOrigin  = 42.3584
  5 LongOrigin = -71.08745
  6      
  7 //------------------------------------------
  8 ProcessConfig = ANTLER
  9 {
 10   MSBetweenLaunches = 200
 11   
 12   Run = MOOSDB          @ NewConsole = true
 13   Run = iMarineSim      @ NewConsole = true
 14   Run = pEchoVar        @ NewConsole = true
 15   Run = pLogger         @ NewConsole = true
 16   Run = pTransponderAIS @ NewConsole = true
 17   Run = pMarinePID      @ NewConsole = true
 18   Run = pMarineViewer   @ NewConsole = true
 19   Run = pHelmIvP        @ NewConsole = true
 20   Run = iRemote         @ NewConsole = true
 21 }
 22 //------------------------------------------
 23 ProcessConfig = iMarineSim
 24 {
 25   AppTick	= 4
 26   CommsTick	= 4
 27 
 28   START_POS = 10,-40,180,0
 29 }
 30 //------------------------------------------
 31 ProcessConfig = pHelmIvP
 32 {
 33   AppTick    = 4
 34   CommsTick  = 4
 35
 36   Domain     = course:0:359:360
 37   Domain     = speed:0:3:16
 38   Behaviors  = foobar.bhv
 39   VERBOSE    = terse
 40 }
 41 //------------------------------------------
 42 ProcessConfig = pMarinePID
 43 {
 44   AppTick    = 4
 45   CommsTick  = 4
 46   Verbose    = true
 47    
 48   DEPTH_CONTROL = false
 49   MAXRUDDER     = 100
 50   MAXTHRUST     = 100
 51    
 52   YAW_PID_KP               = 0.5
 53   YAW_PID_KD               = 0.0
 54   YAW_PID_KI               = 0.0
 55   YAW_PID_INTEGRAL_LIMIT   = 0.07
 56   SPEED_PID_KP             = 1.0
 57   SPEED_PID_KD             = 0.0
 58   SPEED_PID_KI             = 0.0
 59   SPEED_PID_INTEGRAL_LIMIT = 0.07
 60   SPEED_FACTOR             = 20
 61 }
 62 //------------------------------------------
 63 ProcessConfig = iRemote
 64 {
 65   CustomKey = 1 : HELM_VERBOSE @ "verbose"
 66   CustomKey = 2 : HELM_VERBOSE @ "terse"
 67   CustomKey = 3 : HELM_VERBOSE @ "quiet"
 68   CustomKey = 4 : DEPLOY       @ "true"
 69   CustomKey = 5 : RETURN       @ "true"
 70 }
 71 //------------------------------------------
 72 ProcessConfig = pLogger
 73 {
 74   AppTick       = 20
 75   CommsTick     = 20
 76   File          = alpha
 77   PATH          = ./datafiles
 78   SyncLog       = true @ 0.2
 79   AsyncLog      = true
 80   FileTimeStamp = true
 81   Log           = NAV_X       @ 0.1
 82   Log           = NAV_Y       @ 0.1
 83   Log           = NAV_HEADING @ 0.1
 84   Log           = NAV_SPEED   @ 0.1
 85 }
 86 //------------------------------------------
 87 ProcessConfig = pEchoVar
 88 {
 89   AppTick   = 20
 90   CommsTick = 20
 91   Echo      = MARINESIM_X       -&gt; NAV_X
 92   Echo      = MARINESIM_Y       -&gt; NAV_Y
 93   Echo      = MARINESIM_HEADING -&gt; NAV_HEADING
 94   Echo      = MARINESIM_SPEED   -&gt; NAV_SPEED
 95 }
 96 //------------------------------------------
 97 ProcessConfig = pTransponderAIS
 98 {
 99   AppTick       = 2
100   CommsTick     = 2
101   VESSEL_TYPE   = KAYAK
102 }
\end{verbatim}
\normalsize
\onecolumn


\refstepcounter{alisting}
\twocolumn[{\em {Listing \thesection.\arabic{alisting} The MOOS File for Example M1 (filename: vehicle1.moos)}}\\]
\label{vehi_one_moos}

\vspace{0.3in}

\scriptsize
\begin{verbatim}
  1  ServerHost = localhost
  2  ServerPort = 9201
  3  Simulator  = true
  4    
  5  // Community name IS the vehicle name
  6  Community  = vehicle1
  7    
  8  LatOrigin  = 42.3584
  9  LongOrigin = -71.08745
 10     
 11  //------------------------------------------
 12  ProcessConfig = ANTLER
 13  {
 14    MSBetweenLaunches = 200
 15     
 16    Run = MOOSDB          @ NewConsole = false
 17    Run = iMarineSim      @ NewConsole = false
 18    Run = pMOOSBridge     @ NewConsole = false  \
       ~ pMOOSBridge_1
 19    Run = pEchoVar        @ NewConsole = false
 20    Run = pLogger         @ NewConsole = false
 21    Run = pTransponderAIS @ NewConsole = false
 22    Run = pMarinePID      @ NewConsole = false
 23    Run = pHelmIvP        @ NewConsole = false
 24    Run = uProcessWatch   @ NewConsole = false
 25  }
 26  //------------------------------------------
 27  ProcessConfig = pMOOSBridge_1
 28  {
 29    AppTick    = 4
 30    CommsTick  = 4
 31    
 32    SHARE = [AIS_REPORT_LOCAL]   -&gt; shoreside  \
       @ localhost:9123 [AIS_REPORT]
 33    SHARE = [VIEW_POLYGON]       -&gt; shoreside  \
       @ localhost:9123 [VIEW_POLYGON]
 34    SHARE = [VIEW_POINT]         -&gt; shoreside  \
       @ localhost:9123 [VIEW_POINT]
 35    SHARE = [PROC_WATCH_SUMMARY] -&gt; shoreside  \
       @ localhost:9123 [PROC_WATCH_SUMMARY_VH1]
 36    
 37    SHARE = [AIS_REPORT_LOCAL]   -&gt; vehicle1   \
       @ localhost:9201 [AIS_REPORT]
 38    SHARE = [AIS_REPORT_LOCAL]   -&gt; vehicle2   \
       @ localhost:9202 [AIS_REPORT]
 39  }
 40  //------------------------------------------
 41  ProcessConfig = iMarineSim
 42  {
 43    AppTick   = 10
 44    CommsTick = 10
 45    
 46    START_POS = 10,-10,180,0
 47  }
 48  //------------------------------------------
 49  ProcessConfig = pHelmIvP
 50  {
 51    AppTick      = 4
 52    CommsTick    = 4
 53    
 54    Behaviors    = vehicle1.bhv  
 55    Verbose      = false
 56    Domain       = course:0:359:360
 57    Domain       = speed:0:5:26
 58    ACTIVE_START = true
 59  }
 60  //------------------------------------------
 61  ProcessConfig = pMarinePID
 62  {
 63    AppTick       = 10
 64    CommsTick     = 10
 65    
 66    VERBOSE       = true
 67    DEPTH_CONTROL = false
 68    ACTIVE_START  = true
 69    
 70    // Yaw PID controller
 71    YAW_PID_KP		 = 0.4
 72    YAW_PID_KD		 = 0.1
 73    YAW_PID_KI		 = 0.0
 74    YAW_PID_INTEGRAL_LIMIT = 0.07
 75    
 76    // Speed PID controller
 77    SPEED_PID_KP             = 1.0
 78    SPEED_PID_KD             = 0.0
 79    SPEED_PID_KI             = 0.0 
 80    SPEED_PID_INTEGRAL_LIMIT = 0.07
 81    
 82    // Maximums
 83    MAXRUDDER  = 100
 84    MAXTHRUST  = 100
 85    
 86    // Non-zero SPEED_FACTOR overrides SPEED_PID
 87    // DES_THRUST = DES_SPEED * SPEED_FACTOR
 88    SPEED_FACTOR = 20
 89  }
 90  //------------------------------------------
 91  ProcessConfig = pLogger
 92  {
 93    AppTick    = 10
 94    CommsTick  = 10
 95    
 96    File          = M1_V1_
 97    PATH          = ./
 98    SyncLog       = true @ 0.2
 99    AsyncLog      = true
100    FileTimeStamp = true
101    
102    // PID Output
103    Log = DESIRED_THRUST     @ 0
104    Log = DESIRED_RUDDER     @ 0
105    
106    // Helm Output
107    Log = DESIRED_SPEED      @ 0
108    Log = DESIRED_HEADING    @ 0
109    Log = HELM_ACTIVE_BHV    @ 0   NOSYNC
110    Log = HELM_NONIDLE_BHV   @ 0   NOSYNC
111    log = DEPLOY             @ 0   NOSYNC
112    
113    // Vehicle-Level IO
114    Log = PROC_WATCH_SUMMARY @ 0   NOSYNC
115    Log = PROC_WATCH_EVENT   @ 0   NOSYNC
116    Log = AIS_REPORT_LOCAL   @ 0   NOSYNC
117    Log = AIS_REPORT         @ 0   NOSYNC
118    
119    // Navigation information
120    Log = NAV_X              @ 0
121    Log = NAV_Y              @ 0
122    Log = NAV_HEADING        @ 0
123    Log = NAV_SPEED          @ 0
124  }
125  //------------------------------------------
126  ProcessConfig = pEchoVar
127  {
128    AppTick   = 20
129    CommsTick = 20
130    
131    Echo = MARINESIM_X       -&gt;  NAV_X
132    Echo = MARINESIM_Y       -&gt;  NAV_Y
133    Echo = MARINESIM_HEADING -&gt;  NAV_HEADING
134    Echo = MARINESIM_SPEED   -&gt;  NAV_SPEED
135  }
136  //------------------------------------------
137  ProcessConfig = pTransponderAIS
138  {
139    AppTick     = 5
140    CommsTick   = 5
141    VESSEL_TYPE = KAYAK
142  }
143  //------------------------------------------
144  ProcessConfig = uProcessWatch
145  {
146    AppTick   = 2
147    CommsTick = 2
148    
149    WATCH  = iMarineSim
150    WATCH  = pMOOSBridge*
151    WATCH  = pEchoVar
152    WATCH  = pLogger
153    WATCH  = pTransponderAIS
154    WATCH  = pMarinePID
155    WATCH  = pHelmIvP
156  }
\end{verbatim}
\normalsize

\refstepcounter{alisting}
\twocolumn[{\em {Listing \thesection.\arabic{alisting} The User MOOS File for Example M1 
(filename: ShoreSide.moos)}}\\]
\label{shoreside_moos}

\vspace{0.3in}

\scriptsize
\begin{verbatim}
 1  ServerHost = localhost
 2  ServerPort = 9123
 3  Community  = shoreside
 4  LatOrigin  = 42.3584
 5  LongOrigin = -71.08745
 6 
 7  //-------------------------------------------
 8  ProcessConfig = ANTLER
 9  {
10    MSBetweenLaunches = 200
11  
12    Run = MOOSDB          @ NewConsole = false
13    Run = pMOOSBridge     @ NewConsole = false
14    Run = pMarineViewer   @ NewConsole = true
15    Run = uTermCommand    @ NewConsole = true
16  }
17  //-------------------------------------------
18  ProcessConfig = pMOOSBridge
19  {
20    AppTick   = 3
21    CommsTick = 3
22  
23    SHARE = [DEPLOY_ALL] -&gt; vehicle1 @ \ 
        localhost:9201 [DEPLOY]
24    SHARE = [DEPLOY_ALL] -&gt; vehicle2 @ \
        localhost:9202 [DEPLOY]
25    SHARE = [DEPLOY_VH1] -&gt; vehicle1 @ \
        localhost:9201 [DEPLOY]
26    SHARE = [DEPLOY_VH2] -&gt; vehicle2 @ \
        localhost:9202 [DEPLOY]
27    SHARE = [TRAIL_VH2]  -&gt; vehicle2 @ \
      localhost:9202 [TRAIL]
28  }
29  //-------------------------------------------
30  ProcessConfig = pMarineViewer
31  {
32    AppTick    = 4
33    CommsTick  = 4
34  }
35  //-------------------------------------------
36  ProcessConfig = uXMS
37  {
38    AppTick    = 5
39    CommsTick  = 5
40  
41    VAR  = PROC_WATCH_SUMMARY_VH1
42    VAR  = PROC_WATCH_SUMMARY_VH2
43    VAR  = AIS_REPORT
44    VAR  = VIEW_POLYGON
45    VAR  = VIEW_POINT
46    VAR  = DEPLOY_ALL, DEPLOY_VH1, DEPLOY_VH2
47  }   
48  //-------------------------------------------
49  ProcessConfig = uTermCommand
50  {
51    AppTick    = 2
52    CommsTick  = 2
53  
54    CMD = all_deploy_true  --&gt; DEPLOY_ALL --&gt; true
55    CMD = all_deploy_false --&gt; DEPLOY_ALL --&gt; false
56    //---------------------------------------------
57    CMD = 1_deploy_true    --&gt; DEPLOY_VH1 --&gt; true
58    CMD = 1_deploy_false   --&gt; DEPLOY_VH1 --&gt; false
59    //---------------------------------------------
60    CMD = 2_deploy_true    --&gt; DEPLOY_VH2 --&gt; true
61    CMD = 2_deploy_false   --&gt; DEPLOY_VH2 --&gt; false
62    //---------------------------------------------
63    CMD = 2_trail_true     --&gt; TRAIL_VH2  --&gt; true
64    CMD = 2_trail_false    --&gt; TRAIL_VH2  --&gt; false
65  }
\end{verbatim}
\normalsize
\onecolumn

</pre></body></html>