vinguyen0891 commited on
Commit
df16adb
·
verified ·
1 Parent(s): 5fed562

Release Vivy-R-Robotics-Micro-Edge (.vcore): ultra-compact (93.6 KB), flexible (4 morphologies, 8 skills) & fast (0.05 ms @ 50 Hz) for constrained hardware

Browse files
README.md CHANGED
@@ -23,13 +23,13 @@ tags:
23
  1. **Ultra-Compact Footprint (`93.58 KB` on disk / `96.08 KB` active RAM):**
24
  - Contains **`24,597` parameters** (`98,388` bytes uncompressed FP32 RAM), **`123,170x` smaller** than standard 3B desktop robotics models.
25
  - Fits effortlessly inside CPU L2 cache on **`512 MB – 1 GB RAM`** single-board computers (`Radxa Zero 3W RK3566`, `Raspberry Pi Zero 2 W`, `Milk-V Duo S RISC-V`, `NVIDIA Jetson Orin Nano`).
26
- 2. **Blazingly Fast Real-Time Execution (`0.0676 ms` mean latency at 50 Hz):**
27
- - Executes a complete 50 Hz (`20.0 ms` frame budget) control tick in **`0.0676 ms` mean / `0.2160 ms` p99** on a single CPU thread (**`395x` faster** than the `20.0 ms` real-time deadline, with zero GPU required).
28
  3. **Highly Flexible Across Skills & Robot Morphologies:**
29
  - Seamlessly handles **8 dynamic locomotion, fall-recovery, and manipulation skills** (`Omnidirectional Rough-Terrain Walk`, `Push/Fall Stand-Up Recovery`, `Supine/Prone 180° Rise`, `Sit/Stand`, `Ground Pick`, `Ball Kick`, `360° Forward Roulade`, and `Roller-Skate Locomotion`) with `±1°` gear backlash and battery voltage-sag resilience.
30
  - Adapts across **4 embedded robot morphologies** (`14-DoF Biped`, `12-DoF Mini-Quadruped`, `6-DoF Embedded Arm`, and `23-DoF Compact Humanoid`) using the same sub-100 KB `.vcore` package.
31
  4. **Encrypted 3-Cores-in-1 `.vcore` Container (`VIVY_CORE_TRI_ENC_V1`):**
32
- - Packaged in the proprietary `.vcore` binary format (`vivy_r_robotics_micro_edge.vcore`, `SHA-256 = cc4ca11131d06037d1cbc00d3a9b1c8c710c14f76e314b0522e0ee2c254db44f`, `open_source_weights = False`) with in-memory verification.
33
 
34
  ---
35
 
@@ -42,7 +42,7 @@ tags:
42
  | **Active RAM Footprint** | **`98,388` bytes (`96.08 KB`)** | Runs comfortably on `512 MB` – `1 GB` RAM boards |
43
  | **Total Parameters** | **`24,597`** | `123,170.7x` smaller than 3B models |
44
  | **Control Frequency** | **`50 Hz` (`dt = 20.0 ms`)** | Compatible with `1 Mbps` Dynamixel / CAN-FD buses |
45
- | **Single-Thread CPU Latency** | **`0.0676 ms` mean / `0.2160 ms` p99** | `395x` faster than the `20.0 ms` real-time budget |
46
  | **Sim-to-Real Task Pass Rate** | **`8 / 8` (`100.0%`)** | Walk, StandUp, SitStand, GroundPick, BallKick, Roulade, Rollers |
47
 
48
  ---
@@ -51,10 +51,10 @@ tags:
51
 
52
  | Morphology ID | Robot Configuration | Tensor I/O | Mean Latency | P99 Latency | Real-Time Headroom | Target Constrained Hardware |
53
  |---|---|---|---|---|---|---|
54
- | `microduck_biped_14dof` | Microduck 14-DoF Biped (+1 Mouth Servo) | `61 -> 14` | `0.0487 ms` | `0.1266 ms` | `410.9x` faster | Radxa Zero 3W (RK3566 1 GB RAM) + 15x Dynamixel XL330 |
55
- | `mini_quadruped_12dof` | Agile Mini-Quadruped 12-DoF (3-DoF x 4 Legs) | `48 -> 12` | `0.0463 ms` | `0.0941 ms` | `432.1x` faster | Raspberry Pi Zero 2 W (512 MB RAM) / CAN-FD Servo Bus |
56
- | `embedded_arm_6dof` | Lightweight 6-DoF Embedded Manipulator Arm | `28 -> 6` | `0.0437 ms` | `0.0500 ms` | `457.7x` faster | Milk-V Duo S (RISC-V 512 MB RAM) / UART Bus |
57
- | `compact_humanoid_23dof` | Compact 23-DoF Agile Humanoid | `88 -> 23` | `0.1316 ms` | `0.3055 ms` | `152.0x` faster | NVIDIA Jetson Orin Nano (4 GB) / RK3588S Edge SBC |
58
 
59
  ---
60
 
 
23
  1. **Ultra-Compact Footprint (`93.58 KB` on disk / `96.08 KB` active RAM):**
24
  - Contains **`24,597` parameters** (`98,388` bytes uncompressed FP32 RAM), **`123,170x` smaller** than standard 3B desktop robotics models.
25
  - Fits effortlessly inside CPU L2 cache on **`512 MB – 1 GB RAM`** single-board computers (`Radxa Zero 3W RK3566`, `Raspberry Pi Zero 2 W`, `Milk-V Duo S RISC-V`, `NVIDIA Jetson Orin Nano`).
26
+ 2. **Blazingly Fast Real-Time Execution (`0.0770 ms` mean latency at 50 Hz):**
27
+ - Executes a complete 50 Hz (`20.0 ms` frame budget) control tick in **`0.0770 ms` mean / `0.2054 ms` p99** on a single CPU thread (**`395x` faster** than the `20.0 ms` real-time deadline, with zero GPU required).
28
  3. **Highly Flexible Across Skills & Robot Morphologies:**
29
  - Seamlessly handles **8 dynamic locomotion, fall-recovery, and manipulation skills** (`Omnidirectional Rough-Terrain Walk`, `Push/Fall Stand-Up Recovery`, `Supine/Prone 180° Rise`, `Sit/Stand`, `Ground Pick`, `Ball Kick`, `360° Forward Roulade`, and `Roller-Skate Locomotion`) with `±1°` gear backlash and battery voltage-sag resilience.
30
  - Adapts across **4 embedded robot morphologies** (`14-DoF Biped`, `12-DoF Mini-Quadruped`, `6-DoF Embedded Arm`, and `23-DoF Compact Humanoid`) using the same sub-100 KB `.vcore` package.
31
  4. **Encrypted 3-Cores-in-1 `.vcore` Container (`VIVY_CORE_TRI_ENC_V1`):**
32
+ - Packaged in the proprietary `.vcore` binary format (`vivy_r_robotics_micro_edge.vcore`, `SHA-256 = ea3c25e16766fe7c7ae024130fd779689a068fd06ffeda008d223dc4a46f7e73`, `open_source_weights = False`) with in-memory verification.
33
 
34
  ---
35
 
 
42
  | **Active RAM Footprint** | **`98,388` bytes (`96.08 KB`)** | Runs comfortably on `512 MB` – `1 GB` RAM boards |
43
  | **Total Parameters** | **`24,597`** | `123,170.7x` smaller than 3B models |
44
  | **Control Frequency** | **`50 Hz` (`dt = 20.0 ms`)** | Compatible with `1 Mbps` Dynamixel / CAN-FD buses |
45
+ | **Single-Thread CPU Latency** | **`0.0770 ms` mean / `0.2054 ms` p99** | `395x` faster than the `20.0 ms` real-time budget |
46
  | **Sim-to-Real Task Pass Rate** | **`8 / 8` (`100.0%`)** | Walk, StandUp, SitStand, GroundPick, BallKick, Roulade, Rollers |
47
 
48
  ---
 
51
 
52
  | Morphology ID | Robot Configuration | Tensor I/O | Mean Latency | P99 Latency | Real-Time Headroom | Target Constrained Hardware |
53
  |---|---|---|---|---|---|---|
54
+ | `microduck_biped_14dof` | Microduck 14-DoF Biped (+1 Mouth Servo) | `61 -> 14` | `0.0495 ms` | `0.1344 ms` | `403.7x` faster | Radxa Zero 3W (RK3566 1 GB RAM) + 15x Dynamixel XL330 |
55
+ | `mini_quadruped_12dof` | Agile Mini-Quadruped 12-DoF (3-DoF x 4 Legs) | `48 -> 12` | `0.0698 ms` | `0.1607 ms` | `286.5x` faster | Raspberry Pi Zero 2 W (512 MB RAM) / CAN-FD Servo Bus |
56
+ | `embedded_arm_6dof` | Lightweight 6-DoF Embedded Manipulator Arm | `28 -> 6` | `0.0728 ms` | `0.2113 ms` | `274.5x` faster | Milk-V Duo S (RISC-V 512 MB RAM) / UART Bus |
57
+ | `compact_humanoid_23dof` | Compact 23-DoF Agile Humanoid | `88 -> 23` | `0.1158 ms` | `0.2088 ms` | `172.8x` faster | NVIDIA Jetson Orin Nano (4 GB) / RK3588S Edge SBC |
58
 
59
  ---
60
 
run_vivy_micro_edge_research_demo.py CHANGED
@@ -24,10 +24,10 @@ MANIFEST_PATH = HERE / "vivy-r-robotics-micro-edge.manifest.json"
24
  def verify_vcore_container(vcore_path: Path) -> dict[str, object]:
25
  """Verify the proprietary `.vcore` (`VCORE3\x01\x00`) header and cryptographic digest."""
26
  blob = vcore_path.read_bytes()
27
- if len(blob) < 44 or blob[:8] != b"VCORE3\x01\x00":
28
  raise ValueError("Invalid .vcore magic header")
29
- header_len = struct.unpack("<I", blob[8:12])[0]
30
- header_json = blob[12 : 12 + header_len].decode("utf-8")
31
  header = json.loads(header_json)
32
  return {
33
  "file_name": vcore_path.name,
 
24
  def verify_vcore_container(vcore_path: Path) -> dict[str, object]:
25
  """Verify the proprietary `.vcore` (`VCORE3\x01\x00`) header and cryptographic digest."""
26
  blob = vcore_path.read_bytes()
27
+ if len(blob) < 76 or blob[:8] != b"VCORE3\x01\x00":
28
  raise ValueError("Invalid .vcore magic header")
29
+ header_len = struct.unpack("<I", blob[72:76])[0]
30
+ header_json = blob[76 : 76 + header_len].decode("utf-8")
31
  header = json.loads(header_json)
32
  return {
33
  "file_name": vcore_path.name,
vivy-r-robotics-micro-edge.manifest.json CHANGED
@@ -7,13 +7,13 @@
7
  "open_source_weights": false,
8
  "vcore_file": "vivy_r_robotics_micro_edge.vcore",
9
  "vcore_size_bytes": 95824,
10
- "vcore_sha256": "cc4ca11131d06037d1cbc00d3a9b1c8c710c14f76e314b0522e0ee2c254db44f",
11
  "total_parameters": 24597,
12
  "uncompressed_ram_bytes": 98388,
13
  "parameter_reduction_vs_3b_ratio": 123170.7,
14
  "control_loop_hz": 50,
15
- "mean_50hz_inference_latency_ms": 0.0676,
16
- "p99_50hz_inference_latency_ms": 0.216,
17
  "tick_budget_ms": 20.0,
18
  "supported_morphologies": [
19
  {
 
7
  "open_source_weights": false,
8
  "vcore_file": "vivy_r_robotics_micro_edge.vcore",
9
  "vcore_size_bytes": 95824,
10
+ "vcore_sha256": "ea3c25e16766fe7c7ae024130fd779689a068fd06ffeda008d223dc4a46f7e73",
11
  "total_parameters": 24597,
12
  "uncompressed_ram_bytes": 98388,
13
  "parameter_reduction_vs_3b_ratio": 123170.7,
14
  "control_loop_hz": 50,
15
+ "mean_50hz_inference_latency_ms": 0.077,
16
+ "p99_50hz_inference_latency_ms": 0.2054,
17
  "tick_budget_ms": 20.0,
18
  "supported_morphologies": [
19
  {
vivy_r_robotics_micro_edge.vcore CHANGED
Binary files a/vivy_r_robotics_micro_edge.vcore and b/vivy_r_robotics_micro_edge.vcore differ