diff --git a/scripts/HTN/Trees/BFC.xml b/scripts/HTN/Trees/BFC.xml deleted file mode 100644 index d221fb673d12adc68c5a804a4bba0f4f92b115ed..0000000000000000000000000000000000000000 --- a/scripts/HTN/Trees/BFC.xml +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="utf-8" standalone="no"?> -<HTNNode AllowMsg="true" Name="BFC" Type="DEFAULT"> - <Parent>null</Parent> - <Code IsFile="false" /> - <Import /> - <HTNNode AllowMsg="true" Name="initInfo" Type="DEFAULT"> - <Parent>BasicTree</Parent> - <Code IsFile="false">if _gt_activeNode.getVar("isInited") == None: - _gt_activeNode.putVar("isInited", 1) - _htn_precon_ret=1 -</Code> - <Import /> - <HTNNode AllowMsg="true" Name="createData" Type="DEFAULT"> - <Parent>addReplanTriggers</Parent> - <Code IsFile="false">import cxxi.model.objects.holders.CMHolder as CMHolder -import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.PythonTerrain as PythonTerrain -import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.AStarCM.TerrainNetwork.TerrainNetwork as TerrainNetwork -import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.AStarCM.TerrainNetwork.TerrainNetworkSerializer as TerrainNetworkSerializer -import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.AStarCM.TerrainNetwork.TerrainSearch as TerrainSearch - -borg.assembled = dict() -printMessage("Created data", True) - -borg.unitsDest = [] -wp = CMHolder.retrieveControlMeasureByName("PATH_DEST") -borg.unitsDest.append(wp) -wp = CMHolder.retrieveControlMeasureByName("PATH_DEST1") -borg.unitsDest.append(wp) -wp = CMHolder.retrieveControlMeasureByName("PATH_DEST2") -borg.unitsDest.append(wp) - -borg.bfc = info.getMyAssignedName() -#borg.blueUnitNames = ["B1TM", "B2TM", "B3TM", "B4TM", "B5TM"] -borg.blueUnitsAssembled = [] - -roadPath = "D:/code_base/scenario_sandbox/TerrainReasoning/NewTests/BoundingOverwatch2/scripts/data/" - -# loading a road network -borg.roadNetwork = TerrainNetworkSerializer.loadNetwork(roadPath+"road_edges", True); -borg.roadNetwork.printStats() -# -if not borg.roadNetwork.wasDeserialized: - TerrainNetworkSerializer.saveNetwork(borg.roadNetwork, roadPath+"road_edges.srz") -# - -# load a dynamic network -#upperLeft = CMHolder.retrieveControlMeasureByName("AREA_UL") -#bottomRight = CMHolder.retrieveControlMeasureByName("AREA_BR") -#borg.roadNetwork = TerrainNetworkSerializer.createDynamicNetwork(upperLeft, bottomRight) -</Code> - <Import /> - </HTNNode> - <HTNNode AllowMsg="true" Name="addReplanTriggers" Type="INTERRUPT"> - <Parent>initInfo</Parent> - <Code IsFile="false"># model events -#goalContainer.getCurrentExecutingStack().addReplanTrigger("ModelEvent") - -# goal tracker events -goalContainer.getCurrentExecutingStack().addReplanTrigger("GoalTracker_UnitAssembled") -goalContainer.getCurrentExecutingStack().addReplanTrigger("GoalTracker_UnitsMoveOut") -</Code> - <Import /> - </HTNNode> - </HTNNode> - <HTNNode AllowMsg="true" Name="events" Type="DEFAULT"> - <Parent>BasicTree</Parent> - <Code IsFile="false" /> - <Import /> - <HTNNode AllowMsg="true" Name="isGoalTrackerEvent" Type="DEFAULT"> - <Parent>events</Parent> - <Code IsFile="false">if state.getLastTrigger().startswith("doGoalTracker_"): - _htn_precon_ret=1 -</Code> - <Import /> - <HTNNode AllowMsg="false" Name="isUnitAssembled" Type="DEFAULT"> - <Parent>isGoalTrackerEvent</Parent> - <Code IsFile="false">if state.getLastTrigger() == "doGoalTracker_UnitAssembled": - # TODO: Add code - _htn_precon_ret = 1 -</Code> - <Import /> - <HTNNode AllowMsg="true" Name="checkAssembled" Type="INTERRUPT"> - <Parent>isMoveOut</Parent> - <Code IsFile="false">import cxxi.model.knowledge.group.holders.NewUnitHolder as NewUnitHolder -from HTNBehaviors import SendEntityEvent - -assUnitName = state.getLastTriggerParams()[0] - -printMessage("Unit assembled "+assUnitName, True) -borg.blueUnitsAssembled.append(assUnitName) - -if len(borg.blueUnitsAssembled) == len(borg.blueUnitNames): - printMessage("All assembled and ready to go", True) - - createdUnits = [] - for unitName in borg.blueUnitsAssembled: - unit = NewUnitHolder.retrieveUnitByName(unitName) - - members = [] - membersCmd = [] - - membersCmd.append(unit.getCommander().getAssignedName()) - membersCmd.append(unit.getSecondInCommand().getAssignedName()) - - for entity in unit.getMembers(): - memberName = entity.getAssignedName() - if not memberName in membersCmd: - members.append(memberName) - - newMembers = [membersCmd[1]] - for i in range(len(members)): - if i % 2 == 1: - newMembers.append(members[i]) - - tacUnit = UtilityFuncsExp.createTacticalUnit( - unitName+"_Sub", - newMembers, - newMembers[0], - newMembers[1], - None, None, None) - - createdUnits.append(tacUnit.getName()) - - for cu in createdUnits: - borg.blueUnitsAssembled.append(cu) - unit = NewUnitHolder.retrieveUnitByName(cu) - cmdName = unit.getCommander().getAssignedName() - - UtilityFuncsExp.addGoal( - cmdName, - 1.0, - borg.goalPath + "UnitControl.xml", - [], - None) - - printMessage("Adding unit control to "+cmdName, True) - - SendEntityEvent(borg.bfc, "GoalTracker_UnitsMoveOut", []) -</Code> - <Import /> - </HTNNode> - </HTNNode> - <HTNNode AllowMsg="false" Name="isMoveOut" Type="DEFAULT"> - <Parent>isGoalTrackerEvent</Parent> - <Code IsFile="false">if state.getLastTrigger() == "doGoalTracker_UnitsMoveOut": - # TODO: Add code - _htn_precon_ret = 1 -</Code> - <Import /> - <HTNNode AllowMsg="true" Name="moveOut" Type="INTERRUPT"> - <Parent>isMoveOut</Parent> - <Code IsFile="false">import cxxi.model.knowledge.group.holders.NewUnitHolder as NewUnitHolder -from HTNBehaviors import SendEntityEventDelay - -#import mtry.cxxi.model.HierarchicalTaskNetwork.PythonUtilities.PythonTerrain as PythonTerrain -#import java.util.ArrayList as ArrayList -# -#destWP = state.getLastTriggerParams()[1] -# -#al = ArrayList() -#al.add(destWP.getLocation()) -# -#goalPath = "HTN/Trees/" -# -#msgTo = "GoalTracker_MoveCompleted" -#toNotify = state.getCurrentCommanderName() -#if toNotify == "None" or toNotify == None or toNotify == "": -# toNotify = info.getMyAssignedName() -# -#UtilityFuncsExp.addSpecificGoal( -# info.getMyAssignedName(), -# 1.0, -# goalPath + "BasicMove.xml", -# "MOVE", -# [al, 3.0, toNotify, msgTo, "DISMOUNT_WEDGE"], -# None) - -params = borg.unitsDest - -delay = 5.0 -for unitName in borg.blueUnitsAssembled: - unit = NewUnitHolder.retrieveUnitByName(unitName) - cmdName = unit.getCommander().getAssignedName() - SendEntityEventDelay(cmdName, "GoalTracker_MoveOut", params, delay) - delay += 5.0 - printMessage("Sending unit "+unitName+" move out orders", True) - - test = [] - for m in unit.getMembers(): - test.append(m.getAssignedName()) - printMessage("Members="+str(test), True) - -printMessage("Moving out", True) -</Code> - <Import /> - </HTNNode> - </HTNNode> - </HTNNode> - <HTNNode AllowMsg="true" Name="modelEvents" Type="DEFAULT"> - <Parent>events</Parent> - <Code IsFile="false" /> - <Import /> - <HTNNode AllowMsg="true" Name="printEvent" Type="INTERRUPT"> - <Parent>modelEvents</Parent> - <Code IsFile="false">printMessage("EVENT"+state.getLastTrigger(), True)</Code> - <Import /> - </HTNNode> - </HTNNode> - </HTNNode> -</HTNNode> \ No newline at end of file diff --git a/scripts/HTN/Trees/Red/EntityLogger.xml b/scripts/HTN/Trees/Red/EntityLogger.xml index 47de58602bd45f1ee3906a1af9de00cd4305215b..1e1192281d1a01b231264375c79c55b869432f60 100644 --- a/scripts/HTN/Trees/Red/EntityLogger.xml +++ b/scripts/HTN/Trees/Red/EntityLogger.xml @@ -82,7 +82,7 @@ LogGenericMsg.logMsg( "EntityActivityLogger", "ID\tProfile\tLat\tLon\tEle\tSpeed\tHeading\tActivity\tTransmitting", info.getMySelf(), - [str(info.getMySelf().getID()), info.getMyProfile().getName(), str(loc.getLatitude()), str(loc.getLongitude()), str(loc.getElevation()), str(state.getCurrentSpeed()), str(heading), currentActivity, str(isTransmitting)]) + [str(info.getMySelf().getID()), str(info.getMyProfile().getName()), str(loc.getLatitude()), str(loc.getLongitude()), str(loc.getElevation()), str(state.getCurrentSpeed()), str(heading), str(currentActivity), str(isTransmitting)]) #printMessage("TEST LOG", True) SendEntityEventDelay(info.getMyAssignedName(), "GoalTracker_LogInfo", [], borg.redLoggerInterval) diff --git a/scripts/jump_start.py b/scripts/jump_start.py index ca0c78e719a2dd16e12dc2b09e02d0661989c4dd..e1e4d96b94110c477fabdc8278a72e98a066a09c 100644 --- a/scripts/jump_start.py +++ b/scripts/jump_start.py @@ -68,14 +68,14 @@ elif numFakeConvoys==2: ctr = 10 for fakeConvoy in fakeConvoys: entityList = ConvertToJavaListRandom(fakeConvoy, 4, 25) - for vehicle in randomMoveVeh: - UtilityFuncsExp.addGoal( - entityList.get(0), - ctr, - borg.goalPath + "Red/RandomMove.xml", - [1, entityList, True], - None) - ctr = ctr + 10 + fakeConvoyLeader = fakeConvoy[0] + UtilityFuncsExp.addGoal( + entityList.get(0), + ctr, + borg.goalPath + "Red/RandomMove.xml", + [1, entityList, True], + None) + ctr = ctr + 10 # common trees for all entities or entities with specific combos for entity in PlayBoard.getSingleton().getAllEntities(): @@ -99,7 +99,7 @@ for entity in PlayBoard.getSingleton().getAllEntities(): # random movers ctr = 10 -for vehicle in randomMoveVeh: +for vehicle in randomMoveVeh: UtilityFuncsExp.addGoal( vehicle, ctr,