Files
go1_pro_sdk/tools/README.md
2026-06-20 20:02:36 +08:00

80 lines
1.7 KiB
Markdown

# Tools
一次性诊断/校准工具. 不是 SDK 核心.
## 密钥提取
### extract_blowfish_key.sh
在狗上 (Pi) 运行, 从 Legged_sport 进程内存提取 Blowfish state.
```bash
scp tools/extract_blowfish_key.sh pi@192.168.123.161:/tmp/
ssh pi@192.168.123.161 "sudo bash /tmp/extract_blowfish_key.sh"
scp pi@192.168.123.161:/tmp/blowfish_dump.tar.gz ./
```
### analyze_blowfish_dump.py
Mac 端解析 dump, 找出 4168 字节 state.
```bash
python tools/analyze_blowfish_dump.py blowfish_dump.tar.gz
```
## 校准
### calibrate_joints.py
手动转动法测每个关节真实活动范围.
```bash
# 狗悬空 + L2+B damping, 然后:
python tools/calibrate_joints.py --duration 90
# 慢慢把每条腿的每个关节转到极限
# 退出时输出 JOINT_LIMITS_MEASURED 字典, 可粘贴到 utils/constants.py
```
## 抢占源管理
### stop_sportmode.sh
```bash
bash tools/stop_sportmode.sh stop # 杀 keep_sport_alive + Legged_sport + appTransit
bash tools/stop_sportmode.sh start # 恢复
bash tools/stop_sportmode.sh status # 看当前状态
```
### run_on_mac.sh
一键流程: 停抢占源 → 跑测试 → (手动恢复).
```bash
bash tools/run_on_mac.sh example
bash tools/run_on_mac.sh monitor
bash tools/run_on_mac.sh stop
bash tools/run_on_mac.sh start
```
### run_on_pi.sh
把测试脚本部署到 Pi 上跑 (源 IP 跟 Legged_sport 一致, 现在不需要了, 但保留作为备选).
## 协议研究
### capture_lowcmd.sh + _raw_capture.py
Pi 端 tcpdump 抓 Legged_sport 真实发送的 LowCmd 流量.
```bash
bash tools/capture_lowcmd.sh 3
```
### diff_real_lowcmd.sh + _compare_lowcmd.py
抓真实包 + 跟本地 buildCmd 输出做字节级 diff. 用于发现协议细节差异.
```bash
bash tools/diff_real_lowcmd.sh 3
```