From 39a3e29726f09990e4994494c98412523db3dc39 Mon Sep 17 00:00:00 2001 From: rojas <rojas@N619> Date: Thu, 12 Sep 2024 08:25:45 -0700 Subject: [PATCH] Merge origin/master Conflicts: examples/nbproject/project.properties --- .../Romero/RomeroSimulationProgram.java | 214 +++++++++++++++--- .../homework3/Romero/Shot.png | Bin 0 -> 14262 bytes .../homework3/Romero/Shot1.png | Bin 0 -> 19329 bytes 3 files changed, 179 insertions(+), 35 deletions(-) create mode 100644 assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/Shot.png create mode 100644 assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/Shot1.png diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/RomeroSimulationProgram.java b/assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/RomeroSimulationProgram.java index 8c3664dfb4..7012321297 100644 --- a/assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/RomeroSimulationProgram.java +++ b/assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/RomeroSimulationProgram.java @@ -5,13 +5,23 @@ */ package MV3500Cohort2024JulySeptember.homework3.Romero; -import edu.nps.moves.dis7.entities.swe.platform.surface._001Poseidon; -import edu.nps.moves.dis7.entities.swe.platform.surface._002Triton; +//import edu.nps.moves.dis7.entities.swe.platform.surface._001Poseidon; +//import edu.nps.moves.dis7.entities.swe.platform.surface._002Triton; +//https://savage.nps.edu/opendis7-java/javadoc/edu/nps/moves/dis7/entities/usa/platform/land/ChevyS10ShooterwAK74.html +import edu.nps.moves.dis7.entities.usa.platform.land.M41lighttank; + +//https://savage.nps.edu/opendis7-java/javadoc/edu/nps/moves/dis7/entities/usa/platform/land/ChenowthLightStrikeVehicleLSV.html +import edu.nps.moves.dis7.entities.usa.platform.land.ChenowthLightStrikeVehicleLSV; + +//https://savage.nps.edu/open-dis7-java/javadoc/edu/nps/moves/dis7/entities/chn/munition/tactical/Ballistic.html +//import edu.nps.moves.dis7.entities.usa.*; +import edu.nps.moves.dis7.enumerations.VariableRecordType; import edu.nps.moves.dis7.enumerations.*; import edu.nps.moves.dis7.pdus.*; import edu.nps.moves.dis7.utilities.DisChannel; import edu.nps.moves.dis7.utilities.PduFactory; import java.time.LocalDateTime; +import java.util.Random; import java.util.logging.Level; import java.util.logging.Logger; @@ -42,7 +52,7 @@ public class RomeroSimulationProgram /** current simulation time in seconds */ double simulationTimeSeconds = simulationTimeInitial; /** Maximum number of simulation loops */ - int MAX_LOOP_COUNT = 4; + int MAX_LOOP_COUNT = 10; String narrativeMessage1 = new String(); String narrativeMessage2 = new String(); @@ -52,19 +62,31 @@ public class RomeroSimulationProgram protected EntityID entityID_1 = new EntityID(); /** EntityID settings for entity 2 */ protected EntityID entityID_2 = new EntityID(); + protected EntityID entityID_3 = new EntityID(); /** ESPDU for entity 1 */ protected EntityStatePdu entityStatePdu_1; /** ESPDU for entity 2 */ protected EntityStatePdu entityStatePdu_2; + /** ESPDU for entity 3 */ + protected EntityStatePdu entityStatePdu_3; /** FirePdu for entity 1 first weapon (if any) */ - protected FirePdu firePdu_1a; + protected FirePdu firePdu_1a = new FirePdu(); /** FirePdu for entity 1 second weapon (if any) */ protected FirePdu firePdu_1b; /** MunitionDescriptor for these weapons */ - protected MunitionDescriptor munitionDescriptor1; + protected MunitionDescriptor munition; // hey programmer, what other state do you want? this is a good place to declare it... + protected EntityType entityType_1; + protected EntityType entityType_2; + protected EntityType entityType_3; + protected EntityType munitionType = new EntityType(); + + Vector3Double location_1 = new Vector3Double(); + Vector3Double location_2 = new Vector3Double(); + Vector3Double location_3 = new Vector3Double(); + /** * Constructor to create an instance of this class. * Design goal: additional built-in initialization conveniences can go here @@ -139,7 +161,7 @@ public class RomeroSimulationProgram // TODO confirm whether recorder is explicitly started by programmer (or not) -// disChannel.sendCommentPdu(VariableRecordType.OTHER, "DisThreadedNetworkInterface.initializeDisChannel() complete"); // hello channel, debug + //disChannel.sendCommentPdu(VariableRecordType.OTHER, "DisThreadedNetworkInterface.initializeDisChannel() complete"); // hello channel, debug } /** Get ready, get set... initialize simulation entities. Who's who in the zoo? @@ -150,39 +172,110 @@ public class RomeroSimulationProgram pduFactory = disChannel.getPduFactory(); entityStatePdu_1 = pduFactory.makeEntityStatePdu(); entityStatePdu_2 = pduFactory.makeEntityStatePdu(); + entityStatePdu_3 = pduFactory.makeEntityStatePdu(); firePdu_1a = pduFactory.makeFirePdu(); - firePdu_1b = pduFactory.makeFirePdu(); - munitionDescriptor1 = new MunitionDescriptor(); - + //firePdu_1b = pduFactory.makeFirePdu(); + munition = new MunitionDescriptor(); + // Your model setup: define participants. who's who in this zoo? // Assuming you keep track of entity objects... here is some support for for Entity 1. - // PDU objects are already declared and instances created, so now set their values. - // who is who in our big zoo, sufficient for global participation if we need it - entityID_1.setSiteID(1).setApplicationID(2).setEntityID(3); // made-up example ID; - disChannel.addEntity(entityID_1); - - entityID_2.setSiteID(1).setApplicationID(2).setEntityID(4); // made-up example ID; - disChannel.addEntity(entityID_2); - // TODO someday, use enumerations for sites as part of a SimulationManager object; e.g. is there a unique site triplet for MOVES Institute? + try { + Thread.sleep(2000); + System.out.println("\nWho's who in this zoo?\n"); + Thread.sleep(2000); + + // PDU objects are already declared and instances created, so now set their values. + // who is who in our big zoo, sufficient for global participation if we need it + entityID_1.setSiteID(1).setApplicationID(2).setEntityID(3); // made-up example ID; + disChannel.addEntity(entityID_1); - entityStatePdu_1.setEntityID(entityID_1); - entityStatePdu_1.setForceId(ForceID.FRIENDLY); - entityStatePdu_1.setEntityType(new _001Poseidon()); // note import statement above -// entityStatePdu_1.setMarking("Entity #1"); - entityStatePdu_1.setEntityType(new edu.nps.moves.dis7.entities.usa.platform.air.MV22B()); // note import statement at top - entityStatePdu_1.setMarking("Entity #53"); - entityStatePdu_1.getMarkingString(); // use Netbeans Debug breakpoint here to check left justified... + entityID_2.setSiteID(1).setApplicationID(2).setEntityID(4); // made-up example ID; + disChannel.addEntity(entityID_2); + // TODO someday, use enumerations for sites as part of a SimulationManager object; e.g. is there a unique site triplet for MOVES Institute? - entityStatePdu_2.setEntityID(entityID_2); - entityStatePdu_2.setForceId(ForceID.OPPOSING); - entityStatePdu_2.setEntityType(new _002Triton()); // note import statement above - entityStatePdu_2.setMarking("Entity #2"); + entityID_3.setSiteID(1).setApplicationID(2).setEntityID(5); // made-up example ID; + disChannel.addEntity(entityID_3); - // TODO how should we customize this munition? what are key parameters for your simulation? - // more is needed here by scenario authors... - munitionDescriptor1.setQuantity(1); - firePdu_1a.setDescriptor(munitionDescriptor1).setRange(1000.0f); + + //********************************************************************************* + + entityStatePdu_1.setEntityID(entityID_1); + entityStatePdu_1.setForceId(ForceID.OPPOSING); + entityStatePdu_1.setEntityType(new M41lighttank()); // note import statement above + // entityStatePdu_1.setMarking("Entity #1"); + //entityStatePdu_1.setEntityType(new edu.nps.moves.dis7.entities.usa.platform.air.MV22B()); // note import statement at top + entityStatePdu_1.setMarking("Entity #001"); + entityStatePdu_1.getMarkingString(); // use Netbeans Debug breakpoint here to check left justified... + location_1.setX(500.0); + location_1.setY(1000.0); + location_1.setZ(0.0); + entityStatePdu_1.setEntityLocation(location_1); + firePdu_1a.setFiringEntityID(entityID_1); + //firePdu_1a.setLocationInWorldCoordinates(location_1); + + System.out.println("OPPOSING entity: " + entityStatePdu_1.getEntityType() + "\n"); + System.out.println("ID: " + entityStatePdu_1.getEntityID() + "\n"); + System.out.println("Location: " + entityStatePdu_1.getEntityLocation() + "\n"); + + Thread.sleep(1000); + +// munitionType.setEntityKind(EntityKind.MUNITION); +// munitionType.setDomain((short) ) + + munition.setQuantity(30); + munition.setMunitionType(munitionType); + System.out.println("Munition: " + munition.getMunitionType() + "\n"); + firePdu_1a.setDescriptor(munition).setRange(600.0f); + + Vector3Float munitionVelocity = new Vector3Float(); + munitionVelocity.setX(200.0f); + munitionVelocity.setY(0.0f); + munitionVelocity.setZ(0.0f); + firePdu_1a.setVelocity(munitionVelocity); + Thread.sleep(4000); + + //**************************************************** + + entityStatePdu_2.setEntityID(entityID_2); + entityStatePdu_2.setForceId(ForceID.FRIENDLY); + entityStatePdu_2.setEntityType(new ChenowthLightStrikeVehicleLSV()); // note import statement above + entityStatePdu_2.setMarking("Entity #2"); + location_2.setX(1000.0); + location_2.setY(750.0); + location_2.setZ(0.0); + entityStatePdu_2.setEntityLocation(location_2); + firePdu_1a.setTargetEntityID(entityID_2); + + System.out.println("\n********\nFRIENDLY unit: " + entityStatePdu_2.getEntityType() + "\n"); + System.out.println("ID: " + entityStatePdu_2.getEntityID() + "\n"); + System.out.println("Initial Location: " + entityStatePdu_2.getEntityLocation() + "\n"); + Thread.sleep(4000); + + //***************************************************** + + entityStatePdu_3.setEntityID(entityID_3); + entityStatePdu_3.setForceId(ForceID.FRIENDLY); + entityStatePdu_3.setEntityType(new ChenowthLightStrikeVehicleLSV()); // note import statement above + entityStatePdu_3.setMarking("Entity #3"); + location_3.setX(0.0); + location_3.setY(250.0); + location_3.setZ(0.0); + entityStatePdu_3.setEntityLocation(location_3); + firePdu_1a.setTargetEntityID(entityID_3); + + System.out.println("FRIENDLY unit: " + entityStatePdu_3.getEntityType() + "\n"); + System.out.println("ID: " + entityStatePdu_3.getEntityID() + "\n"); + System.out.println("Initial Location: " + entityStatePdu_3.getEntityLocation() + "\n********\n"); + Thread.sleep(4000); + + // TODO how should we customize this munition? what are key parameters for your simulation? + // more is needed here by scenario authors... + + + } catch (InterruptedException e) { + e.printStackTrace(); + } } /** @@ -207,6 +300,8 @@ public class RomeroSimulationProgram int simulationLoopCount = 0; // variable, initialized at 0 boolean simulationComplete = false; // sentinel variable as termination condition, are we done yet? + int countImpactE2 = 0; + int countImpactE3 = 0; // TODO reset Clock Time for today's date and timestamp to zero, providing consistent outputs for each simulation run String timeMessage = "Simulation time " + simulationTimeSeconds + " at LocalDateTime " + LocalDateTime.now(); disChannel.sendCommentPdu(simulationTimeSeconds, DisChannel.COMMENTPDU_TIME, timeMessage); @@ -222,7 +317,18 @@ public class RomeroSimulationProgram // ============================================================================================= // * your own simulation code starts here! ***************************************************** // ============================================================================================= + Random random = new Random(); + double randomX = 0 + (950 - 0) * random.nextDouble(); + double randomY = 0 + (750 - 0) * random.nextDouble(); + double radius = 200.0; + + Vector3Double targetLocation = new Vector3Double(); + targetLocation.setX(randomX); + targetLocation.setY(randomY); + targetLocation.setZ(0.0); + firePdu_1a.setLocationInWorldCoordinates(targetLocation); + // are there any other variables to modify at the beginning of your loop? // are your reading any DIS PDUs from the network? check for them here @@ -230,14 +336,38 @@ public class RomeroSimulationProgram // compute a track, update an ESPDU, whatever it is that your model is doing... // Where is my entity? Insert changes in position; this sample only changes X position. - entityStatePdu_1.getEntityLocation().setX(entityStatePdu_1.getEntityLocation().getX() + 1.0); // 1m per timestep + entityStatePdu_2.getEntityLocation().setX(entityStatePdu_2.getEntityLocation().getX() - 100.0); // 1m per timestep + entityStatePdu_2.getEntityLocation().setY(entityStatePdu_2.getEntityLocation().getY() + 10.0); // 1m per timestep + + entityStatePdu_3.getEntityLocation().setX(entityStatePdu_3.getEntityLocation().getX() + 100.0); // 1m per timestep + entityStatePdu_3.getEntityLocation().setY(entityStatePdu_3.getEntityLocation().getY() + 10.0); // 1m per timestep + + double distanceToImpact2 = calculateDistance(targetLocation, entityStatePdu_2.getEntityLocation()); + double distanceToImpact3 = calculateDistance(targetLocation, entityStatePdu_3.getEntityLocation()); + + System.out.println ("... Unit position is: " + entityStatePdu_2.getEntityLocation().getX() + ", " + entityStatePdu_2.getEntityLocation().getY()); + System.out.println ("... Unit position is: " + entityStatePdu_3.getEntityLocation().getX() + ", " + entityStatePdu_3.getEntityLocation().getY()); + + System.out.println("Firing at: " + targetLocation); + + if (distanceToImpact2 <= radius) { + System.out.println("-----> Entity #2 HITTED!!!"); + countImpactE2++; + } else if (distanceToImpact3 <= radius) { + System.out.println("-----> Entity #3 HITTED!!!"); + countImpactE3++; + } else { + System.out.println("No impacts detected!!"); + } + + Thread.sleep(1500); // decide whether to fire, and then update the firePdu. Hmmm, you might want a target to shoot at! // etc. etc. your code goes here for your simulation of interest // something happens between my simulation entities, la de da de da... - System.out.println ("... My simulation just did something, no really..."); + //System.out.println ("... My simulation just did something, no really..."); System.out.flush(); // make sure this arrives to user even if other threads somehow become deadlocked @@ -288,9 +418,16 @@ public class RomeroSimulationProgram } // end of simulation loop, continue until done // ===================================================================================================// ===================================================================================================// ===================================================================================================// =================================================================================================== - + narrativeMessage2 = "runSimulation() completed successfully"; // all done, so tell everyone else on the channel // TODO better javadoc needs to be autogenerated for VariableRecordType enumerations + + System.out.println("=========================="); + System.out.println("Last Location for Entity #2: " + entityStatePdu_2.getEntityLocation()); + System.out.println("Last Location for Entity #3: " + entityStatePdu_3.getEntityLocation()); + System.out.println("Total impacts to Entity #2: " + countImpactE2); + System.out.println("Total impacts to Entity #3: " + countImpactE3); + disChannel.sendCommentPdu(DisChannel.COMMENTPDU_NARRATIVE, narrativeMessage1, narrativeMessage2, narrativeMessage3); System.out.println ("... [final=completion CommentPdu successfully sent for simulation]"); @@ -350,6 +487,13 @@ public class RomeroSimulationProgram System.exit(-1); } } + + public double calculateDistance (Vector3Double loc1, Vector3Double loc2) { + double dx = loc2.getX() - loc1.getX(); + double dy = loc2.getY() - loc1.getY(); + double dz = loc2.getZ() - loc1.getZ(); + return Math.sqrt(dx * dx + dy * dy + dz * dz); + } /** * Get simple descriptor (such as parent class name) for this network interface, used in trace statements diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/Shot.png b/assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/Shot.png new file mode 100644 index 0000000000000000000000000000000000000000..7384dd156e786c6ccebbb93bc313e0c0cfd3ffed GIT binary patch literal 14262 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 literal 0 HcmV?d00001 diff --git a/assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/Shot1.png b/assignments/src/MV3500Cohort2024JulySeptember/homework3/Romero/Shot1.png new file mode 100644 index 0000000000000000000000000000000000000000..891f32a96140cee2603cf77ed6823d5d2038d28f GIT binary patch literal 19329 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�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 WuBgci*^;>lq{-9O&t;ucLK6T3G<n7V literal 0 HcmV?d00001 -- GitLab