面向混凝土3D打印的空间路径拟合方法及系统转让专利

申请号 : CN202210057516.4

文献号 : CN114075810B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 姚晓飞柏松林田果刘声均吴庆王伯林刘世龙

申请人 : 中交第一公路勘察设计研究院有限公司

摘要 :

本发明涉及一种面向混凝土3D打印的空间路径拟合方法及系统。目前鲜有专门针对混凝土3D打印的空间路径规划方法。本方法建立打印模型,建立世界坐标系;对打印模型进行切片分层,获得各层模型路径点序;提取切片模型的法向量Z,构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;构建包含法向量Y和点间矢量的基平面P;根据机器人工具端坐标确定欧拉旋转矩阵T,对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序;基于空间路径点序的坐标信息控制打印头姿态。该方案根据混凝土模型的特点进行空间分层,提升打印任意复杂的混凝土结构的能力,从而满足了混凝土多自由度3D打印的灵活要求。

权利要求 :

1.面向混凝土3D打印的空间路径拟合方法,其特征在于:所述方法包括:

建立打印模型, 以打印机器人底座为原点建立世界坐标系;

对打印模型进行切片分层,得到多层切片模型,获得各层切片模型的模型路径点序;

提取各层切片模型的法向量Z,基于模型路径点序构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;以模型路径点序为原点,构建包含法向量Y和点间矢量的基平面P;

根据机器人工具端坐标确定欧拉旋转矩阵T,通过欧拉旋转矩阵T对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序;

基于空间路径点序的坐标信息控制打印头姿态;

对打印模型进行切片分层,得到多层切片模型,获得各层切片模型的模型路径点序包括:

选择切片模型的基准线;

将基准线以固定长度进行等分,分别在等分点处建立切片平面;

基于切片平面对打印模型进行切分,因为拱圈左右高度不同,获得非等层厚的分层,得到打印模型的空间路径;

提取空间路径的关键点序,获得各层切片模型的模型路径点序P1,P2,…,Pn,n≥3;

根据机器人工具端坐标确定欧拉旋转矩阵T,通过欧拉旋转矩阵T对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序包括:建立机器人工具端坐标系,设定(x,y,z,A,B,C)为机器人工具端坐标,得到欧拉旋转矩阵T,建立方程1:

对欧拉旋转矩阵T 进行齐次转换,得到矩阵T’,其中α、β、γ为旋转角度;

对基平面P进行齐次矩阵化,得到矩阵M,矩阵M和矩阵T’相乘得到旋转矩阵R,通过方程判断旋转矩阵R是否成立:

成立则建立方程2

不成立则建立方程3

解算方程求得A,B,C ;

机器人具有六自由度机械臂,外加轨道外部轴E1,共七个自由度;根据打印需求判断是否启用轨道外部轴E1,当不启用轨道外部轴E1时,则按照(x,y,z,A,B,C)的格式存入机器人工具端坐标系下的空间路径点序中;当启用轨道外部轴E1时,调用在世界坐标系下模型路径点序的y值,作为轨道外部轴E1的位置状态。

2.根据权利要求1所述的方法,其特征在于:提取各层切片模型的法向量Z,基于模型路径点序构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;以模型路径点序为原点,构建包含法向量Y和点间矢量的基平面P包括:

提取各层切片模型的法向量Z;

基于各层切片模型的模型路径点序,求解相邻两点Pn‑1 (xn‑1,yn‑1,zn‑1) 和Pn (xn,yn,zn) 的点间矢量Pn‑1Pn;

求解法向量Z和点间矢量Pn‑1Pn所构建平面的法向量Y;

以模型路径点序为原点,构建包含法向量Y和点间矢量Pn‑1Pn的基平面P。

3.根据权利要求2所述的方法,其特征在于:所述基于空间路径点序的坐标信息控制打印头姿态包括:将空间路径点序编译为G代码,读取G代码,根据G代码的坐标信息,控制机器人打印头姿态。

4.面向混凝土3D打印的空间路径拟合系统,其特征在于:所述系统用于完成权利要求1‑3任一项所述的方法,包括:模型建立模块,用于建立打印模型, 以打印机器人底座为原点建立世界坐标系;

切片分层模块,用于对打印模型进行切片分层,得到多层切片模型,获得各层切片模型的模型路径点序;

基平面构建模块,用于提取各层切片模型的法向量Z,基于模型路径点序构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;以模型路径点序为原点,构建包含法向量Y和点间矢量的基平面P;

坐标变换模块,用于根据机器人工具端坐标确定欧拉旋转矩阵T,通过欧拉旋转矩阵T对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序;

姿态控制模块,用于基于空间路径点序的坐标信息控制打印头姿态。

说明书 :

面向混凝土3D打印的空间路径拟合方法及系统

技术领域

[0001] 本发明涉及混凝土3D打印的路径数据处理方法,具体涉及一种面向混凝土3D打印的空间路径拟合方法及系统。

背景技术

[0002] 3D打印技术作为最核心的数字建造技术,广泛应用于航天、医疗等领域,目前已逐步趋向于成熟,但在土木工程智能建造领域,3D打印技术仍处于起步阶段。目前混凝土3D打
印基本采用三自由度方式进行运动,多数应用桁架式打印机在二维平面堆积成型,该方法
基于平面分层进而在二维平面进行路径规划,无法实现打印头位姿的实时控制。在当前技
术中,缺少混凝土多自由度打印的控制方法,尤其对于空间曲面的分层和空间内非平面的
路径生成尚无方法,不能实现任意复杂的混凝土结构多自由度灵活打印。
[0003] 此外,虽然在航天、医疗领域已实现多自由度3D打印,各类切片软件包含丰富的路径规划算法。然而目前市场尚未缺少专门针对混凝土3D打印的空间路径规划方法,无法根
据混凝土打印模型的特点进行空间路径拟合,进而实现模型分层方向和打印头路径走向的
最优化。

发明内容

[0004] 本发明的目的是提供一种面向混凝土3D打印的空间路径拟合方法及系统,以至少解决混凝土3D打印中模型分层方向和打印头路径走向的最优化问题。
[0005] 为了达到上述目的,本发明所采用的技术方案为:
[0006] 面向混凝土3D打印的空间路径拟合方法,所述方法包括:
[0007] 建立打印模型, 以打印机器人底座为原点建立世界坐标系;
[0008] 对打印模型进行切片分层,得到多层切片模型,获得各层切片模型的模型路径点序;
[0009] 提取各层切片模型的法向量Z,基于模型路径点序构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;以模型路径点序为原点,构建包含法向量Y和点
间矢量的基平面P;
[0010] 根据机器人工具端坐标确定欧拉旋转矩阵T,通过欧拉旋转矩阵T对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序;
[0011] 基于空间路径点序的坐标信息控制打印头姿态。
[0012] 进一步地,对打印模型进行切片分层,得到多层切片模型,获得各层切片模型的模型路径点序包括:
[0013] 选择切片模型的基准线;
[0014] 将基准线以固定长度进行等分,分别在等分点处建立切片平面;
[0015] 基于切片平面对打印模型进行切分,得到打印模型的空间路径;
[0016] 提取空间路径的关键点序,获得各层切片模型的模型路径点序P1,P2,…,Pn,n≥3。
[0017] 进一步地,提取各层切片模型的法向量Z,基于模型路径点序构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;以模型路径点序为原点,构建包含法
向量Y和点间矢量的基平面P包括:
[0018] 提取各层切片模型的法向量Z;
[0019] 基于各层切片模型的模型路径点序,求解相邻两点Pn‑1 (xn‑1,yn‑1,zn‑1) 和Pn (xn,yn,zn) 的点间矢量Pn‑1Pn;
[0020] 求解法向量Z和点间矢量Pn‑1Pn所构建平面的法向量Y;
[0021] 以模型路径点序为原点,构建包含法向量Y和点间矢量Pn‑1Pn的基平面P。
[0022] 进一步地,根据机器人工具端坐标确定欧拉旋转矩阵T,通过欧拉旋转矩阵T对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序包括:
[0023] 建立机器人工具端坐标系,设定(x,y,z,A,B,C)为机器人工具端坐标,得到欧拉旋转矩阵T,建立方程1:
[0024]
[0025] 对欧拉旋转矩阵T 进行齐次转换,得到矩阵T’,其中α、β、γ为旋转角度;
[0026] 对基平面P进行齐次矩阵化,得到矩阵M,矩阵M和矩阵T’相乘得到旋转矩阵R,通过方程
[0027]
[0028] 判断旋转矩阵R是否成立:
[0029] 成立则建立方程2
[0030] ;
[0031] 不成立则建立方程3
[0032] ;
[0033] 解算方程求得A,B,C ;
[0034] 根据打印需求判断是否启用轨道外部轴E1,当不启用轨道外部轴E1时,则按照(x,y,z,A,B,C)的格式存入机器人工具端坐标系下的空间路径点序中;当启用轨道外部轴E1
时,调用在世界坐标系下模型路径点序的y值,作为轨道外部轴E1的位置状态。
[0035] 进一步地,基于空间路径点序的坐标信息控制打印头姿态包括:
[0036] 将空间路径点序编译为G代码,读取G代码,根据G代码的坐标信息,控制机器人打印头姿态。
[0037] 面向混凝土3D打印的空间路径拟合系统,所述系统用于完成上述的方法,包括:
[0038] 模型建立模块,用于建立打印模型, 以打印机器人底座为原点建立世界坐标系;
[0039] 切片分层模块,用于对打印模型进行切片分层,得到多层切片模型,获得各层切片模型的模型路径点序;
[0040] 基平面构建模块,用于提取各层切片模型的法向量Z,基于模型路径点序构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;以模型路径点序为原点,
构建包含法向量Y和点间矢量的基平面P;
[0041] 坐标变换模块,用于根据机器人工具端坐标确定欧拉旋转矩阵T,通过欧拉旋转矩阵T对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序;
[0042] 姿态控制模块,用于基于空间路径点序的坐标信息控制打印头姿态。
[0043] 与现有技术相比,本发明的有益效果如下:
[0044] 1、本发明实现了混凝土多自由度3D打印,根据混凝土模型的特点进行空间分层,提升打印任意复杂混凝土结构的能力,满足混凝土多自由度3D打印的灵活要求。
[0045] 2、该发明的方法不受机器人型号限制,空间路径拟合可根据机器人实际参数进行调整,优化模型分层方向和打印头路径走向,具有良好的适用性。

附图说明

[0046] 为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本
发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以
根据这些附图获得其他实施例的附图。
[0047] 图1是本发明一个实施例的方法流程图。
[0048] 图2是本发明一个实施例的系统结构图。
[0049] 图3是本发明一个实施例中箱型拱桥的拱圈模型图。
[0050] 图4是本发明一个实施例中箱型拱桥的拱圈模型切片示意图。

具体实施方式

[0051] 为了便于理解本发明,下面将参照相关附图对本发明进行更全面的描述。附图中给出了本发明的较佳实施方式。但是,本发明可以以许多不同的形式来实现,并不限于本文
所描述的实施方式。相反地,提供这些实施方式的目的是使对本发明的公开内容理解的更
加透彻全面。
[0052] 应注意到,相似的标号和字母表示类似项,因此,一旦某一项在一个实施例中被定义,则在随后的实施例中不需要对其进行进一步定义和解释。此外,术语“包括”等以及他们
的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或模块的过程、方法、系
统、产品或设备不必限于清楚地列出的那些步骤或模块,而是可包括没有清楚地列出的或
对于这些过程、方法、产品或设备固有的其它步骤或模块。
[0053] 另外,本发明实施例中涉及的步骤“S1”、“S2”等仅为了方便技术方案的描述,便于理解实施例的具体步骤和内容,不应被理解为对步骤顺序的限制,任何仅对步骤顺序的变
化都应在本发明的保护范围之内。
[0054] 实施例1:
[0055] 本实施例采用的打印机器人具有KUKA六自由度机械臂,外加轨道外部轴E1,共七个自由度,作为混凝土多自由度3D打印的运动机构。打印机器人具有底座,底座上设置机械
臂,机械臂的机器人工具端设置打印头,打印机器人具有控制模块。基于该类型的打印机器
人,本实施例提供了一种面向混凝土3D打印的空间路径拟合方法,步骤可以在诸如一组计
算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些
情况下,可以以不同于此处的顺序执行。
[0056] 如图1,该方法包括:
[0057] S1:建立打印模型, 以打印机器人底座为原点建立世界坐标系。
[0058] 可通过计算机辅助设计软件建立混凝土打印模型,如AutodeskInventor、SolidWorks、CATIA、Pro/E、AutoCAD、UG NX、SolidEdge、Rhino。
[0059] S2:利用RHINO的GH电池对对打印模型进行切片分层,得到多层切片模型,获得各层切片模型的模型路径点序。切片模型是通过RHINO的GH电池进行参数化编程,然后根据打
印模型结构特点切出的合理分层。具体为:
[0060] 选择切片模型的基准线;
[0061] 将基准线以固定长度进行等分,分别在等分点处建立切片平面;
[0062] 基于切片平面对打印模型进行切分,得到打印模型的空间路径;
[0063] 提取空间路径的关键点序,获得各层切片模型的模型路径点序P1,P2,…,Pn,n≥3。
[0064] S3:提取各层切片模型的法向量Z,基于模型路径点序构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;以模型路径点序为原点,即将点序的各个
点都分别作为原点,构建包含法向量Y和点间矢量的基平面P。具体为:
[0065] 提取各层切片模型的法向量Z;
[0066] 基于各层切片模型的模型路径点序,求解相邻两点Pn‑1 (xn‑1,yn‑1,zn‑1) 和Pn (xn,yn,zn) 的点间矢量Pn‑1Pn;
[0067] 求解法向量Z和点间矢量Pn‑1Pn所构建平面的法向量Y;
[0068] 以模型路径点序为原点,构建包含法向量Y和点间矢量Pn‑1Pn的基平面P。
[0069] S4:根据机器人工具端坐标确定欧拉旋转矩阵T,通过欧拉旋转矩阵T对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序。具体为:
[0070] 建立机器人工具端坐标系,设定(x,y,z,A,B,C)为机器人工具端坐标,其中,x,y,z为机器人工具端坐标系的线坐标,A,B,C为机器人工具端坐标系的绕各轴的旋转坐标,A绕Z
轴旋转、B绕Y轴旋转、C绕X轴旋转,得到欧拉旋转矩阵T,建立方程1:
[0071]
[0072] 对欧拉旋转矩阵T 进行齐次转换,得到矩阵T’,其中α、β、γ为旋转角度;
[0073] 对基平面P进行齐次矩阵化,得到矩阵M,矩阵M和矩阵T’相乘得到旋转矩阵R,通过方程
[0074]
[0075] 判断旋转矩阵R是否成立,其中sy代表计算变量名:
[0076] 成立则建立方程2
[0077] ;
[0078] 不成立则建立方程3
[0079] ;
[0080] 解算方程求得A,B,C;
[0081] 根据打印需求判断是否启用轨道外部轴E1,当不启用轨道外部轴E1时,则按照(x,y,z,A,B,C)的格式存入机器人工具端坐标系下的空间路径点序中;当启用轨道外部轴E1
时,调用在世界坐标系下模型路径点序的y值,作为轨道外部轴E1的位置状态。
[0082] S5:基于空间路径点序的坐标信息控制打印头姿态;将空间路径点序编译为G代码,读取G代码,根据G代码的坐标信息,控制机器人打印头姿态。
[0083] 实施例2:
[0084] 本实施例涉及了一种面向混凝土3D打印的空间路径拟合系统,用于完成实施例1所述的方法,如图2,系统包括:
[0085] 模型建立模块,用于建立打印模型, 以打印机器人底座为原点建立世界坐标系,用于实现实施例1中的步骤S1。
[0086] 切片分层模块,用于对打印模型进行切片分层,得到多层切片模型,获得各层切片模型的模型路径点序,用于实现实施例1中的步骤S2。
[0087] 基平面构建模块,用于提取各层切片模型的法向量Z,基于模型路径点序构建相邻两点的点间矢量,求解法向量Z和点间矢量所构建平面的法向量Y;以模型路径点序为原点,
构建包含法向量Y和点间矢量的基平面P,用于实现实施例1中的步骤S3。
[0088] 坐标变换模块,用于根据机器人工具端坐标确定欧拉旋转矩阵T,通过欧拉旋转矩阵T对基平面P进行坐标变换,得到机器人工具端坐标系下的空间路径点序,用于实现实施
例1中的步骤S4。
[0089] 姿态控制模块,用于基于空间路径点序的坐标信息控制打印头姿态,用于实现实施例1中的步骤S5。
[0090] 本领域技术人员可以理解,本发明实施例的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机
程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读
存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将
程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分
功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可
以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复
制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存
储器中的程序时,即可实现上述实施方式中全部或部分功能。
[0091] 实施例3:
[0092] 本实施例以箱型拱桥的拱圈模型为例,通过实施例1的方法对模型打印进行路径拟合。
[0093] 参照图3和图4,具体过程为:
[0094] 建立打印模型:通过Rhino建立箱型拱桥的拱圈模型, 如图3所示,以机器人底座为原点建立世界坐标系;
[0095] 初始化各项打印参数,如打印层高h、打印头宽度r。利用RHINO的GH电池对打印模型进行切片分层,分层方式如图4所示,分层具体规则如下:
[0096] (1)以最小尺寸的箱体包裹拱圈模型,选择切片分层基准线;
[0097] 如图4,拱圈左右高度不一样,通过构建一个最小尺寸的箱体将拱圈模型包裹,方便划分切片平面,确定层高后,将箱体四个竖边等分,连接等分点后构成切片平面。
[0098] (2)将基准线以固定长度h(打印层高度)进行等分,分别在等分点处建立切片平面;
[0099] (3)以切片平面为基础对打印模型进行切分,得到打印模型的空间路径;
[0100] (4)提取空间路径的关键点序,获得分层后的模型路径点序P1,P2,…,Pn,n≥3,如30×50个点。
[0101] 提取各层切片模型的法向量Z;基于各层切片模型的模型路径点序,求解相邻两点Pn‑1 (xn‑1,yn‑1,zn‑1) 和Pn (xn,yn,zn) 的点间矢量Pn‑1Pn;求解法向量Z和点间矢量Pn‑1Pn所
构建平面的法向量Y;以模型路径点序为原点,构建包含法向量Y和点间矢量Pn‑1Pn的基平面
P。基平面P的构建方式是通过Rhino Script函数CreatePlane进行构建的,需要提供的参数
为模型路径点序、法向量Y、点间矢量Pn‑1Pn。
[0102] 参照KUKA六自由度机械臂的工具端方向建立机器人工具端坐标系, 采用的KUKA六自由度机械臂使用Z‑Y‑X转动的欧拉角坐标系描述方法,设定(x,y,z,A,B,C)为机器人工
具端坐标,得到欧拉旋转矩阵T,建立方程1:
[0103]
[0104] 对欧拉旋转矩阵T 进行齐次转换,得到矩阵T’,其中α、β、γ为旋转角度;
[0105] 对基平面P进行齐次矩阵化,得到矩阵M,矩阵M和矩阵T’相乘得到3×3的旋转矩阵R,通过方程
[0106]
[0107] 判断旋转矩阵R是否成立:
[0108] 成立则建立方程2
[0109] ;
[0110] 不成立则建立方程3
[0111] ;
[0112] 解算方程求得A,B,C 。
[0113] 方程2和方程3的建立是依据Python语言编译的,其中math.atan2是tan的反三角函数,返回给定的 X 及 Y 坐标值的反正切值。
[0114] 根据打印需求判断是否启用轨道外部轴E1,当不启用轨道外部轴E1时,则按照(x,y,z,A,B,C)的格式存入机器人工具端坐标系下的空间路径点序中;当启用轨道外部轴E1
时,调用在世界坐标系下模型路径点序的y值,作为轨道外部轴E1的位置状态。
[0115] (5)将空间路径点序编译为G代码,编译格式为:
[0116] gPoint[%s,%s]={X %s,Y %s,Z %s,A %s,B %s,C %s,E1 %s,E2 0,E3 0,E4 0}
[0117] 控制模块循环读取G代码,将坐标信息转换为机器人打印头姿态。
[0118] 本发明适用于混凝土多轴3D打印机的具有普适性的路径规划,以满足混凝土多自由度3D打印的灵活要求,将3D打印技术在智能建造领域的应用发挥到极致。
[0119] 以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单
推演、变形或替换。