//------------------------------------------------- // NAME: M. Benjamin, Jason Webb MIT MechE // FILE: meta_vehicle.moos //------------------------------------------------- ServerHost = localhost ServerPort = $(MOOS_PORT) Community = $(VNAME) #include plug_origin_warp.moos //------------------------------------------ // Antler configuration block ProcessConfig = ANTLER { MSBetweenLaunches = 200 Run = MOOSDB @ NewConsole = false Run = pRealm @ NewConsole = false Run = pLogger @ NewConsole = false Run = pNodeReporter @ NewConsole = false Run = pMarinePIDV22 @ NewConsole = false Run = pHelmIvP @ NewConsole = false Run = uProcessWatch @ NewConsole = false Run = pShare @ NewConsole = false Run = pHostInfo @ NewConsole = false Run = uFldNodeBroker @ NewConsole = false Run = pSailOdometry @ NewConsole = false // Run = uTimerScript @ NewConsole = false #ifdef XMODE SIM Run = uSimMarineV22 @ NewConsole = false #elseifdef XMODE SIMD Run = iSailBoat @ NewConsole = false #else Run = iSailBoat @ NewConsole = false #endif } #include plug_pShare.moos #include plug_pHostInfo.moos //------------------------------------------ // pRealm config block ProcessConfig = pRealm { AppTick = 4 CommsTick = 4 hist_var = FEEDBACK_MSG msg_max_hist = 20 scope_set = name=events, vars=NEXT_POINT:PREV_POINT:RF_NEXT:RF_PREV:CURR_TIME scope_set = name=events, vars=CYCLE_STATUS:INDEX scope_set = name=events2, vars=WPTS_TOTAL:CYCLES_REMAINING:WPTS_REMAIN scope_set = name=bflags, vars=CFLAG:WFLAG:EFLAG } //------------------------------------------ // pLogger config block ProcessConfig = pLogger { AppTick = 8 CommsTick = 8 AsyncLog = true // For variables that are published in a bundle on their first post, // explicitly declare their logging request File = XLOG_$(VNAME) Log = IVPHELM_LIFE_EVENT @ 0 NOSYNC Log = APP_LOG @ 0 NOSYNC file = alpha LogAuxSrc = true WildCardLogging = true WildCardOmitPattern = *_STATUS WildCardOmitPattern = DB_VARSUMMARY WildCardOmitPattern = DB_RWSUMMARY WildCardOmitPattern = APPCAST WildCardOmitPattern = *_ITER_GAP WildCardOmitPattern = *_ITER_LEN WildCardOmitPattern = *_SUMMARY // WildCardOmitPattern = VIEW_SEGLIST WildCardExclusionLog = true } //------------------------------------------ // pNodeReporter config block ProcessConfig = pNodeReporter { MaxAppTick = 2 AppTick = 2 CommsTick = 2 platform_type = heron platform_length = 4 rider = var=WFLAG, policy=always, rfld=mflagx rider = var=CFLAG, policy=10 } //------------------------------------------ // pMarinePID config block ProcessConfig = pMarinePIDV22 { AppTick = 10 CommsTick = 10 // max_sat_hdg_debug = false // max_sat_spd_debug = true verbose = true depth_control = false // SIM_INSTABILITY = 20 // Yaw PID controller yaw_pid_kp = 1.2 yaw_pid_kd = 0.0 yaw_pid_ki = 0.3 yaw_pid_integral_limit = 0.07 // Speed PID controller speed_pid_kp = 1.0 speed_pid_kd = 0.0 speed_pid_ki = 0.0 speed_pid_integral_limit = 0.07 //MAXIMUMS maxrudder = 100 maxthrust = 100 // A non-zero SPEED_FACTOR overrides use of SPEED_PID // Will set DESIRED_THRUST = DESIRED_SPEED * SPEED_FACTOR speed_factor = 20 } //------------------------------------------ // uProcessWatch config block ProcessConfig = uProcessWatch { AppTick = 4 CommsTick = 4 summary_wait = 5 nowatch = uXMS* nowatch = uMAC* nowatch = uPokeDB* nowatch = uTermCommand* watch_all = true } //------------------------------------------ // pHelmIvP config block ProcessConfig = pHelmIvP { MaxAppTick = 10 AppTick = 4 CommsTick = 4 term_report_interval = 0 app_logging = true // bhv_dir_not_found_ok = true //ivp_behavior_dir = /Users/ddmikerb verbose = terse behaviors = targ_$(VNAME).bhv domain = course:0:359:360 domain = speed:0:4:21 } //-------------------------------------------------- // uFldNodeBroker configuration block ProcessConfig = uFldNodeBroker { AppTick = 1 CommsTick = 1 try_shore_host = pshare_route=$(SHORE_IP):$(SHORE_PSHARE) bridge = src=TEST_POST bridge = src=VIEW_POLYGON bridge = src=VIEW_POINT bridge = src=VIEW_GRID bridge = src=VIEW_SEGLIST bridge = src=VIEW_ARROW bridge = src=APPCAST bridge = src=NODE_REPORT_LOCAL, alias=NODE_REPORT bridge = src=NODE_MESSAGE_LOCAL, alias=NODE_MESSAGE bridge = src=PROP_SPEED bridge = src=PROP_STATE bridge = src=SM_TRIAL_STATE bridge = src=SM_COURSE_DISTANCE } #ifdef XMODE SIM //------------------------------------------ // uSimMarineV22 config block ProcessConfig = uSimMarineV22 { AppTick = 8 CommsTick = 8 app_logging = true start_x = 8 start_y = -12 start_speed = 0 start_heading = 165 max_acceleration = 0.25 wind_conditions = spd=3.3, dir=180 #include plug_polar.moos turn_spd_map_full_speed = 4 turn_spd_map_null_speed = 0.5 turn_spd_map_full_rate = 100 turn_spd_map_null_rate = 2 prefix = NAV turn_rate = 40 thrust_map = 0:0, 20:1, 40:2, 60:3, 80:4, 100:5 } #elseifdef XMODE SIMD #include plug_iSailBoat.moos #else #include plug_iSailBoat.moos #endif //--------------------------------------------------------- // pSailOdometry ProcessConfig = pSailOdometry { AppTick = 2 CommsTick = 2 } //--------------------------------------------------------- // uTimerScript // For generating GPS noise // ProcessConfig = uTimerScript // { // AppTick = 4 // CommsTick = 4 // paused = false // reset_max = unlimited // reset_time = none // script_atomic = true // time_warp = 1 // upon_awake = restart // script_name = GPS_script // // Random noise generation // rand_var = varname=X_NOISE, min=-3, max=3, key=at_post // rand_var = varname=Y_NOISE, min=-3, max=3, key=at_post // // Periodically update NAV_X and NAV_Y with noise // event = var=NAV_X, val="{NAV_X+$[X_NOISE]}", time=1, amt=unlimited // event = var=NAV_Y, val="{NAV_Y+$[Y_NOISE]}", time=1, amt=unlimited // } // For generating wind noise: // ProcessConfig = uTimerScript // { // AppTick = 2 // CommsTick = 2 // paused = false // reset_max = unlimited // reset_time = end // time_warp = 2 // script_name = WIND_noise // script_atomic = true // // Simulate fluctuations in wind speed and direction // event = var=WIND_SPD_MOD, val="5", time=5 // Increase wind speed by 1 unit // event = var=WIND_SPD_MOD, val="10", time=10 // Decrease wind speed by 1 unit // event = var=WIND_DIR_MOD, val="20", time=15 // Shift wind direction by 10 degrees // } // { // AppTick = 2 // CommsTick = 2 // paused = false // reset_max = unlimited // reset_time = end // // delay_reset = 10:60 // time_warp = 2 // script_name = WIND_noise // script_atomic = true // event = var=WIND_CONDITIONS, val="spd=12,dir=220", time=5 // event = var=WIND_CONDITIONS, val="spd=12,dir=220", time=10 // event = var=WIND_CONDITIONS, val="spd=11,dir=160", time=15 // }