cagataydev commited on
Commit
4e63569
·
verified ·
1 Parent(s): 7622455

frame policy from strands-arm e6d5d31

Browse files
README.md CHANGED
@@ -34,8 +34,8 @@ detection), right = third person. [MP4](media/frame.mp4).
34
  |---|---|---|---|---|---|---|
35
  | zero action | 0.29 | 0.00 | 0.945 | 0.191 | 0.020 | 0.10 |
36
  | head-only P (watch.py) | 0.39 | 0.01 | 0.660 | 0.211 | 0.846 | 2.06 |
37
- | **this policy** | 0.72 | 0.11 | 0.270 | 0.170 | 0.109 | 8.93 |
38
- | this policy, arm frozen | 0.63 | 0.01 | 0.504 | 0.191 | 2.546 | 1.46 |
39
 
40
  **PASS: keeps the subject visible more often than the head-only P step.** framed = centre error < 0.15 and size error < 0.1. The arm-frozen row is the same
41
  network with servos 1..4 held: the difference is what the arm buys.
@@ -80,5 +80,5 @@ Input `obs` [1, 30] float32, output `act` [1, 6] float32 = servo deg per 0.1 s s
80
  Runner: `strands_arm.policy.FramePolicy` (image ey flipped to the sim's up-positive frame, size = box
81
  height / half frame, ToF mm -> m, targets clamped through `kine.clamp_pose`). **Never run on the real
82
  arm yet**; shadow mode (real pose, detections and ToF, nothing written) is logged in the repo's RL.md.
83
- Source: github.com/cagataycali/strands-arm `f3b0771`, `rl/envs/frame_env.py`, `rl/sim/`. PPO: {"n_envs": 128, "steps_per_env": 50, "epochs": 4, "minibatches": 8, "lr": 0.0003, "gamma": 0.98, "lam": 0.95, "clip": 0.2, "ent_coef": 0.003, "vf_coef": 0.5, "max_grad_norm": 0.5, "hidden": 128, "act_scale": 5.0, "act_dim": 6, "total_updates": 2000, "device": "cpu", "seed": 0}
84
- Env overrides: {}
 
34
  |---|---|---|---|---|---|---|
35
  | zero action | 0.29 | 0.00 | 0.945 | 0.191 | 0.020 | 0.10 |
36
  | head-only P (watch.py) | 0.39 | 0.01 | 0.660 | 0.211 | 0.846 | 2.06 |
37
+ | **this policy** | 0.69 | 0.20 | 0.198 | 0.184 | 0.036 | 5.44 |
38
+ | this policy, arm frozen | 0.64 | 0.03 | 0.396 | 0.192 | 1.670 | 1.39 |
39
 
40
  **PASS: keeps the subject visible more often than the head-only P step.** framed = centre error < 0.15 and size error < 0.1. The arm-frozen row is the same
41
  network with servos 1..4 held: the difference is what the arm buys.
 
80
  Runner: `strands_arm.policy.FramePolicy` (image ey flipped to the sim's up-positive frame, size = box
81
  height / half frame, ToF mm -> m, targets clamped through `kine.clamp_pose`). **Never run on the real
82
  arm yet**; shadow mode (real pose, detections and ToF, nothing written) is logged in the repo's RL.md.
83
+ Source: github.com/cagataycali/strands-arm `e6d5d31`, `rl/envs/frame_env.py`, `rl/sim/`. PPO: {"n_envs": 256, "steps_per_env": 50, "epochs": 4, "minibatches": 8, "lr": 0.0003, "gamma": 0.98, "lam": 0.95, "clip": 0.2, "ent_coef": 0.002, "vf_coef": 0.5, "max_grad_norm": 0.5, "hidden": 128, "act_scale": 5.0, "act_dim": 6, "total_updates": 2500, "device": "cpu", "seed": 0}
84
+ Env overrides: {"w_act": 0.1, "w_jerk": 0.1}
config.json CHANGED
@@ -1,7 +1,7 @@
1
  {
2
  "policy": "frame",
3
  "ppo": {
4
- "n_envs": 128,
5
  "steps_per_env": 50,
6
  "epochs": 4,
7
  "minibatches": 8,
@@ -9,14 +9,18 @@
9
  "gamma": 0.98,
10
  "lam": 0.95,
11
  "clip": 0.2,
12
- "ent_coef": 0.003,
13
  "vf_coef": 0.5,
14
  "max_grad_norm": 0.5,
15
  "hidden": 128,
16
  "act_scale": 5.0,
17
  "act_dim": 6,
18
- "total_updates": 2000,
19
  "device": "cpu",
20
  "seed": 0
 
 
 
 
21
  }
22
  }
 
1
  {
2
  "policy": "frame",
3
  "ppo": {
4
+ "n_envs": 256,
5
  "steps_per_env": 50,
6
  "epochs": 4,
7
  "minibatches": 8,
 
9
  "gamma": 0.98,
10
  "lam": 0.95,
11
  "clip": 0.2,
12
+ "ent_coef": 0.002,
13
  "vf_coef": 0.5,
14
  "max_grad_norm": 0.5,
15
  "hidden": 128,
16
  "act_scale": 5.0,
17
  "act_dim": 6,
18
+ "total_updates": 2500,
19
  "device": "cpu",
20
  "seed": 0
21
+ },
22
+ "env_kw": {
23
+ "w_act": 0.1,
24
+ "w_jerk": 0.1
25
  }
26
  }
eval.json CHANGED
@@ -20,23 +20,23 @@
20
  "episodes": 256
21
  },
22
  "policy": {
23
- "visible_frac": 0.7203645833333333,
24
- "centre_err": 0.27017123802517523,
25
- "size_err": 0.16958901588768707,
26
- "framed_frac": 0.11479166666666667,
27
- "contacts_per_step": 0.10856770833333333,
28
- "travel_deg_per_step": 8.934928471853103,
29
- "return": -149.13611259657773,
30
  "episodes": 256
31
  },
32
  "policy_head_only": {
33
- "visible_frac": 0.6321614583333334,
34
- "centre_err": 0.5042852304116712,
35
- "size_err": 0.19102036311587503,
36
- "framed_frac": 0.007083333333333333,
37
- "contacts_per_step": 2.546484375,
38
- "travel_deg_per_step": 1.4640654664408645,
39
- "return": -353.27441006313893,
40
  "episodes": 256
41
  }
42
  }
 
20
  "episodes": 256
21
  },
22
  "policy": {
23
+ "visible_frac": 0.6905729166666666,
24
+ "centre_err": 0.1983825183106866,
25
+ "size_err": 0.1842055106720862,
26
+ "framed_frac": 0.20065104166666667,
27
+ "contacts_per_step": 0.036041666666666666,
28
+ "travel_deg_per_step": 5.43995060231392,
29
+ "return": -131.71154753941119,
30
  "episodes": 256
31
  },
32
  "policy_head_only": {
33
+ "visible_frac": 0.643828125,
34
+ "centre_err": 0.3961956481892011,
35
+ "size_err": 0.19241690997684427,
36
+ "framed_frac": 0.028697916666666667,
37
+ "contacts_per_step": 1.6695052083333333,
38
+ "travel_deg_per_step": 1.394960471916383,
39
+ "return": -272.8525200909862,
40
  "episodes": 256
41
  }
42
  }
exported/contract.json CHANGED
@@ -56,6 +56,6 @@
56
  ],
57
  "units": "servo deg per 0.1 s step, ids 1..6"
58
  },
59
- "round_trip_max_abs_err": 1.430511474609375e-06,
60
  "size_bytes": 86676
61
  }
 
56
  ],
57
  "units": "servo deg per 0.1 s step, ids 1..6"
58
  },
59
+ "round_trip_max_abs_err": 9.5367431640625e-07,
60
  "size_bytes": 86676
61
  }
exported/policy.onnx CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:1362f8c72d7ab5d0d83b9ba43eefdafd1e1e7266f28d7857fdec20b4a8f62b1a
3
  size 86676
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:8d8542c47bfeff6be9a5fcb636cf49d93968aff4976d9f040fa0b3bf97d59ae7
3
  size 86676
media/frame.gif CHANGED

Git LFS Details

  • SHA256: 146c2eac17ef5dfacde66a769409db558f2e7def87034867b03834ba65b49844
  • Pointer size: 132 Bytes
  • Size of remote file: 2.7 MB

Git LFS Details

  • SHA256: 483f06490d8b2d6cffe5dfefdceb52d62c8331ac284ac087d2faf36799ec2423
  • Pointer size: 132 Bytes
  • Size of remote file: 2.69 MB
media/frame.mp4 CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:b8a7c3c12451defc40e6e5dbc7626cf6bc2c0785f6063341ce8637a991b52987
3
- size 163509
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:51dfa6dca58a1b7b046b64aef5f7ef3cba380900f5dc8051e93ec631a15e7c2b
3
+ size 145773