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
+11
View File
@@ -40,4 +40,15 @@ jobs:
- run: npm ci
- run: npx playwright install --with-deps chromium
- run: npm run build
- uses: actions/setup-python@v6
with:
python-version: '3.12'
- run: python -m pip install -e ./control_bridge
- run: npm run test:e2e
env:
BRIDGE_PYTHON: python3
- uses: actions/upload-artifact@v6
if: failure()
with:
name: ordinary-e2e-evidence
path: test-results/
+87
View File
@@ -0,0 +1,87 @@
name: lekiwi-compatibility
on:
workflow_dispatch:
push:
paths:
- 'contracts/**'
- 'control_bridge/**'
- 'integrations/lerobot/**'
- 'examples/lekiwi/**'
- 'robot_profiles/**'
- 'web_platform/**'
- 'package*.json'
- '.github/workflows/lekiwi-compat.yml'
pull_request:
paths:
- 'contracts/**'
- 'control_bridge/**'
- 'integrations/lerobot/**'
- 'examples/lekiwi/**'
- 'robot_profiles/**'
- 'web_platform/**'
- 'package*.json'
- '.github/workflows/lekiwi-compat.yml'
permissions:
contents: read
jobs:
cpu-compatibility:
runs-on: ubuntu-24.04
timeout-minutes: 25
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version-file: .nvmrc
cache: npm
- uses: actions/setup-python@v6
with:
python-version: '3.12'
cache: pip
cache-dependency-path: |
integrations/lerobot/requirements-cpu.txt
examples/lekiwi/requirements-collision.txt
- run: npm install --global npm@11.17.0
- run: npm ci
- run: npx playwright install --with-deps chromium
- run: python -m pip install -e control_bridge
- uses: actions/cache@v5
with:
path: build/lekiwi
key: lekiwi-efa608d7-${{ hashFiles('robot_profiles/lekiwi-v1.json', 'examples/lekiwi/prepare_assets.py') }}
- name: Prepare pinned upstream assets (never skipped)
run: |
if [ -f build/lekiwi/URDF/LeKiwi.urdf ]; then
python examples/lekiwi/prepare_assets.py --source build/lekiwi --output build/lekiwi-verified
cp build/lekiwi-verified/lekiwi-v1.zip build/lekiwi/lekiwi-v1.zip
else
python examples/lekiwi/prepare_assets.py --download
fi
- name: Rebuild and verify collision recipe in its own environment
run: |
python -m venv build/venvs/collision
build/venvs/collision/bin/python -m pip install -r examples/lekiwi/requirements-collision.txt
build/venvs/collision/bin/python -m unittest discover -s examples/lekiwi/tests -v
build/venvs/collision/bin/python examples/lekiwi/generate_full_collisions.py --check
env:
PYTHONPATH: ''
PYTHONNOUSERSITE: '1'
- run: python examples/lekiwi/setup_lerobot.py
- run: build/venvs/lerobot/bin/python -m unittest discover -s integrations/lerobot/tests -v
env:
PYTHONPATH: ''
PYTHONNOUSERSITE: '1'
- run: npm run test:e2e:lekiwi
env:
BRIDGE_PYTHON: python3
LEROBOT_PYTHON: build/venvs/lerobot/bin/python
- uses: actions/upload-artifact@v6
if: always()
with:
name: lekiwi-compatibility-evidence
path: |
build/e2e/lekiwi/
build/lerobot-environment.json
build/lekiwi/source-manifest.json