keer_zu 发表于 2025-6-14 15:54

一个opencv + ros2 + qt的视觉运动控制系统的逐步实现

!(data/attachment/forum/202506/14/155405rvii3vfif5jvjwdz.png "deepseek_mermaid_20250613_331bd1.png")

# 这是架构

keer_zu 发表于 2025-6-14 16:01

# 代码实现中:

!(data/attachment/forum/202506/14/160144wa12zj7jjk8ohako.png "image.png")

keer_zu 发表于 2025-6-14 16:15

## 运动控制:

!(data/attachment/forum/202506/14/161520i6cskeeoojvcajvc.png "image.png")

keer_zu 发表于 2025-6-14 23:20

### 完整构建流程

**bash**

```
# 1. 清理之前的构建
cd ~/Downloads/demo
rm -rf build install log

# 2. 重新构建UI包
colcon build --packages-select vision_control_ui

# 3. 设置环境变量
source install/setup.bash

# 4. 启动UI
ros2 run vision_control_ui vision_control_ui
```

### 备选方案:使用预编译的Qt ROS 2应用

如果仍然遇到构建问题,可以使用ROS 2自带的Qt工具:

**bash**

```
# 安装rqt
sudo apt install ros-jazzy-rqt ros-jazzy-rqt-common-plugins

# 创建自定义rqt插件
rqt --force-discover
```

### 系统集成测试

1. **启动运动控制节点**:
   **bash**

   ```
   ros2 launch motion_control motion_control.launch.py
   ```
2. **启动Qt UI**:
   **bash**

   ```
   ros2 run vision_control_ui vision_control_ui
   ```
3. **基本操作**:

   * **启动控制**:点击 "Start Control" 按钮
   * **设置PID**:调整参数后点击 "Set PID"
   * **发送位姿**:输入目标位置后点击 "Send Pose"
   * **紧急停止**:点击红色 "EMERGENCY STOP" 按钮
4. **监控状态**:

   * 关节状态实时显示在表格中
   * 状态栏显示系统连接状态

这个解决方案完全移除了对 `ament_auto` 的依赖,使用标准的 CMake 配置方法,并且简化了 UI 功能,只保留核心的运动控制功能。
页: [1]
查看完整版本: 一个opencv + ros2 + qt的视觉运动控制系统的逐步实现