# devices/robots/flexiv/rdk/ —— 放置非夕 RDK ## 放什么 Flexiv RDK(Robotic Development Kit)的源码或安装包。 ## 格式与命名要求(必须遵守) | 项 | 要求 | 违反的后果 | |----|------|-----------| | 格式 | 厂商原始发布格式(`.tar.gz` 需展开,不要留着压缩包) | 驱动加载不到 | | 目录名 | 保持厂商原目录名(通常是 `flexiv_rdk`) | CMake 的 include 路径失效 | | 文件名 | 一律不改名 | CMake 查找 `libflexiv_rdk.*.a` 时按原名匹配 | | 版本 | 在 `../manifest.yaml` 的 `version` 字段记录 | 日后无法排查版本不匹配 | | 编译产物 | 不要把 `build/` 提交进 git | 仓库膨胀 | ## 版本必须配对(这是已踩过的坑) 项目里同时存在两个 RDK 版本,**不能混用**: | 用途 | 需要的 RDK 版本 | 位置 | |------|----------------|------| | 编译 `flexiv_ros2`(humble-v1,v1.9.1) | **1.9.x** | 已编译安装于 `~/flexiv_install` | | 单独跑 RDK Python 脚本(软拖拽、切工具) | 2.1.x | `src/flexiv_rdk`(符号链接到仓库外) | `flexiv_ros2` 是 humble-v1 版本,它期望的 RDK 是 1.9.x。当前 `src/flexiv_rdk` 指向的是 **2.1.x**,两者靠 `~/flexiv_install` 里已编译好的 1.9.1 解耦。 离线安装 1.9.1 需要的静态库在 `vendor/rdk_libs/`,由 `scripts/install_rdk_offline.sh` 校验 sha256 后使用。 ## 放好之后怎么让它生效 ```bash # 1. 若 RDK 未编译,先编译并安装到 ~/flexiv_install bash scripts/build_flexiv_rdk.sh # 2. 重新编译依赖 RDK 的 ROS 包 source scripts/env.sh ./scripts/build_all.sh # 3. 确认选型 cat devices/registry.yaml # robots: flexiv # 4. 实机启动 bash scripts/run_real.sh --arm 89 ``` ## 排查 - `run_real.sh` 会先调 `scripts/rdk_switch_tool.py` 做预检;失败会直接 `exit 1` 并打印原因。 - 网络不通先跑 `scripts/check_robot_network.sh`。 - RDK Python 冒烟测试:`scripts/test_rdk_python.sh `。