前前言
February 24, 2021 · View on GitHub
前前言
- github下载速度太慢,本项目最新进度移至码云上进行更新
- 码云项目地址(https://gitee.com/liuwentao1234/robot-simulation-software)
- 本仓库仅保留了解析G代码基础功能, 轨迹和三维仿真源码请点上面👆的链接
- QQ:626373788
前言
建立本仓的目的之初是为了提供给新手C++快速入门学习, 尤其是从面向过程到面向对象设计思想的转变, 本人当年也是走过了不少弯路, 通过大量阅读大佬的源码可以获得"胜读十年书"的提升. 本仓库最初只是一个3000+代码行的小程序, 后来经过不断的版本迭代, 代码量逐渐庞大, 功能的丰富存在了实际的使用价值 但是代码任然是全部开源的, 你可以拿去继续添加你需要的功能, 甚至作为你自己的个人项目.
项目简介
- 基于Qt框架,Qt本身可以被称作是一种C++的延伸,Qt本身已经继承了C++的快速、简易、面向对象等许多的优点.
- 本项目模块可分为三大块:
- 解析G代码
- 轨迹数据可视化
- 机器人三维仿真
- 项目技术栈: 基本涵盖了所有C++基础,例如数据结构与算法,设计模式,STL库等
- 面向对象编程风格: <Effective C++> <More Effective C++>
- 大部分代码都配有注释降低上手难度
- 项目代码行1W+, 本人QQ: 626373788

模块介绍
解析G代码
- 本功能是通过解析数控程序G/M代码指令,获取二维的轨迹数据进行绘制
- 增加了刀补算法: 可根据刀具宽度和计算轨迹调整实际切割轨迹
- 增加了手势操作: 鼠标滚轮放大以及拖拽

轨迹数据可视化
- 可以将TXT文件的轨迹数据导入,实现轨迹数据的显示
- 除此以外还提供了求交面设置,可以捕捉到轨迹和任意平面的相交的点坐标

机器人三维仿真
- 本功能可以实现三维机器人stl文件的导入, 通过载入关节来装配机器人
- 设置机器人的关键参数: DH参数, 运动范围, 起始角度
- 增加了加载工件功能: 工件提供坐标轴和环, 可以与鼠标交互实现移动和旋转
- 增加机器人示教功能: 通过示教功能实现机器人的运动
- 增加了轨迹运动起始姿态幻影: 每次开始运动时记录原始姿态

附件图片

三维场景节点组织图
- 渲染引擎使用OSG, OSG使用的是树数据结构来管理场景内部的各个节点, 大致组织结构如下
