# Robotiq 2F-85夹爪控制 **Repository Path**: mxs801/robotiq-2f85 ## Basic Information - **Project Name**: Robotiq 2F-85夹爪控制 - **Description**: 这是一个完整的工业机器人夹爪控制软件,支持 Robotiq 2F-85 和 2F-140 型号夹爪的控制。通过 RS485 串口使用 Modbus RTU 协议与夹爪通信,提供直观的图形界面进行操作。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-02 - **Last Updated**: 2026-03-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Robotiq 2F-85/2F-140 夹爪控制程序 > 基于 Qt 6.9 + Modbus RTU 的工业机器人夹爪控制软件 ![Qt](https://img.shields.io/badge/Qt-6.9.2-green.svg) ![C++](https://img.shields.io/badge/C++-17-blue.svg) ![CMake](https://img.shields.io/badge/CMake-3.16+-blue.svg) ![License](https://img.shields.io/badge/License-MIT-yellow.svg) --- ## 📖 项目简介 这是一个完整的工业机器人夹爪控制软件,支持 Robotiq 2F-85 和 2F-140 型号夹爪的控制。通过 RS485 串口使用 Modbus RTU 协议与夹爪通信,提供直观的图形界面进行操作。 ### ✨ 主要功能 - ✅ **串口连接管理** - 自动检测可用串口,支持连接/断开 - ✅ **夹爪激活控制** - 激活、复位、停止、自动释放 - ✅ **位置精确控制** - 0-255 级位置调节,实时反馈 - ✅ **速度力量调节** - 可调节夹取速度和力量 - ✅ **状态实时监控** - 显示夹爪位置、电流、物体检测等状态 - ✅ **日志记录** - 详细的操作日志和错误提示 - ✅ **界面美化** - 暗黑主题 QSS 样式表 ### 🎯 技术特点 - **跨平台** - 基于 Qt 6.9,支持 Windows/Linux/macOS - **模块化设计** - MVC 架构,代码结构清晰 - **工业协议** - Modbus RTU 标准通信 - **现代 C++** - C++17 标准,使用智能指针和 RAII - **完整文档** - 包含详细的开发教程和 API 文档 --- ## 🖼️ 界面预览 *[可以在此添加应用程序截图]* --- ## 🚀 快速开始 ### 前置要求 - **Qt 6.9.2** 或更高版本 - **MinGW 13.1.0** 64-bit (Windows) - **CMake 3.16+** - **Ninja** 构建系统 - **VSCode** 或 **Qt Creator** ### 克隆项目 ```bash git clone <仓库地址> cd Robtiq_ui ``` ### 配置开发环境 **首次使用请参考详细配置指南:** 📘 [SETUP.md](./SETUP.md) - 完整的环境配置说明 **快速配置步骤:** 1. **复制配置模板** ```bash # Windows copy .clangd.template .clangd copy .vscode\settings.json.template .vscode\settings.json copy .vscode\c_cpp_properties.json.template .vscode\c_cpp_properties.json copy .vscode\tasks.json.template .vscode\tasks.json copy .vscode\launch.json.template .vscode\launch.json ``` 2. **修改配置文件中的路径** - 将 `<你的Qt安装路径>` 替换为实际 Qt 安装目录 - 示例: `D:/Qt` (Windows) 或 `/opt/Qt` (Linux) 3. **构建项目** ```bash # 使用 CMake cmake -S . -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug \ -DCMAKE_PREFIX_PATH=/6.9.2/mingw_64 # 编译 cmake --build build # 运行 .\build\Robtiq_ui.exe # Windows ./build/Robtiq_ui # Linux/macOS ``` --- ## 📂 项目结构 ``` Robtiq_ui/ ├── docs/ # 完整开发教程 │ ├── README.md # 教程目录 │ ├── 01_环境搭建.md │ ├── 02_Qt基础知识.md │ ├── 03_Modbus通信原理.md │ ├── ... │ ├── 10_界面美化与图标管理.md │ └── 11_AI辅助开发完整指南.md ├── include/ # 头文件 │ ├── mainwindow.h │ └── robotiqcontroller.h ├── src/ # 源代码 │ ├── main.cpp │ ├── mainwindow.cpp │ └── robotiqcontroller.cpp ├── ui/ # Qt Designer UI 文件 │ ├── mainwindow.ui │ ├── css/ # QSS 样式表 │ │ └── style.css │ └── icons/ # 图标资源 │ └── Robtiq.ico ├── .vscode/ # VSCode 配置 │ ├── *.json.template # 配置模板(需复制并修改) │ └── *.json # 个人配置(被 git 忽略) ├── build/ # 构建输出(自动生成) ├── CMakeLists.txt # CMake 配置 ├── resources.qrc # Qt 资源文件 ├── .gitignore # Git 忽略规则 ├── SETUP.md # 环境配置指南 └── README.md # 本文档 ``` --- ## 📚 学习教程 本项目提供了完整的从零开始的开发教程,适合 Qt 和工业控制软件的初学者: **[📘 点击查看完整教程](./docs/README.md)** ### 教程章节 1. [开发环境搭建](./docs/01_环境搭建.md) 2. [Qt 基础知识](./docs/02_Qt基础知识.md) 3. [Modbus RTU 通信原理](./docs/03_Modbus通信原理.md) 4. [串口通信基础](./docs/04_串口通信基础.md) 5. [RobotiqController 类设计](./docs/05_RobotiqController类设计.md) 6. [UI 界面设计](./docs/06_UI界面设计.md) 7. [MainWindow 逻辑实现](./docs/07_MainWindow逻辑实现.md) 8. [编译、调试与测试](./docs/08_调试技巧.md) 9. [常见问题 FAQ](./docs/09_常见问题FAQ.md) 10. [界面美化与图标管理](./docs/10_界面美化与图标管理.md) 🎨 11. [AI 辅助开发完整指南](./docs/11_AI辅助开发完整指南.md) 🤖 **特色教程:** - 🎨 **CSS 样式美化** - 学习如何使用 QSS 打造专业界面 - 🤖 **AI 辅助开发** - 零基础利用 AI 助手完成项目 --- ## 🔧 技术架构 ### 核心技术栈 - **GUI 框架**: Qt 6.9.2 (Widgets) - **通信协议**: Modbus RTU over RS485 - **通信库**: Qt SerialBus (QModbusRtuSerialMaster) - **构建系统**: CMake 3.16+ with Ninja - **编程语言**: C++17 - **样式系统**: QSS (Qt Style Sheets) ### 架构设计 采用 **MVC 变体架构**: - **Model (业务逻辑)**: `RobotiqController` 类 - 封装 Modbus RTU 通信 - 夹爪控制逻辑 - 状态管理 - **View (界面)**: `mainwindow.ui` - Qt Designer 设计的 UI - QSS 样式美化 - **Controller (控制器)**: `MainWindow` 类 - 连接 UI 和业务逻辑 - 信号槽管理 - 用户交互处理 ### 通信协议 使用 **Modbus RTU** 协议通过 RS485 串口通信: - **从站地址**: 9 - **波特率**: 19200 - **数据位**: 8 - **校验位**: None - **停止位**: 1 - **主要功能码**: FC04(读输入寄存器)、FC16(写多个寄存器) --- ## 🎮 使用说明 ### 连接夹爪 1. **硬件连接** - 使用 USB 转 RS485 转换器连接夹爪 - 确保夹爪已接通 24V 电源 2. **软件操作** - 启动程序 - 在"串口"下拉框选择正确的 COM 口 - 点击"连接"按钮 ### 激活夹爪 首次连接或复位后需要激活: 1. 点击"激活夹爪"按钮 2. 等待激活完成(状态显示"已激活") ### 控制夹爪 - **张开**: 点击"张开"按钮,夹爪移动到 0 位置 - **闭合**: 点击"闭合"按钮,夹爪移动到 255 位置 - **精确控制**: 拖动"位置"滑块,点击"移动到目标位置" - **调节参数**: 使用"速度"和"力量"滑块调整 ### 状态监控 实时显示: - 激活状态 - 夹爪位置 - 电流值 - 物体检测状态 - 故障信息 --- ## 🐛 调试与测试 ### 虚拟测试(无硬件) 使用虚拟串口和 Modbus 模拟器: 1. **安装工具** - [com0com](https://sourceforge.net/projects/com0com/) - 虚拟串口 - [Modbus Slave](https://www.modbustools.com/) - Modbus 模拟器 2. **配置测试环境** - 创建虚拟串口对 COM1-COM2 - Modbus Slave 监听 COM2 - 程序连接 COM1 详见: [docs/08_调试技巧.md](./docs/08_调试技巧.md) ### 代码规范 - 遵循 [代码规范](./docs/附录_代码规范.md) - 使用 clang-format 格式化代码 - 添加必要的注释和文档 --- ## 📜 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](./LICENSE) 文件 --- ## 🔗 相关资源 - [Robotiq 官方文档](https://robotiq.com/support) - [Qt 官方文档](https://doc.qt.io/qt-6/) - [Modbus 协议规范](https://www.modbus.org/) - [CMake 文档](https://cmake.org/documentation/) --- *最后更新: 2025-10-30*