Skip to content
Snippets Groups Projects
Commit 2fb857e7 authored by Reeves, David E's avatar Reeves, David E
Browse files

* fixed replan duplicate error message

parent 21f65414
No related branches found
No related tags found
No related merge requests found
<?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
...@@ -82,7 +82,7 @@ LogGenericMsg.logMsg( ...@@ -82,7 +82,7 @@ LogGenericMsg.logMsg(
"EntityActivityLogger", "EntityActivityLogger",
"ID\tProfile\tLat\tLon\tEle\tSpeed\tHeading\tActivity\tTransmitting", "ID\tProfile\tLat\tLon\tEle\tSpeed\tHeading\tActivity\tTransmitting",
info.getMySelf(), 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) #printMessage("TEST LOG", True)
SendEntityEventDelay(info.getMyAssignedName(), "GoalTracker_LogInfo", [], borg.redLoggerInterval) SendEntityEventDelay(info.getMyAssignedName(), "GoalTracker_LogInfo", [], borg.redLoggerInterval)
......
...@@ -68,14 +68,14 @@ elif numFakeConvoys==2: ...@@ -68,14 +68,14 @@ elif numFakeConvoys==2:
ctr = 10 ctr = 10
for fakeConvoy in fakeConvoys: for fakeConvoy in fakeConvoys:
entityList = ConvertToJavaListRandom(fakeConvoy, 4, 25) entityList = ConvertToJavaListRandom(fakeConvoy, 4, 25)
for vehicle in randomMoveVeh: fakeConvoyLeader = fakeConvoy[0]
UtilityFuncsExp.addGoal( UtilityFuncsExp.addGoal(
entityList.get(0), entityList.get(0),
ctr, ctr,
borg.goalPath + "Red/RandomMove.xml", borg.goalPath + "Red/RandomMove.xml",
[1, entityList, True], [1, entityList, True],
None) None)
ctr = ctr + 10 ctr = ctr + 10
# common trees for all entities or entities with specific combos # common trees for all entities or entities with specific combos
for entity in PlayBoard.getSingleton().getAllEntities(): for entity in PlayBoard.getSingleton().getAllEntities():
...@@ -99,7 +99,7 @@ for entity in PlayBoard.getSingleton().getAllEntities(): ...@@ -99,7 +99,7 @@ for entity in PlayBoard.getSingleton().getAllEntities():
# random movers # random movers
ctr = 10 ctr = 10
for vehicle in randomMoveVeh: for vehicle in randomMoveVeh:
UtilityFuncsExp.addGoal( UtilityFuncsExp.addGoal(
vehicle, vehicle,
ctr, ctr,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment