Fix bug in visualize_telemetry
parent
e583b2c126
commit
bee353503e
|
@ -725,7 +725,7 @@ MonoBehaviour:
|
|||
m_Script: {fileID: 11500000, guid: 84f2990fd69b0284ca96912cbe968b62, type: 3}
|
||||
m_Name:
|
||||
m_EditorClassIdentifier:
|
||||
simulationConfig: {fileID: 11400000, guid: 6d7c61b7d025c9b49b3410fd1195a525, type: 2}
|
||||
simulationConfig: {fileID: 11400000, guid: f95ae714d3d58b64aaea2fb7b009af9f, type: 2}
|
||||
--- !u!4 &253946927
|
||||
Transform:
|
||||
m_ObjectHideFlags: 0
|
||||
|
|
|
@ -44,6 +44,9 @@ public class SimMonitor : MonoBehaviour
|
|||
foreach (var agent in SimManager.Instance.GetActiveTargets().Cast<Agent>().Concat(SimManager.Instance.GetActiveMissiles().Cast<Agent>()))
|
||||
{
|
||||
Vector3 pos = agent.transform.position;
|
||||
if(pos == Vector3.zero) {
|
||||
continue;
|
||||
}
|
||||
Vector3 vel = agent.GetComponent<Rigidbody>().velocity;
|
||||
string type = agent is Target ? "T" : "M";
|
||||
writer.WriteLine($"{time:F2},{agent.name},{pos.x:F2},{pos.y:F2},{pos.z:F2},{vel.x:F2},{vel.y:F2},{vel.z:F2},{(int)agent.GetFlightPhase()},{type}");
|
||||
|
|
|
@ -10,68 +10,66 @@ MonoBehaviour:
|
|||
m_Enabled: 1
|
||||
m_EditorHideFlags: 0
|
||||
m_Script: {fileID: 11500000, guid: 79f1fe138866d6a40b209a4edcf2ee06, type: 3}
|
||||
m_Name: SimulationConfig
|
||||
m_Name: SimulationConfigSimple
|
||||
m_EditorClassIdentifier:
|
||||
timeScale: 0.1
|
||||
timeScale: 1
|
||||
missile_swarm_configs:
|
||||
- num_agents: 4
|
||||
- num_agents: 1
|
||||
agent_config:
|
||||
missile_type: 0
|
||||
target_type: 0
|
||||
initial_state:
|
||||
position: {x: 0, y: 20, z: 0}
|
||||
rotation: {x: -45, y: 0, z: 0}
|
||||
velocity: {x: 0, y: 10, z: 10}
|
||||
standard_deviation:
|
||||
position: {x: 10, y: 0, z: 10}
|
||||
velocity: {x: 5, y: 0, z: 1}
|
||||
dynamic_config:
|
||||
launch_config:
|
||||
launch_time: 0
|
||||
sensor_config:
|
||||
type: 0
|
||||
frequency: 100
|
||||
plotting_config:
|
||||
color: {r: 0, g: 0, b: 0, a: 0}
|
||||
linestyle: 0
|
||||
marker: 0
|
||||
submunitions_config:
|
||||
num_submunitions: 7
|
||||
launch_config:
|
||||
launch_time: 4
|
||||
agent_config:
|
||||
missile_type: 1
|
||||
target_type: 0
|
||||
initial_state:
|
||||
position: {x: 0, y: 600, z: -500}
|
||||
position: {x: 0, y: 0, z: 0}
|
||||
rotation: {x: 0, y: 0, z: 0}
|
||||
velocity: {x: 0.001, y: 0, z: 0.002}
|
||||
velocity: {x: 0, y: 0, z: 0}
|
||||
standard_deviation:
|
||||
position: {x: 200, y: 10, z: 200}
|
||||
position: {x: 5, y: 5, z: 5}
|
||||
velocity: {x: 0, y: 0, z: 0}
|
||||
dynamic_config:
|
||||
launch_config:
|
||||
launch_time: 0
|
||||
sensor_config:
|
||||
type: 0
|
||||
frequency: 0
|
||||
frequency: 100
|
||||
plotting_config:
|
||||
color: {r: 0, g: 0, b: 0, a: 0}
|
||||
linestyle: 0
|
||||
marker: 0
|
||||
submunitions_config:
|
||||
num_submunitions: 0
|
||||
launch_config:
|
||||
launch_time: 0
|
||||
agent_config:
|
||||
missile_type: 0
|
||||
initial_state:
|
||||
position: {x: 0, y: 0, z: 0}
|
||||
rotation: {x: 0, y: 0, z: 0}
|
||||
velocity: {x: 0, y: 0, z: 0}
|
||||
standard_deviation:
|
||||
position: {x: 0, y: 0, z: 0}
|
||||
velocity: {x: 0, y: 0, z: 0}
|
||||
dynamic_config:
|
||||
launch_config:
|
||||
launch_time: 0
|
||||
sensor_config:
|
||||
type: 0
|
||||
frequency: 0
|
||||
plotting_config:
|
||||
color: {r: 0, g: 0, b: 0, a: 0}
|
||||
linestyle: 0
|
||||
marker: 0
|
||||
prefabName:
|
||||
prefabName: Micromissile
|
||||
target_swarm_configs:
|
||||
- num_agents: 8
|
||||
- num_agents: 7
|
||||
agent_config:
|
||||
missile_type: 0
|
||||
target_type: 0
|
||||
initial_state:
|
||||
position: {x: 0, y: 200, z: 500}
|
||||
rotation: {x: 0, y: 0, z: 0}
|
||||
velocity: {x: 300, y: 0, z: 0}
|
||||
position: {x: 0, y: 600, z: 6000}
|
||||
rotation: {x: 90, y: 0, z: 0}
|
||||
velocity: {x: 0, y: 0, z: -50}
|
||||
standard_deviation:
|
||||
position: {x: 100, y: 50, z: 100}
|
||||
velocity: {x: 50, y: 0, z: 10}
|
||||
position: {x: 1000, y: 200, z: 100}
|
||||
velocity: {x: 0, y: 0, z: 25}
|
||||
dynamic_config:
|
||||
launch_config:
|
||||
launch_time: 0
|
||||
|
@ -105,5 +103,3 @@ MonoBehaviour:
|
|||
color: {r: 0, g: 0, b: 0, a: 0}
|
||||
linestyle: 0
|
||||
marker: 0
|
||||
prefabName:
|
||||
prefabName: DroneTarget
|
|
@ -1,5 +1,5 @@
|
|||
fileFormatVersion: 2
|
||||
guid: 81fed29b611ef7041a9db3e4513885ca
|
||||
guid: f95ae714d3d58b64aaea2fb7b009af9f
|
||||
NativeFormatImporter:
|
||||
externalObjects: {}
|
||||
mainObjectFileID: 11400000
|
|
@ -28,9 +28,10 @@ def plot_telemetry(file_path):
|
|||
colors = {'T': 'red', 'M': 'blue'}
|
||||
|
||||
# Group data by AgentID
|
||||
for agent_type, type_data in df.groupby('AgentType'):
|
||||
for agent_id, agent_data in df.groupby('AgentID'):
|
||||
agent_type = agent_data['AgentType'].iloc[0]
|
||||
color = colors.get(agent_type, 'black')
|
||||
downsampled = type_data.groupby('AgentID').apply(lambda x: x.iloc[::10], include_groups=False)
|
||||
downsampled = agent_data.iloc[::10]
|
||||
|
||||
ax.plot(
|
||||
downsampled['AgentX'],
|
||||
|
|
Loading…
Reference in New Issue