一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于视锥体的点云滤波方法、机器人及机器人作业方法与流程

2022-12-03 00:58:28 来源:中国专利 TAG:


1.本发明涉及机器人技术领域,特别涉及一种基于视锥体的点云滤波方法、点云滤波装置、点云滤波设备、计算机可读存储介质、机器人及机器人作业方法。


背景技术:

2.随着计算机视觉的发展,三维视觉已广泛应用于工业、医疗、服务等领域。相机的点云成像质量会直接影响到点云分割、配准的准确度,然而,由于作业场景中不同的光照条件、被照物体的反射率,都会对相机成像产生密切的影响,特别在焊接场景中,焊接弧光、烟雾对相机点云成像影响,导致可视区域外部出现噪声点,点云质量差。


技术实现要素:

3.为了提高点云的质量,本发明提供了一种基于视锥体的点云滤波方法、点云滤波装置、点云滤波设备、计算机可读存储介质、机器人及机器人作业方法。
4.根据本发明实施例的一方面,公开了一种基于视锥体的点云滤波方法,包括:
5.构建具有底面和多个侧面的视锥体,所述视锥体为相机坐标系下以视点为坐标原点的一块可视区域的锥体;
6.获取待过滤点和所述视点组成的矢量与各所述侧面的法矢量的夹角和所述待过滤点在相机光轴上的投影点与所述视点的距离中的至少一者;
7.根据所述夹角和距离中的至少一者,确定所述待过滤点与所述视锥体的位置关系;
8.若所述待过滤点在所述视锥体外,剔除所述待过滤点。
9.在一种示例性实施例中,所述获取待过滤点和所述视点组成的矢量与各所述侧面的法矢量的夹角和所述待过滤点在相机光轴上的投影点与所述视点的距离中的至少一者;根据所述夹角和距离的至少一者,确定所述待过滤点与所述视锥体的位置关系;包括:
10.获取待过滤点和所述视点组成的矢量与各所述侧面的法矢量的夹角和所述待过滤点在相机光轴上的投影点与所述视点的距离中的一者;
11.根据所述夹角和距离中的一者,确定所述待过滤点是否在所述视锥体外;
12.若确定所述待过滤点在所述视锥体外,剔除所述待过滤点;
13.否则,获取待过滤点和所述视点组成的矢量与各所述侧面的法矢量的夹角和所述待过滤点在相机光轴上的投影点与所述视点的距离中的另一者;
14.根据所述夹角和距离中的另一者,确定所述待过滤点是否在所述视锥体外。
15.在一种示例性实施例中,根据所述夹角,确定所述待过滤点是否在所述视锥体外,包括:
16.比较各所述夹角与预设角度阈值的大小;
17.根据比较结果,确定所述待过滤点是否在所述视锥体外。
18.在一种示例性实施例中,获取待过滤点和所述视点组成的矢量与各所述侧面的法
矢量的夹角;根据所述夹角,确定所述待过滤点是否在所述视锥体外,包括:
19.获取待过滤点和所述视点组成的矢量与各所述侧面的法矢量的内积;
20.根据各所述内积与零的大小关系,确定各所述夹角与90度角的大小关系;
21.根据各所述夹角与90度角的大小关系,确定所述待过滤点是否在所述视锥体外。
22.在一种示例性实施例中,各所述侧面的法矢量指向所述视锥体的外侧,所述待过滤点和所述视点组成的矢量由所述视点指向所述待过滤点;
23.所述根据所述夹角,确定所述待过滤点是否在所述视锥体外,包括:
24.若至少一个所述夹角小于90度,所述待过滤点在所述视锥体外。
25.在一种示例性实施例中,根据所述距离,确定所述待过滤点是否在所述视锥体外,包括:
26.比较所述距离与视场深度的大小;所述视场深度为所述视点沿所述相机光轴在所述底面上的投影点与所述视点的距离;
27.根据比较结果,确定所述待过滤点是否在所述视锥体外。
28.在一种示例性实施例中,若所有所述夹角均大于或等于90度,且所述距离小于或等于所述视场深度,所述待过滤点在所述视锥体内。
29.在一种示例性实施例中,所述构建具有底面和多个侧面的视锥体,包括:
30.获取视点位姿;
31.根据所述视点位姿和视场深度,获得所述视点沿所述相机光轴在所述底面的投影点坐标;
32.根据所述视点沿所述相机光轴在所述底面的投影点坐标、相机的水平视场角及所述相机的垂直视场角,获得所述底面的四个顶点的坐标;
33.以所述视点作为原点,分别连线所述四个顶点,获得所述视锥体。
34.根据本发明实施例的一方面,公开了一种机器人,包括:相机和控制器,所述相机用于采集所述机器人的作业对象图像;所述控制器与所述相机连接,用于执行前述点云滤波方法的步骤,以过滤所述作业对象图像中的点云。
35.根据本发明实施例的一方面,公开了一种机器人作业方法,所述机器人设有末端工具和相机,所述作业方法包括:
36.控制所述相机采集所述机器人的作业对象图像;
37.采用前述点云滤波方法过滤所述作业对象图像中的点云;
38.分析进行点云过滤之后的作业对象图像,获得作业位置;
39.控制所述末端工具移动到所述作业位置进行作业。
40.根据本发明实施例的一方面,公开了一种基于视锥体的点云滤波装置,所述点云滤波装置包括:
41.视锥体构建模块,用于构建具有底面和多个侧面的视锥体,所述视锥体为相机坐标系下以视点为坐标原点的一块可视区域的锥体;
42.获取模块,用于获取待过滤点和所述视点组成的矢量与各所述侧面的法矢量的夹角和所述待过滤点在相机光轴上的投影点与所述视点的距离中的至少一者;
43.位置确定模块,用于根据所述夹角和距离中的至少一者,确定所述待过滤点与所述视锥体的位置关系;
44.过滤模块,用于在所述待过滤点在所述视锥体外时,剔除所述待过滤点。
45.根据本发明实施例的一方面,公开了一种基于视锥体的点云滤波设备,所述点云滤波设备包括:
46.一个或多个处理器;
47.存储器,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述点云滤波设备实现前述基于视锥体的点云滤波方法。
48.根据本发明实施例的一方面,公开了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使所述计算机执行前述基于视锥体的点云滤波方法。
49.本发明的实施例提供的技术方案至少包括以下有益效果:
50.本发明提供的技术方案,构建出具有底面和多个侧面的视锥体,获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角和待过滤点在相机光轴上的投影点与视点的距离中的至少一者;根据夹角和距离中的至少一者,确定待过滤点与视锥体的位置关系,若该待过滤点位于视锥体内,保留该待过滤点,若该待过滤点位于视锥体外,则将该待过滤点剔除。利用本发明将视锥体外的点云剔除,提高点云的质量,以保证后续点云分割、配准的准确度;且,本发明算法简单,处理效率高,能够满足点云滤波的实时性。
51.应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
附图说明
52.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本发明的实施例,并与说明书一起用于解释本发明的原理。
53.图1是一示例性实施例一种机器人结构图。
54.图2是根据第一示例性实施例一种基于视锥体的点云滤波方法的流程图。
55.图3是根据一示例性实施例视锥体示意图。
56.图4是图2对应实施例中步骤s101的细节流程图。
57.图5是根据第二示例性实施例一种基于视锥体的点云滤波方法的流程图。
58.图6是根据一示例性实施例侧面法矢量示意图。
59.图7是图5对应实施例中步骤s203的细节流程图。
60.图8是图5对应实施例中步骤s206的细节流程图。
61.图9是图5对应实施例中步骤s207的细节流程图。
62.图10是根据第三示例性实施例一种基于视锥体的点云滤波方法的流程图。
63.图11是一示例性实施例滤波前的点云数据。
64.图12是一示例性实施例采用本发明的点云滤波方法滤波后的点云数据。
65.图13是根据一示例性实施例一种机器人作业方法的流程图。
66.图14是根据一示例性实施例一种基于视锥体的点云滤波装置的框图。
67.附图标记说明如下:
68.100、机器人;110、机器人本体;120、相机;130、末端工具;200、点云滤波装置;210、视锥体构建模块;220、获取模块;230、位置确定模块;240、过滤模块。
具体实施方式
69.尽管本发明可以容易地表现为不同形式的实施方式,但在附图中示出并且在本说明书中将详细说明的仅仅是其中一些具体实施方式,同时可以理解的是本说明书应视为是本发明原理的示范性说明,而并非旨在将本发明限制到在此所说明的那样。
70.此外,本发明的描述中所提到的术语“包括”、“具有”以及它的任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或模块的过程、方法、系统、产品或设备,没有限定于已列出的步骤或模块,而是可选的还包括其它没有列出的步骤或模块,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或模块。
71.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个特征。
72.在本发明的描述中,除非另有说明,“多个”的含义是指两个或两个以上。
73.需要说明的是,本发明实施例中,“示例性”或者“举例地”或者“例如”等词用于表示作例子、例证或说明。本发明实施例中被描述为“示例性”或者“举例地”或者“例如”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用“示例性”或者“举例地”或者“例如”等词旨在以具体方式呈现相关概念。
74.以下将详细地对示例性实施例进行说明。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如发明内容中所详述的、本发明的一些方面相一致的装置和方法的例子。
75.本发明实施例提供了一种基于视锥体的点云滤波方法,该点云滤波方法用于滤除拍照获取到的点云图像中位于视锥体外的点云,从而提高点云的质量,以保证后续点云分割、配准的准确度。该点云滤波方法可以用于机器人领域,例如焊接机器人、涂胶机器人、切割机器人等;也可以用于机器人领域之外的其它任意利用计算机视觉的场景。
76.详细地,如图1所示,机器人100包括机器人本体110、相机120、末端工具130、控制器等。其中,末端工具130设置在机器人本体110的末端。相机120可以是设置在机器人本体110的末端,通过机器人本体110带动相机120和末端工具130一起移动,从而利用相机120近距离拍摄作业对象图像;相机120也可以是固定在机器人本体110以外的位置,即是,相机120不随机器人本体110移动。控制器与机器人本体110、相机120及末端工具130连接,以控制机器人本体110的运动,以及控制相机120拍摄作业对象图像,并且控制器还分析作业对象图像,从而获得作业位置,进而可以控制机器人本体110运动,带动末端工具130移动到作业位置并进行作业。
77.可以理解地,控制器可以是内置于机器人本体110,也可以是设置在机器人本体110以外。末端工具130可以是焊枪,作业对象即为待焊接的物件,此时机器人100即为焊接机器人。末端工具130可以是胶枪,作业对象即为待涂胶的物件,此时机器人100即为涂胶机器人。末端工具130还可以是刀具类,作业对象即为待切割的物件,此时机器人100即为切割机器人。当然,末端工具130还可以是其它可以设置在机器人100的末端并通过机器人100带动进行作业的其它工具,不限于前述焊枪、胶枪、刀具等。
78.本发明一实施例中,首先构建出具有底面和多个侧面的视锥体,然后获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角和该待过滤点在相机光轴上的投影点与视
点的距离中的至少一者;再根据夹角和距离中的至少一者,确定该待过滤点与视锥体的位置关系;若该待过滤点位于视锥体内,保留该待过滤点;若该待过滤点位于视锥体外,剔除待过滤点,实现点云过滤。
79.以下结合本说明书实施例中的附图,对本发明的实施方式予以进一步地详尽阐述。
80.参阅图2所示,本发明一实施例提供的基于视锥体的点云滤波方法,包括以下步骤s101-s104。
81.s101,构建视锥体,视锥体具有一底面和多个侧面。
82.可以理解地,视锥体为相机坐标系下以视点为坐标原点的一块可视区域的锥体。
83.在一个示例性实施例中,构建具有一底面和四个等腰三角形侧面的视锥体。当然,视锥体的侧面也不限于是等腰三角形。
84.图3示出了一示例性实施例构建的视锥体示意图,如图3所示,视锥体的底面为矩形abcd,视点为o,四个三角形侧面为oab、obc、ocd、0ad,每个三角形侧面均为等腰三角形。
85.在一个示例性实施例中,如图4所示,步骤s101包括:
86.s1011,获取视点位姿。
87.可以理解地,位姿是物体自身坐标系的位置和方向,图形上表示为一组坐标轴。
88.视点位姿是相机拍照点在世界坐标系中的位姿。
89.s1012,根据视点位姿和视场深度,获得视点沿相机光轴在视锥体的底面的投影点坐标。
90.视场深度为视点沿相机光轴在视锥体的底面上的投影点与视点的距离。相机光轴为相机坐标系的z轴。
91.s1013,根据视点沿相机光轴在视锥体的底面的投影点坐标、相机的水平视场角(hfov,horizontal field ofview)及相机的垂直视场角(vfov,vertical field of view),获得视锥体的底面的四个顶点的坐标。
92.s1014,以视点作为原点,分别连线四个顶点,获得视锥体。
93.详细地,如图3所示,视点o沿相机光轴z在视锥体的底面abcd的投影点为g,og沿着相机光轴z,其长度即为视场深度。由于hfov由视场深度和成像平面的宽度(即,视锥体底面abcd的宽度)决定,vfov由视场深度和成像平面的高度(即,视锥体底面abcd的高度)决定,g点为视锥体的底面abcd的中心,在得知g点之后,再根据hfov、vfov、视场深度即可获得a、b、c、d点的位置。将视点o作为视锥体的顶点,a、b、c、d作为视锥体的底面的四个顶点,便可构建出视锥体。
94.s102,获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角和待过滤点在相机光轴上的投影点与视点的距离中的至少一者。
95.详细地,可以是获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角;也可以是获取待过滤点在相机光轴上的投影点与视点的距离;还可以是获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角和待过滤点在相机光轴上的投影点与视点的距离。
96.在仅根据待过滤点和视点组成的矢量与各侧面的法矢量的夹角,便可以确定待过滤点与视锥体的位置关系时,在步骤s102中,可以仅获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角;在仅根据待过滤点在相机光轴上的投影点与视点的距离,便可以确
定待过滤点与视锥体的位置关系时,在步骤s102中,可以仅获取待过滤点在相机光轴上的投影点与视点的距离;在根据待过滤点和视点组成的矢量与各侧面的法矢量的夹角和待过滤点在相机光轴上的投影点与视点的距离两者才能确定待过滤点与视锥体的位置关系时,在步骤s102中,则是获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角和待过滤点在相机光轴上的投影点与视点的距离两者。
97.可以理解地,点云包含有多个点。前述待过滤点是指点云中的任意一点。
98.s103,根据夹角和距离中的至少一者,确定待过滤点与视锥体的位置关系。
99.在一个实施例中,首先获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角和待过滤点在相机光轴上的投影点与视点的距离中的一者;根据夹角和距离中的一者,确定待过滤点是否在视锥体外;若确定待过滤点在视锥体外,剔除待过滤点;否则,进一步获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角和待过滤点在相机光轴上的投影点与视点的距离中的另一者;根据夹角和距离中的另一者,确定待过滤点是否在视锥体外。
100.详细地,可以是先获取待过滤点在相机光轴上的投影点与视点的距离;根据该距离,确定待过滤点是否在视锥体外;若确定待过滤点在视锥体外,剔除待过滤点;否则,获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角;根据该夹角,确定待过滤点是否在视锥体外。
101.s104,若待过滤点在视锥体外,剔除待过滤点;若待过滤点在视锥体内,保留待过滤点。
102.图5示出了一实施例中一种基于视锥体的点云滤波方法的流程图,如图5所示,基于视锥体的点云滤波方法,包括以下步骤s201-207。
103.s201,构建视锥体,视锥体具有一底面和多个侧面。
104.s202,获取多个侧面的法矢量。
105.详细地,如图3所示,oab、obc、ocd、0ad四个三角形侧面的法矢量分别为n1、n2、n3、n4,且方向均指向视锥体的外侧。下面,以三角形侧面oad为例,获取其对应的法矢量n4。
106.参阅图6所示,图6示出了一示例性实施例三角形侧面oad的法矢量获取示意图。如图6所示,m点为ad线段的中点,gh垂直于mo,垂足为h,显然,矢量gh平行于法矢量n4;所以,可以通过获取矢量gh来获得三角形侧面oad的法矢量n4。由于gf为omg平面的法矢量,gf、gm、go相互垂直,因而具有关系式gf=gm
×
go;正是由于gf为omg平面的法矢量,因此mo、gf、gh相互垂直,因而具有关系式gh=mo
×
gf;又由于mo、gm、go构成一三角形,因而具有关系式mo=mg go。将关系式gf=gm
×
go、mo=mg go代入关系式gh=mo
×
gf中,即可求得gh。n4=gh,因此便可得知法矢量n4。
107.可以理解地,对于其余三个三角形侧面oab、obc、ocd对应的法矢量n1、n2、n3,可以采用与获取三角形侧面0ad的法矢量n4同样的方法获得。
108.s203,获取待过滤点在相机光轴上的投影点与视点的距离。
109.在一个示例性实施例中,如图7所示,步骤s203包括:
110.s2031,基于视点和待过滤点构建一个矢量。
111.s2032,将s2031中构建的矢量向相机光轴方向进行投影。
112.s2033,获取s2031中构建的矢量在相机光轴上的投影长度。该投影长度即为待过滤点在相机光轴上的投影点与视点的距离。
113.详细地,如图3所示,p点为点云的其中一个点,由视点o指向p点的矢量为op,步骤s2032中将op向og投影,投影长度。可以理解地,og即为相机光轴。
114.s204,判断待过滤点在相机光轴上的投影点与视点的距离是否大于视场深度。若待过滤点在相机光轴上的投影点与视点的距离大于视场深度,执行步骤s205;反之,执行步骤s206。
115.详细地,如图3所示,若投影长度l大于|og|,表明p点位于视锥体外部;若投影长度l小于|og|,也不能表明p点位于视锥体内部,例如,点在og左侧(以图6所示角度为例),即使点在ogm平面外,投影长度还是会小于|og|,因此,不能仅仅根据投影长度l小于|og|,便判定p点位于视锥体内部。因此,需要进一步执行步骤s206。
116.可以理解地,|og|是指矢量og的模。
117.s205,待过滤点位于视锥体外,剔除该待过滤点。
118.s206,获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角。
119.在一个示例性实施例中,如图8所示,步骤s206包括:
120.s2061,获取待过滤点和视点组成的矢量与各侧面的法矢量的内积。
121.s2062,根据各内积与零的大小关系,确定各夹角与90度角的大小关系。
122.举例地,待过滤p点和视点0组成的矢量op与三角形侧面oad的法矢量n4的内积s表示为:s=op*n4。
[0123][0124]
通过获取矢量op与法矢量n4内积的正负,判别夹角是否大于90
°
,从而判断待过滤p点是否位于视锥体内,由于不需要通过求反三角函数获得具体的角度,可以提高处理效率。
[0125]
同样地,可以采用矢量内积公式,依次遍历获取法矢量n1、n2、n3与矢量op的夹角。
[0126]
s207,根据各夹角的大小,确定待过滤点是否在视锥体外,若待过滤点位于视锥体外,剔除该待过滤点。
[0127]
在一个示例性实施例中,如图9所示,步骤s207包括:
[0128]
s2071,比较各夹角与90度角的大小。
[0129]
s2072,根据比较结果,确定待过滤点是否在视锥体外。
[0130]
s2073,若待过滤点在视锥体外,将待过滤点剔除。
[0131]
在一个示例性实施例中,若所有夹角均大于90度,则待过滤p点位于视锥体o-abcd内部,至此实现对该待过滤p点的视锥体滤波,保留该待过滤p点;否则,将待过滤p点剔除。
[0132]
如图3中所示,视锥体的各侧面的法矢量均指向视锥体的外侧,待过滤点和视点组成的矢量由视点指向待过滤点,如图10所示,在一个示例性实施例中,在步骤s206,首先获取待过滤点和视点组成的矢量与多个侧面中第一侧面的法矢量的夹角;在s207中,若待过滤点和视点组成的矢量与第一侧面的法矢量的夹角小于90度,将待过滤点剔除并结束;否则,再次执行步骤s206,获取待过滤点和视点组成的矢量与多个侧面的第二侧面的法矢量
的夹角;再次执行s207,若待过滤点和视点组成的矢量与第二侧面的法矢量的夹角小于90度,将待过滤点剔除并结束;以此类推,直至遍历op与n1、n2、n3、n4四个侧面的法矢量结束时,并且获取到待过滤点和视点组成的矢量与多个侧面的法矢量的夹角均大于90度时,保留待过滤点。
[0133]
其中,第一侧面为视锥体的多个侧面当中的任意一个,第二侧面为视锥体的多个侧面当中除了第一侧面以外的任意一个。
[0134]
可以理解地,在前述实施例中,各侧面的法矢量指向视锥体的外侧,待过滤点和视点组成的矢量由视点指向待过滤点,因此,是所有夹角均大于90度时,说明待过滤p点位于视锥体o-abcd内部;反之,若各侧面的法矢量指向视锥体的外侧,待过滤点和视点组成的矢量由待过滤点指向视点,则是,所有夹角均小于90度时,说明待过滤p点位于视锥体o-abcd内部。
[0135]
可以理解地,在一些实施例中,在步骤s206中,也可以直接分别获取待过滤点和视点组成的矢量与所有侧面的法矢量的夹角,之后在步骤s207中判断所有夹角与90度角的大小关系。
[0136]
值得说明的是,在前述实施例中,列举出的步骤s201-步骤s207依次执行仅为示例性的,在其它实施例中,也可以调整部分步骤的执行顺序。举例地,可以理解地,在一些实施例中,也可以在步骤s206再获取多个侧面的法矢量,即是,将步骤s202改变为在步骤s204之后执行。
[0137]
值得说明的是,在前述实施例中,先获取待过滤点在相机光轴上的投影点与视点的距离,在距离小于或等于视场深度的情况下,再进一步获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角。在其它实施例中,也可以先获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角,在夹角大于或等于90度的情况下,再进一步获取待过滤点在相机光轴上的投影点与视点的距离。
[0138]
将前述实施例的点云滤波方法应用至机器人智能焊接时,可以获得较为理想的点云过滤效果。图11为滤波前的点云数据,其中,标记301内的点为需要保留的点,标记301外的点为需要剔除的点;图12为采用本发明的点云滤波方法滤波后的点云数据,从图11、图12可以看出,本发明的点云滤波方法可以实现将相机在焊接场景中的其它杂乱点去除,实现了为后续的点云分割、配准提供良好的点云质量。
[0139]
再请参阅图1,为了实现本发明实施例提供的基于视锥体的点云滤波方法,本发明实施例提供一种机器人100,该机器人100包括机器人本体110、相机120、末端工具130及控制器(图未示)。机器人本体110具有多个运动轴,相机120和末端工具130设置在机器人本体110的末端。控制器与相机120连接,用于控制相机120以及处理相机120采集的点云图像,以使得机器人100能够执行图2、图4-图5、图7至图10任一所示的点云滤波方法的全部或者部分步骤。
[0140]
可以地,控制器还会与机器人本体110、末端工具130连接,用于控制机器人本体110及末端工具130,以实现利用末端工具130作业。
[0141]
举例地,机器人本体110具有六个运动轴,即是,机器人100为六轴机器人。
[0142]
举例地,末端工具130为焊枪。
[0143]
图13示出了一示例性实施例的一种机器人作业方法的流程图。如图13所示,该机
器人作业方法包括步骤s401-s404。
[0144]
s401,控制相机120采集机器人的作业对象图像。
[0145]
s402,采用前述的点云滤波方法过滤作业对象图像中的点云。
[0146]
s403,分析进行点云过滤之后的作业对象图像,获得作业位置。
[0147]
s404,控制末端工具130移动到作业位置进行作业。
[0148]
接下来请参阅图14,图14是根据一示例性实施例示出的一种基于视锥体的点云滤波装置200的框图,该点云滤波装置200可以应用于机器人中,执行图2、图4-图5、图7至图10任一所示的点云滤波方法的全部或者部分步骤。如图14所示,该点云滤波装置200包括但不限于:视锥体构建模块210、获取模块220、位置确定模块230、过滤模块240。
[0149]
其中,视锥体构建模块210用于构建具有底面和多个侧面的视锥体。视锥体为相机坐标系下以视点为坐标原点的一块可视区域的锥体。
[0150]
获取模块220,用于获取待过滤点和视点组成的矢量与各侧面的法矢量的夹角和待过滤点在相机光轴上的投影点与视点的距离中的至少一者。
[0151]
位置确定模块230,用于根据夹角和距离中的至少一者,确定待过滤点与视锥体的位置关系。
[0152]
过滤模块240,用于在待过滤点在视锥体外时,剔除待过滤点。
[0153]
上述基于视锥体的点云滤波装置200中各个模块的功能和作用的实现过程具体详见上述基于视锥体的点云滤波方法中对应步骤的实现过程,在此不再赘述。
[0154]
为了实现本发明实施例提供的基于视锥体的点云滤波方法,本发明一实施例提供了一种基于视锥体的点云滤波设备,该基于视锥体的点云滤波设备可以集成到机器人中。该基于视锥体的点云滤波设备包括处理器和存储器,存储器用于存储一个或多个程序,当一个或多个程序被处理器执行时,使得基于视锥体的点云滤波设备实现上述实施例提供的基于视锥体的点云滤波方法。
[0155]
该实施例中基于视锥体的点云滤波设备的处理器执行操作的具体方式已经在有关基于视锥体的点云滤波方法的实施例中进行了详细描述,此处将不做详细阐述说明。
[0156]
详细地,处理器可以包括一个或多个处理单元,例如两个cpu。且作为一种实施例,基于视锥体的点云滤波设备可以包括有多个处理器,例如两个处理器。这些处理器中的每一个cpu可以是一个单核处理器(single-cpu),也可以是一个多核处理器(multi-cpu)。可以理解地,处理器可以指一个或多个设备、电路、和/或用于处理数据(例如计算机程序指令)的处理核。
[0157]
存储器可以是只读存储器(read-only memory,rom)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,ram)或者可存储信息和指令的其他类型的动态存储设备,也可以是带电可擦可编程只读存储器(electrically erasable programmable read only memory,eeprom)、只读光盘(compact disc read-only memory,cd-rom)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。
[0158]
可以理解地,存储器可以是独立存在,通过总线与处理器相连接。存储器也可以和处理器集成在一起。
[0159]
在一个示例性实施例中,存储器,用于存储本发明的软件程序对应的计算机执行指令。处理器可以通过运行或执行存储在存储器内的软件程序数据,实现基于视锥体的点云滤波设备的各种功能。
[0160]
本发明一实施例还提供了一种存储介质,该存储介质为计算机可读存储介质,例如可以为包括指令的临时性和非临时性计算机可读存储介质。该存储介质存储有计算机可读指令,当计算机可读指令被计算机的处理器执行时,使计算机执行上述基于视锥体的点云滤波方法。
[0161]
本发明一实施例还提供了一种计算机程序产品,该计算机程序产品可直接加载到存储器中,并含有软件代码,该计算机程序产品经由计算机载入并执行后能够实现上述实施例提供的基于视锥体的点云滤波方法。
[0162]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读存储介质中或者作为计算机可读存储介质上的一个或多个指令或代码进行传输。
[0163]
通过以上的实施方式的描述,所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
[0164]
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,模块地划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个装置,或一些特征可以忽略,或不执行。
[0165]
应当理解的是,本发明并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围执行各种修改和改变。本发明的范围仅由所附的权利要求来限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献