# orisys_arm 能在这台机器上从源码编起来、再按三条命令启动的真机工程。项目目录仍叫 `orisys_arm`,应用包名是 `arm_application`。 ## 源码 | 目录 | 来源 | |---|---| | `src/arm_application` | 相机、跟踪、伺服、对孔、旋入、夹爪、触觉 | | `src/arm_bringup` | `run_real.sh` 用的启动 | | `src/arm_control` | 状态、命名位姿、轨迹适配 | | `src/arm_driver_flexiv` | RDK 桥 | | `src/arm_msgs` | 孔检测、触觉的消息 | | `src/arm_description` | 本栈 URDF 包装 | | `src/arm_kinematics` | 几何逆解 | | `src/arm_interfaces` | 驱动读站点配置 | | `src/flexiv_description` | 官方机器人模型(拷贝,不是链接) | | `src/flexiv_ros2` | 官方 ROS 2 包(拷贝)。已去掉 `COLCON_IGNORE` | 现场配置在 `config/site.yaml`,手眼在 `handeye/`,权重在 `models/yolo/`,RDK 源码在 `thirdparty/flexiv_rdk`。运行时仍使用本机已装好的 `~/flexiv_install` 和 conda 环境 `ros_flexiv`。 ## 启动 先在这个目录编译(不要在中文路径下编;本目录是 ASCII): ```bash cd ~/桌面/orisys_arm bash scripts/build_all.sh ``` 三个终端: ```bash bash ~/桌面/orisys_arm/scripts/run_real.sh --arm 89 bash ~/桌面/orisys_arm/scripts/run_camera_d405.sh --arm 89 --preview bash ~/桌面/orisys_arm/scripts/run_all.sh --arm 89 ``` 手眼示教和标定在 `handeye/run_handeye.sh`。工位窗口在 `station/run_station.sh`。两者都不在 `scripts/`。没有搬仿真、MoveIt 和通止规装配状态机。 ## Qt 工位窗口 ```bash bash station/run_station.sh ``` 启动器使用 `ros_flexiv` 的 Python,把 PySide6 / shiboken6 6.8.3 独立安装在 `~/.local/share/orisys_arm/qt-6.8.3-py311`(设置了 `XDG_DATA_HOME` 时跟随该目录)。 首次启动需要下载依赖,以后直接使用本地安装,不修改 conda 中的 ROS 依赖。 `desk/run_desk.sh` 也使用同一套 Qt 运行时。 当前搬迁的安装目录包含指向 `/tmp/orisys_mnt` 的链接,工位启动器会在私有挂载空间 恢复该路径,避免 ROS 消息和相机桥因安装链接失效而加载失败。 本机原有 PySide6 6.12.0 在 Python 3.11 下执行 Qt 无返回值调用时会持续递减 `None` 引用计数,造成约一分钟后异常退出或卡死。已移除手工补引用计数的补丁, 并固定使用回归测试通过的版本。界面状态读取缓存站点配置,文件变化后自动重读, 避免每次刷新重复解析同一份 YAML。 界面依赖回归测试(不连接设备、不下发动作): ```bash bash station/run_station.sh --self-test ``` 工位已拆分为 Qt 前端、独立命令后端和常驻 ROS 驱动。设计、设备归属、迁移边界及测试见 [station/README.md](station/README.md)。