File size: 2,423 Bytes
e647518
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
{
  "environment": {
    "decision_interval_seconds": 120.0,
    "episode_horizon": 25,
    "neighborhood_size": 1,
    "num_agents": 150,
    "scenario": "generated"
  },
  "maneuver": {
    "commanded_delta_v_mps": 0.5,
    "maximum_burn_duration_seconds": 60.0,
    "maximum_thrust_newtons": 7.0,
    "specific_impulse_seconds": 300.0
  },
  "policy": {
    "algorithm": "mappo",
    "global_state_dim": null,
    "local_observation_dim": null,
    "num_actions": 7
  },
  "rewards": {
    "close_approach_flat_penalty": -10.0,
    "close_approach_penalty": -30.0,
    "collision_penalty": -100.0,
    "delta_v_penalty_per_mps": 1.0,
    "infeasible_maneuver_penalty": -2.0,
    "shaping_discount": 0.99,
    "shaping_weight": 30.0
  },
  "safety": {
    "safe_separation_meters": 1000.0,
    "screening_horizon_seconds": 1800.0
  },
  "scenario_generator": {
    "dry_mass_kg": 250.0,
    "epoch_window_seconds": 259200.0,
    "extra_objects": null,
    "harmless_miss_meters": [
      2000.0,
      10000.0
    ],
    "held_out_fraction": 0.2,
    "initial_fuel_mass_kg": 50.0,
    "maximum_altitude_meters": 2000000.0,
    "maximum_attempts": 20,
    "maximum_tle_age_days": 14.0,
    "meeting_time_seconds": [
      480.0,
      990.0
    ],
    "metadata_path": "data/full/objects.csv",
    "minimum_altitude_meters": 200000.0,
    "minimum_perigee_altitude_meters": 150000.0,
    "minimum_unplanned_separation_meters": 10000.0,
    "second_threat_delay_seconds": [
      60.0,
      240.0
    ],
    "situation_weights": {
      "debris": 0.3,
      "double_threat": 0.15,
      "harmless": 0.15,
      "quiet": 0.15,
      "satellite_pair": 0.25
    },
    "sizing_config": "configs/maneuver_sizing.json",
    "split": "train",
    "tle_path": "data/full/catalog.tle"
  },
  "schema_version": 1,
  "seed": 42,
  "training": {
    "actor_hidden_dims": [
      128,
      64
    ],
    "actor_learning_rate": 0.0001,
    "checkpoint_interval": 5,
    "critic_hidden_dims": [
      256,
      128
    ],
    "critic_learning_rate": 0.001,
    "device": "cpu",
    "entropy_coefficient": 0.05,
    "gae_lambda": 0.95,
    "gamma": 0.99,
    "initial_actor_checkpoint": "runs/stage2/checkpoints/latest.pt",
    "max_gradient_norm": 0.5,
    "minibatch_size": 512,
    "ppo_clip": 0.2,
    "rollout_steps": 50,
    "total_updates": 135,
    "update_epochs": 4,
    "value_clip": 0.2,
    "value_coefficient": 0.5
  }
}