Files
OpenUxAS/examples/03_Example_DistributedCooperation/cfgDistributedCooperation_2000.xml

76 lines
4.1 KiB
XML
Raw Permalink Normal View History

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<UxAS EntityID="2000" FormatVersion="1.0" EntityType="Aircraft">
<!-- NOTE:: "NetworkDevice" must be set equal to an active network interface device, e.g. wlan0 -->
<!-- on Linux and Mac, type 'ifconfig' to find interface name -->
<!-- on Windows, type 'ipconfig' to find interface name (name is after adapter type)
Windows example name: Wireless Network Connection
-->
Feature/create run example (#40) * Intermediate progress * Update run-example Delaying while OpenAMASE opens appears to be important. It takes a while for OpenAMASE to actually open, and the user is supposed to click on the run button before OpenUxAS instances start. The five seconds offered by some examples is insufficient, and may not be guaranteed in any case. We make the delay configurable, so that the user can remove or adjust it, as needed. We also make sure that we kill off forked subprocesses and report if we're unable to do so. * Rename the Ada Waterway Search example Suggesting this naming convention so that we can create other examples that use the Ada UxAS more easily. * Add two additional configs Configs for Examples 03 and 05 * Update config for example 03 This should work out of the box on modern Linux. * Add config-driven delay after OpenAMASE starts This is important for the Ada example, although it may be related to the way in which we implemented it. * Enhance run-example - Fix error when OpenAMASE does not run - Handle Ctrl-C gracefully (shut down all subprocesses) - Allow a relative or absolute path to the example to be specified - this is nice, because then tab-complete works * Add missing example configs Also make sure that each ends with a newline (nice for `cat`). * Use Test_SimulationTime service to sync with AMASE Removes the need for any timeout to start UxAS instances. * Fix example 05_AssignTasks Adding the Test_SimulationTime service + a longer timeout on task assignment allows the example to run correctly.
2020-05-14 13:49:06 -04:00
<Bridge Type="LmcpObjectNetworkZeroMqZyreBridge" NetworkDevice="eth0">
<SubscribeToExternalMessage MessageType="afrl.cmasi.AirVehicleState"/>
<SubscribeToExternalMessage MessageType="uxas.messages.task.AssignmentCoordination"/>
</Bridge>
<!-- Connect to AMASE on a single vehicle port (see config folder in OpenAMASE) -->
<Bridge Type="LmcpObjectNetworkTcpBridge" TcpAddress="tcp://127.0.0.1:9900" Server="FALSE" ConsiderSelfGenerated="TRUE">
<SubscribeToMessage MessageType="afrl.cmasi.MissionCommand" />
<SubscribeToMessage MessageType="afrl.cmasi.LineSearchTask" />
<SubscribeToMessage MessageType="afrl.impact.ImpactLineSearchTask" />
<SubscribeToMessage MessageType="afrl.impact.AngledAreaSearchTask" />
<SubscribeToMessage MessageType="afrl.cmasi.AreaSearchTask" />
<SubscribeToMessage MessageType="afrl.cmasi.VehicleActionCommand" />
<SubscribeToMessage MessageType="afrl.cmasi.KeepInZone" />
<SubscribeToMessage MessageType="afrl.cmasi.KeepOutZone" />
</Bridge>
<Service Type="Test_SimulationTime"/>
<Service Type="TaskManagerService"/>
<Service Type="AutomationRequestValidatorService"/>
<Service Type="SensorManagerService"/>
<Service Type="RouteAggregatorService"/>
<Service Type="RoutePlannerVisibilityService" MinimumWaypointSeparation_m="50"/>
<Service Type="AssignmentTreeBranchBoundService" NumberNodesMaximum="0" CostFunction="MINMAX" />
<Service Type="PlanBuilderService"/>
<Service Type="AutomationDiagramDataService"/>
<Service Type="WaypointPlanManagerService" VehicleID="2000" NumberWaypointsToServe="1000" NumberWaypointsOverlap="5"
DefaultLoiterRadius_m="250" param.turnType="FlyOver" AddLoiterToEndOfSegments="FALSE"
AddLoiterToEndOfMission="FALSE" LoopBackToFirstTask="FALSE" GimbalPayloadId="1" />
<Service Type="SendMessagesService" PathToMessageFiles="../MessagesToSend/">
<Message MessageFileName="AirVehicleConfiguration_V1000.xml" SendTime_ms="50"/>
<Message MessageFileName="AirVehicleConfiguration_V2000.xml" SendTime_ms="60"/>
<!-- boundaries -->
<Message MessageFileName="KeepOutZone_10.xml" SendTime_ms="200"/>
<Message MessageFileName="KeepOutZone_11.xml" SendTime_ms="210"/>
<Message MessageFileName="OperatingRegion_100.xml" SendTime_ms="240"/>
<!-- geometry for impact tasks -->
<Message MessageFileName="AreaOfInterest_100.xml" SendTime_ms="300"/>
<Message MessageFileName="LineOfInterest_101.xml" SendTime_ms="310"/>
<!-- the tasks -->
<Message MessageFileName="AreaSearchTask_50.xml" SendTime_ms="400"/>
<Message MessageFileName="AngledAreaSearchTask_51.xml" SendTime_ms="410"/>
<Message MessageFileName="ImpactLineSearchTask_21.xml" SendTime_ms="490"/>
<Message MessageFileName="LineSearchTask_20.xml" SendTime_ms="500"/>
<Message MessageFileName="LineSearchTask_30.xml" SendTime_ms="510"/>
<!-- The assignment coordinator -->
<Message MessageFileName="AssignmentCoordinatorTask.xml" SendTime_ms="1000"/>
<!-- <Message MessageFileName="AirVehicleState_V2000.xml" SendTime_ms="2000"/> -->
<!-- coordniation request to perform the tasks -->
<Message MessageFileName="CoordinatedAutomationRequest.xml" SendTime_ms="5000"/>
</Service>
<Service Type="MessageLoggerDataService" FilesPerSubDirectory="10000" LogFileName="testfile">
<LogMessage MessageType="uxas" NumberMessagesToSkip="0"/>
<LogMessage MessageType="afrl" NumberMessagesToSkip="0"/>
<LogMessage MessageType="eid" NumberMessagesToSkip="0"/>
</Service>
</UxAS>