Files
arm_dev 6edb8d39ab chore: 框架科学优化前的完整基线
在开始'设备契约层 + 目录重构 + 通止规装配'改造之前,先钉住当前可运行状态,
使后续任何删除/重构都可回退。

本基线包含:
- 现有 ROS 2 工作区全部源码(arm_application / arm_control / arm_bringup 等)
- 官方 flexiv_ros2 栈(含 flexiv_hardware / flexiv_controllers 等符号链接)
- 设备契约层 src/arm_interfaces(新增,46 项单测通过)
- devices/ 设备选型与品牌清单(新增)
- scripts/gen_site_example.py 与由它生成的 config/site.example.yaml

按 .gitignore 排除:build/ / install/ / log/ / config/site.yaml / 模型权重二进制。
2026-09-23 10:53:06 +08:00
..

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 后使用。

放好之后怎么让它生效

# 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 <SN>。