feat: release v1.0.2 LeKiwi 语言控制与网站嵌入
web-platform-ci / Standalone decision service (no cloud credentials) (push) Has been cancelled
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
web-platform-ci / Standalone decision service (no cloud credentials) (push) Has been cancelled
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
集成服务器托管模型、自然语言移动与有界抓放、内置 LeKiwi URL 导入和双摄像头;同步部署契约与指定域名 iframe 白名单,保留原有物理安全、会话及调用预算防护。 更新 npm 包及锁文件版本、CHANGELOG 与发布文档。提交前 typecheck、120 项定向前端测试和 44 项后端测试通过(3 项可选跳过);真实 v2 云模型抓放仍待单独验收,不包含运行密钥或构建产物。
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
{
|
||||
"id": "lekiwi-language-scene-v2",
|
||||
"robotId": "lekiwi-v1",
|
||||
"units": "SI",
|
||||
"frame": "world-z-up",
|
||||
"objectId": "block",
|
||||
"objectHalfSize": 0.018,
|
||||
"edgeMargin": 0.007,
|
||||
"source": [0.257, 0.015, 0.128],
|
||||
"supports": [
|
||||
{
|
||||
"id": "source",
|
||||
"geom": "__agent_support_0",
|
||||
"center": [0.257, 0.015],
|
||||
"halfSize": [0.045, 0.055],
|
||||
"height": 0.11
|
||||
},
|
||||
{
|
||||
"id": "table",
|
||||
"geom": "__agent_support_1",
|
||||
"center": [0.257, 0.615],
|
||||
"halfSize": [0.045, 0.275],
|
||||
"height": 0.11
|
||||
}
|
||||
],
|
||||
"targets": [
|
||||
{ "id": "A", "position": [0.257, 0.45, 0.128], "supportId": "table" },
|
||||
{ "id": "B", "position": [0.257, 0.75, 0.128], "supportId": "table" }
|
||||
],
|
||||
"dockOffset": [0.257, 0.015],
|
||||
"baseBounds": { "min": [-0.06, -0.12], "max": [0.04, 0.95] },
|
||||
"fingerSupportForceMax": 20,
|
||||
"contactBaseSpeedMax": 0.03,
|
||||
"minTransfer": 0.08,
|
||||
"maxTransfer": 1.0,
|
||||
"episodeTimeout": 110
|
||||
}
|
||||
@@ -0,0 +1,483 @@
|
||||
{
|
||||
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
||||
"$id": "https://mujoco.local/contracts/lekiwi-language-task-v2.schema.json",
|
||||
"title": "LeKiwi language task v2",
|
||||
"$defs": {
|
||||
"Stamp": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["runId", "sceneRevision", "sequence", "planRevision", "requestId"],
|
||||
"properties": {
|
||||
"runId": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 128
|
||||
},
|
||||
"sceneRevision": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 1000000000
|
||||
},
|
||||
"sequence": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 1000000000
|
||||
},
|
||||
"planRevision": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 1000000000
|
||||
},
|
||||
"requestId": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 128
|
||||
}
|
||||
}
|
||||
},
|
||||
"Position": {
|
||||
"type": "array",
|
||||
"minItems": 3,
|
||||
"maxItems": 3,
|
||||
"items": {
|
||||
"type": "number",
|
||||
"minimum": -2,
|
||||
"maximum": 2
|
||||
}
|
||||
},
|
||||
"Observation": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"version",
|
||||
"stamp",
|
||||
"source",
|
||||
"units",
|
||||
"frame",
|
||||
"time",
|
||||
"phase",
|
||||
"base",
|
||||
"joints",
|
||||
"opening",
|
||||
"tcp",
|
||||
"object",
|
||||
"goal",
|
||||
"evidence",
|
||||
"safety"
|
||||
],
|
||||
"properties": {
|
||||
"version": {
|
||||
"const": "lekiwi-language-v2"
|
||||
},
|
||||
"stamp": {
|
||||
"$ref": "#/$defs/Stamp"
|
||||
},
|
||||
"source": {
|
||||
"const": "mujoco-ground-truth"
|
||||
},
|
||||
"units": {
|
||||
"const": "SI"
|
||||
},
|
||||
"frame": {
|
||||
"const": "world-z-up"
|
||||
},
|
||||
"time": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"maximum": 1000000
|
||||
},
|
||||
"phase": {
|
||||
"enum": [
|
||||
"stow",
|
||||
"approach",
|
||||
"open",
|
||||
"pregrasp",
|
||||
"descend",
|
||||
"close",
|
||||
"verify",
|
||||
"carry",
|
||||
"stop-base",
|
||||
"place",
|
||||
"release",
|
||||
"retreat",
|
||||
"settle"
|
||||
]
|
||||
},
|
||||
"base": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["position", "yaw"],
|
||||
"properties": {
|
||||
"position": {
|
||||
"$ref": "#/$defs/Position"
|
||||
},
|
||||
"yaw": {
|
||||
"type": "number",
|
||||
"minimum": -3.142,
|
||||
"maximum": 3.142
|
||||
}
|
||||
}
|
||||
},
|
||||
"joints": {
|
||||
"type": "array",
|
||||
"minItems": 5,
|
||||
"maxItems": 5,
|
||||
"items": {
|
||||
"type": "number",
|
||||
"minimum": -3.2,
|
||||
"maximum": 3.2
|
||||
}
|
||||
},
|
||||
"opening": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"maximum": 1
|
||||
},
|
||||
"tcp": {
|
||||
"$ref": "#/$defs/Position"
|
||||
},
|
||||
"object": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["id", "position", "speed"],
|
||||
"properties": {
|
||||
"id": {
|
||||
"const": "block"
|
||||
},
|
||||
"position": {
|
||||
"$ref": "#/$defs/Position"
|
||||
},
|
||||
"speed": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"maximum": 20
|
||||
}
|
||||
}
|
||||
},
|
||||
"goal": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["id", "position"],
|
||||
"properties": {
|
||||
"id": {
|
||||
"const": "placement"
|
||||
},
|
||||
"position": {
|
||||
"$ref": "#/$defs/Position"
|
||||
}
|
||||
}
|
||||
},
|
||||
"evidence": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["fingerForces", "supported", "onGoalSupport", "secure", "transported"],
|
||||
"properties": {
|
||||
"fingerForces": {
|
||||
"type": "array",
|
||||
"minItems": 2,
|
||||
"maxItems": 2,
|
||||
"items": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"maximum": 10000
|
||||
}
|
||||
},
|
||||
"supported": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"onGoalSupport": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"secure": {
|
||||
"type": "boolean"
|
||||
},
|
||||
"transported": {
|
||||
"type": "number",
|
||||
"minimum": 0,
|
||||
"maximum": 10
|
||||
}
|
||||
}
|
||||
},
|
||||
"safety": {
|
||||
"type": "array",
|
||||
"maxItems": 8,
|
||||
"uniqueItems": true,
|
||||
"items": {
|
||||
"enum": [
|
||||
"joint_velocity",
|
||||
"joint_stall",
|
||||
"base_unstable",
|
||||
"unreachable",
|
||||
"lost_grasp",
|
||||
"episode_timeout",
|
||||
"stalled",
|
||||
"none"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"Plan": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["version", "objectId", "goalId", "summary", "steps"],
|
||||
"properties": {
|
||||
"version": {
|
||||
"const": "lekiwi-language-v2"
|
||||
},
|
||||
"objectId": {
|
||||
"const": "block"
|
||||
},
|
||||
"goalId": {
|
||||
"const": "placement"
|
||||
},
|
||||
"summary": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 512
|
||||
},
|
||||
"steps": {
|
||||
"type": "array",
|
||||
"minItems": 1,
|
||||
"maxItems": 13,
|
||||
"items": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["skill", "precondition", "onFailure"],
|
||||
"properties": {
|
||||
"skill": {
|
||||
"enum": [
|
||||
"stow",
|
||||
"approach",
|
||||
"open",
|
||||
"pregrasp",
|
||||
"descend",
|
||||
"close",
|
||||
"verify",
|
||||
"carry",
|
||||
"stop-base",
|
||||
"place",
|
||||
"release",
|
||||
"retreat",
|
||||
"settle"
|
||||
]
|
||||
},
|
||||
"precondition": {
|
||||
"enum": [
|
||||
"scene-ready",
|
||||
"base-stopped",
|
||||
"tcp-above",
|
||||
"aligned",
|
||||
"dual-contact",
|
||||
"verified-grasp",
|
||||
"transported",
|
||||
"supported",
|
||||
"released",
|
||||
"retreat",
|
||||
"arm-safe"
|
||||
]
|
||||
},
|
||||
"onFailure": {
|
||||
"enum": ["retry", "replan", "stop"]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"JevDecision": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"version",
|
||||
"choice",
|
||||
"grasp",
|
||||
"diagnosis",
|
||||
"recovery",
|
||||
"noul",
|
||||
"score",
|
||||
"reason"
|
||||
],
|
||||
"properties": {
|
||||
"version": {
|
||||
"const": "lekiwi-language-v2"
|
||||
},
|
||||
"choice": {
|
||||
"enum": [
|
||||
"stow",
|
||||
"approach",
|
||||
"open",
|
||||
"pregrasp",
|
||||
"descend",
|
||||
"close",
|
||||
"verify",
|
||||
"carry",
|
||||
"stop-base",
|
||||
"place",
|
||||
"release",
|
||||
"retreat",
|
||||
"settle",
|
||||
"stop"
|
||||
]
|
||||
},
|
||||
"grasp": {
|
||||
"enum": ["secure", "empty", "slipping", "uncertain"]
|
||||
},
|
||||
"diagnosis": {
|
||||
"enum": ["none", "empty", "slipping", "misaligned", "unreachable", "stalled", "uncertain"]
|
||||
},
|
||||
"recovery": {
|
||||
"enum": ["continue", "retry", "replan", "stop"]
|
||||
},
|
||||
"noul": {
|
||||
"enum": ["allow", "deny", "uncertain"]
|
||||
},
|
||||
"score": {
|
||||
"enum": ["poor", "partial", "good", "excellent", "unavailable"]
|
||||
},
|
||||
"reason": {
|
||||
"enum": ["none", "unsafe", "insufficient_evidence", "tracking_error", "verified_progress"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"SkillResult": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["version", "skill", "status", "code", "evidenceSequence"],
|
||||
"properties": {
|
||||
"version": {
|
||||
"const": "lekiwi-language-v2"
|
||||
},
|
||||
"skill": {
|
||||
"enum": [
|
||||
"stow",
|
||||
"approach",
|
||||
"open",
|
||||
"pregrasp",
|
||||
"descend",
|
||||
"close",
|
||||
"verify",
|
||||
"carry",
|
||||
"stop-base",
|
||||
"place",
|
||||
"release",
|
||||
"retreat",
|
||||
"settle"
|
||||
]
|
||||
},
|
||||
"status": {
|
||||
"enum": ["running", "completed", "failed"]
|
||||
},
|
||||
"code": {
|
||||
"enum": [
|
||||
"none",
|
||||
"joint_velocity",
|
||||
"joint_stall",
|
||||
"base_unstable",
|
||||
"unreachable",
|
||||
"lost_grasp",
|
||||
"episode_timeout",
|
||||
"alignment_timeout",
|
||||
"empty_grasp",
|
||||
"grasp_unverified",
|
||||
"transport_unverified",
|
||||
"placement_unsupported",
|
||||
"release_blocked",
|
||||
"placement_unverified",
|
||||
"navigation_timeout",
|
||||
"controller_error"
|
||||
]
|
||||
},
|
||||
"evidenceSequence": {
|
||||
"type": "integer",
|
||||
"minimum": 0,
|
||||
"maximum": 1000000000
|
||||
}
|
||||
}
|
||||
},
|
||||
"Command": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": [
|
||||
"version",
|
||||
"action",
|
||||
"value",
|
||||
"summary",
|
||||
"objectId",
|
||||
"targetId",
|
||||
"position",
|
||||
"supportId"
|
||||
],
|
||||
"properties": {
|
||||
"version": {
|
||||
"const": "lekiwi-language-v2"
|
||||
},
|
||||
"action": {
|
||||
"enum": ["move", "turn", "pick_place", "stop", "clarify"]
|
||||
},
|
||||
"value": {
|
||||
"type": "number",
|
||||
"minimum": -180,
|
||||
"maximum": 180
|
||||
},
|
||||
"summary": {
|
||||
"type": "string",
|
||||
"minLength": 1,
|
||||
"maxLength": 200
|
||||
},
|
||||
"objectId": {
|
||||
"enum": ["block", "none"]
|
||||
},
|
||||
"targetId": {
|
||||
"enum": ["A", "B", "coordinates", "none"]
|
||||
},
|
||||
"position": {
|
||||
"type": "array",
|
||||
"minItems": 0,
|
||||
"maxItems": 3,
|
||||
"items": {
|
||||
"type": "number",
|
||||
"minimum": -2,
|
||||
"maximum": 2
|
||||
}
|
||||
},
|
||||
"supportId": {
|
||||
"enum": ["source", "table", "none"]
|
||||
}
|
||||
}
|
||||
},
|
||||
"SceneContext": {
|
||||
"type": "object",
|
||||
"additionalProperties": false,
|
||||
"required": ["version", "sceneId", "source", "units", "frame", "object", "base", "yaw"],
|
||||
"properties": {
|
||||
"version": {
|
||||
"const": "lekiwi-language-v2"
|
||||
},
|
||||
"sceneId": {
|
||||
"const": "lekiwi-language-scene-v2"
|
||||
},
|
||||
"source": {
|
||||
"const": "mujoco-ground-truth"
|
||||
},
|
||||
"units": {
|
||||
"const": "SI"
|
||||
},
|
||||
"frame": {
|
||||
"const": "world-z-up"
|
||||
},
|
||||
"object": {
|
||||
"$ref": "#/$defs/Position"
|
||||
},
|
||||
"base": {
|
||||
"$ref": "#/$defs/Position"
|
||||
},
|
||||
"yaw": {
|
||||
"type": "number",
|
||||
"minimum": -3.142,
|
||||
"maximum": 3.142
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user