feat(lekiwi): release V0.10.1 初步集成 LeKiwi,优化碰撞模型
web-platform-ci / TypeScript, lint, unit, build (push) Has been cancelled
web-platform-ci / Playwright E2E (push) Has been cancelled
lekiwi-compatibility / cpu-compatibility (push) Has been cancelled

集成通用机器人数值接口、本机控制桥、LeRobot 插件和统一键盘遥操作。采用离线 CoACD 全臂碰撞配方 revision 4、局部装配区切分与结构自接触,限制直接关节位姿写入并保留安全看门狗。同步版本号、变更记录、来源许可证和兼容性验证。
This commit is contained in:
2026-09-20 14:42:30 +08:00
parent da4d59c31a
commit 3ad29356c9
103 changed files with 23055 additions and 280 deletions
+14
View File
@@ -0,0 +1,14 @@
{
"upstream": "lerobot 0.6.1",
"wheelOrder": ["base_left_wheel", "base_back_wheel", "base_right_wheel"],
"cases": [
{ "body": [0.1, 0, 0], "wheelRaw": [-1129, 0, 1129] },
{ "body": [-0.1, 0, 0], "wheelRaw": [1129, 0, -1129] },
{ "body": [0, 0.1, 0], "wheelRaw": [652, -1304, 652] },
{ "body": [0, -0.1, 0], "wheelRaw": [-652, 1304, -652] },
{ "body": [0, 0, 30], "wheelRaw": [853, 853, 853] },
{ "body": [0, 0, -30], "wheelRaw": [-853, -853, -853] },
{ "body": [0.2, 0.2, 60], "wheelRaw": [428, -513, 3000] },
{ "body": [-0.2, 0.2, -60], "wheelRaw": [1290, -3000, -1850] }
]
}
+62
View File
@@ -0,0 +1,62 @@
{
"descriptor": {
"protocolVersion": 1,
"profileId": "test-slider",
"profileVersion": 1,
"modelFingerprint": "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
"frame": "x-forward-y-left-z-up",
"actionChannels": [
{ "id": "slider.position", "unit": "m", "mode": "position", "min": -1, "max": 1 }
],
"observationChannels": [
{ "id": "slider.position", "unit": "m", "mode": "position", "min": -1, "max": 1 }
],
"capabilities": { "reset": true, "lockstep": false, "cameras": false, "training": false }
},
"identity": { "sessionId": "sim-test", "modelEpoch": 2, "leaseId": "lease-test" },
"validAction": {
"protocolVersion": 1,
"sessionId": "sim-test",
"modelEpoch": 2,
"leaseId": "lease-test",
"actionSeq": 1,
"values": { "slider.position": 0.3 }
},
"observation": {
"protocolVersion": 1,
"sessionId": "sim-test",
"modelEpoch": 2,
"sequence": 5,
"simTime": 0.1,
"appliedActionSeq": 1,
"paused": false,
"values": { "slider.position": 0.12 }
},
"invalidActions": [
{ "label": "old epoch", "patch": { "modelEpoch": 1 }, "code": "STALE" },
{ "label": "other lease", "patch": { "leaseId": "other" }, "code": "STALE" },
{ "label": "replayed sequence", "patch": { "actionSeq": 0 }, "code": "INVALID_MESSAGE" },
{ "label": "wrong version", "patch": { "protocolVersion": 2 }, "code": "UNSUPPORTED" },
{ "label": "missing channel", "patch": { "values": {} }, "code": "INVALID_MESSAGE" },
{
"label": "extra channel",
"patch": { "values": { "slider.position": 0, "unknown": 1 } },
"code": "INVALID_MESSAGE"
},
{
"label": "string number",
"patch": { "values": { "slider.position": "0.1" } },
"code": "INVALID_MESSAGE"
},
{
"label": "boolean",
"patch": { "values": { "slider.position": true } },
"code": "INVALID_MESSAGE"
},
{
"label": "unknown envelope field",
"patch": { "script": "print('no')" },
"code": "INVALID_MESSAGE"
}
]
}