67 lines
2.7 KiB
Markdown
67 lines
2.7 KiB
Markdown
# 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)。
|