Skip to content

nonPlanB/PlatFormCMake

Repository files navigation

六轴动平台上位机控制软件

项目简介

这是一个基于Qt6开发的六轴动平台上位机控制软件,提供直观的3D可视化界面和完整的运动控制功能。软件采用现代化的Qt Quick3D技术,实现实时3D模型渲染和运动状态监控。

主要功能

🎮 运动控制

  • 六轴控制:X、Y、Z轴位置控制,A、B、C轴姿态控制
  • 实时调节:滑块式控制界面,支持实时参数调整
  • 平滑动画:内置缓动动画,确保运动过程平滑自然

🌐 网络通信

  • TCP客户端:连接下位机控制系统
  • TCP服务器:支持多客户端连接
  • 实时状态:显示连接状态和通信信息
  • IP管理:自动获取本地IP地址

🎯 3D可视化

  • 实时渲染:使用Qt Quick3D实现高性能3D渲染
  • 运动学模型:完整的六轴运动学算法实现
  • 材质系统:支持自定义金属材质和HDR环境贴图
  • 相机控制:支持视角移动和缩放操作

🔧 技术特性

  • 模块化设计:QML组件化架构,易于维护和扩展
  • 数学库:内置运动学变换算法库
  • 响应式界面:自适应布局,支持不同屏幕尺寸

系统要求

  • 操作系统:Windows 10/11, macOS, Linux
  • Qt版本:Qt 6.0 或更高版本
  • 编译器:支持C++17的编译器
  • CMake:3.16 或更高版本
  • 显卡:支持OpenGL 4.0 或更高版本

依赖组件

  • Qt6 Core
  • Qt6 Gui
  • Qt6 Quick
  • Qt6 Quick3D
  • Qt6 Network

项目结构

custommaterial/
├── main.cpp                 # 主程序入口
├── main.qml                # 主界面QML文件
├── LeftControl.qml         # 左侧控制面板
├── RightControl.qml        # 右侧控制面板
├── CameraControl.qml       # 相机控制组件
├── Connection.qml          # 网络连接界面
├── CustomModel.qml         # 自定义3D模型组件
├── Model3dView.qml         # 3D视图组件
├── Transformations.js      # 运动学变换算法库
├── clientwidget.h/cpp      # TCP客户端实现
├── servicewidget.h/cpp     # TCP服务器实现
├── meshes/                 # 3D模型文件目录
├── maps/                   # 纹理和贴图文件
├── CMakeLists.txt          # CMake构建配置
└── materials.qrc           # 资源文件配置

核心算法

运动学变换

  • 位置变换translatePR() - 处理位置和姿态的复合变换
  • 姿态计算rotatePR() - 计算连杆姿态角度
  • 坐标转换:支持齐次坐标变换矩阵运算

控制参数

  • 位置范围:X/Y/Z轴 ±100mm
  • 角度范围:A/B/C轴 ±15°
  • 动画时长:可配置的运动过渡时间

构建说明

使用CMake构建

mkdir build
cd build
cmake ..
make

使用Qt Creator

  1. 打开Qt Creator
  2. 选择"打开项目"
  3. 选择项目根目录的CMakeLists.txt文件
  4. 配置构建套件
  5. 构建并运行

使用说明

启动软件

  1. 运行编译后的可执行文件
  2. 软件将显示3D六轴动平台模型和控制界面

运动控制

  1. 左侧面板:控制平台的位置和姿态

    • X/Y/Z滑块:控制平台在空间中的位置
    • A/B/C滑块:控制平台的姿态角度
    • D滑块:控制平台的升降高度
    • A滑块:控制平台的旋转角度
  2. 右侧面板:控制连杆的相对位置

    • PX/PY/PZ滑块:调整连杆的相对位置参数

网络连接

  1. 客户端模式:输入目标IP和端口,点击"ON"连接
  2. 服务器模式:软件自动启动TCP服务器,等待客户端连接
  3. 状态监控:实时显示连接状态和通信信息

3D视图操作

  • 鼠标拖拽:旋转视角
  • 滚轮:缩放视图
  • 右键:平移视角

开发说明

添加新的控制参数

  1. 在相应的QML文件中添加新的滑块控件
  2. 在Transformations.js中添加对应的计算函数
  3. 更新3D模型的位置和姿态绑定

自定义3D模型

  1. 将新的.mesh文件放入meshes/目录
  2. 在main.qml中添加对应的Model节点
  3. 配置材质和变换参数

扩展网络功能

  1. 修改clientwidget.cpp和servicewidget.cpp
  2. 添加新的信号和槽函数
  3. 在QML中绑定新的功能

About

Qt6六轴动平台上位机软件-CMake构建

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors