change dir

This commit is contained in:
linux5880
2026-08-01 15:48:09 +08:00
parent 6441d9ad35
commit b254390802

View File

@@ -13,10 +13,28 @@
| IsaacLab 源码 | `/opt/IsaacLab` | `v2.3.2` |
| IsaacLab 训练与自带 MuJoCo 部署 | `/opt/go2_rl_robotlab``go1` 分支 | `f40874bc90c72264dbf46989d90e15a9715c1393` |
| 自动化 sim2sim 评估 | `/opt/RoboGauge``go1` 分支 | `66d0eb9010dabc501c52a8b9e5ffb2149dbcb82b` |
| 独立 MuJoCo、ONNX、X5/S100 BPU 部署 | `/opt/go1_pro_deploy/deploy_45dim_rl_gym` | `22a13d6659c59e2793b08c767ab69d8fcc0a406b` |
| 独立 MuJoCo、ONNX、X5/S100 BPU 部署 | `/opt/go1_deploy/deploy_rl_lab` | `22a13d6659c59e2793b08c767ab69d8fcc0a406b` |
| 官方公开 SDK | [unitree_legged_sdk](https://github.com/unitreerobotics/unitree_legged_sdk) |
| 私有 Go1 PRO SDK | 仅在内部部署机使用,本文不公开协议、密钥和专有接口 |
当前交付镜像只保留 RobotLab 版本,部署目录结构固定为:
```text
/opt/go1_deploy/
deploy_rl_lab/
policy_robotlab_26000.onnx
deploy_go1_onnx_mujoco_lab.py
deploy_go1_rlgym_pro_sdk_lab.py
deploy_go1_rlgym_pro_sdk_lab_fastcpp.py
bpu_quantization/
bpu_deploy_x5/
bpu_deploy_s100/
terrains/
logs/
```
已删除的 `deploy_45dim/``deploy_wtw/``sim2sim_mujoco_example/` 和旧 Gym/旧轮次 ONNX 不属于交付结构,本文不再引用。量化机、训练镜像和板端分别使用 `/opt/go1_deploy``/root/go1_deploy` 作为仓库根目录,子目录均为 `deploy_rl_lab`
本文有两条使用路径:
- **路径 A直接使用交付镜像**:不要重新 clone 或重新安装,使用 `/opt` 下的固定目录和解释器。
@@ -34,7 +52,7 @@ X5 模型: policy_robotlab_26000_int16_gemm.bin
S100 模型: policy_robotlab_26000_s100_int16_gemm.hbm
```
训练目录中的导出文件会保留课程阶段。量化脚本使用 `--name policy_robotlab_26000` 时会生成上面的 X5/S100 名称TorchScript/ONNX 是否另存为不带课程后缀的别名必须在发布记录中明确。26000 只是当前均衡基线,不表示轮数越大一定越好。若任务以上楼梯为主,应同时保留 15000 和 26000若以平地高速或下楼梯为主可继续比较 33500。最终模型仍应根据多 seed RoboGauge、MuJoCo 回放和真机日志共同选择
训练目录仍可保留不同课程阶段的 checkpoint 用于比较,但交付目录只保留最终选定的 26000 版本。量化脚本使用 `--name policy_robotlab_26000` 时会生成上面的 X5/S100 名称。26000 只是当前均衡基线,不表示轮数越大一定越好;更换发布 checkpoint 时,应重新导出 ONNX 并完整执行 RoboGauge、MuJoCo 和量化验收,而不是把多个旧 ONNX 一并放入交付目录
### 1.2 全流程
@@ -141,7 +159,7 @@ sudo /opt/envs/go2_rl_robotlab/docker-toolchain/bin/docker image inspect registr
/opt/IsaacLab
/opt/go2_rl_robotlab
/opt/RoboGauge
/opt/go1_pro_deploy
/opt/go1_deploy
/opt/envs/go2_rl_robotlab
/opt/envs/robogauge
```
@@ -155,7 +173,9 @@ export MPLCONFIGDIR=/tmp/robogauge-matplotlib
test -d /opt/IsaacLab
test -d /opt/go2_rl_robotlab
test -d /opt/RoboGauge
test -d /opt/go1_pro_deploy
test -d /opt/go1_deploy
test -d /opt/go1_deploy/deploy_rl_lab
test -f /opt/go1_deploy/deploy_rl_lab/policy_robotlab_26000.onnx
test -x /opt/envs/go2_rl_robotlab/bin/python
test -x /opt/envs/robogauge/bin/python
nvidia-smi
@@ -179,7 +199,7 @@ export OMNI_KIT_ACCEPT_EULA=YES
/opt/go2_rl_robotlab/outputs
/opt/RoboGauge/logs
/opt/RoboGauge/outputs
/opt/go1_pro_deploy/logs
/opt/go1_deploy/logs
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/cache
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/data
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/logs
@@ -191,13 +211,13 @@ Dockerfile 中应使用交付镜像的实际运行 UID/GID下面的 `APP_UID/
```dockerfile
RUN install -d -m 0775 /opt/go2_rl_robotlab/logs /opt/go2_rl_robotlab/outputs \
/opt/RoboGauge/logs /opt/RoboGauge/outputs \
/opt/go1_pro_deploy/logs \
/opt/go1_deploy/logs \
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/cache \
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/data \
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/logs \
&& chown -R ${APP_UID}:${APP_GID} /opt/go2_rl_robotlab/logs /opt/go2_rl_robotlab/outputs \
/opt/RoboGauge/logs /opt/RoboGauge/outputs \
/opt/go1_pro_deploy/logs \
/opt/go1_deploy/logs \
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/cache \
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/data \
/opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/logs
@@ -210,7 +230,7 @@ test -w /opt/go2_rl_robotlab/logs
test -w /opt/go2_rl_robotlab/outputs
test -w /opt/RoboGauge/logs
test -w /opt/RoboGauge/outputs
test -w /opt/go1_pro_deploy/logs
test -w /opt/go1_deploy/logs
test -w /opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/cache
test -w /opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/data
test -w /opt/envs/go2_rl_robotlab/lib/python3.11/site-packages/isaacsim/kit/logs
@@ -252,7 +272,7 @@ find /opt/go2_rl_robotlab/logs/rsl_rl/go1_moe_cts -path '*image_direct_1iter*' -
```bash
sudo install -d -o "$USER" -g "$(id -gn)" /opt/envs /opt/IsaacLab
sudo install -d -o "$USER" -g "$(id -gn)" /opt/go2_rl_robotlab /opt/RoboGauge /opt/go1_pro_deploy
sudo install -d -o "$USER" -g "$(id -gn)" /opt/go2_rl_robotlab /opt/RoboGauge /opt/go1_deploy
conda create --prefix /opt/envs/go2_rl_robotlab python=3.11 -y
conda activate /opt/envs/go2_rl_robotlab
@@ -268,7 +288,7 @@ python -m pip install torch==2.7.0 torchvision==0.22.0 --index-url https://downl
git clone --branch v2.3.2 --depth 1 https://github.com/isaac-sim/IsaacLab.git /opt/IsaacLab
git clone --branch go1 --single-branch https://gitea.qingruxu.xyz/cyy/go2_rl_robotlab.git /opt/go2_rl_robotlab
git clone --branch go1 --single-branch https://gitea.qingruxu.xyz/cyy/RoboGauge.git /opt/RoboGauge
git clone --branch main --single-branch https://gitea.qingruxu.xyz/cyy/go1_pro_deploy.git /opt/go1_pro_deploy
git clone --branch main --single-branch https://gitea.qingruxu.xyz/cyy/go1_pro_deploy.git /opt/go1_deploy
cd /opt/go2_rl_robotlab
@@ -292,7 +312,7 @@ python -m pip install -e /opt/RoboGauge
```bash
sudo install -d -o "$USER" -g "$(id -gn)" /opt/go2_rl_robotlab/logs /opt/go2_rl_robotlab/outputs
sudo install -d -o "$USER" -g "$(id -gn)" /opt/RoboGauge/logs /opt/RoboGauge/outputs
sudo install -d -o "$USER" -g "$(id -gn)" /opt/go1_pro_deploy/logs
sudo install -d -o "$USER" -g "$(id -gn)" /opt/go1_deploy/logs
```
记录环境,便于在部署前复现:
@@ -573,7 +593,7 @@ OMNI_KIT_ACCEPT_EULA=YES /opt/envs/go2_rl_robotlab/bin/python scripts/rsl_rl/pla
同一 run 下再次导出会覆盖这两个通用文件名。必须在切换到下一个 checkpoint 前复制并带上轮次、课程阶段;导出文件完整写入后才能终止 play
```bash
cp <RUN_DIR>/exported/policy.onnx /opt/go1_pro_deploy/deploy_45dim_rl_gym/policy_robotlab_26000.onnx
cp <RUN_DIR>/exported/policy.onnx /opt/go1_deploy/deploy_rl_lab/policy_robotlab_26000.onnx
cp <RUN_DIR>/exported/policy.onnx /opt/RoboGauge/resources/models/go1/policy_robotlab_26000_post_command_curriculum.onnx
cp <RUN_DIR>/exported/policy.pt /opt/RoboGauge/resources/models/go1/policy_robotlab_26000_post_command_curriculum.pt
```
@@ -603,10 +623,10 @@ OMNI_KIT_ACCEPT_EULA=YES CUDA_VISIBLE_DEVICES=1 /opt/envs/go2_rl_robotlab/bin/py
### 8.3 检查 ONNX 接口
```bash
/opt/envs/go2_rl_robotlab/bin/python -c "import onnx, onnxruntime as ort; p='/opt/go1_pro_deploy/deploy_45dim_rl_gym/policy_robotlab_26000.onnx'; onnx.checker.check_model(onnx.load(p)); s=ort.InferenceSession(p, providers=['CPUExecutionProvider']); print([(x.name,x.shape,x.type) for x in s.get_inputs()]); print([(x.name,x.shape,x.type) for x in s.get_outputs()])"
/opt/envs/go2_rl_robotlab/bin/python -c "import onnx, onnxruntime as ort; p='/opt/go1_deploy/deploy_rl_lab/policy_robotlab_26000.onnx'; onnx.checker.check_model(onnx.load(p)); s=ort.InferenceSession(p, providers=['CPUExecutionProvider']); print([(x.name,x.shape,x.type) for x in s.get_inputs()]); print([(x.name,x.shape,x.type) for x in s.get_outputs()])"
```
预期 ONNX 输入为 `obs: [1, 450] float32`,输出为 `actions: [1, 12] float32`本次导出的 19500、26000 和 33500 ONNX 已通过 `onnx.checker.check_model()`。输入输出不匹配时不要继续 sim2sim 或量化。
预期 ONNX 输入为 `obs: [1, 450] float32`,输出为 `actions: [1, 12] float32`当前交付的 26000 ONNX 已通过 `onnx.checker.check_model()`。输入输出不匹配时不要继续 sim2sim 或量化。
### 8.4 独立 MuJoCo 快速检查
@@ -615,12 +635,12 @@ OMNI_KIT_ACCEPT_EULA=YES CUDA_VISIBLE_DEVICES=1 /opt/envs/go2_rl_robotlab/bin/py
Linux 不需要 `mjpython`;它主要用于 macOS 的 MuJoCo 图形启动。镜像中用绝对 ONNX 路径执行非交互采样。该脚本会在加载模型前切换工作目录,相对 ONNX 路径可能因此失效:
```bash
cd /opt/go1_pro_deploy/deploy_45dim_rl_gym
cd /opt/go1_deploy/deploy_rl_lab
env -u MUJOCO_GL /opt/envs/robogauge/bin/python deploy_go1_onnx_mujoco_lab.py \
--onnx /opt/go1_pro_deploy/deploy_45dim_rl_gym/policy_robotlab_26000.onnx \
--onnx /opt/go1_deploy/deploy_rl_lab/policy_robotlab_26000.onnx \
--sample \
--sample-seconds 1 \
--sample-log-dir /opt/go1_pro_deploy/logs
--sample-log-dir /opt/go1_deploy/logs
```
采样目录名固定以 `mujoco_stairs_sample_` 开头,用于保存独立 MuJoCo ONNX 推理检查日志PTQ 使用第 11 节的正式 64 样本校验集。
@@ -629,10 +649,10 @@ env -u MUJOCO_GL /opt/envs/robogauge/bin/python deploy_go1_onnx_mujoco_lab.py \
```bash
env -u MUJOCO_GL /opt/envs/robogauge/bin/python deploy_go1_onnx_mujoco_lab.py \
--onnx /opt/go1_pro_deploy/deploy_45dim_rl_gym/policy_robotlab_26000.onnx \
--onnx /opt/go1_deploy/deploy_rl_lab/policy_robotlab_26000.onnx \
--sample-stairs-level 3 \
--sample-seconds 20 \
--sample-log-dir /opt/go1_pro_deploy/logs \
--sample-log-dir /opt/go1_deploy/logs \
--spawn-x -0.6 \
--spawn-z 0.34
```
@@ -799,13 +819,13 @@ task_name="go1_lab.flat"
## 10. 独立 MuJoCo sim2sim
这里推荐使用 `go1_pro_deploy/deploy_45dim_rl_gym/deploy_go1_onnx_mujoco_lab.py`,因为它与 RobotLab 的 10 帧/450 维 ONNX 接口一致。
这里推荐使用 `/opt/go1_deploy/deploy_rl_lab/deploy_go1_onnx_mujoco_lab.py`,因为它与 Lab 的 10 帧/450 维 ONNX 接口一致。
```bash
cd /opt/go1_pro_deploy/deploy_45dim_rl_gym
cd /opt/go1_deploy/deploy_rl_lab
MUJOCO_GL=glfw /opt/envs/robogauge/bin/python deploy_go1_onnx_mujoco_lab.py \
--onnx /opt/go1_pro_deploy/deploy_45dim_rl_gym/policy_robotlab_26000.onnx
--onnx /opt/go1_deploy/deploy_rl_lab/policy_robotlab_26000.onnx
```
这是带窗口和键盘的交互命令,需要可用的 X11/桌面。Linux 使用普通 `python`;只有 macOS 才通常需要 `mjpython`。脚本内部会 `chdir` 到自身目录,因此 `--onnx` 使用绝对路径。无图形环境应使用 8.4 节的 `--sample` 命令。
@@ -814,8 +834,8 @@ MUJOCO_GL=glfw /opt/envs/robogauge/bin/python deploy_go1_onnx_mujoco_lab.py \
```bash
MUJOCO_GL=glfw /opt/envs/robogauge/bin/python deploy_go1_onnx_mujoco_lab.py \
--onnx /opt/go1_pro_deploy/deploy_45dim_rl_gym/policy_robotlab_26000.onnx \
--terrain /opt/go1_pro_deploy/deploy_45dim_rl_gym/terrains/stairs/stairs_3.xml \
--onnx /opt/go1_deploy/deploy_rl_lab/policy_robotlab_26000.onnx \
--terrain /opt/go1_deploy/deploy_rl_lab/terrains/stairs/stairs_3.xml \
--spawn-x -0.6 \
--spawn-z 0.34
```
@@ -854,13 +874,15 @@ BPU 量化不是把 ONNX 改一个后缀。至少需要:
当前 26000 模型使用 `calibration_data_26000_robotlab_fast64/` 中的 64 个 PTQ 校验样本。这批数据来自 ONNX 推理流程,不是 X5 量化产生的模型 `.bin`。需要重新生成时,先检查供 `make_calibration_data.py` 使用的 ONNX 推理日志:
```bash
find /opt/go1_pro_deploy/logs \
find /opt/go1_deploy/logs \
-path '*/robotlab_go1_deploy_*/steps.jsonl' \
-type f -print
```
`make_calibration_data.py` 读取日志中的 `mode: RL` 和 45 维 `obs_single`,按部署顺序重建 10 帧/450 维历史,并写出工具链所需的 raw float32 校准输入 `.bin`。这里的 `.bin` 是 PTQ 输入文件X5 编译完成后生成的模型也使用 `.bin` 后缀,但两者用途完全不同。脚本找不到匹配日志或有效样本不足时会中止,不会绕过数据准备继续编译。
路径 A 已随镜像提供 `calibration_data_26000_robotlab_fast64/`。量化脚本检测到目录中恰好有 64 个 `.bin` 时直接复用;路径 B 或样本数量不匹配时,才从上述 ONNX 推理日志重新生成。
当前量化脚本会保留 actions 输出、降级 opset、包装为 BPU 需要的 4D 输入,并把 MoE grouped Conv 等价替换为 Gemm以减少 CPU fallback。中间 norm 节点位于 actor 之前,不能随意删除或移到后处理。
量化脚本内部流程如下:
@@ -881,19 +903,19 @@ ONNX 推理流程日志 steps.jsonl
| 参数 | 含义 | 常用设置 |
| --- | --- | --- |
| `--policy` | 原始 ONNX 路径,必须在部署仓库内 | `../policy_robotlab_26000.onnx` |
| `--round` | 输出目录和校准目录里的轮次标签,不参与计算 | `26000``35k` |
| `--round` | 输出目录和校准目录里的轮次标签,不参与计算 | `26000` |
| `--name` | 输出模型 basename不填时取 ONNX 文件名 | `policy_robotlab_26000` |
| `--history-len` | 历史帧数,用于重建输入维度 | RobotLab 为 `10`Gym 为 `5` |
| `--flat-dim` | 平铺输入维度;不填时为 `45 * history-len` | RobotLab 为 `450`Gym 为 `225` |
| `--history-len` | 历史帧数,用于重建输入维度 | Lab 固定`10` |
| `--flat-dim` | 平铺输入维度;不填时为 `45 * history-len` | Lab 固定`450` |
| `--samples` | 校准样本数量,越大越慢但覆盖更稳 | 默认 `64`,必要时 `128` |
| `--min-samples` | 最少有效样本数,不足则中止 | 默认 `32` |
| `--log-prefix` | 从 `logs/` 下筛选 ONNX 推理日志的目录前缀 | `robotlab_go1_deploy` |
| `--cal-tag` | 校准目录标签,区分 RobotLab/Gym | `robotlab``gym` |
| `--cal-tag` | 校准目录标签 | `robotlab` |
| `--compare-limit` | 浮点 ONNX 等价对比样本数 | 默认 `64` |
| `--quant` | 量化策略 | 默认 `int16``int8` 仅作对照 |
| `--docker-image` | D-Robotics CPU 工具链镜像 | X5/S100 各自不同 |
量化建议在 Mac 或训练机的 Docker 中完成,不在 X5/S100 板端跑 Docker。本文训练/量化主机的仓库固定为 `/opt/go1_pro_deploy`;板端只负责加载产物做离线测速、数值对齐和实机部署。
量化建议在 Mac 或训练机的 Docker 中完成,不在 X5/S100 板端跑 Docker。本文训练/量化主机的仓库固定为 `/opt/go1_deploy`;板端只负责加载产物做离线测速、数值对齐和实机部署。
量化脚本内部直接调用 `docker`。运行 X5/S100 脚本前先验收 daemon
@@ -912,13 +934,13 @@ sudo /opt/envs/go2_rl_robotlab/docker-toolchain/bin/docker load \
# sudo /opt/envs/go2_rl_robotlab/docker-toolchain/bin/docker pull openexplorer/ai_toolchain_ubuntu_20_x5_cpu:v1.2.8
```
脚本默认会用 `docker run --rm --platform linux/amd64` 启动这个镜像,并把当前仓库挂载到 `/workspace/deploy_go1_pro`。量化机执行:
脚本默认会用 `docker run --rm --platform linux/amd64` 启动这个镜像,并把当前仓库挂载到容器内 `/workspace/go1_deploy`。量化机执行:
```bash
cd /opt/go1_pro_deploy
cd /opt/go1_deploy
sudo env PATH=/opt/envs/go2_rl_robotlab/docker-toolchain/bin:${PATH} \
bash deploy_45dim_rl_gym/bpu_quantization/quantize_policy_x5.sh \
bash deploy_rl_lab/bpu_quantization/quantize_policy_x5.sh \
--policy ../policy_robotlab_26000.onnx \
--round 26000 \
--name policy_robotlab_26000 \
@@ -939,29 +961,16 @@ X5 关键配置:
- int16 时脚本在 YAML 中写入 `optimization: "set_all_nodes_int16"`
- `hb_mapper checker` 默认会先运行;明确知道模型已检查过时才使用 `--skip-checker`
如果要量化旧 Gym 5 帧模型,必须同步修改历史长度、日志前缀和标签
```bash
sudo env PATH=/opt/envs/go2_rl_robotlab/docker-toolchain/bin:${PATH} \
bash deploy_45dim_rl_gym/bpu_quantization/quantize_policy_x5.sh \
--policy ../policy_35k.onnx \
--round 35k \
--history-len 5 \
--log-prefix rlgym_go1_deploy \
--cal-tag gym \
--quant int16
```
以下是 **RDK X5 目标板** 命令。板端软件按交付约定安装在 `/root/go1_pro_deploy`;这是硬件系统路径,不是训练/量化镜像路径,也不应复制回 `/opt` 镜像执行:
以下是 **RDK X5 目标板** 命令。板端软件按交付约定安装在 `/root/go1_deploy`;这是硬件系统路径,不是训练/量化镜像路径,也不应复制回 `/opt` 镜像执行
板端先做完全离线自检,不连接电机控制:
```bash
cd /root/go1_pro_deploy
PYTHONPATH=/root/go1_pro_deploy \
python3 deploy_45dim_rl_gym/bpu_deploy_x5/test_bpu_policy.py \
--bpu-model deploy_45dim_rl_gym/bpu_quantization/mapper_output_26000_gemm/policy_robotlab_26000_int16_gemm.bin \
--input-bin deploy_45dim_rl_gym/bpu_quantization/calibration_data_26000_robotlab_fast64/00000.bin \
cd /root/go1_deploy
PYTHONPATH=/root/go1_deploy \
python3 deploy_rl_lab/bpu_deploy_x5/test_bpu_policy.py \
--bpu-model deploy_rl_lab/bpu_quantization/mapper_output_26000_gemm/policy_robotlab_26000_int16_gemm.bin \
--input-bin deploy_rl_lab/bpu_quantization/calibration_data_26000_robotlab_fast64/00000.bin \
--repeat 1000
```
@@ -981,10 +990,10 @@ sudo /opt/envs/go2_rl_robotlab/docker-toolchain/bin/docker load \
脚本同样在量化机 Docker 中运行,不在 S100 板端运行 Docker
```bash
cd /opt/go1_pro_deploy
cd /opt/go1_deploy
sudo env PATH=/opt/envs/go2_rl_robotlab/docker-toolchain/bin:${PATH} \
bash deploy_45dim_rl_gym/bpu_quantization/quantize_policy_s100.sh \
bash deploy_rl_lab/bpu_quantization/quantize_policy_s100.sh \
--policy ../policy_robotlab_26000.onnx \
--round 26000 \
--name policy_robotlab_26000 \
@@ -1010,16 +1019,16 @@ S100 关键配置:
```bash
/usr/hobot/bin/hrt_model_exec model_info \
--model_file deploy_45dim_rl_gym/bpu_quantization/mapper_output_26000_s100_gemm/policy_robotlab_26000_s100_int16_gemm.hbm
--model_file deploy_rl_lab/bpu_quantization/mapper_output_26000_s100_gemm/policy_robotlab_26000_s100_int16_gemm.hbm
```
板端测速:
```bash
/usr/hobot/bin/hrt_model_exec perf \
--model_file deploy_45dim_rl_gym/bpu_quantization/mapper_output_26000_s100_gemm/policy_robotlab_26000_s100_int16_gemm.hbm \
--model_file deploy_rl_lab/bpu_quantization/mapper_output_26000_s100_gemm/policy_robotlab_26000_s100_int16_gemm.hbm \
--model_name policy_robotlab_26000_s100_int16_gemm \
--input_file deploy_45dim_rl_gym/bpu_quantization/calibration_data_26000_robotlab_fast64/00000.bin \
--input_file deploy_rl_lab/bpu_quantization/calibration_data_26000_robotlab_fast64/00000.bin \
--frame_count 1000 \
--thread_num 1
```
@@ -1169,9 +1178,9 @@ pgrep -fl 'keep_sport_alive|Legged_sport|appTransit'
X5 示例:
```bash
cd /root/go1_pro_deploy
PYTHONPATH=/root/go1_pro_sdk:/root/go1_pro_deploy \
python3 deploy_45dim_rl_gym/bpu_deploy_x5/deploy_go1_robotlab_bpu_x5_fastcpp.py \
cd /root/go1_deploy
PYTHONPATH=/root/go1_pro_sdk:/root/go1_deploy \
python3 deploy_rl_lab/bpu_deploy_x5/deploy_go1_robotlab_bpu_x5_fastcpp.py \
--infer-check \
--log-dir logs \
--print-every 50 \
@@ -1182,9 +1191,9 @@ python3 deploy_45dim_rl_gym/bpu_deploy_x5/deploy_go1_robotlab_bpu_x5_fastcpp.py
S100 示例:
```bash
cd /root/go1_pro_deploy
PYTHONPATH=/root/go1_pro_sdk:/root/go1_pro_deploy \
python3 deploy_45dim_rl_gym/bpu_deploy_s100/deploy_go1_robotlab_bpu_s100_fastcpp.py \
cd /root/go1_deploy
PYTHONPATH=/root/go1_pro_sdk:/root/go1_deploy \
python3 deploy_rl_lab/bpu_deploy_s100/deploy_go1_robotlab_bpu_s100_fastcpp.py \
--infer-check \
--log-dir logs \
--print-every 50 \
@@ -1349,7 +1358,3 @@ loop_dt_ms / recv_ms / policy_ms / work_ms / state_fresh / state_age_ms
- [Unitree unitree_legged_sdk](https://github.com/unitreerobotics/unitree_legged_sdk)
- 本地 `go2_rl_robotlab/docs/go1.md`
- 本地 `RoboGauge/assets/docs/go1_policy_io_zh.md`
- 本地 `go1_pro_deploy/deploy_45dim_rl_gym/README.md`
- 本地 `go1_pro_deploy/deploy_45dim_rl_gym/bpu_quantization/README.md`
- 本地 `go1_pro_deploy/deploy_45dim_rl_gym/bpu_deploy_x5/README.md`
- 本地 `go1_pro_deploy/deploy_45dim_rl_gym/bpu_deploy_s100/README.md`