feat: add head control and joint data decoder
This commit is contained in:
@@ -116,6 +116,32 @@ NOREPLACE 语义原子发布、fsync 父目录,最后写入并 fsync `VERIFIED
|
||||
刚创建的失败 payload,因此机器人不会长期保留失败 MCAP。若以后改回 `true` 以保留故障
|
||||
诊断,必须另建独立验真与回收协议,不能整目录清空。
|
||||
|
||||
## 解码双臂关节数据
|
||||
|
||||
MCAP 内的自定义 TG3 消息使用 CDR 编码。解码器读取项目保存的消息定义,并把实际反馈、
|
||||
遥操目标、厂家桥后命令和 xTELE 原始目标分别导出为长表 CSV。首次使用在独立虚拟环境
|
||||
安装依赖:
|
||||
|
||||
```bash
|
||||
python3 -m venv /tmp/tg3-mcap-venv
|
||||
/tmp/tg3-mcap-venv/bin/pip install mcap==1.4.0 mcap-ros2-support==0.5.7
|
||||
|
||||
/tmp/tg3-mcap-venv/bin/python tg3_data_collection/decode_joint_data.py \
|
||||
Data_Get/<episode_id>
|
||||
```
|
||||
|
||||
输出位于 `Data_Get/<episode_id>/decoded_joints/`:
|
||||
|
||||
- `robot_arm_feedback.csv`:`/robot_state`、`/freq_change/arm_status` 和
|
||||
`/data_logger/arm_status` 的实测位置、速度、电流、温度及错误码;
|
||||
- `teleop_joint_target.csv`:`/encoder_identical_joint` 的 14 轴遥操目标;
|
||||
- `vendor_arm_command.csv`:`/arm/cmd` 的厂家桥后控制参数;
|
||||
- `iarm_source_joint.csv`:`/tg3/data_collection/iarm_frame` 中的 TS1P 原始目标;
|
||||
- `summary.json`:关节顺序、Motor ID、单位和行数。
|
||||
|
||||
关节顺序为左臂 7 轴后右臂 7 轴,Motor ID 分别为 `11..17` 和 `21..27`;位置单位
|
||||
为 rad,速度单位为 rad/s。输出目录必须不存在,避免误覆盖已经分析或标注过的数据。
|
||||
|
||||
迁移后需要同步修改 service 中的本机项目路径和机器人 SSH 地址。如果 Nvidia 的
|
||||
`192.168.41.2` 改变,只改 unit 的 `--remote` 并重新部署 helper;它不在机器人
|
||||
`config.toml` 或 OmniSocket Peer 设置中。启用自动删除时远端路径必须保持固定的
|
||||
|
||||
Reference in New Issue
Block a user