一个opencv + ros2 + qt的视觉运动控制系统的逐步实现
!(data/attachment/forum/202506/14/155405rvii3vfif5jvjwdz.png "deepseek_mermaid_20250613_331bd1.png")# 这是架构
# 代码实现中:
!(data/attachment/forum/202506/14/160144wa12zj7jjk8ohako.png "image.png")
## 运动控制:
!(data/attachment/forum/202506/14/161520i6cskeeoojvcajvc.png "image.png")
### 完整构建流程
**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]