# LeRobot 仿真插件 真实 LeRobot **0.6.1** 的 `Robot` 子类与 `RobotConfig`,注册名 `lekiwi_sim`,发行包名 **`lerobot_robot_mujoco`**。上游按发行包名前缀发现插件,因此不能随意改成连字符名称或只提供自定义 entry point。 ```bash source .venv/bin/activate # Python 3.12;只用它创建隔离环境 python examples/lekiwi/setup_lerobot.py # 不要在原训练环境直接 pip install lerobot build/venvs/lerobot/bin/python -m unittest discover -s integrations/lerobot/tests -v ``` 安装脚本仅修改 `build/venvs/lerobot/`,先装官方 CPU torch/torchvision,再装 [固定兼容集](requirements-cpu.txt),最后 editable 安装桥接和本插件并执行 `pip check`。版本记录在 `build/lerobot-environment.json`;不会改上游或原 `.venv` 的训练依赖。 先按 [示例](../../examples/lekiwi/README.md) 准备模型、连接桥接并在浏览器授权。相同 token 放在 Python 的 `MUJOCO_CONTROL_TOKEN` 环境变量中: ```python from lerobot.robots.config import RobotConfig from lerobot.robots.utils import make_robot_from_config from lerobot.utils.import_utils import register_third_party_plugins register_third_party_plugins() config_type = RobotConfig.get_choice_class('lekiwi_sim') robot = make_robot_from_config(config_type(endpoint='http://127.0.0.1:8766', id='sim-demo')) robot.connect() try: measured = robot.get_observation() accepted = robot.send_action({'x.vel': 0.05}) diagnostic = robot.get_sim_observation() finally: robot.disconnect() ``` 这是单步 API 演示;实际控制须持续刷新(示例为 30 Hz),不能在两条动作之间阻塞超过 500 ms。`send_action` 返回确认目标,`get_observation` 才是实测反馈。五个臂通道为度,夹爪 0–100,底盘平移 m/s、转动 deg/s。部分动作保持最后确认的臂/夹爪目标,省略的底盘速度为零。 仅接受 `use_degrees=True`、`cameras={}`;拒绝物理校准目录和校准文件 I/O。`is_calibrated=True` 表示固定仿真 profile 可用,不代表硬件标定。提供 `stop_base`、键盘辅助函数和完整 SI 诊断,但没有实体 leader、串口、ZMQ、相机、dataset 或训练实现。协议/来源/升级流程见 [机器人接口](../../docs/robot-interface.md),许可证和上游归属见 [NOTICE](NOTICE.md)。