掌桥专利:专业的专利平台
掌桥专利
首页

曲面模型打磨方法

文献发布时间:2024-04-18 19:58:26


曲面模型打磨方法

技术领域

本申请涉及智能制造领域,尤其涉及一种曲面模型打磨方法。

背景技术

在制造业中,为了去除曲面模型表面的加工痕迹(比如刀痕),需要控制机械手臂根据机械手臂的运动轨迹对曲面模型进行打磨。在相关技术中,往往需要人工绘制机械手臂的运动轨迹,这一过程非常复杂且耗时,导致运动轨迹的生成效率低。

此外,由于人工绘制的运动轨迹难以保证运动轨迹中多个波形之间间隔的一致性以及运动轨迹上每个轨迹点的准确性和连续性,导致打磨密度不均匀,影响打磨效果。

发明内容

鉴于以上内容,有必要提供一种曲面模型打磨方法,能够提升运动轨迹的生成效率以及打磨效果。

一方面,本申请提供一种曲面模型打磨方法,所述方法包括:获取曲面模型的多条轮廓线,其中,所述多条轮廓线包括第一轮廓线以及第二轮廓线,所述第一轮廓线具有多个第一轮廓点,所述第二轮廓线具有多个第二轮廓点,所述第一轮廓线上的每个第一轮廓点具有对应的第一坐标以及初始法向量,所述第二轮廓线上的每个第二轮廓点具有对应的第二坐标,计算所述第二轮廓线上每个第二轮廓点对应的第一角度以及第二角度,根据所述每个第二轮廓点的竖坐标及所述每个第一轮廓点的竖坐标,在多个第一轮廓点中确定所述每个第二轮廓点对应的目标轮廓点,根据预设函数、所述第二轮廓线、所述每个第二轮廓点对应的第一角度、所述每个第二轮廓点对应的目标轮廓点及所述每个第一轮廓点的第一坐标,生成机械手臂的目标运动轨迹,其中,所述目标运动轨迹中包括多个目标轨迹点,根据所述每个第二轮廓点的第二坐标、所述每个第二轮廓点对应的第二角度以及所述每个第二轮廓点对应的目标轮廓点的初始法向量,计算所述机械手臂经过每个目标轨迹点的姿态,根据所述目标运动轨迹以及所述每个目标轨迹点的姿态,控制所述机械手臂对所述曲面模型进行打磨。

在本申请的一些实施例中,所述计算所述第二轮廓线上每个第二轮廓点对应的第一角度包括:在所述多个第二轮廓点中确定第一个第二轮廓点以及第二个第二轮廓点,并计算所述第一个第二轮廓点的第二坐标以及所述第二个第二轮廓点的第二坐标之间的第一差值向量,确定所述每个第二轮廓点的后一个第二轮廓点,计算所述每个第二轮廓点的第二坐标与所述每个第二轮廓点对应的后一个第二轮廓点的第二坐标之间的第二差值向量,并根据所述第一差值向量以及所述第二差值向量,计算所述每个第二轮廓点对应的第一角度。

在本申请的一些实施例中,每个目标轨迹点对应一个所述第二轮廓点,所述计算所述机械手臂经过每个目标轨迹点的姿态包括:根据所述每个第二轮廓点对应的第二角度以及所述第二差值向量计算所述每个第二轮廓点对应的目标轨迹点的切线向量,根据所述每个第二轮廓点对应的第二角度以及所述每个第二轮廓点对应的目标轮廓点的初始法向量,计算所述每个第二轮廓点对应的目标轨迹点的目标法向量,根据所述切线向量以及所述目标法向量,计算所述每个第二轮廓点对应的目标轨迹点的目标向量,根据所述切线向量、所述目标法向量以及所述目标向量,计算所述每个第二轮廓点对应的目标轨迹点的姿态。

在本申请的一些实施例中,所述生成机械手臂的目标运动轨迹包括:从所述第一轮廓线上的多个第一轮廓点的所有第一坐标中确定第一目标竖坐标以及第二目标竖坐标,并计算所述第一目标竖坐标与所述第二目标竖坐标之间的第一差值,根据所述预设函数、预设波数量以及所述第一差值,对所述第二轮廓线进行调整,得到初始运动轨迹,其中,所述初始运动轨迹包括所述每个第二轮廓点对应的初始轨迹点,根据所述第二轮廓点的竖坐标、所述多个第一轮廓点的横坐标以及所述每个第二轮廓点对应的第一角度,计算每个初始轨迹点的轨迹差值向量,根据每个轨迹差值向量调整对应的初始轨迹点的坐标,得到所述目标运动轨迹。

在本申请的一些实施例中,所述根据所述预设函数、预设波数量以及所述第一差值,对所述第二轮廓线进行调整,得到初始运动轨迹包括:确定所述每个第二轮廓点的点编号,并根据所述预设函数对所述每个第二轮廓点的点编号、所述第二轮廓线上的多个第二轮廓点的数量以及所述预设波数量进行函数运算,得到所述每个第二轮廓点的函数值,根据所述每个第二轮廓点的函数值以及所述第一差值,计算所述每个第二轮廓点对应的第三目标竖坐标,根据每个第三目标竖坐标调整对应的第二轮廓点的竖坐标,得到所述初始运动轨迹。

在本申请的一些实施例中,所述根据每个第三目标竖坐标调整对应的第二轮廓点的竖坐标,得到所述初始运动轨迹包括:将所述每个第二轮廓点的竖坐标替换为该第二轮廓点对应的第三目标竖坐标,得到所述每个第二轮廓点的第一初始坐标,将所述每个第二轮廓点的第一初始坐标上的点确定为该第二轮廓点对应的初始轨迹点,并将多个初始轨迹点排列构成的曲线确定为所述初始运动轨迹,或者,将所述每个第二轮廓点的竖坐标替换为该第二轮廓点对应的第三目标竖坐标,得到所述每个第二轮廓点的第二初始坐标,使用样条插值算法对所述每个第二轮廓点的第二初始坐标进行平滑处理,得到所述每个第二轮廓点的第三初始坐标,将所述每个第二轮廓点的第三初始坐标上的点确定为该第二轮廓点对应的初始轨迹点,并将多个初始轨迹点排列构成的曲线确定为所述初始运动轨迹。

在本申请的一些实施例中,所述计算所述第二轮廓线上每个第二轮廓点对应的第二角度包括:根据所述每个第二轮廓点的点编号以及预设值,计算所述每个第二轮廓点对应的第二角度。

在本申请的一些实施例中,所述根据所述第二轮廓点的竖坐标、所述多个第一轮廓点的横坐标以及所述每个第二轮廓点对应的第一角度,计算每个初始轨迹点的轨迹差值向量包括:从所述多个第一轮廓点的所有横坐标中确定目标横坐标,并根据所述目标横坐标与所述每个第二轮廓点对应的目标轮廓点的横坐标计算所述每个第二轮廓点的第二差值,根据所述每个第二轮廓点对应的第一角度以及第二差值,计算所述每个第二轮廓点对应的初始轨迹点的轨迹差值向量。

在本申请的一些实施例中,所述获取曲面模型的多条轮廓线包括:对所述曲面模型进行建模,得到虚拟模型,并从所述虚拟模型中提取所述多条轮廓线。

在本申请的一些实施例中,所述根据所述每个第二轮廓点的竖坐标及所述每个第一轮廓点的竖坐标,在多个第一轮廓点中确定所述每个第二轮廓点对应的目标轮廓点,包括:计算所述每个第二轮廓点的竖坐标与所述每个第一轮廓点的竖坐标之间的竖坐标差值,将最小的竖坐标差值对应的第一轮廓点确定为所述每个第二轮廓点对应的目标轮廓点。

通过上述实施方式,根据预设函数、所述第二轮廓线、所述每个第二轮廓点对应的第一角度、所述每个第二轮廓点对应的目标轮廓点及所述每个第一轮廓点的第一坐标,能够自动生成机械手臂的目标运动轨迹,而并不依赖人工勾勒以及绘制,因此能够节省时间,从而提高运动轨迹的生成效率。由于目标运动轨迹能够自动生成,而并不需要通过人工绘制得到,因此能够确保目标运动轨迹中多个波形之间间隔的一致性以及每个点的准确性和连续性。由于目标运动轨迹是通过曲面模型对应的虚拟模型的多条轮廓线计算得到的,多条轮廓线准确地反映了曲面模型的轮廓特征,因此能够确保目标运动轨迹与曲面模型的贴合。在根据目标运动轨迹中多个目标轨迹点的坐标和自讨,控制机械手臂对曲面模型进行打磨时,能够确保打磨的均匀性以及准确性,从而提高打磨效果。

附图说明

图1是本申请实施例提供的曲面模型打磨方法的应用场景图。

图2是本申请实施例提供的曲面模型打磨方法的流程图。

图3是本申请实施例提供的曲面模型30的示意图。

图4是本申请实施例提供的第一轮廓线以及第二轮廓线的示意图。

图5是本申请实施例提供的第一角度以及第二角度的变化示意图。

图6是本申请实施例提供的目标运动轨迹以及每个目标运动轨迹的姿态的示意图。

图7是本申请实施例提供的计算第一角度的流程图。

图8是本申请实施例提供的计算第一角度的示意图。

图9是本申请实施例提供的生成目标运动轨迹的流程图。

图10是本申请实施例提供的初始运动轨迹的示意图。

图11是本申请实施例提供的初始运动轨迹的波峰的对比示意图。

图12是本申请实施例提供的每个第二轮廓点与目标轮廓点的示意图。

图13是本申请实施例提供的目标运动轨迹的示意图。

图14是本申请实施例提供的不同预设波数量对应的目标运动轨迹的对比示意图。

图15是本申请实施例提供的不同大小的第三目标竖坐标对应的目标运动轨迹的对比示意图。

图16是本申请实施例提供的不同数量的初始轨迹点对应的目标运动轨迹的对比示意图。

图17是本申请实施例提供的不同大小的第二差值对应的目标运动轨迹的对比示意图。

图18是本申请实施例提供的不同预设函数对应的目标运动轨迹的对比示意图。

图19是本申请实施例提供的每个目标轨迹点的姿态的计算方法的流程图。

图20是本申请实施例提供的切线向量的示意图。

图21是本申请实施例提供的目标法向量的示意图。

图22是本申请实施例提供的电子设备10的结构图。

具体实施方式

为了使本申请的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本申请进行详细描述。

需要说明的是,本申请中“至少一个”是指一个或者多个,“多个”是指两个或多于两个。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B可以表示:单独存在A,同时存在A和B,单独存在B的情况,其中A,B可以是单数或者复数。本申请的说明书和权利要求书及附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不是用于描述特定的顺序或先后次序。

在本申请实施例中,“示例性的”、“或者”、“例如”等词用于表示作例子、例证或说明。本申请实施例中被描述为“示例性的”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性的”或者“例如”等词旨在以具体方式呈现相关概念。

在制造业中,为了去除曲面模型表面的加工痕迹(比如刀痕),需要控制机械手臂根据机械手臂的运动轨迹对曲面模型进行打磨。在相关技术中,往往需要人工绘制机械手臂的运动轨迹,这一过程非常复杂且耗时,导致运动轨迹的生成效率低。

此外,由于人工绘制的运动轨迹难以保证运动轨迹中多个波形之间间隔的一致性以及运动轨迹上每个轨迹点的准确性和连续性,导致打磨密度不均匀,影响打磨效果。

为了解决上述技术问题,本申请提供一种曲面模型打磨方法,能够提高运动轨迹的生成效率以及打磨效果。本申请实施例提供的曲面模型打磨方法可应用于一个或者多个电子设备中。

图1是本申请实施例提供的曲面模型打磨方法的应用场景图。在本申请实施例中,可以通过电子设备10对曲面模型30的多条轮廓线进行计算,得到机械手臂20打磨曲面模型30的目标运动轨迹以及目标运动轨迹上每个目标轨迹点的姿态,并根据目标运动轨迹以及每个目标轨迹点的姿态,控制机械手臂20打磨曲面模型30。其中,目标运动轨迹的计算步骤可参考下文中的步骤S11-S15。电子设备10与机械手臂20之间可以是有线连接,也可以是通过无线保真(WirelessFidelity,Wi-Fi)或蓝牙等方式进行无线通信连接。例如,电子设备10可以控制机械手臂20使用砂轮对曲面模型30进行打磨。

该电子设备10可以为计算机设备、手机、平板电脑以及工控机(IndustrialPersonalComputer,IPC)等电子设备,本申请对电子设备10的具体类型不作任何限制。

机械手臂20是一种用于执行各种任务的机械设备,机械手臂20可以在空间中移动和操作物体,比如打磨物体。机械手臂20可以由多个关节组成,通过计算机设备或者工控机等设备可以实现对机械手臂20的精确控制。

曲面模型30是指具有固定曲面弧度的模型(曲率连续变化范围为0~0.51/mm)。例如,曲面模型30可以是物体的外部形态模型,比如长为70~160mm、宽为70~160mm以及高为5~10mm手机外框模型等,实际应用中对具体的产品和尺寸不进行限制。

图2是本申请实施例提供的曲面模型打磨方法的流程图。根据不同的需求,该流程图中各个步骤的顺序可以根据实际要求进行调整,某些步骤可以省略。所述方法的执行主体可以为图1中的电子设备10。

S11,获取曲面模型30的多条轮廓线,其中,所述多条轮廓线包括第一轮廓线以及第二轮廓线。

在一些实施例中,曲面模型30可以为具有固定曲面弧度的模型(曲率连续变化范围为0~0.51/mm),例如,图3是本申请实施例提供的曲面模型30的示意图。图3中的曲面模型30为长为70~160mm、宽为70~160mm以及高为5~10mm手机外框模型等。第一轮廓线是指用于描述曲面模型30的侧边弧度的曲线,第二轮廓线是指用于描述曲面模型30的整体形态的曲线。电子设备10获取曲面模型30的多条轮廓线包括:电子设备10可以使用扫描技术(比如三维激光扫描技术)对曲面模型30进行扫描,得到曲面模型30的形态以及尺寸等特征,根据曲面模型30的形态以及尺寸等特征进行建模,得到曲面模型30的虚拟模型,并从虚拟模型中提取多条轮廓线。其中,多条轮廓线可以由用户进行选择提取,也可以使用轮廓提取工具或者轮廓提取命令进行提取,本申请对轮廓线的提取方式不作限制,所述多条轮廓线的数量可以由曲面模型30确定。例如,电子设备10可接收用户的轮廓提取命令,使用边缘检测算法(比如Canny算法、Sobel算法以及Laplace算法)对虚拟模型进行提取,得到多条轮廓线,或者,电子设备10可以通过轮廓线提取函数(比如find Contours()函数)对虚拟模型进行提取,得到多条轮廓线。

第一轮廓线上包括多个第一轮廓点,每个第一轮廓点具有第一坐标以及初始法向量,第二轮廓线上包括多个第二轮廓点,每个第二轮廓点具有第二坐标。每个第一轮廓点的初始法向量可以为单位法向量,每个第一轮廓点的初始法向量用于指示曲面模型30在该第一轮廓点处的法线方向。第一轮廓线上所有的第一轮廓点的数量、任意两个第一轮廓点之间的点间距、第二轮廓线上所有的第二轮廓点的数量以及任意两个第二轮廓点之间的点间距均可以自行设置,本申请对此不作限制。第一轮廓线上所有的第一轮廓点的数量与第二轮廓线上所有的第二轮廓点的数量可以相同,也可以不相同。在本实施例中,第一轮廓线具有的第一轮廓点的数量与第二轮廓线具有的第二轮廓点的数量不相同。

在本申请的实施例中,为了确保第一轮廓线的精确度,可以对第一轮廓点的数量进行设置。例如,若第一轮廓线具有m个第一轮廓点,且m为大于或者等于4000的正整数,由第一轮廓点构成的第一轮廓线能够较为精确地反映曲面模型30的特征。其中,m=预设波数量*预设波周期*2*400,预设波数量为波的个数,预设波周期为每个波的长度或者宽度。预设波数量以及预设波周期均可以自行设置,本申请对此不作限制。在本实施例中,预设波数量大于或者等于10,预设波周期大于或者等于0.5。

例如,若曲面模型30为手机外框模型,图4是本申请实施例提供的第一轮廓线以及第二轮廓线的示意图。图4中的图(a)呈现了第一轮廓线,第一轮廓线为手机外框模型的侧边弧度轮廓线,第一轮廓线由m个第一轮廓点构成,其中,m为10000(10000已大于4000)。图4中的图(b)呈现了第二轮廓线,第二轮廓线为描述手机外框模型的整体轮廓的闭环曲线,第二轮廓线包括4个转角、2条长边和2条宽边,第二轮廓线由n个第二轮廓点构成,其中,n为7400。若n=7400,第二轮廓线中的每个转角由n

在本申请的一些实施例中,电子设备10可以构建一个或者三维坐标系,使曲面模型30的虚拟模型处于一个或者多个三维坐标系中,若三维坐标系为多个,多个三维坐标系可以互相平行,三维坐标系中的原点、横坐标轴(x轴)、纵坐标轴(y轴)以及竖坐标轴(z轴)的方向、单位、正轴以及负轴等均可以自行设置,本申请对此不作限制。每个第一轮廓点的第一坐标以及每个第二轮廓点的第二坐标均为该三维坐标系中的坐标。例如,每个第一轮廓点的第一坐标包括横坐标、纵坐标以及竖坐标,每个第一轮廓点的横坐标为该第一轮廓点在三维坐标系中垂直于横坐标轴的坐标、每个第一轮廓点的纵坐标为该第一轮廓点在三维坐标系中垂直于纵坐标轴的坐标、每个第一轮廓点的竖坐标为该第一轮廓点在三维坐标系中垂直于竖坐标轴的坐标。每个第二轮廓点的第二坐标包括横坐标、纵坐标以及竖坐标,每个第二轮廓点的横坐标为该第二轮廓点在三维坐标系中垂直于横坐标轴的坐标、每个第二轮廓点的纵坐标为该第二轮廓点在三维坐标系中垂直于纵坐标轴的坐标、每个第二轮廓点的竖坐标为该第二轮廓点在三维坐标系中垂直于竖坐标轴的坐标。

例如,承接上述实施例,若曲面模型30为手机外框模型,第一轮廓线由10000个第一轮廓点构成,如表1所示,是本申请一实施例提供的第一轮廓点的第一坐标以及初始法向量的示例。

表1

例如,承接上述实施例,若曲面模型30为手机外框模型,若第二轮廓线由7400个第二轮廓点构成,如表2所示,是本申请一实施例提供的第二轮廓点的第二坐标的示例。

表2

S12,计算第二轮廓线上每个第二轮廓点对应的第一角度以及第二角度。

在本申请的一些实施例中,第一角度用于计算机械手臂20的目标运动轨迹,第二角度用于计算机械手臂20经过目标运动轨迹上的每个目标轨迹点的姿态。电子设备10可以对多个第一轮廓点进行编号,使得每个第一轮廓点具有对应的点编号,并对多个第二轮廓点进行编号,使得每个第二轮廓点具有对应的点编号。其中,对多个第一轮廓点以及多个第二轮廓点进行编号的方式相同,以及可以自行设置,本申请对此不作限制。

在本申请的一些实施例中,电子设备10计算第二轮廓线上每个第二轮廓点对应的第二角度包括:电子设备10根据每个第二轮廓点的点编号以及预设值,计算每个第二轮廓点对应的第二角度。其中,预设值包括一个转角的角度值以及一个转角的角度值与构成该转角的第二轮廓点的数量之间的比值。例如,承接上述实施例,一个转角的角度值为90度,构成该转角的第二轮廓点的数量为1200个。

例如,第二角度的计算方法可参考如下公式(1):

其中,i表示第i个第二轮廓点的点编号,θ

例如,图5是本申请实施例提供的第一角度以及第二角度的变化示意图。在图5中,第一角度跟随第一轮廓线进行变化,而第二角度线性变化。

S13,根据所述每个第二轮廓点的竖坐标及所述每个第一轮廓点的竖坐标,在多个第一轮廓点中确定每个第二轮廓点对应的目标轮廓点。

在本申请的一些实施例中,每个第二轮廓点对应的目标轮廓点是指最小的竖坐标差值对应的第一轮廓点,其中,竖坐标差值为该第二轮廓点的竖坐标与每个第一轮廓点的竖坐标之间的差值。电子设备10根据每个第二轮廓点的竖坐标遍历第一轮廓线上所有第一轮廓点的竖坐标,计算每个第二轮廓点的竖坐标与每个第一轮廓点的竖坐标之间的竖坐标差值,并将每个第二轮廓点与多个第一轮廓点之间的多个竖坐标差值中最小的竖坐标差值对应的第一轮廓点确定为每个第二轮廓点对应的目标轮廓点。

S14,根据预设函数、第二轮廓线、每个第二轮廓点对应的第一角度、每个第二轮廓点对应的目标轮廓点及每个第一轮廓点的第一坐标,生成机械手臂20的目标运动轨迹。

在本申请的一些实施例中,预设函数可以为波形函数。例如,预设函数为sin函数以及cos函数等。目标运动轨迹为机械手臂20打磨曲面模型30的运动轨迹,目标运动轨迹包括多个目标轨迹点,每个目标轨迹点对应一个第二轮廓点。电子设备10将所有的目标轨迹点排列后构成的曲线确定为目标运动轨迹。

S15,根据每个第二轮廓点的第二坐标、每个第二轮廓点对应的第二角度以及每个第二轮廓点对应的目标轮廓点的初始法向量,计算机械手臂20经过每个目标轨迹点的姿态。

在本申请的一些实施例中,机械手臂20经过每个目标轨迹点的姿态为机械手臂20在每个目标轨迹点的朝向或者方向,每个目标轨迹点的姿态包括多个欧拉角。

S16,根据目标运动轨迹以及每个目标轨迹点的姿态,控制机械手臂20对曲面模型30进行打磨。

在本申请的一些实施例中,机械手臂20可以夹持砂轮等打磨工具,电子设备10可以根据逆运动学等算法对目标运动轨迹中每个目标轨迹点的坐标以及每个目标轨迹点的姿态进行分析,得到操作指令,并通过向机械手臂20发送操作指令,以控制机械手臂20使用打磨工具对曲面模型30进行打磨,以去除曲面模型30上的加工痕迹(例如刀痕)。其中,根据逆运动学等算法对目标运动轨迹中每个目标轨迹点的坐标以及每个目标轨迹点的姿态进行分析的方法可参考相关技术。操作指令可以为多个,每个操作指令中包括机械手臂20上的打磨工具的位置和姿态。

例如,图6是本申请实施例提供的目标运动轨迹以及每个目标运动轨迹的姿态的示意图。在图6中,目标运动轨迹处于曲面模型30上,目标运动轨迹上不同的深浅程度表示机械手臂20的不同姿态,电子设备10(比如工控机)可控制机械手臂20按照目标运动轨迹以及每个目标轨迹点的姿态对曲面模型30进行均匀打磨。

在本实施例中,由于相关技术中需要人工绘制机器手臂打磨曲面模型30的目标运动轨迹,需要经过加载曲面模型30的虚拟模型、设定坐标系、人工画图并勾勒目标运动轨迹、将目标运动轨迹映射到虚拟模型确定目标运动轨迹是否与虚拟模型贴合以及计算每个目标轨迹点的姿态等流程,每生成一次目标运动轨迹,执行以上流程至少需要耗费4小时。如若需要对目标运动轨迹以及对目标轨迹点的数量进行更改时,则需要耗费更多时间,目标运动轨迹的生成效率不佳,由于是通过人工对目标运动轨迹进行勾勒,容易导致每个目标运动轨迹中的波的间隔不相同,进而造成打磨密度不均匀。

为了解决上述技术问题,本申请根据预设函数、所述第二轮廓线、所述每个第二轮廓点对应的第一角度、所述每个第二轮廓点对应的目标轮廓点及所述每个第一轮廓点的第一坐标,能够自动生成机械手臂20的目标运动轨迹,而并不依赖人工勾勒以及绘制,每生成一次目标运动轨迹,执行本申请实施例中的步骤,需要的时间仅为修改程序的时间+1/360小时。根据比较可知,本申请生成目标运动轨迹以及所耗费的时间远远少于相关技术中生成目标运动轨迹以及每个目标轨迹点的姿态所花费的时间,因此能够节省时间,从而提高运动轨迹的生成效率。由于目标运动轨迹能够自动生成,而并不需要通过人工绘制得到,因此能够确保目标运动轨迹中多个波形之间间隔的一致性以及每个点的准确性和连续性。由于目标运动轨迹是通过曲面模型30对应的虚拟模型的多条轮廓线计算得到的,多条轮廓线准确地反映了曲面模型30的轮廓特征,因此能够确保目标运动轨迹与曲面模型30的贴合。在根据目标运动轨迹中多个目标轨迹点的坐标和自讨,控制机械手臂20对曲面模型30进行打磨时,能够确保打磨的均匀性以及准确性,从而提高打磨效果。

在本申请的一些实施例中,通过多个第二轮廓点的点编号以及第二坐标计算每个第二轮廓点对应的第一角度。图7是本申请实施例提供的计算第一角度的流程图,包括以下步骤:

S121,在多个第二轮廓点中确定第一个第二轮廓点以及第二个第二轮廓点。

在本申请的一些实施例中,第一个第二轮廓点为点编号处于首位的第二轮廓点,第二个第二轮廓点为点编号处于第二位的第二轮廓点。可以根据每个第二轮廓点的点编号在多个第二轮廓点中确定出第一个第二轮廓点以及第二个第二轮廓点。

S122,计算第一个第二轮廓点的第二坐标以及第二个第二轮廓点的第二坐标之间的第一差值向量。

在本申请的一些实施例中,电子设备10可以将第二个第二轮廓点的第二坐标与第一个第二轮廓点的第二坐标进行相减,得到第一差值向量。

例如,第一差值向量的计算方法可参考如下公式(2):

V

其中,V

S123,确定每个第二轮廓点的后一个第二轮廓点。

在本申请的一些实施例中,每个第二轮廓点的后一个第二轮廓点可以为每个第二轮廓点的下一个第二轮廓点。例如,第i个第二轮廓点的后一个第二轮廓点为第i+1个第二轮廓点。

S124,计算每个第二轮廓点的第二坐标与每个第二轮廓点对应的后一个第二轮廓点的第二坐标之间的第二差值向量,并根据第一差值向量以及第二差值向量,计算每个第二轮廓点对应的第一角度。

在本申请的一些实施例中,第二差值向量的计算方法与第一差值向量的计算方法基本相同,故本申请在此不再重复描述。

例如,承接上述实施例,第一角度的计算方法可参考公式(3)-(5):

V

其中,i表示第i个第二轮廓点的点编号,β

P

P

若i=2,P

P

例如,如表3所示,是本申请一实施例提供的每个第二轮廓点对应的第一角度的示例。

表3

例如,承接上述实施例,若第二轮廓线上所有的第二轮廓点的数量为n,图8是本申请实施例提供的计算第一角度的示意图。从图8中可以看出,第1,2,3,…n-1个第二轮廓点对应的第一角度为对应的第一差值向量与第二差值向量之间的角度。

在本申请的一些实施例中,电子设备10根据预设函数、第二轮廓线、每个第二轮廓点对应的第一角度、每个第二轮廓点对应的目标轮廓点及每个第一轮廓点的第一坐标,生成机械手臂20的目标运动轨迹。图9是本申请实施例提供的生成目标运动轨迹的流程图,包括以下步骤:

S141,从第一轮廓线上的多个第一轮廓点的所有第一坐标中确定第一目标竖坐标以及第二目标竖坐标,并计算第一目标竖坐标与第二目标竖坐标之间的第一差值。

在本申请的一些实施例中,第一目标竖坐标为多个第一轮廓点的所有的竖坐标中最大的竖坐标,第二目标竖坐标为多个第一轮廓点的所有的竖坐标中最小的竖坐标。电子设备10可遍历第一轮廓线上的多个第一轮廓点的所有的竖坐标,从而确定出第一目标竖坐标以及第二目标竖坐标。

例如,第一差值的计算方法可参考如下所示的公式(6):

其中,Z

S142,根据预设函数、预设波数量以及第一差值,对第二轮廓线进行调整,得到初始运动轨迹,其中,初始运动轨迹包括每个第二轮廓点对应的初始轨迹点。

在本申请的一些实施例中,初始轨迹点与第二轮廓点一一对应,电子设备10根据预设函数、预设波数量以及第一差值,对第二轮廓线进行调整,得到初始运动轨迹包括:电子设备10确定每个第二轮廓点的点编号,并根据预设函数对每个第二轮廓点的点编号、第二轮廓线上的多个第二轮廓点的数量以及预设波数量进行函数运算,得到每个第二轮廓点的函数值,根据每个第二轮廓点的函数值以及第一差值,计算每个第二轮廓点对应的第三目标竖坐标,根据每个第三目标竖坐标调整对应的第二轮廓点的竖坐标,得到初始运动轨迹。

其中,预设波数量可以自行设置,本申请对此不作限制。例如,预设波数量为6、8或者10等。

例如,承接上述实施例,若预设函数为sin函数和cos函数,第三目标竖坐标的计算方法可参考如下所示的公式(7)或(8):

其中,i表示第i个第二轮廓点的点编号,P

例如,若采用公式(7)对第三目标竖坐标进行计算,以及n

例如,承接上述实施例,若预设函数为sin函数和cos函数,第三目标竖坐标的计算方法还可以参考如下所示的公式(9)或(10):

其中,i表示第i个第二轮廓点的点编号,P

例如,若采用公式(9)对第三目标竖坐标进行计算,n

在本申请的一些实施例中,电子设备10根据每个第三目标竖坐标调整对应的第二轮廓点的竖坐标,得到初始运动轨迹包括:电子设备10根据每个第三目标竖坐标调整对应的第二轮廓点的竖坐标,得到每个初始轨迹点的初始坐标,根据多个初始轨迹点的初始坐标生成初始运动轨迹。例如,图10是本申请实施例提供的初始运动轨迹的示意图。

具体地,若采用公式(7)或者(8)对第三目标竖坐标计算,电子设备10根据每个第三目标竖坐标调整对应的第二轮廓点的竖坐标,得到初始运动轨迹包括:电子设备10将第二轮廓线中每个第二轮廓点的竖坐标替换为该第二轮廓点对应的第三目标竖坐标,得到每个第二轮廓点的第一初始坐标,将每个第二轮廓点的第一初始坐标上的点确定为该第二轮廓点对应的初始轨迹点,并将多个初始轨迹点排列构成的曲线确定为初始运动轨迹。

若采用公式(9)或者(10)对第三目标竖坐标进行计算,电子设备10根据每个第三目标竖坐标调整对应的第二轮廓点的竖坐标,得到初始运动轨迹包括:电子设备10将第二轮廓线中每个第二轮廓点的竖坐标替换为该第二轮廓点对应的第三目标竖坐标,得到每个第二轮廓点的第二初始坐标,使用样条插值算法(spline)对每个第二轮廓点的第二初始坐标进行平滑处理,得到每个第二轮廓点的第三初始坐标,将每个第二轮廓点的第三初始坐标上的点确定为该第二轮廓点对应的初始轨迹点,并将多个初始轨迹点排列构成的曲线确定为初始运动轨迹。例如,对每个第二轮廓点的第二初始坐标进行平滑处理,得到每个第二轮廓点的第三初始坐标的方法可参考如下公式(11):

First3P

其中,First3P

在本申请的一些实施例中,由于开根号后得到的第三目标竖坐标会变大,因此通过公式(9)或者(10)计算的任意两个第三目标竖坐标之间的差值大于与通过公式(7)或者(8)计算的任意两个第三目标竖坐标之间的差值,从而使得通过上述公式(9)或者(10)计算得到的第三目标竖坐标生成的初始运动轨迹的波峰宽于通过上述公式(7)或者(8)计算得到的第三目标竖坐标生成的初始运动轨迹的波峰。图11是本申请实施例提供的初始运动轨迹的波峰的对比示意图。图11中的图(a)为使用通过公式(7)或者(8)计算得到的第三目标竖坐标生成的初始运动轨迹的波峰,图11中的图(b)为使用通过公式(9)或者(10)计算得到第三目标竖坐标生成的初始运动轨迹的波峰。可以看到,图11中的图(b)的波峰的宽度大于图11中的图(a)的波峰的宽度。

在本实施例中,若初始运动轨迹的波峰较宽,可能会导致初始运动轨迹中的初始轨迹点不连续,因此对每个第二轮廓点的第二初始坐标进行平滑处理,能够使得生成的初始运动轨迹连续。

S143,根据第二轮廓点的竖坐标、多个第一轮廓点的横坐标以及每个第二轮廓点对应的第一角度,计算每个初始轨迹点的轨迹差值向量。

在本申请的一些实施例中,轨迹差值向量为每个初始轨迹点的坐标与该初始轨迹点对应的目标轮廓点的坐标之间的差值的向量。

在本申请的一些实施例中,电子设备10根据第二轮廓点的竖坐标、多个第一轮廓点的横坐标以及每个第二轮廓点对应的第一角度,计算每个初始轨迹点的轨迹差值向量包括:电子设备10从多个第一轮廓点的所有横坐标中确定目标横坐标,并根据目标横坐标与每个第二轮廓点对应的目标轮廓点的横坐标计算每个第二轮廓点的第二差值,进一步地,电子设备10根据每个第二轮廓点对应的第一角度以及第二差值,计算每个第二轮廓点对应的初始轨迹点的轨迹差值向量。

其中,目标横坐标为第一轮廓线上具有最大的绝对值的横坐标(长度值)。

例如,图12是本申请实施例提供的每个第二轮廓点与目标轮廓点的示意图。图12中的P

例如,承接上述实施例,第二差值的计算方法可参考如下所示的公式(12):

d

其中,d

例如,承接上述实施例,轨迹差值向量的计算方法可参考如下所示的公式(13):

其中,d

在本实施例中,由于每个第二轮廓点的第二差值表示该第二轮廓点与对应的目标轮廓点的竖坐标之间的差距,因此通过每个第二轮廓点的第二差值计算第二轮廓点的轨迹差值向量,能够使得轨迹差值向量能够准确反映每个第二轮廓点的初始坐标与虚拟模型的轮廓特征之间的差距。

S144,根据每个轨迹差值向量调整对应的初始轨迹点的坐标,得到目标运动轨迹。

在本申请的一些实施例中,从上述的公式(13)可以看出,每个轨迹差值向量为二维坐标系下的坐标向量(只含有横坐标以及纵坐标),需要为每个轨迹差值向量添加竖坐标,使得添加竖坐标后的每个目标轨迹差值向量为三维坐标系下的坐标向量。在本实施例中,添加的竖坐标为零。例如,若一轨迹差值向量为(-66.2911,1.998),则为(-66.2911,1.998)添加数值为零的竖坐标后得到的目标轨迹差值向量为[-66.2911 1.998 0]。

在本申请的一些实施例中,电子设备10将每个初始轨迹点的初始坐标与每个初始轨迹点的目标轨迹差值向量进行相减运算,得到每个初始轨迹点的第一目标坐标,并使用样条插值算法对每个初始轨迹点的第一目标坐标进行平滑处理,得到每个初始轨迹点的第二目标坐标,将每个第二目标坐标上的点确定为目标轨迹点,并将多个目标轨迹点排列构成的曲线确定为目标运动轨迹。其中,初始坐标可以为上文中的第一初始坐标或第三初始坐标。

例如,图13是本申请实施例提供的目标运动轨迹的示意图。从图13可以看出,目标运动轨迹与虚拟模型较为贴合,并且目标运动轨迹呈正弦或余弦波形态。

例如,第一目标坐标的计算方法可参考如下所示的公式(14):

Target1P

其中,Target1P

例如,对第一目标坐标进行平滑处理,得到第二目标坐标的方法可参考如下的公式(15):

Target2P

其中,Target2P

在本实施例中,通过将每个初始轨迹点的初始坐标与每个初始轨迹点的目标轨迹差值向量进行相减运算,能够使得每个初始轨迹点的第一目标坐标能够贴近虚拟模型的轮廓特征,从而使得生成的目标运动轨迹贴合虚拟模型。由于第一使用样条插值算法进行平滑处理,能够减少离散运算产生的不连续的点,从而能够确保目标运动轨迹的连续性。通过连续的目标运动轨迹进行打磨,能够确保打磨的均匀性。

在本申请的其它实施例中,可以通过调整预设波数量(num)的取值大小,从而调整目标运动轨迹中波的数量(密度)。例如,图14是本申请实施例提供的不同预设波数量对应的目标运动轨迹的对比示意图。图14中的图(a)为预设波数量8对应的目标运动轨迹,图14中的图(b)为预设波数量6对应的目标运动轨迹,图14中的图(c)为预设波数量4对应的目标运动轨迹,从图14中的图(a)、图(b)及图(c)可以看出,预设波数量越大,目标运动轨迹中的波的数量越多(越密集)。

在本申请的其它实施例中,可以通过预设基线值直接调整第三目标竖坐标的大小,从而调整目标运动轨迹的波的高度。其中,预设基线值可以自行设置,本申请对此不作限制。例如,承接上述实施例,预设基线值为-2、0或者2。使用预设基线值调整第三目标竖坐标的大小的方式可参考如下所示的公式(16):

其中,i表示第i个第二轮廓点的点编号,P

例如,图15是本申请实施例提供的不同大小的第三目标竖坐标对应的目标运动轨迹的对比示意图。在第一差值固定为2的情况下,图15中的图(a)为预设基线值-2对应的目标运动轨迹,图15中的图(b)为预设基线值0对应的目标运动轨迹,图15中的图(c)为预设基线值2对应的目标运动轨迹,从图15中的图(a)、图(b)及图(c)可以看出,预设基线值越大,目标运动轨迹中的波的高度越高。

在本申请的其它实施例中,可以通过预设点数量调整初始轨迹点的数量,从而调整目标运动轨迹的长短。其中,预设点数量可以自行设置,本申请对此不作限制。例如,预设点数量为0、10或者20。调整初始轨迹点的数量的方法可参考如下所示的公式(17)-(18):

其中,i表示第i个第二轮廓点的点编号,P

例如,图16是本申请实施例提供的不同数量的初始轨迹点对应的目标运动轨迹的对比示意图。图16中的图(a)为预设点数量0对应的目标运动轨迹,图16中的(图b)为预设点数量10对应的目标运动轨迹,图16中的图(c)为预设点数量20对应的目标运动轨迹,从图16中的图(a)、图(b)及图(c)可以看出,预设点数量越大,目标运动轨迹越短,机械手臂20打磨的面积越小。

在本申请的其它实施例中,可以通过预设贴合参数值调整第二差值的大小,从而调整目标运动轨迹与虚拟模型的贴合度。其中,预设贴合参数值可以自行设置,本申请对此不作限制。例如,预设贴合参数值为-2、0或者2。调整第二差值的方法可参考如下所示的公式(19):

d

其中,d

例如,图17是本申请实施例提供的不同大小的第二差值对应的目标运动轨迹的对比示意图。图17中的图(a)为预设贴合参数值-2对应的目标运动轨迹,图17中的图(b)为预设基线值0对应的目标运动轨迹,图17中的图(c)为预设贴合参数值2对应的目标运动轨迹,从图17中的图(a)、图(b)及图(c)可以看出,在预设贴合参数值为-2时,目标运动轨迹渗透进虚拟模型之中,在预设贴合参数值为0时,目标运动轨迹与虚拟模型较为贴合,在预设贴合参数值为2时,目标运动轨迹浮于虚拟模型之外。

在本申请的其它实施例中,可以通过调整使用的预设函数的类型,从而调整生成的目标运动轨迹中的波的形态。预设函数包括,但不限于:cos函数以及sin函数等。

例如,图18是本申请实施例提供的不同预设函数对应的目标运动轨迹的对比示意图。图18中的图(a)为采用cos函数并且未拓宽波峰时生成的目标运动轨迹,图18中的图(b)为采用cos函数并且拓宽波峰时生成的目标运动轨迹,图18中的图(c)为采用sin函数并且拓宽波峰时生成的目标运动轨迹,从图18中的图(a)、图(b)及图(c)可以看出,采用不同的预设函数,以及波峰的宽/窄,生成的目标运动轨迹的波的形态不相同。

在本申请的其它实施例中,还可以通过改变其他参数值以调整生成的目标运动轨迹,本申请在此不作限制。

图19是本申请实施例提供的每个目标轨迹点的姿态的计算方法的流程图,包括以下步骤:

S161,根据每个第二轮廓点对应的第二角度以及第二差值向量计算每个第二轮廓点对应的目标轨迹点的切线向量。

例如,承接上述实施例,切线向量的计算方法可参考如下公式(20):

其中,TangentV

例如,图20是本申请实施例提供的切线向量的示意图。从图20中可以看出,在每个转角处的切线向量会发生变化。

S162,根据每个第二轮廓点对应的第二角度以及每个第二轮廓点对应的目标轮廓点的初始法向量,计算每个第二轮廓点对应的目标轨迹点的目标法向量。

例如,承接上述实施例,目标法向量的计算方法可参考如下公式(21):

/>

其中,N

S163,根据切线向量以及目标法向量,计算每个第二轮廓点对应的目标轨迹点的目标向量。

例如,承接上述实施例,目标向量的计算方法可参考如下公式(22):

ThirdV

其中,ThirdV

S164,根据切线向量、目标法向量以及目标向量,计算每个第二轮廓点对应的目标轨迹点的姿态。

在本申请的一些实施例中,可以使用函数对切线向量、目标法向量以及目标向量进行运算,得到每个第二轮廓点对应的目标轨迹点的姿态。函数可以为VectorToOrient函数。

例如,承接上述实施例,姿态的计算方法可参考如下公式(23):

其中,

例如,承接上述实施例,如表4所示,是本申请一实施例提供的目标轨迹点的坐标以及姿态的示例。

表4

例如,图21是本申请实施例提供的目标法向量的示意图。图21中的图(a)为多个目标轨迹点的姿态,图21中的图(b)为所有的目标轨迹点的姿态,其中,每个姿态中的每个欧拉角指向不同的方向。

图22是本申请实施例提供的电子设备10的结构图。如图22所示,该电子设备10可以包括通信模块101、存储器102、处理器103、输入/输出(Input/Output,I/O)接口104及总线105。处理器103通过总线105分别耦合于通信模块101、存储器102、输入/输出接口104。

通信模块101可以包括有线通信模块和/或无线通信模块。有线通信模块可以提供通用串行总线(universalserialbus,USB)、控制器局域网总线(CAN,ControllerAreaNetwork)等有线通信的解决方案中的一种或多种。无线通信模块可以提供无线保真(wirelessfidelity,Wi-Fi),蓝牙(Bluetooth,BT),移动通信网络,调频(frequencymodulation,FM),近距离无线通信技术(nearfieldcommunication,NFC),红外技术(infrared,IR)等无线通信的解决方案中的一种或多种。

存储器102可以包括一个或多个随机存取存储器(randomaccessmemory,RAM)和一个或多个非易失性存储器(non-volatilememory,NVM)。随机存取存储器可以由处理器103直接进行读写,可以用于存储或其他正在运行中的程序的可执行程序(例如机器指令),还可以用于存储用户及应用的数据等。随机存取存储器可以包括静态随机存储器(staticrandom-accessmemory,SRAM)、动态随机存储器(dynamicrandomaccessmemory,DRAM)、同步动态随机存储器(synchronousdynamicrandomaccessmemory,SDRAM)、双倍资料率同步动态随机存取存储器(doubledataratesynchronousdynamicrandomaccessmemory,DDRSDRAM)等。非易失性存储器可以包括磁盘存储器件、快闪存储器(flashmemory)。

存储器102用于存储一个或多个计算机程序。一个或多个计算机程序被配置为被处理器103执行。该一个或多个计算机程序包括多个指令,多个指令被处理器103执行时,可实现在电子设备10上执行的曲面模型打磨方法。

处理器103可以包括一个或多个处理单元,例如:处理器103可以包括应用处理器(applicationprocessor,AP),调制解调处理器,图形处理器(graphicsprocessingunit,GPU),图像信号处理器(imagesignalprocessor,ISP),控制器,视频编解码器,数字信号处理器(digitalsignalprocessor,DSP),和/或神经网络处理器(neural-networkprocessingunit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。

处理器103提供计算和控制能力,例如,处理器103用于执行存储器102内存储的计算机程序,以实现上述的曲面模型打磨方法。

输入/输出接口104用于提供用户输入或输出的通道,例如输入/输出接口104可用于连接各种输入输出设备,例如,鼠标、键盘、触控装置、显示屏等,使得用户可以录入信息,或者使信息可视化。

总线105至少用于提供电子设备10中的通信模块101、存储器102、处理器103、输入/输出接口104之间相互通信的通道。

可以理解的是,本申请实施例示意的结构并不构成对电子设备10的具体限定。在本申请另一些实施例中,电子设备10可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。在本申请所提供的实施例中,应该理解到,所揭露的装置/电子设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/电子设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 一种可调节打磨位置的建筑材料用打磨机及其打磨方法
  • 电动汽车后桥用法兰打磨装置、打磨方法及后处理方法
  • 面向任务的体系效能响应曲面模型构建方法
  • 地质曲面模型的构建方法、装置、电子设备及存储介质
技术分类

06120116493311