CN113096179A - 一种基于视觉定位的扫地机器人覆盖率检测方法 - Google Patents
一种基于视觉定位的扫地机器人覆盖率检测方法 Download PDFInfo
- Publication number
- CN113096179A CN113096179A CN202110257669.9A CN202110257669A CN113096179A CN 113096179 A CN113096179 A CN 113096179A CN 202110257669 A CN202110257669 A CN 202110257669A CN 113096179 A CN113096179 A CN 113096179A
- Authority
- CN
- China
- Prior art keywords
- sweeping robot
- area
- coverage rate
- coordinates
- suction port
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000010408 sweeping Methods 0.000 title claims abstract description 164
- 238000000034 method Methods 0.000 title claims abstract description 24
- 230000000007 visual effect Effects 0.000 title claims abstract description 14
- 238000012360 testing method Methods 0.000 claims abstract description 59
- 239000003550 marker Substances 0.000 claims abstract description 44
- 238000004140 cleaning Methods 0.000 claims abstract description 22
- 238000003384 imaging method Methods 0.000 claims abstract description 6
- 101100459256 Cyprinus carpio myca gene Proteins 0.000 claims description 20
- 238000001514 detection method Methods 0.000 claims description 17
- 101100459261 Cyprinus carpio mycb gene Proteins 0.000 claims description 13
- 239000011159 matrix material Substances 0.000 claims description 13
- 230000009466 transformation Effects 0.000 claims description 9
- 238000006243 chemical reaction Methods 0.000 claims description 8
- 230000008859 change Effects 0.000 claims description 7
- 238000013519 translation Methods 0.000 claims description 6
- 238000004364 calculation method Methods 0.000 claims description 4
- 239000003086 colorant Substances 0.000 claims description 3
- 238000011065 in-situ storage Methods 0.000 claims description 3
- 230000011218 segmentation Effects 0.000 claims description 3
- 238000010998 test method Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 description 2
- 238000012935 Averaging Methods 0.000 description 1
- 241001417527 Pempheridae Species 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001131 transforming effect Effects 0.000 description 1
- 239000002023 wood Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/60—Analysis of geometric attributes
- G06T7/62—Analysis of geometric attributes of area, perimeter, diameter or volume
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/24—Floor-sweeping machines, motor-driven
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Geometry (AREA)
- Image Analysis (AREA)
- Manipulator (AREA)
Abstract
本发明公开了一种基于视觉定位的扫地机器人覆盖率检测方法。本发明具体包括如下步骤:步骤1:将双摄像头成像画面的像素坐标系进行统一,实现图像拼接,合并重合部分;步骤2:在测试区域开启扫地机器人,摄像头捕捉并识别扫地机器人表面的标记marker,实时的跟踪并记录扫地机器人的位置,从而绘制指定时间段内扫地机器人的运动轨迹;步骤3:测量出测试区域的总面积S;计算扫地机器人在指定时间t内的清扫面积Si,j(t),将清扫面积Si,j(t)与测试区域的总面积S相除得到扫起机器人在指定时间内的覆盖率R。本发明的优点:简单有效,成本较低,并且相较于某些基于信号定位方法精度更高、扫地机器人转向时覆盖率偏差更小。提供更加稳定的覆盖率结果。
Description
技术领域
本发明属于计算机视觉领域,特别涉及一种基于视觉定位的扫地机器人覆盖率检测方法。尤其是图像拼接和清扫面积计算。
背景技术
随着生活品质的提高,作为能自动清扫垃圾的扫地机器人步入了越来越多人的家庭。1997年,第一台扫地机诞生;2002年,随机式清扫时代;2004年随机式清扫时代-灯塔定位;2008年规划式清扫-摄像头定位;2010年规划式清扫-激光扫描定位。
扫地机器人最基础、最重要的功能就是扫地要扫得干净,如何说明扫地机器人扫地扫的是否干净,这就涉及到设地机器人常用的指标:清扫覆盖率。这个指标主要考查了扫地机器人清扫能力、路径规划能力等,清扫覆盖率越高,说明扫地机器人性能越好,越稳定。
目前,扫地机器人的覆盖率测试最重要的是对扫地机器人的跟踪。跟踪的方法主要有信号定位方法和视觉定位方法。信号定位的精度低、无方向参数、转向时覆盖率偏差大、信号发射器会增加扫地机器人负重。而基于视觉定位方式精度高、有方向参数、转向时覆盖率无偏差。目前对扫地机器人的覆盖率测试使用的多是单个摄像头,但是由于单个摄像头的覆盖范围有限,或者由于测试房间高度较低导致单个摄像头不能覆盖完整的房间,无法完成整个测试房间的覆盖率测试。所以本发明使用两个摄像头,由于两个摄像头的成像会有重合部分,针对这个问题,本发明需要图像拼接。利用ARToolKit实现对扫地机器人的跟踪。ARToolKit是一个基于计算机视觉和标记如图1的开源增强现实引擎。ARToolkit通过计算机视觉来判断是否找到marker及在标识识别匹配成功后计算物体所处位置,本发明利用ARToolKit计算扫地机器人的实时位置。
发明内容
本发明提出一种基于视觉定位的扫地机器人覆盖率检测方法,通过跟踪贴在扫地机器人上方的标识实时记录扫地机器人的位置以实现测量扫地机器人在一段时间内累计的覆盖率。扫地机器人在相同区域的多次覆盖率也包含在本检测系统中。并且能够实时地显示扫地机器人的清扫轨迹和多次清扫覆盖图。
一种基于视觉定位的扫地机器人覆盖率检测方法,其实现需高清摄像头两个cam1和cam2,其硬件环境为:标准的覆盖率测试房间。测试区域由长4m、宽5m的地面,四周墙面和天花板组成。测试地面为平整的木地板。在测试房间放置物体模拟家具,测试区域安装白炽灯进行照明。
本发明为了能够使摄像头覆盖整个4m*5m的测试区域,使用高清摄像头cam1和cam2,对两个摄像头cam1和cam2的画面进行图像拼接。为了能够实时追踪,本发明在扫地机器人上方贴一个图1所示标记marker用于识别和跟踪。
一种基于视觉定位的扫地机器人覆盖率检测方法,使用基于视觉定位方式,将双摄像头成像画面的像素坐标系进行统一,提供稳定的覆盖率测试,具体包括如下步骤:
步骤1:将双摄像头成像画面的像素坐标系进行统一,实现图像拼接,合并重合部分;
步骤2:在测试区域开启扫地机器人,摄像头捕捉并识别扫地机器人表面的标记marker,实时的跟踪并记录扫地机器人的位置,从而绘制指定时间段内扫地机器人的运动轨迹;
步骤3:测量出测试区域的总面积S;计算扫地机器人在指定时间t内的清扫面积Si,j(t),将清扫面积Si,j(t)与测试区域的总面积S相除得到扫起机器人在指定时间内的覆盖率R。
进一步的,所述的步骤1中对图像的拼接具体包括如下步骤:
1-1.存储摄像头cam1、cam2画面重合区域D内的任意一个坐标;将该坐标记为扫地机器人在摄像头cam1和cam2重合区域D内的像素坐标,用于后续计算坐标转换矩阵;
1-2.重复步骤1-1三次,每次将扫地机器人放置在重合区域D内的不同位置;得到三对扫地机器人在摄像头cam1、cam2下的像素坐标;假设扫地机器人在cam2下的像素坐标为(x,y),其齐次坐标为(x,y,1),扫地机器人在cam1下的像素坐标为(x′,y′),其齐次坐标为(x′,y′,1);假设旋转参数为a,b,d,e,平移参数为c,f,根据图形学可得齐次坐标变换矩阵;根据图形学可得齐次坐标变换矩阵:
cam1坐标变换到cam2坐标系下的公式为:
求出旋转参数为a,b,d,e和平移参数为c,f,即:求出齐次坐标变换矩阵。
1-3.通过齐次坐标变换矩阵计算扫地机器人实时转换后的坐标。
进一步的,所述的步骤2具体步骤如下:
2-1.在检测系统内输入扫地机器人吸口的物理长度,检测系统能够自动将扫地机器人吸口的物理长度转换成像素长度;
2-2.标记marker的检测:搜索两个摄像头覆盖的画面,寻找含有正确标识模板的标记marker:
2-2-1.分割阈值设置;将正确标识模板的标记marker作为输入图像,并转化为二进制图像,该标记marker本身是黑色外边缘和白色内边框,且白色内边框中还设置具有旋转不对称性的黑色线图标记pattern;因此二值化明显,标记的识别率更高;经过多次试验发现将二值化阈值设置为100时效果最好;
2-2-2.搜索摄像头覆盖的整个画面来识别标识marker,并将识别到的标识marker与正确标识模板的标记marker进行比较,若比较获取的置信度cf大于系统设置的置信度cf,则该识别到的标识marker为有效标识;
2-3.计算扫地机器人的位置;
通过计算扫地机器人表面标记marker的位置和方向来代替扫地机器人的位置和方向;标记marker顶点按顺时针方向标号0-3,每次计算顶点的标号变化即可得到扫地机器人的方向变化,具体实现如下:
2-3-1.计算扫地机器人的位置:首先存储标记marker的中心位置,以下简称标记坐标;由于标记marker的中心位置pos与吸口的中心位置p不是重合的,所以在将标记坐标沿着x,y方向平移一定距离即为吸口的中心坐标;
2-3-2.以吸口中心位置p为原点,以与扫地机器人吸口垂直方向为x轴正方向建立坐标系;在p点的x轴正方向和负方向分别加上吸口长度的1/2,得到吸口的两个端点的x轴方向坐标;吸口与标记marker平行,故吸口端点的y轴方向坐标与标记marker的y轴方向坐标相同,由此得到吸口两个端点的坐标;
2-4.绘制扫地机器人的运动轨迹;
根据步骤2-3记录的吸口两个端点的坐标,结合OpenGL画出扫地机器人运动轨迹;将吸口类比成线段L,其运动轨迹主要有以下两种情况:
①相邻上一帧的线段L1与当前帧的线段L2没有交点,则直接连接这两帧的吸口两端点的坐标,组成扫地机器人的运动轨迹;
②当扫地机器人在原地旋转,则:相邻上一帧的线段L1与当前帧的线段L2有交点,o点是线段L1与线段L2的交点;设L1、L2的吸口两端的端点分别是p1(x1,y1),p2(x2,y2),p3(x3,y3),p4(x4,y4),根据4个端点求出交点o坐标;
在基于OpenGL绘制轨迹的时候,将扫地机器人扫过的区域用像素来填充,并采用混合模式:采用叠加颜色的方式绘制对应像素的颜色值。
进一步的,所述的步骤3具体实现如下:
3-1.实时存储摄像头相邻两帧图像的吸口两个端点的坐标,计算相邻两帧图像之间吸口坐标间的欧式距离,该欧式距离即为扫地机器人每帧的移动距离;
3-2.计算扫地机器人清扫面积Si,j(t):
将步骤3-1得到的移动距离与Si,j(t)吸口长度相乘即为扫地机器人每帧清扫的面积,实时记录下来,运行指定时间后累加求和即为扫地机器人在指定时间内的清扫面积;
3-3.最后计算清扫面积与测试区域面积的比值即为扫地机器人在指定时间内的覆盖率.
进一步的,所述的步骤3中,基于步骤2中得到的运动轨迹,进行清扫面积计算:
对于扫地机器人在指定时间t内,覆盖率检测系统读取其运动轨迹图,并且计算轨迹图的像素总数作为清扫面积数,photoshop测量出整个测试区域的像素总数作为测试区域的总面积,计算单次的覆盖率。
进一步的,本发明需对测试区域进行多次测试,具体测试方法如下:在测试区域设置N个不同起始点,每个起始点重复测试M次,每次记录其覆盖率数据;一共进行N*M次测试,最终求取所有测试数据的平均值即为该扫地机器人的覆盖率。
本发明有益效果如下:
本发明的优点:简单有效,成本较低,并且相较于某些基于信号定位方法精度更高、扫地机器人转向时覆盖率偏差更小。提供更加稳定的覆盖率结果。
附图说明
图1为marker。
图2为cam1、cma2两个摄像头画面。
图3为marker中心与吸口中心的相对位置关系。
图4(a)是轨迹没有交点的情况;
图4(b)是轨迹有交点的情况;
图4(a)和图4(b)为扫地机器人的两种运动轨迹的情况,阴影部分是相邻两帧扫地机器人的覆盖面积。
图5为扫地机器人运动轨迹。
具体实施方式
下面结合具体实施例和说明书附图对本发明作进一步说明。
本发明的操作环境为:Intel(R)Xeon(R)CPU E5-1650 v4@3.60GHz,Win10 64位操作系统。软件环境为:Microsoft Visual Studio 2013,配置OpenGL环境。
步骤1、将双摄像头成像画面的像素坐标系进行统一,实现图像拼接,合并重合部分;其中对图像的拼接具体包括如下步骤:
1-1.存储摄像头cam1、cam2画面重合区域D内的任意一个坐标;将该坐标记为扫地机器人在摄像头cam1和cam2重合区域D内的像素坐标,用于后续计算坐标转换矩阵;
1-2.重复步骤1-1三次,每次将扫地机器人放置在重合区域D内的不同位置;得到三对扫地机器人在摄像头cam1、cam2下的像素坐标;假设扫地机器人在cam2下的像素坐标为(x,y),其齐次坐标为(x,y,1),扫地机器人在cam1下的像素坐标为(x′,y′),其齐次坐标为(x′,y′,1);假设旋转参数为a,b,d,e,平移参数为c,f,根据图形学可得齐次坐标变换矩阵;
1-3.通过齐次坐标变换矩阵计算扫地机器人实时转换后的坐标,具体计算如下:
得到的3对像素坐标设cam1坐标系下三个像素坐标为:(x1,y1),(x2,y2),(x3,y3);对应的cam2坐标系下的三个像素坐标为:(x′1,y′1),(x′2,y′2),(x′3,y′3)。根据公式(1)可得如下关系式:
将上述三对坐标带入公式(1)得到如下关系式:
1-4.计算扫地机器人实时的坐标转换;
将1-2中计算得到的旋转和平移参数存储为spliceMatrix.txt,旋转和平移参数组成的矩阵即为坐标转换矩阵,覆盖率检测系统通过读取spliceMatrix.txt实时的将每一个cam1坐标系下的坐标转换为cam2坐标系下的坐标。即:通过spliceMatrix.txt结合公式2将cam1坐标系下的坐标(x,y)转化为cam2坐标系下的坐标(x′,y′)。
通过步骤1实现了将cam1与cam2两个坐标系的统一,也即实现了两个图像的拼接。
步骤2:在测试区域开启扫地机器人,摄像头捕捉并识别扫地机器人表面的标记marker,实时的跟踪并记录扫地机器人的位置,从而绘制指定时间段内扫地机器人的运动轨迹;
本发明是先将图1所示的marker贴在扫地机器人上面,然后通过摄像头捕捉每帧画面,通过对marker的特征点检测匹配marker模板识别marker。取四个角上的灰度值,找出4个中的最大值和最小值,两个值的差如果小于某个阈值(30),则认为不是marker。
识别marker后得到marker的中心坐标,将marker的四个顶点标记为0,1,2,3表示其旋转的方向:每次旋转按照顺时针旋转90°。以marker中心坐标为原点,与扫地机器人吸口垂直方向为x轴正方向,吸口方向为y轴建立坐标系。对marker中心坐标做平移变换即可得到吸口两端的坐标。
本发明根据吸口两端的坐标的实时变化,结合OpenGL绘制出扫地机器人的实时运动轨迹。针对上述问题具体的实现步骤如下:
2-1.在检测系统内输入扫地机器人吸口的物理长度,检测系统能够自动将扫地机器人吸口的物理长度转换成像素长度;
2-2.标记marker的检测:搜索两个摄像头覆盖的画面,寻找含有正确标识模板的标记marker:
2-2-1.分割阈值设置;将正确标识模板的标记marker作为输入图像,并转化为二进制图像,该标记marker本身是黑色外边缘和白色内边框,且白色内边框中还设置具有旋转不对称性的黑色线图标记pattern;因此二值化明显,标记的识别率更高;经过多次试验发现将二值化阈值设置为100时效果最好;
2-2-2.搜索摄像头覆盖的整个画面来识别标识marker,并将识别到的标识marker与正确标识模板的标记marker进行比较,若比较获取的置信度cf大于系统设置的置信度cf,则该识别到的标识marker为有效标识;
2-3.计算扫地机器人的位置;
通过计算扫地机器人表面标记marker的位置和方向来代替扫地机器人的位置和方向;标记marker顶点按顺时针方向标号0-3,每次计算顶点的标号变化即可得到扫地机器人的方向变化,具体实现如下:
2-3-1.计算扫地机器人的位置:首先存储标记marker的中心位置,以下简称标记坐标;由于标记marker的中心位置pos与吸口的中心位置p不是重合的,所以在将标记坐标沿着x,y方向平移一定距离即为吸口的中心坐标;
2-3-2.以吸口中心位置p为原点,以与扫地机器人吸口垂直方向为x轴正方向建立坐标系;在p点的x轴正方向和负方向分别加上吸口长度的1/2,得到吸口的两个端点的x轴方向坐标;吸口与标记marker平行,故吸口端点的y轴方向坐标与标记marker的y轴方向坐标相同,由此得到吸口两个端点的坐标pi,pj;
2-4.绘制扫地机器人的运动轨迹;
如图5所示,根据步骤2-3记录的吸口两个端点的坐标pi,pj,结合OpenGL画出其运动轨迹;将吸口类比成线段L,记线段p1p2与线段p3p4分别为L1和L2。其运动轨迹主要有以下两种情况:
①相邻上一帧的线段L1与当前帧的线段L2没有交点,则直接连接这两帧的吸口两端点的坐标,组成扫地机器人的运动轨迹;即如图4(a)所示,四边形p1p2p3p4为扫地机器人的运动轨迹。阴影部分为扫地机器人清扫的面积。
②当扫地机器人在原地旋转,则:相邻上一帧的线段L1与当前帧的线段L2有交点,o点是线段L1与线段L2的交点;设L1、L2的吸口两端的端点分别是p1(x1,y1),p2(x2,y2),p3(x3,y3),p4(x4,y4),根据4个端点求出交点o坐标;即如图4(b)所示,绘制轨迹即为通过OpenGL绘制两个三角形p1op3和p2op4。阴影部分为扫地机器人清扫面积。设L1、L2的端点p1:(x1,y1)、p2:(x2,y2)、p3:(x3,y3)、p4:(x4,y4),求出交点o坐标:
假设线段L1、线段L2的方程为:y=k*x+b。
对于点p1:(x1,y1)、p2:(x2,y2)有如下关系(λ,η为比例参数):
进一步的:
等价于:
进一步的,对于公式6,由Cramer法则可得如下关系:
记H=(x1-x2)*(y4-y3)-(y1-y2)*(x4-x3),A=x1-x2,B=x4-x3,C=y1-y2,D=y4-y3,E=x4-x2,F=y4-y2。对于公式7有:λ=(E*D-B*F)/H,η=(A*F-C*E)/H。
其交点o坐标为:(x1+λ*(x2-x1),y1+λ*(y2-y1))。
在基于OpenGL绘制轨迹的时候,将扫地机器人扫过的区域用像素来填充,并采用混合模式:采用叠加颜色的方式绘制对应像素的颜色值。
步骤3:测量出测试区域的总面积S;计算扫地机器人在指定时间t内的清扫面积Si,j(t),将清扫面积Si,j(t)与测试区域的总面积S相除得到扫起机器人在指定时间内的覆盖率R,具体实现如下:
3-1.实时存储摄像头相邻两帧图像的吸口两个端点的坐标pi,pj,pi+1,pj+1,计算相邻两帧图像之间吸口坐标间的欧式距离,该欧式距离即为扫地机器人每帧的移动距离;
3-2.计算扫地机器人清扫面积Si,j(t):
将步骤3-1得到的移动距离与Si,j(t)吸口长度相乘即为扫地机器人每帧清扫的面积,实时记录下来,运行指定时间后累加求和即为扫地机器人在指定时间内的清扫面积;
3-3.最后计算清扫面积与测试区域面积的比值即为扫地机器人在指定时间内的覆盖率.
所述的步骤3中基于步骤2中得到的运动轨迹,另一种清扫面积计算方法如下:
本发明采用直接计算运动轨迹的像素数作为扫地机器人在时间t(单位为min)内的清扫面积Si,j(t),测试区域的像素面积作为总面积S。在基于OpenGL绘制轨迹的时候,将扫地机器人扫过的区域用像素来填充,并采用了混合模式,采用叠加颜色的方式绘制对应像素的颜色值。这是本发明与其他方法不同的地方。
本发明在测试区域设置3个起点,每个起点测试3次,总计测试9次,得到9组数据。将9组数据求平均值即为最终的覆盖率。根据步骤2绘制的运动轨迹,本发明基于OpenGL将运动轨迹读取到内存,读取它的像素,运动轨迹总像素即为Si,j(t),其中i表示第i个起点(1≤i≤3),j表示第j次测试(1≤j≤3)。测试区域的像素总面积S通过Photoshop测出。测试规则为:将扫地机器人放在起点,经过时间t,t不大于30min。如果扫地机器人清扫一遍的时间小于30min那么就表示完成了一遍测试;如果扫地机器人清扫了30min还没有结束,那么就在这时直接结束清扫完成一遍测试,记录数据。完成一次后计算覆盖率为:
记录九次后求覆盖率平均值C为:
本发明较其他方法更加稳定,相同的测试区域不同的方法结果比较如下表1所示:
表1:相同的测试区域不同的方法结果
一共测试9次,通过表1可知本发明每次测试的覆盖率较其他方法的结果更加稳定。
Claims (6)
1.一种基于视觉定位的扫地机器人覆盖率检测方法,其特征在于:使用基于视觉定位方式,将双摄像头成像画面的像素坐标系进行统一,提供稳定的覆盖率测试,具体包括如下步骤:
步骤1:将双摄像头成像画面的像素坐标系进行统一,实现图像拼接,合并重合部分;
步骤2:在测试区域开启扫地机器人,摄像头捕捉并识别扫地机器人表面的标记marker,实时的跟踪并记录扫地机器人的位置,从而绘制指定时间段内扫地机器人的运动轨迹;
步骤3:测量出测试区域的总面积S;计算扫地机器人在指定时间t内的清扫面积Si,j(t),将清扫面积Si,j(t)与测试区域的总面积S相除得到扫起机器人在指定时间内的覆盖率R。
2.根据权利要求1所述的一种基于视觉定位的扫地机器人覆盖率检测方法,其特征在于所述的步骤1中,对图像的拼接具体包括如下步骤:
1-1.存储摄像头cam1、cam2画面重合区域D内的任意一个坐标;将该坐标记为扫地机器人在摄像头cam1和cam2重合区域D内的像素坐标,用于后续计算坐标转换矩阵;
1-2.重复步骤1-1三次,每次将扫地机器人放置在重合区域D内的不同位置;得到三对扫地机器人在摄像头cam1、cam2下的像素坐标;假设扫地机器人在cam2下的像素坐标为(x,y),其齐次坐标为(x,y,1),扫地机器人在cam1下的像素坐标为(x′,y′),其齐次坐标为(x′,y′,1);假设旋转参数为a,b,d,e,平移参数为c,f,根据图形学可得齐次坐标变换矩阵;
1-3.通过齐次坐标变换矩阵计算扫地机器人实时转换后的坐标。
3.根据权利要求1所述的一种基于视觉定位的扫地机器人覆盖率检测方法,其特征在于所述的步骤2具体步骤如下:
2-1.在检测系统内输入扫地机器人吸口的物理长度,检测系统能够自动将扫地机器人吸口的物理长度转换成像素长度;
2-2.标记marker的检测:搜索两个摄像头覆盖的画面,寻找含有正确标识模板的标记marker:
2-2-1.分割阈值设置;将正确标识模板的标记marker作为输入图像,并转化为二进制图像,该标记marker本身是黑色外边缘和白色内边框,且白色内边框中还设置具有旋转不对称性的黑色线图标记pattern;
2-2-2.搜索摄像头覆盖的整个画面来识别标识marker,并将识别到的标识marker与正确标识模板的标记marker进行比较,若比较获取的置信度cf大于系统设置的置信度cf,则该识别到的标识marker为有效标识;
2-3.计算扫地机器人的位置;
通过计算扫地机器人表面标记marker的位置和方向来代替扫地机器人的位置和方向;标记marker顶点按顺时针方向标号0-3,每次计算顶点的标号变化即可得到扫地机器人的方向变化,具体实现如下:
2-3-1.计算扫地机器人的位置:首先存储标记marker的中心位置,以下简称标记坐标;由于标记marker的中心位置pos与吸口的中心位置p不是重合的,所以在将标记坐标沿着x,y方向平移一定距离即为吸口的中心坐标;
2-3-2.以吸口中心位置p为原点,以与扫地机器人吸口垂直方向为x轴正方向建立坐标系;在p点的x轴正方向和负方向分别加上吸口长度的1/2,得到吸口的两个端点的x轴方向坐标;吸口与标记marker平行,故吸口端点的y轴方向坐标与标记marker的y轴方向坐标相同,由此得到吸口两个端点的坐标;
2-4.绘制扫地机器人的运动轨迹;
根据步骤2-3记录的吸口两个端点的坐标,结合OpenGL画出扫地机器人运动轨迹;将吸口类比成线段L,其运动轨迹主要有以下两种情况:
①相邻上一帧的线段L1与当前帧的线段L2没有交点,则直接连接这两帧的吸口两端点的坐标,组成扫地机器人的运动轨迹;
②当扫地机器人在原地旋转,则:相邻上一帧的线段L1与当前帧的线段L2有交点,o点是线段L1与线段L2的交点;设L1、L2的吸口两端的端点分别是p1(x1,y1),p2(x2,y2),p3(x3,y3),p4(x4,y4),根据4个端点求出交点o坐标;
在基于OpenGL绘制轨迹的时候,将扫地机器人扫过的区域用像素来填充,并采用混合模式:采用叠加颜色的方式绘制对应像素的颜色值。
4.根据权利要求3所述的一种基于视觉定位的扫地机器人覆盖率检测方法,其特征在于所述的步骤3具体实现如下:
3-1.实时存储摄像头相邻两帧图像的吸口两个端点的坐标,计算相邻两帧图像之间吸口坐标间的欧式距离,该欧式距离即为扫地机器人每帧的移动距离;
3-2.计算扫地机器人清扫面积Si,j(t):
将步骤3-1得到的移动距离与Si,j(t)吸口长度相乘即为扫地机器人每帧清扫的面积,实时记录下来,运行指定时间后累加求和即为扫地机器人在指定时间内的清扫面积;
3-3.最后计算清扫面积与测试区域面积的比值即为扫地机器人在指定时间内的覆盖率。
5.根据权利要求3所述的一种基于视觉定位的扫地机器人覆盖率检测方法,其特征在于所述的步骤3中,基于步骤2中得到的运动轨迹,进行清扫面积计算:
对于扫地机器人在指定时间t内,覆盖率检测系统读取其运动轨迹图,并且计算轨迹图的像素总数作为清扫面积数,photoshop测量出整个测试区域的像素总数作为测试区域的总面积,计算单次的覆盖率。
6.根据权利要求4或5所述的一种基于视觉定位的扫地机器人覆盖率检测方法,其特征在于需对测试区域进行多次测试,具体测试方法如下:在测试区域设置N个不同起始点,每个起始点重复测试M次,每次记录其覆盖率数据;一共进行N*M次测试,最终求取所有测试数据的平均值即为该扫地机器人的覆盖率。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110257669.9A CN113096179B (zh) | 2021-03-09 | 2021-03-09 | 一种基于视觉定位的扫地机器人覆盖率检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110257669.9A CN113096179B (zh) | 2021-03-09 | 2021-03-09 | 一种基于视觉定位的扫地机器人覆盖率检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113096179A true CN113096179A (zh) | 2021-07-09 |
CN113096179B CN113096179B (zh) | 2024-04-02 |
Family
ID=76666688
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110257669.9A Active CN113096179B (zh) | 2021-03-09 | 2021-03-09 | 一种基于视觉定位的扫地机器人覆盖率检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113096179B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114549976A (zh) * | 2022-01-29 | 2022-05-27 | 深圳市云鼠科技开发有限公司 | 一种基于多摄像头的移动机器人的轨迹测量方法及系统 |
CN114549975A (zh) * | 2022-01-29 | 2022-05-27 | 深圳市云鼠科技开发有限公司 | 一种基于多摄像头的移动机器人的覆盖率检测方法及系统 |
CN114593696A (zh) * | 2022-01-27 | 2022-06-07 | 深圳市无限动力发展有限公司 | 清扫覆盖率测量方法、装置、设备及介质 |
CN114608488A (zh) * | 2022-01-27 | 2022-06-10 | 深圳市无限动力发展有限公司 | 多房间的清扫覆盖率测量方法、装置、设备及介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107843258A (zh) * | 2017-10-17 | 2018-03-27 | 深圳悉罗机器人有限公司 | 室内定位系统及方法 |
CN109871639A (zh) * | 2019-03-07 | 2019-06-11 | 吉林大学 | 一种基于视觉感知技术的清扫车作业功率计算装置及方法 |
CN111596662A (zh) * | 2020-05-26 | 2020-08-28 | 珠海市一微半导体有限公司 | 一种沿全局工作区域一圈的判断方法、芯片及视觉机器人 |
CN111738149A (zh) * | 2020-06-22 | 2020-10-02 | 青岛理工大学 | 基于计算机视觉的扫地机器人覆盖率确定方法及系统 |
-
2021
- 2021-03-09 CN CN202110257669.9A patent/CN113096179B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107843258A (zh) * | 2017-10-17 | 2018-03-27 | 深圳悉罗机器人有限公司 | 室内定位系统及方法 |
CN109871639A (zh) * | 2019-03-07 | 2019-06-11 | 吉林大学 | 一种基于视觉感知技术的清扫车作业功率计算装置及方法 |
CN111596662A (zh) * | 2020-05-26 | 2020-08-28 | 珠海市一微半导体有限公司 | 一种沿全局工作区域一圈的判断方法、芯片及视觉机器人 |
CN111738149A (zh) * | 2020-06-22 | 2020-10-02 | 青岛理工大学 | 基于计算机视觉的扫地机器人覆盖率确定方法及系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114593696A (zh) * | 2022-01-27 | 2022-06-07 | 深圳市无限动力发展有限公司 | 清扫覆盖率测量方法、装置、设备及介质 |
CN114608488A (zh) * | 2022-01-27 | 2022-06-10 | 深圳市无限动力发展有限公司 | 多房间的清扫覆盖率测量方法、装置、设备及介质 |
CN114608488B (zh) * | 2022-01-27 | 2024-04-09 | 深圳市无限动力发展有限公司 | 多房间的清扫覆盖率测量方法、装置、设备及介质 |
CN114549976A (zh) * | 2022-01-29 | 2022-05-27 | 深圳市云鼠科技开发有限公司 | 一种基于多摄像头的移动机器人的轨迹测量方法及系统 |
CN114549975A (zh) * | 2022-01-29 | 2022-05-27 | 深圳市云鼠科技开发有限公司 | 一种基于多摄像头的移动机器人的覆盖率检测方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN113096179B (zh) | 2024-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113096179A (zh) | 一种基于视觉定位的扫地机器人覆盖率检测方法 | |
WO2020207512A1 (zh) | 三维对象建模方法、图像处理方法、图像处理装置 | |
Ji et al. | Panoramic SLAM from a multiple fisheye camera rig | |
Sarlin et al. | Lamar: Benchmarking localization and mapping for augmented reality | |
Fitzgibbon et al. | Automatic 3D model acquisition and generation of new images from video sequences | |
US20030202691A1 (en) | Calibration of multiple cameras for a turntable-based 3D scanner | |
Herráez et al. | 3D modeling by means of videogrammetry and laser scanners for reverse engineering | |
CN110084243B (zh) | 一种基于二维码和单目相机的档案识别与定位方法 | |
US20160189419A1 (en) | Systems and methods for generating data indicative of a three-dimensional representation of a scene | |
Li et al. | Automatic targetless LiDAR–camera calibration: a survey | |
CN112396656A (zh) | 一种视觉与激光雷达融合的室外移动机器人位姿估计方法 | |
Stückler et al. | Model learning and real-time tracking using multi-resolution surfel maps | |
Urban et al. | Finding a good feature detector-descriptor combination for the 2D keypoint-based registration of TLS point clouds | |
CN104584032A (zh) | 混合式精确跟踪 | |
Zou et al. | Indoor localization and 3D scene reconstruction for mobile robots using the Microsoft Kinect sensor | |
Su et al. | A novel camera calibration method based on multilevel-edge-fitting ellipse-shaped analytical model | |
CN112055192B (zh) | 图像处理方法、图像处理装置、电子设备及存储介质 | |
Tsaregorodtsev et al. | Extrinsic camera calibration with semantic segmentation | |
Cho et al. | Fast color fiducial detection and dynamic workspace extension in video see-through self-tracking augmented reality | |
CN112258633B (zh) | 一种基于slam技术的场景高精度重建方法及装置 | |
CN113920191A (zh) | 一种基于深度相机的6d数据集构建方法 | |
Hold-Geoffroy et al. | A perceptual measure for deep single image camera and lens calibration | |
Miled et al. | Hybrid online mobile laser scanner calibration through image alignment by mutual information | |
Partovi et al. | Automatic integration of laser scanning and photogrammetric point clouds: From acquisition to co-registration | |
Troccoli et al. | A shadow based method for image to model registration |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |