//------------------------------------------------- // NAME: M. Benjamin, 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_mjs @ 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 #ifdef XMODE SIM Run = uSimMarineV22 @ NewConsole = false Run = uSimPolarResult @ NewConsole = false #else Run = iSailBoat @ NewConsole = false #endif } //------------------------------------------ // 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 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_mjs { 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 thrust_name = DESIRED_THRUST_NULL } //------------------------------------------ // 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 } //--------------------------------------------------------- // pShare Config Block ProcessConfig = pShare { AppTick = 2 CommsTick = 2 input = route = $(IP_ADDR):$(PSHARE_PORT) } //-------------------------------------------------- // pHostInfo configuration block from plugin ProcessConfig = pHostInfo { AppTick = 1 CommsTick = 1 #ifdef IP_ADDR default_hostip_force = $(IP_ADDR) #endif } //-------------------------------------------------- // 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_SEGLIST bridge = src=VIEW_ARROW bridge = src=APPCAST bridge = src=NODE_REPORT_LOCAL, alias=NODE_REPORT bridge = src=NODE_MESSAGE_LOCAL, alias=NODE_MESSAGE #ifdef XMODE SIM #else // send to shore if not in sim bridge = src=WIND_CONDITIONS, alias=WIND_CONDITIONS #endif } #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 polar_plot = $(POLAR) turn_spd_map_full_speed = .6 turn_spd_map_null_speed = 0.5 turn_spd_map_full_rate = 80 turn_spd_map_null_rate = 10 prefix = NAV turn_rate = 240 thrust_map = 0:0, 20:1, 40:2, 60:3, 80:4, 100:5 } //--------------------------------------------------------- // uSimPolarResult Config Block ProcessConfig = uSimPolarResult { AppTick = 2 CommsTick = 2 // From Ray Turissi Sept 9,2022 // Must be in meta_ file since nsplug does not properly expand the polar string!!! // polar_plot = 0,0:6,9:18,7:30,23:45,41:57,37:69,37:81,45:93,53:105,62:117,60:129,49:141,69:153,86:168,79:180,80 // From Ray Turissi Sept 9,2022 in m/s // start with 0,0, then points up to < 180, then end with 180 and same value as pair before 180. polar_plot = 0,0:6,0.09:18,0.07:30,0.23:45,0.41:57,0.37:69,0.37:81,0.45:93,0.53:105,0.62:117,0.6:129,0.49:141,0.69:153,0.86:168,0.79:180,0.73 use_prop = true prop_band = 30 prop_thrust = 20 } #else #include plug_iSailBoat.moos #endif //--------------------------------------------------------- // pSailOdometry ProcessConfig = pSailOdometry { AppTick = 2 CommsTick = 2 // these primary waypoints will have to be repeated until replacement macros work properly // or a file reader is implemented to scrape the points from the BHV file points = pts={50,-50:150,0: 250,-15:190,-75: 225,-100:50,-180} }