玻璃涂胶方法、玻璃涂胶装置、电子设备和存储介质
文献发布时间:2023-06-19 12:07:15
技术领域
本申请涉及图像处理领域,更具体而言,特别涉及一种玻璃涂胶方法、玻璃涂胶装置、电子设备和计算机可读存储介质。
背景技术
玻璃涂胶对于精度要求较高,如果精度不够可能出现胶向内侧或外侧溢胶的情况。相关技术中,一般的涂胶方法需要对不同型号玻璃分别提前示教出涂胶轨迹点,要求每种型号的来料玻璃位置及旋转固定或者提前采集每种型号玻璃的配准模板,根据型号类型与提前示教的轨迹点进行涂胶。但是,上述涂胶方法需要对不同型号玻璃分别提前示教出轨迹点,来料玻璃位置及旋转需固定或需对不同型号提前采集配准模板等要求,这会大大降低了玻璃涂胶的易用性、灵活性与通用性。
发明内容
本申请的实施方式提供一种玻璃涂胶方法、玻璃涂胶装置、电子设备和计算机可读存储介质。
本申请的实施方式的玻璃涂胶方法包括:获取待涂胶玻璃边缘的轮廓点云;将所述轮廓点云映射到二维平面以得到轮廓点;基于所述轮廓点,结合工艺型号信号生成所述待涂胶玻璃的涂胶路径;在所述涂胶路径上生成涂胶轨迹点信息,并将所述涂胶轨迹点信息发送至机器人以对所述待涂胶玻璃进行涂胶。
在某些实施方式中,所述基于所述轮廓点,结合工艺型号信号生成所述待涂胶玻璃的涂胶路径,包括:接收所述工艺型号信号;基于所述轮廓点,结合所述工艺型号信号生成所述涂胶路径。
在某些实施方式中,所述基于所述轮廓点,结合工艺型号信号生成所述待涂胶玻璃的涂胶路径,包括:在所述工艺型号信号为预设工艺型号信号时,基于所述轮廓点和预设工艺算法生成所述涂胶路径;在所述工艺型号信号不是所述预设工艺型号信号时,处理所述轮廓点以得到角点,结合所述轮廓点和所述角点生成所述涂胶路径。
在某些实施方式中,所述结合所述轮廓点和所述角点生成所述涂胶路径,包括:在所述角点的数量小于2时,基于所述轮廓点和所述预设工艺算法生成所述涂胶路径;在所述角点的数量大于或等于2时,根据所述角点确定各个边缘段,结合所述轮廓点和各个所述边缘段生成所述涂胶路径。
在某些实施方式中,所述结合所述轮廓点和各个所述边缘段生成所述涂胶路径,包括:将各个所述边缘段划分成特殊边缘段和非特殊边缘段;对所述边缘段进行以下至少一种操作:保留所有边缘段、只保留所述特殊边缘段、只保留所述非特殊边缘段、延长或缩短所述特殊边缘段;结合所述轮廓点和操作后的所述边缘段生成所述涂胶路径。
在某些实施方式中,所述将各个所述边缘段划分成特殊边缘段和非特殊边缘段,包括:获取设定方位;将处于所述设定方位的所述边缘段划分为所述特殊边缘段并将其他所述边缘段划分为所述非特殊边缘段。
所述获取待涂胶玻璃边缘的轮廓点云,包括:获取视觉传感器采集到的待涂胶玻璃的点云数据;对所述点云数据进行点云滤波和离群点剔除,以获取所述待涂胶玻璃的点云模型;根据所述点云模型,获取所述轮廓点云。
在某些实施方式中,所述将所述轮廓点云映射到二维平面以得到轮廓点,包括:对所述轮廓点云进行正交投影,以将所述轮廓点云映射到二维平面上,得到所述轮廓点。
在某些实施方式中,所述基于所述轮廓点,结合工艺型号信号生成所述待涂胶玻璃的涂胶路径,包括:基于所述轮廓点,亚像素级别的对每条边进行噪点去除和平滑处理;对噪点去除和平滑处理后的结果所描述轮廓的各边进行直线拟合。
在某些实施方式中,所述对噪点去除和平滑处理后的结果所描述轮廓的各边进行直线拟合,包括:确定所述结果所对应的轮廓点云;基于所述结果所对应的轮廓点云的Z向坐标,确定出对应轮廓点云的Z向坐标不为零的目标轮廓点;对所述目标轮廓点所描述轮廓的各边进行直线拟合。
在某些实施方式中,所述在所述涂胶路径上生成涂胶轨迹点信息,包括:根据所述机器人的固有属性以及所述机器人初始位姿,在所述涂胶路径上生成所述涂胶轨迹点信息。
在某些实施方式中,所述根据所述机器人的固有属性以及所述机器人初始位姿,在所述涂胶路径上生成所述涂胶轨迹点信息,包括:确定所述涂胶路径中的拐角处和直线处;根据所述机器人的出胶速率、运动速度在所述拐弯处以及所述直线处以相应密度设置涂胶轨迹点;根据所述机器人初始位姿确定所述涂胶轨迹点的走位顺序,以得到所述涂胶轨迹点信息。
在某些实施方式中,所述涂胶轨迹点信息还包括:所述轮廓点对应的法向信息。
本申请的实施方式的玻璃涂胶装置包括第一获取模块、第二获取模块、第一生成模块、第二生成模块和发送模块。第一获取模块用于获取待涂胶玻璃边缘的轮廓点云;第二获取模块用于将所述轮廓点云映射到二维平面以得到轮廓点;第一生成模块用于基于所述轮廓点,结合工艺型号信号生成所述待涂胶玻璃的涂胶路径;第二生成模块用于在所述涂胶路径上生成涂胶轨迹点信息;发送模块用于将所述涂胶轨迹点信息发送至机器人以对所述待涂胶玻璃进行涂胶。
本申请的实施方式的电子设备包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述任一实施方式的玻璃涂胶方法。
本申请的实施方式的计算机可读存储介质其上存储有计算机程序,所述计算机程序被处理器执行时实现上述任一实施方式的玻璃涂胶方法。
本申请实施方式的玻璃涂胶方法、玻璃涂胶装置、电子设备和计算机可读存储介质可获取待涂胶玻璃边缘的轮廓点云,并将轮廓点云映射到二维平面以得到轮廓点,之后可基于该轮廓点,结合工艺型号信号生成待涂胶玻璃的涂胶路径,在涂胶路径上生成涂胶轨迹点信息,并将涂胶轨迹点信息发送至机器人以对待涂胶玻璃进行涂胶。即可对待涂胶玻璃形态、位置精准识别,可以自动生成任意型号大小的玻璃涂胶轨迹点,进而可以实现任意规格大小的玻璃轮廓高精度涂胶,大大提高了玻璃涂胶的易用性、灵活性与通用性。另外,由于涂胶路径是结合工艺型号信号生成的,因此,能够根据不同的工艺型号生成对应的涂胶路径以使得待涂胶玻璃上能够实现不同工艺型号的涂胶。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请某些实施方式的玻璃涂胶方法的流程示意图;
图2是本申请某些实施方式的玻璃涂胶装置的示意图;
图3是本申请某些实施方式的电子设备的结构示意图;
图4和图5是本申请某些实施方式的玻璃涂胶方法的流程示意图;
图6是本申请某些实施方式的玻璃涂胶方法的工艺示意图;
图7和图8是本申请某些实施方式的玻璃涂胶方法的场景示意图;
图9至图11是本申请实施方式的玻璃涂胶方法的流程示意图;
图12是本申请实施方式的电子设备和计算机可读存储介质的连接示意图。
具体实施方式
下面详细描述本申请的实施方式,所述实施方式的实施方式在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
请参阅图1,本申请实施方式的玻璃涂胶方法包括:
步骤01:获取待涂胶玻璃边缘的轮廓点云;
步骤02:将轮廓点云映射到二维平面以得到轮廓点;
步骤03:基于轮廓点,结合工艺型号信号生成待涂胶玻璃的涂胶路径;
步骤04:在涂胶路径上生成涂胶轨迹点信息,并将涂胶轨迹点信息发送至机器人以对待涂胶玻璃进行涂胶。
请参阅图2,本申请实施方式的玻璃涂胶装置100包括第一获取模块10、第二获取模块20、第一生成模块30、第二生成模块40和发送模块50。本申请的玻璃涂胶方法可以由本申请实施方式的玻璃涂胶装置100实现,其中,步骤01可以由第一获取模块10实现,步骤02可以由第二获取模块20实现,步骤03可以由第一生成模块30实现,步骤04可以由第二生成模块40和发送模块50实现,也即是说,第一获取模块10用于获取待涂胶玻璃边缘的轮廓点云。第二获取模块20用于将轮廓点云映射到二维平面以得到轮廓点。第一生成模块30用于基于轮廓点,结合工艺型号信号生成待涂胶玻璃的涂胶路径。第二生成模块40用于在涂胶路径上生成涂胶轨迹点信息。发送模块50用于将涂胶轨迹点信息发送至机器人以对待涂胶玻璃进行涂胶。
请参阅图3,本申请实施方式的电子设备1000包括存储器200、处理器300及存储在存储器200上并可在处理器300上运行的计算机程序,处理器300执行计算机程序时实现本申请实施方式的玻璃涂胶方法。如此,本申请实施方式的玻璃涂胶方法可以由本申请实施方式的电子设备1000实现,其中,步骤01、步骤02、步骤03和步骤04均可以由处理器300实现,也即是说,处理器300可用于:获取待涂胶玻璃边缘的轮廓点云;将轮廓点云映射到二维平面以得到轮廓点;基于轮廓点,结合工艺型号信号生成待涂胶玻璃的涂胶路径;在涂胶路径上生成涂胶轨迹点信息,并将涂胶轨迹点信息发送至机器人以对待涂胶玻璃进行涂胶。
处理器300可以是指驱动板。驱动板可以是中央处理单元(Central ProcessingUnit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
在相关技术中,玻璃涂胶对于精度要求较高,如果精度不够可能出现胶向内侧或外侧溢胶的情况。相关技术中,一般的涂胶方法需要对不同型号玻璃分别提前示教出涂胶轨迹点,要求每种型号的来料玻璃位置及旋转固定或者提前采集每种型号玻璃的配准模板,根据型号类型与提前示教的轨迹点进行涂胶。但是,上述涂胶方法需要对不同型号玻璃分别提前示教出轨迹点,来料玻璃位置及旋转需固定或需对不同型号提前采集配准模板等要求,这会大大降低了玻璃涂胶的易用性、灵活性与通用性。
本申请实施方式的玻璃涂胶方法可获取待涂胶玻璃边缘的轮廓点云,并将轮廓点云映射到二维平面以得到轮廓点,之后可基于该轮廓点,结合工艺型号信号生成待涂胶玻璃的涂胶路径,在涂胶路径上生成涂胶轨迹点信息,并将涂胶轨迹点信息发送至机器人以对待涂胶玻璃进行涂胶。即可对待涂胶玻璃形态、位置精准识别,可以自动生成任意型号大小的玻璃涂胶轨迹点,进而可以实现任意规格大小的玻璃轮廓高精度涂胶,大大提高了玻璃涂胶的易用性、灵活性与通用性。另外,由于涂胶路径是结合工艺型号信号生成的,因此,能够根据不同的工艺型号生成对应的涂胶路径以使得待涂胶玻璃上能够实现不同工艺型号的涂胶。
本申请实施方式的玻璃涂胶方法可以由本申请实施方式的玻璃涂胶装置100实现,也可以由本申请实施方式的电子设备1000实现。本申请实施方式的电子设备1000可以是配置有存储器200、处理器300及存储在存储器200上并可在处理器300上运行的计算机程序的终端设备。例如,电子设备1000可以包括计算机、智能手机、平板电脑或其他终端设备。
在某些实施方式中,请参阅图4,步骤03包括步骤:
步骤031:接收工艺型号信号;
步骤032:基于轮廓点,结合工艺型号信号生成涂胶路径。
在某些实施方式中,第一生成模块30包括第一接收单元和第一生成单元,步骤031可以由第一接收单元实现,步骤032可以由第一生成单元实现,也即是说,第一接收单元用于接收工艺型号信号。第一生成单元用于基于轮廓点,结合工艺型号信号生成涂胶路径。
在某些实施方式中,电子设备1000包括处理器300。步骤031和步骤032均可以由处理器300实现,也即是说,处理器300用于接收工艺型号信号;基于轮廓点,结合工艺型号信号生成涂胶路径。
具体地,在某些实施方式中,工艺型号信号可以是用户输入的,也可以是预先设置的。工艺型号信号可以包括多种,如此,可以接收工艺型号信号,基于轮廓点,结合工艺型号信号生成涂胶路径。
在某些实施方式中,请参阅图5,步骤03还包括:
步骤033:在工艺型号信号为预设工艺型号信号时,基于轮廓点和预设工艺算法生成涂胶路径;
步骤034:在工艺型号信号不是预设工艺型号信号时,处理轮廓点以得到角点,结合轮廓点和角点生成涂胶路径。
在某些实施方式中,第一生成模块30包括第二生成单元和第三生成单元,步骤033可以由第二生成单元实现,步骤034可以由第三生成单元实现,也即是说,第二生成单元用于在工艺型号信号为预设工艺型号信号时,基于轮廓点和预设工艺算法生成涂胶路径。第三生成单元用于在工艺型号信号不是预设工艺型号信号时,处理轮廓点以得到角点,结合轮廓点和角点生成涂胶路径。
在某些实施方式中,电子设备1000包括处理器300。步骤033和步骤034均可以由处理器300实现,也即是说,处理器300用于在工艺型号信号为预设工艺型号信号时,基于轮廓点和预设工艺算法生成涂胶路径;在工艺型号信号不是预设工艺型号信号时,处理轮廓点以得到角点,结合轮廓点和角点生成涂胶路径。
具体地,在某些实施方式中,工艺型号信号可以为预设工艺型号信号,也可以为非预设工艺型号信号。请参阅图6,预设工艺型号为图6中的工艺1,例如:工艺型号信号为预设工艺型号信号,预设工艺型号信号即为图6中的工艺1,基于轮廓点和预设工艺算法生成涂胶路径。预设工艺算法可以是基于轮廓点进行内缩处理,以生成周围一圈轨迹点,轨迹点即为涂胶路径。预设工艺算法为内缩算法,内缩方法有形态学的腐蚀方法和沿局部切线的垂线平移内缩法,形态学的腐蚀方法可以高度保留轮廓点形态,沿局部切线的垂线平移内缩法可使各局部平移不同距离。请再次参阅图6,图6中的工艺2、工艺3和工艺4均为非预设工艺。在工艺型号信号不是预设工艺型号信号时,处理轮廓点以得到角点,结合轮廓点和角点生成涂胶路径。具体地,角点是指能够具体检测出来的兴趣点,在某些实施方式中可以通过哈里斯(Harris)角点检测算法处理轮廓点以得到角点。在某些实施方式中还可以通过轮廓点的形状判断角点,请参阅图7,当轮廓点的形状是标准直角矩形或非直角的矩形时,可以通过与外接矩形顶点最近的点确定其为四个角点。请参阅图8,当轮廓点的形状是无规则形状时,则需要通过哈里斯角点检测算法处理轮廓点以得到角点。
在某些实施方式中,请参阅图9,结合轮廓点和角点生成涂胶路径,包括:
步骤0341:在角点的数量小于2时,基于轮廓点和预设工艺算法生成涂胶路径;
步骤0342:在角点的数量大于或等于2时,根据角点确定各个边缘段,结合轮廓点和各个边缘段生成涂胶路径。
在某些实施方式中,第一生成模块30包括第四生成单元和第五生成单元,步骤0341可以由第四生成单元实现,步骤0342可以由第五生成单元实现,也即是说,第四生成单元用于在角点的数量小于2时,基于轮廓点和预设工艺算法生成涂胶路径。第五生成单元用于在角点的数量大于或等于2时,根据角点确定各个边缘段,结合轮廓点和各个边缘段生成涂胶路径。
在某些实施方式中,电子设备1000包括处理器300。步骤0341和步骤0342均可以由处理器300实现,也即是说,处理器300用于在角点的数量小于2时,基于轮廓点和预设工艺算法生成涂胶路径;在角点的数量大于或等于2时,根据角点确定各个边缘段,结合轮廓点和各个边缘段生成涂胶路径。
具体地,在某些实施方式中,在角点的数量小于2时,即角点为0、1时,基于轮廓点和预设工艺算法生成涂胶路径。在角点的数量小于2时,不能根据角点确定边缘段,如此,可以基于轮廓点和内缩处理算法生成涂胶路径。在角点的数量大于或等于2时,根据角点确定各个边缘段,结合轮廓点和各个边缘段生成涂胶路径。
在某些实施方式中,请参阅图10,结合轮廓点和各个边缘段生成涂胶路径,包括:
步骤0343:将各个边缘段划分成特殊边缘段和非特殊边缘段;
步骤0344:对边缘段进行以下至少一种操作:保留所有边缘段、只保留特殊边缘段、只保留非特殊边缘段、延长或缩短特殊边缘段;
步骤0345:结合轮廓点和操作后的边缘段生成涂胶路径。
在某些实施方式中,第一生成模块30包括第一划分单元、第一操作单元和第六生成单元。步骤0343可以由第一划分单元实现,步骤0344可以由第一操作单元实现,步骤0345可以由第六生成单元实现,也即是说,第一划分单元用于将各个边缘段划分成特殊边缘段和非特殊边缘段。第一操作单元用于对边缘段进行以下至少一种操作:保留所有边缘段、只保留特殊边缘段、只保留非特殊边缘段、延长或缩短特殊边缘段。第六生成单元用于结合轮廓点和操作后的边缘段生成涂胶路径。
在某些实施方式中,电子设备1000包括处理器300。步骤0343、步骤0344和步骤0345均可以由处理器300实现,也即是说,处理器300用于将各个边缘段划分成特殊边缘段和非特殊边缘段;对边缘段进行以下至少一种操作:保留所有边缘段、只保留特殊边缘段、只保留非特殊边缘段、延长或缩短特殊边缘段;结合轮廓点和操作后的边缘段生成涂胶路径。
具体地,在某些实施方式中,可以将各个边缘段划分成特殊边缘段和非特殊边缘段,特殊边缘段可以是边缘段的某一部分。特殊边缘段和非特殊边缘段可以是出厂设置自定义默认的,也可以是用户手动设置的,此处不作为限制。请参阅图6,可以认为图6中右侧边缘可以为特殊段,其余边为非特殊边缘段。可根据需求边缘段进行以下至少一种操作:保留所有边缘段、只保留特殊边缘段、只保留非特殊边缘段、延长或缩短特殊边缘段,再结合轮廓点和操作后的边缘段生成涂胶路径。在一个例子中,可以将保留所有边缘段设置为操作A,将只保留特殊边缘段设置为操作B,将只保留非特殊边缘段C、延长或缩短特殊边缘段设置为操作D,且以上特殊边缘段操作之间或与其它工艺之间可进行灵活的自由组合。如此,请一并参阅图6,操作A即为工艺1、操作B与工艺1组合为工艺2、操作C则为工艺3,操作D与操作C组合为工艺4。
在某些实施方式中,请参阅图11,将各个边缘段划分成特殊边缘段和非特殊边缘段,包括:
步骤0346:获取设定方位;
步骤0347:将处于设定方位的边缘段划分为特殊边缘段并将其他边缘段划分为非特殊边缘段。
在某些实施方式中,第一生成模块30包括第一获取单元和第二划分单元。步骤0346可以由第一获取单元实现,步骤0347可以由第二划分单元实现,也即是说,第一获取单元用于获取设定方位;第二划分单元用于将处于设定方位的边缘段划分为特殊边缘段并将其他边缘段划分为非特殊边缘段。
在某些实施方式中,电子设备1000包括处理器300。步骤0343、步骤0344和步骤0345均可以由处理器300实现,也即是说,处理器300用于获取设定方位;将处于设定方位的边缘段划分为特殊边缘段并将其他边缘段划分为非特殊边缘段。
具体地,在某些实施方式中,设定方位可以是出厂设置自定义默认的,也可以是用户手动设置的,此处不作为限制。将处于设定方位的边缘段划分为特殊边缘段,其他边缘段划分为非特殊边缘段。在一个实施例中,确定出四个角点,方位可以包括上、下、左、右四个方位,若设定方位为上,则将最上侧的两个角点之间的边缘确定为特殊边缘段,并将其他边缘段划分为非特殊边缘段。
在某些实施方式中,获取待涂胶玻璃边缘的轮廓点云,包括:
获取视觉传感器采集到的待涂胶玻璃的点云数据;
对点云数据进行点云滤波和离群点剔除,以获取待涂胶玻璃的点云模型;
根据点云模型,获取轮廓点云。
在某些实施方式中,第一获取模块10包括第二获取单元、第三获取单元和第四获取单元。上述步骤可以由第二获取单元、第三获取单元和第四获取单元实现。也即是说,第二获取单元用于获取视觉传感器采集到的待涂胶玻璃的点云数据。第三获取单元用于对点云数据进行点云滤波和离群点剔除,以获取待涂胶玻璃的点云模型。第四获取单元用于根据点云模型,获取轮廓点云。
在某些实施方式中,电子设备1000包括处理器300。上述步骤均可以由处理器300实现,也即是说,处理器300用于获取视觉传感器采集到的待涂胶玻璃的点云数据;对点云数据进行点云滤波和离群点剔除,以获取待涂胶玻璃的点云模型;根据点云模型,获取轮廓点云。
具体地,视觉传感器可以是3D工业相机。视觉传感器可以采集到的待涂胶玻璃的点云数据。点云数据包括点在空间的XYZ三轴的坐标值、包括各点云自身的XYZ三轴朝向。通过对点云数据进行点云滤波和离群点剔除等精细操作,以形成较为精确的点云模型。点云模型即为待涂胶玻璃的点云模型,如此即可提取待涂胶玻璃的轮廓点云。
在某些实施方式中还可以对待涂胶玻璃的点云模型进行边缘轮廓分析,以得到该待涂胶玻璃边缘的轮廓点云。其中,通过边缘轮廓分析可以得到该涂胶玻璃的边缘轮廓。具体实现过程可通过现有传统边缘检测技术、深度学习算法等技术实现,此处不作为限制。
值得一提的是,在本申请实施方式中,待涂胶玻璃的轮廓可以为任意形状,例如为多边形,例如三角形、矩形、五边形等。待涂胶玻璃表面可以为平面,还可以为类平面,具体可以是较为平缓的凹面、凸面,例如平弧面、平凹面,或者还可以为同时具备凹凸起伏的类平面。待涂胶玻璃的形状可以为任意规格,此处不作具体限定。
在某些实施方式中,将轮廓点云映射到二维平面以得到轮廓点,包括:
对轮廓点云进行正交投影,以将轮廓点云映射到二维平面上,得到轮廓点。
在某些实施方式中,上述步骤可以由第二获取模块20实现。也即是说,第二获取模块用于对轮廓点云进行正交投影,以将轮廓点云映射到二维平面上,得到轮廓点。
在某些实施方式中,电子设备1000包括处理器300。上述步骤可以由处理器300实现,也即是说,处理器300用于对轮廓点云进行正交投影,以将轮廓点云映射到二维平面上,得到轮廓点。
具体地,对轮廓点云进行正交投影可以更加精准的明确玻璃边缘的轮廓。因为获得的待涂胶玻璃边缘的轮廓点云是三维点云数据,而三维点云数据会由于各种外界或内在因素而影响玻璃边缘轮廓的确定,如此可以通过对轮廓点云进行正交投影,以将轮廓点云映射到二维平面上,得到轮廓点。此外,对数据进行降维度处理,滤除对轮廓影响较小的维度对应的数据,有助于减小数据处理量进而加速数据处理速度,提高效率。
在一个实施例中,述待涂胶玻璃可为非标准平面的玻璃,例如:玻璃的某一部分,例如玻璃某一角、或者玻璃两端稍微翘起(下沉)使某些边形成弧线,即对应部分在空间中高度上呈弧线。由于成像原理原因,通过视觉传感器在非垂直角度上拍出的上述弧线对应的点,其所描述的边是非标准直线。因此,对上述待涂胶玻璃边缘的轮廓点云进行正交投影操作,进而对轮廓点云进行降维度处理,从而将各轮廓点云映射到二维平面上,进而可以得到上述待涂胶玻璃边缘的二维轮廓点,此时描述轮廓的点便趋近于一条直线。
在某些实施方式中,基于轮廓点,结合工艺型号信号生成待涂胶玻璃的涂胶路径,包括:
基于轮廓点,亚像素级别的对每条边进行噪点去除和平滑处理;
对噪点去除和平滑处理后的结果所描述轮廓的各边进行直线拟合。
在某些实施方式中,第一生成模块30包括第一处理单元和第二处理单元。上述步骤可以由第二处理单元第一处理单元和第二处理单元实现,也即是说,第一处理单元用于基于轮廓点,亚像素级别的对每条边进行噪点去除和平滑处理。第二处理单元用于对噪点去除和平滑处理后的结果所描述轮廓的各边进行直线拟合。
在某些实施方式中,电子设备1000包括处理器300。上述步骤均可以由处理器300实现,也即是说,处理器300用于基于轮廓点,亚像素级别的对每条边进行噪点去除和平滑处理;对噪点去除和平滑处理后的结果所描述轮廓的各边进行直线拟合。
具体地,亚像素级别可以指从微观角度看两个像素点之间的点,亚像素级别的计算可使图像处理更为精确。亚像素级别地对轮廓点所描述的每条边进行噪点去除和平滑处理之后,可对经过噪点去除和平滑处理的轮廓点所描述轮廓的各边进行直线拟合。在某些实施方式中,直线拟合可为基于各边的点寻找各边对应的直线,每一边的直线覆盖该边较优部分对应的点数量最多。
在某些实施方式中,对噪点去除和平滑处理后的结果所描述轮廓的各边进行直线拟合,包括:
确定结果所对应的轮廓点云;
基于结果所对应的轮廓点云的Z向坐标,确定出对应轮廓点云的Z向坐标不为零的目标轮廓点;
对目标轮廓点所描述轮廓的各边进行直线拟合。
在某些实施方式中,第一生成模块30包括第一确定单元、第二确定单元和第三处理单元。上述步骤可以由第一确定单元、第二确定单元和第三处理单元实现,也即是说,第一确定单元用于确定结果所对应的轮廓点云。第二确定单元用于基于结果所对应的轮廓点云的Z向坐标,确定出对应轮廓点云的Z向坐标不为零的目标轮廓点。第三处理单元用于对目标轮廓点所描述轮廓的各边进行直线拟合。
在某些实施方式中,电子设备1000包括处理器300。上述步骤均可以由处理器300实现,也即是说,处理器300用于确定结果所对应的轮廓点云;基于结果所对应的轮廓点云的Z向坐标,确定出对应轮廓点云的Z向坐标不为零的目标轮廓点;对目标轮廓点所描述轮廓的各边进行直线拟合。
具体地,在采集待涂胶玻璃的点云过程中,针对非标准平面的待涂胶玻璃,其贴合传送带的部分容易受到传送带干扰,进而出现干扰点。而翘起部分的边缘不会受干扰,因此,在基于二维轮廓点进行直线拟合过程中,对于与传送带有接触的边,可以根据此边的不与传送带接触处的点确定该边对应的直线。可以通过此边上轮廓点所对应的轮廓点云的Z向坐标,来确定该边上哪些轮廓点是与传送带有接触,哪些轮廓点是不与传送带接触的,即轮廓点所对应的轮廓点云的Z向坐标为零,则说明该轮廓点与传送带有接触,在轮廓点所对应的轮廓点云的Z向坐标不为零,则说明该轮廓点不与传送带接触,此时可基于不与传送带有接触的轮廓点进行直线拟合,以得到待涂胶玻璃较为精准的轮廓边缘。需要说明的是,本实施例中待涂胶玻璃所对应坐标系贴合传送带建立,也就是说上述坐标系的原点位于传送带所在平面。
值得一提的是,上述坐标系还可以以其他形式建立,此时可以基于预先根据待涂胶的非标准平面玻璃的形状设定某一点云筛选规则,选取上述较优部分对应的点,即选取待涂胶的非标准平面玻璃未与传送带接触部分对应的点。在本实施例中,直线拟合操作的对象较佳地为噪点去除、平滑处理后的结果,当然,也可以为未进行噪点去除、平滑处理的轮廓点,此处不作为限定。
在某些实施方式中,在涂胶路径上生成涂胶轨迹点信息,包括:
根据机器人的固有属性以及机器人初始位姿,在涂胶路径上生成涂胶轨迹点信息。
在某些实施方式中,上述步骤可以由第二生成模块40实现,也即是说,第二生成模块40用于根据机器人的固有属性以及机器人初始位姿,在涂胶路径上生成涂胶轨迹点信息。
在某些实施方式中,电子设备1000包括处理器300。上述步骤可以由处理器300实现,也即是说,处理器300用于根据机器人的固有属性以及机器人初始位姿,在涂胶路径上生成涂胶轨迹点信息。
具体地,机器人可以是用于玻璃涂胶的工业机器人手臂。为了使得机器人走更少的多余轨迹,可将涂胶轨迹点的初始点设置在涂胶路径上与机器人初始位姿最为相近的位置,例如:将初始点设置在靠近机器人那条边的中间。也即是说,在确定机器人的初始位姿之后,可将距离该机器人的初始位姿最近的那条边的涂胶路径上的中间点作为涂胶轨迹点的初始点,之后可根据机器人的固有属性在涂胶路径上设置其他涂胶轨迹点,进而可以得到该涂胶玻璃的涂胶轨迹点信息。值得一提的是,该涂胶轨迹点信息可包括但不限于涂胶轨迹点的坐标、涂胶轨迹点的初始轨迹点以及涂胶轨迹点的走向(即涂胶轨迹点走位顺序)等。在得到涂胶玻璃的涂胶轨迹点信息之后,可采用通信方式将涂胶轨迹点信息发送至机器人。机器人在接收到涂胶轨迹点信息时,可基于涂胶轨迹点信息,控制自身的喷胶喷头对待涂胶玻璃进行涂胶。
在某些实施方式中,根据机器人的固有属性以及机器人初始位姿,在涂胶路径上生成涂胶轨迹点信息,包括:
确定涂胶路径中的拐角处和直线处;
根据机器人的出胶速率、运动速度在拐弯处以及直线处以相应密度设置涂胶轨迹点;
根据机器人初始位姿确定涂胶轨迹点的走位顺序,以得到涂胶轨迹点信息。
在某些实施方式中,第二生成模块40包括第三确定单元、第四处理单元和第四确定单元。上述步骤可以由第三确定单元、第四处理单元和第四确定单元实现,也即是说,第三确定单元用于确定涂胶路径中的拐角处和直线处。第四处理单元用于根据机器人的出胶速率、运动速度在拐弯处以及直线处以相应密度设置涂胶轨迹点。第四确定单元用于根据机器人初始位姿确定涂胶轨迹点的走位顺序,以得到涂胶轨迹点信息。
在某些实施方式中,电子设备1000包括处理器300。步骤均可以由处理器300实现,也即是说,处理器300用于确定涂胶路径中的拐角处和直线处;根据机器人的出胶速率、运动速度在拐弯处以及直线处以相应密度设置涂胶轨迹点;根据机器人初始位姿确定涂胶轨迹点的走位顺序,以得到涂胶轨迹点信息。
具体地,确定涂胶路径中的拐角处和直线处,可以基于涂胶路径上各点的坐标值间的关系确定。拐角处相邻点的X坐标和Y坐标均会不一样,而直线处相邻点,可能其X坐标会一样或Y坐标会一样。例如:假设待涂胶玻璃的形状为矩形,则该待涂胶玻璃的涂胶路径中,四个角的拐角处相邻点的X坐标和Y坐标均会不一样,而上边直线处相邻点的Y坐标会一样而X坐标会不一样,下边直线处相邻点的Y坐标会一样而X坐标会不一样且Y坐标相对于上边直线处数值小,左边直线处相邻点的X坐标会一样而Y坐标会不一样,右边直线处相邻点的X坐标会一样而Y坐标会不一样且X坐标相对于左边直线处数值小。
机器人在对玻璃进行涂胶时,会基于一定的出胶速率控制出胶头进行涂胶。出胶速率作为机器人的固有属性,影响本实施例中涂胶效果。为了能够方便参考机器人的出胶速率在涂胶路径上设置涂胶轨迹点,以避免堆胶情况,可确定该机器人的出胶速率。
机器人运动的固有属性还体现为,若机器人在拐角处和直线处设置同样的运动速度参数,其在拐角处和直线处的运动速度会不同,具体拐角处运动速度慢于直线处运动速度。而实际情况下机器人另一固有属性出胶速率是不变的,因此对于合适直线的出胶速率与运动速度参数,在拐弯处就会造成堆胶情况。在某些实施方式中,在保证机器人沿着所确定的涂胶路径移动的前提下,在涂胶路径上的拐角处设置的涂胶轨迹点的间距可以比直线处设置的涂胶轨迹点间距大些,以达到直线处运动速度与拐角处运动速度的平衡,进而解决拐角可能造成的堆胶现象。可在直线处设置一最小间距用于限定直线处涂胶轨迹点的间距,防止直线处由于机器人由于轨迹点数量过多而出现卡顿堆胶的情况。还可在直线处和拐角处设置数值不同的运动速度参数以达到直线处运动速度与拐角处运动速度的平衡,解决由于固有属性导致的堆胶问题。
根据机器人初始位姿确定涂胶轨迹点的走位顺序,以得到所述涂胶轨迹点信息。可以理解,为了使得机器人走更少的多余轨迹,设置轨迹点的初始点为靠近机器人初始位姿的点,例如:可以为待涂胶玻璃的靠近机器人那条边的中间部位对应的轨迹点。也即是说,在确定机器人的初始位姿之后,可将距离该机器人的初始位姿最近的那条边的涂胶路径上的中间点对应的轨迹点(或者距离该点最近的轨迹点)作为涂胶轨迹点的初始轨迹点,之后,可以顺时针走位其他轨迹点,也可以逆时针走位其他轨迹点。
在某些实施方式中,涂胶轨迹点信息具体可以包括涂胶轨迹点坐标,初始轨迹点坐标、涂胶轨迹点的走位顺序、涂胶轨迹点的运动速度参数等。
在某些实施方式中,涂胶轨迹点信息还包括:轮廓点对应的法向信息。
具体地,法向信息可以为各轮廓点云对应的法向量相对于一固定量的角度值,还可以为各轮廓点云中相应走位顺序在后的点云相对于其前一点云的偏离角度值。
请参阅图12,本申请实施方式的计算机可读存储介质500,其上存储有计算机程序,该程序被处理器300执行时实现上述任一实施方式的玻璃涂胶方法。需要指出的是,本申请实施方式的计算机可读存储介质500存储的计算机程序可以被电子设备1000的处理器300执行,需要指出的是,计算机可读存储介质500可以是内置在电子设备1000中的存储介质,也可以是能够插拔地插接在电子设备1000的存储介质,因此,本申请实施方式的计算机可读存储介质500具有较高的灵活性和可靠性。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”、“示意性实施方式”、“示例”、“具体示例”或“一些示例”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理模块的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
处理器220可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
应当理解,本申请的实施方式的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请的各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本申请的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。
- 玻璃涂胶方法、玻璃涂胶装置、电子设备和存储介质
- 一种玻璃布蜂窝涂胶方法及其使用的涂胶装置