From 035efd8ca7f9ddc7284489d5482ddfd916e75b23 Mon Sep 17 00:00:00 2001 From: liangyun Date: Wed, 3 Dec 2025 10:49:15 +0800 Subject: [PATCH] =?UTF-8?q?11=E6=9C=88=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- behavior/UCAV_fire.txt | 1 + behavior/net_detect_group_behavior/move.txt | 40 ++++++++++++ platforms/blue/man_am.txt | 2 +- platforms/blue/sniper.txt | 2 +- platforms/red/detect_jam_car.txt | 40 ++++++++++++ platforms/red/net_detect_group.txt | 21 ++++++- platforms/red/shortwave_jammer.txt | 33 ++++++++++ platforms/red/ssm_cmdr.txt | 67 +++++++++++---------- platforms/red/transport_copter.txt | 12 +--- scenarios/blue.txt | 8 +-- scenarios/red.txt | 5 +- scenarios/red/after_occupy.txt | 25 ++++++++ scenarios/red/copters_arrive.txt | 22 ++++--- scenarios/red/permeate_detect.txt | 9 ++- 14 files changed, 226 insertions(+), 61 deletions(-) create mode 100644 behavior/net_detect_group_behavior/move.txt create mode 100644 platforms/red/detect_jam_car.txt create mode 100644 platforms/red/shortwave_jammer.txt create mode 100644 scenarios/red/after_occupy.txt diff --git a/behavior/UCAV_fire.txt b/behavior/UCAV_fire.txt index 785fae8..2e784f8 100644 --- a/behavior/UCAV_fire.txt +++ b/behavior/UCAV_fire.txt @@ -43,3 +43,4 @@ advanced_behavior UCAV_fire end_execute end_advanced_behavior + diff --git a/behavior/net_detect_group_behavior/move.txt b/behavior/net_detect_group_behavior/move.txt new file mode 100644 index 0000000..99bcc26 --- /dev/null +++ b/behavior/net_detect_group_behavior/move.txt @@ -0,0 +1,40 @@ +# File generated by Wizard 2.9.0 on Dec 1, 2025. +advanced_behavior move + + script_variables + WsfControlMessage msg=WsfControlMessage(); + string str=""; + WsfTrack track=WsfTrack(); + double alat=25.076; + double alon=121.22; + end_script_variables + + on_init + + end_on_init + + on_message + type WSF_CONTROL_MESSAGE + script + WsfControlMessage msg=(WsfControlMessage)MESSAGE; + writeln("receive",msg.AuxDataString("task")); + str=msg.AuxDataString("task"); + end_script + end_on_message + + precondition + if(str=="MOVE") + { + return true; + } + return false; + end_precondition + + execute + PLATFORM.GoToSpeed(16);#m/s + PLATFORM.GoToLocation(alat,alon); + str=""; + return Success(); + end_execute + +end_advanced_behavior \ No newline at end of file diff --git a/platforms/blue/man_am.txt b/platforms/blue/man_am.txt index b5d0451..e56c808 100644 --- a/platforms/blue/man_am.txt +++ b/platforms/blue/man_am.txt @@ -4,7 +4,7 @@ include_once behavior/behavior_fire.txt include_once signatures/human_signature.txt platform_type MAN_AM WSF_PLATFORM - icon human + icon marker infrared_signature HUMAN_INFRARED_SIGNATURE optical_signature HUMAN_OPTICAL_SIGNATURE radar_signature HUMAN_RADAR_SIGNATURE diff --git a/platforms/blue/sniper.txt b/platforms/blue/sniper.txt index 9e6d81f..68ae06e 100644 --- a/platforms/blue/sniper.txt +++ b/platforms/blue/sniper.txt @@ -2,7 +2,7 @@ include_once signatures/human_signature.txt platform_type SNIPER WSF_PLATFORM - icon human + icon marker radar_signature HUMAN_RADAR_SIGNATURE optical_signature HUMAN_OPTICAL_SIGNATURE infrared_signature HUMAN_INFRARED_SIGNATURE diff --git a/platforms/red/detect_jam_car.txt b/platforms/red/detect_jam_car.txt new file mode 100644 index 0000000..80bf610 --- /dev/null +++ b/platforms/red/detect_jam_car.txt @@ -0,0 +1,40 @@ +# File generated by Wizard 2.9.0 on Dec 1, 2025. +include_once sensors/radar/acq_radar.txt +include_once signatures/vehicle_signature.txt +include_once weapons/jammer/radar_jammer_2_18ghz.txt +include_once weapons/jammer/comm_jammer_30m_3g.txt + +platform_type DETECT_JAM_CAR WSF_PLATFORM + icon comm_truck_icon + infrared_signature VEHICLE_INFRARED_SIGNATURE + optical_signature VEHICLE_OPTICAL_SIGNATURE + radar_signature VEHICLE_RADAR_SIGNATURE + + sensor ew_radar ACQ_RADAR + on + internal_link data_mgr + ignore_same_side + end_sensor + + processor data_mgr WSF_LINKED_PROCESSOR + report_to commander via sub_net + end_processor + + comm sub_net DATALINK + network_name + #internal_link task_mgr + end_comm + + weapon radar_jammer RADAR_JAMMER_2_18GHZ + on + yaw 0 deg + pitch -10 deg + ignore_same_side + end_weapon + + weapon comm_jammer COMM_JAMMER_30M_3G + on + ignore_same_side + end_weapon + +end_platform_type \ No newline at end of file diff --git a/platforms/red/net_detect_group.txt b/platforms/red/net_detect_group.txt index e72396e..eb40cc3 100644 --- a/platforms/red/net_detect_group.txt +++ b/platforms/red/net_detect_group.txt @@ -1,6 +1,7 @@ # File generated by Wizard 2.9.0 on Oct 22, 2025. include_once sensors/radar/acq_radar.txt include_once signatures/human_signature.txt +include_once behavior/net_detect_group_behavior/move.txt platform_type NET_DETECT_GROUP WSF_PLATFORM icon low_blow @@ -8,6 +9,10 @@ platform_type NET_DETECT_GROUP WSF_PLATFORM optical_signature HUMAN_OPTICAL_SIGNATURE radar_signature HUMAN_RADAR_SIGNATURE + mover WSF_GROUND_MOVER + + end_mover + sensor ew_radar ACQ_RADAR on internal_link data_mgr @@ -17,10 +22,24 @@ platform_type NET_DETECT_GROUP WSF_PLATFORM processor data_mgr WSF_LINKED_PROCESSOR report_to commander via sub_net end_processor + + processor task_mgr WSF_SCRIPT_PROCESSOR + update_interval 5 sec + advanced_behavior_tree + btt on + selector + behavior_node move + end_selector + end_advanced_behavior_tree + end_processor comm sub_net DATALINK network_name - #internal_link task_mgr end_comm + comm cmdr_net DATALINK + network_name + internal_link task_mgr + end_comm + end_platform_type \ No newline at end of file diff --git a/platforms/red/shortwave_jammer.txt b/platforms/red/shortwave_jammer.txt new file mode 100644 index 0000000..b233363 --- /dev/null +++ b/platforms/red/shortwave_jammer.txt @@ -0,0 +1,33 @@ +# File generated by Wizard 2.9.0 on Dec 1, 2025. +include_once sensors/radar/acq_radar.txt +include_once signatures/human_signature.txt +include_once weapons/jammer/radar_jammer_2_18ghz.txt +include_once weapons/jammer/comm_jammer_30m_3g.txt + +platform_type SHORTWAVE_JAMMER WSF_PLATFORM + icon height_finder + infrared_signature HUMAN_INFRARED_SIGNATURE + optical_signature HUMAN_OPTICAL_SIGNATURE + radar_signature HUMAN_RADAR_SIGNATURE + + sensor ew_radar ACQ_RADAR + on + internal_link data_mgr + ignore_same_side + end_sensor + + processor data_mgr WSF_LINKED_PROCESSOR + report_to commander via sub_net + end_processor + + weapon comm_jammer COMM_JAMMER_30M_3G + on + ignore_same_side + end_weapon + + comm sub_net DATALINK + network_name + #internal_link task_mgr + end_comm + +end_platform_type \ No newline at end of file diff --git a/platforms/red/ssm_cmdr.txt b/platforms/red/ssm_cmdr.txt index 5d80998..1ea7422 100644 --- a/platforms/red/ssm_cmdr.txt +++ b/platforms/red/ssm_cmdr.txt @@ -8,11 +8,13 @@ processor SSM_CMDR_TASK_MGR WSF_TASK_PROCESSOR #script_debug_writes true #show_state_transitions #show_task_messages - + + script_variables int MAX_SAMS_PER_TARGET = 2; int MAX_ASSIGNMENTS_PER_SAM = 4; string WEAPON_NAME = ""; + string IS_MOVE = "true"; end_script_variables // determine if TRACK is assignable @@ -47,11 +49,13 @@ processor SSM_CMDR_TASK_MGR WSF_TASK_PROCESSOR end_script # ------------------------------------------------------------------------- - script void sendMessage() - #writeln("MakeAssignments "); + script void sendMessage() + writeln("sendMessage"); Array firer = Array(); Array mover = Array(); Array waiter = Array(); + Array net_mover = Array(); + foreach (WsfPlatform sub in PLATFORM.Subordinates()) { @@ -70,13 +74,25 @@ processor SSM_CMDR_TASK_MGR WSF_TASK_PROCESSOR } } + + if(sub.Type() == "NET_DETECT_GROUP") + { + writeln("is NET_DETECT_GROUP"); + if(IS_MOVE=="true") + { + IS_MOVE="false"; + writeln("*** Adding ", sub.Name(), " to net_mover"); + net_mover.PushBack(sub); + } + + } } - - int i; int numAssignments = (int)MATH.Min(firer.Size(), MAX_SAMS_PER_TARGET); + int num=(int)net_mover.Size(); + for (int i=0; i < numAssignments; i = i + 1) { writeln("assign fire"); @@ -86,34 +102,23 @@ processor SSM_CMDR_TASK_MGR WSF_TASK_PROCESSOR PLATFORM.Comm("sub_net").SendMessage(msg,firer[i].Name(),"cmdr_net"); AssignTask(TRACK, "FIRE", firer[i]); } - - + for(int i=0;i #internal_link task_mgr end_comm + processor task_mgr WSF_TASK_PROCESSOR + + end_processor end_platform_type \ No newline at end of file diff --git a/scenarios/blue.txt b/scenarios/blue.txt index 4f4e966..d4200cf 100644 --- a/scenarios/blue.txt +++ b/scenarios/blue.txt @@ -6,9 +6,10 @@ include_once platforms/mortar.txt include_once platforms/blue/m1a2t.txt include_once platforms/blue/m60.txt include_once platforms/blue/CM-32.txt -include_once blue/defence_mid.txt -include_once blue/defence_close.txt -include_once blue/defence_disperse.txt + +#include_once blue/defence_mid.txt +#include_once blue/defence_close.txt +#include_once blue/defence_disperse.txt #include_once blue/reinforce.txt visual_elements @@ -20,7 +21,6 @@ end_visual_elements - #platform blue_ew_radar1 ACQ_RADAR # side blue # commander SELF diff --git a/scenarios/red.txt b/scenarios/red.txt index 5961890..72a9027 100644 --- a/scenarios/red.txt +++ b/scenarios/red.txt @@ -1,7 +1,8 @@ # File generated by Wizard 2.9.0 on Sep 12, 2025. include_once scenarios/red/permeate_detect.txt -include_once scenarios/red/comm_and_attack.txt -include_once scenarios/red/copters_arrive.txt +#include_once scenarios/red/comm_and_attack.txt +#include_once scenarios/red/copters_arrive.txt +#include_once scenarios/red/after_occupy.txt #platform red_radar_apache RADAR_APACHE # side red diff --git a/scenarios/red/after_occupy.txt b/scenarios/red/after_occupy.txt new file mode 100644 index 0000000..115e22e --- /dev/null +++ b/scenarios/red/after_occupy.txt @@ -0,0 +1,25 @@ +# File generated by Wizard 2.9.0 on Oct 24, 2025. +include_once platforms/red/detect_jam_car.txt +include_once platforms/red/shortwave_jammer.txt + + +platform detect_jam_car_1 DETECT_JAM_CAR + side red + commander SELF + heading 0 deg + position 25:02:22.64n 121:23:10.95e altitude 5.0 m +end_platform + +platform detect_jam_car_2 DETECT_JAM_CAR + side red + commander SELF + heading 0 deg + position 25:03:38.80n 121:26:16.88e altitude 5.0 m +end_platform + +platform detect_jam_car_3 DETECT_JAM_CAR + side red + commander SELF + heading 0 deg + position 25:00:49.41n 121:25:58.05e altitude 5.0 m +end_platform \ No newline at end of file diff --git a/scenarios/red/copters_arrive.txt b/scenarios/red/copters_arrive.txt index c5a73d2..eb6d08b 100644 --- a/scenarios/red/copters_arrive.txt +++ b/scenarios/red/copters_arrive.txt @@ -7,61 +7,63 @@ platform ew_copter_1 EW_COPTER side red commander SELF heading 0 deg - position 24:40:12.48n 121:08:38.53e altitude 5.0 m + position 24:40:12.48n 121:08:38.53e altitude 500 m end_platform platform ew_copter_2 EW_COPTER side red commander SELF heading 0 deg - position 24:40:07.52n 121:03:49.45e altitude 5.0 m + position 24:40:07.52n 121:03:49.45e altitude 500 m end_platform platform ew_copter_3 EW_COPTER side red commander SELF heading 0 deg - position 24:39:58.40n 121:13:37.86e altitude 5.0 m + position 24:39:58.40n 121:13:37.86e altitude 500 m end_platform platform armed_copter_1 ARMED_COPTER side red commander SELF heading 0 deg - position 24:38:47.57n 121:07:41.82e altitude 5.0 m + position 24:38:47.57n 121:07:41.82e altitude 500 m end_platform platform armed_copter_2 ARMED_COPTER side red commander SELF heading 0 deg - position 24:38:33.14n 121:02:57.97e altitude 5.0 m + position 24:38:33.14n 121:02:57.97e altitude 500 m end_platform platform armed_copter_3 ARMED_COPTER side red commander SELF heading 0 deg - position 24:38:28.81n 121:12:35.93e altitude 5.0 m + position 24:38:28.81n 121:12:35.93e altitude 500 m end_platform platform transport_copter_1 TRANSPORT_COPTER side red commander SELF heading 0 deg - position 24:38:42.90n 121:09:19.87e altitude 5.0 m + position 24:38:42.90n 121:09:19.87e altitude 500 m end_platform platform transport_copter_2 EW_COPTER side red commander SELF heading 0 deg - position 24:38:28.53n 121:04:36.04e altitude 5.0 m + position 24:38:28.53n 121:04:36.04e altitude 500 m end_platform platform transport_copter_3 EW_COPTER side red commander SELF heading 0 deg - position 24:38:19.37n 121:14:19.12e altitude 5.0 m -end_platform \ No newline at end of file + position 24:38:19.37n 121:14:19.12e altitude 500 m + #creation_time 10.0 min +end_platform + diff --git a/scenarios/red/permeate_detect.txt b/scenarios/red/permeate_detect.txt index 29c69a6..cfc9c88 100644 --- a/scenarios/red/permeate_detect.txt +++ b/scenarios/red/permeate_detect.txt @@ -4,10 +4,11 @@ include_once platforms/red/net_attack_group.txt include_once platforms/red/comm_detect_group.txt include_once platforms/red/radar_detect_group.txt include_once platforms/red/detect_jam_drone.txt +include_once platforms/red/ssm_cmdr.txt platform net_detect_group_1 NET_DETECT_GROUP side red - commander SELF + commander ssm_cmdr heading 0 deg position 24:57:28.86n 121:10:35.07e altitude 5.0 m end_platform @@ -89,3 +90,9 @@ platform detact_drone_3 DETECT_JAM_DRONE position 24:48:53.63n 121:08:45.74e altitude 5.0 m end_platform +platform ssm_cmdr SSM_CMDR + side red + commander SELF + heading 0 deg + position 24:50:38.41n 121:09:31.65e altitude 5.0 m +end_platform \ No newline at end of file