CN111474946B - 边沿检测方法及装置、机器人沿边清扫的控制方法及装置 - Google Patents
边沿检测方法及装置、机器人沿边清扫的控制方法及装置 Download PDFInfo
- Publication number
- CN111474946B CN111474946B CN202010459950.6A CN202010459950A CN111474946B CN 111474946 B CN111474946 B CN 111474946B CN 202010459950 A CN202010459950 A CN 202010459950A CN 111474946 B CN111474946 B CN 111474946B
- Authority
- CN
- China
- Prior art keywords
- line segment
- scanning
- fitting
- points
- point
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 63
- 238000004140 cleaning Methods 0.000 title claims abstract description 41
- 238000003708 edge detection Methods 0.000 title claims abstract description 41
- 238000004590 computer program Methods 0.000 claims description 6
- 238000012216 screening Methods 0.000 claims description 3
- 238000010408 sweeping Methods 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 15
- 230000000694 effects Effects 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 238000001914 filtration Methods 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004422 calculation algorithm Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 230000035772 mutation Effects 0.000 description 1
- 238000010926 purge Methods 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Business, Economics & Management (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
本申请提供了一种边沿检测方法及装置、机器人沿边清扫的控制方法及装置,边沿检测方法包括:获取待测环境的点云数据;点云数据包括每个扫描点的位置信息;根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段;将端点距离小于第一阈值的相邻拟合线段进行组合,得到多个线段集合;判断线段集合中是否存在长度大于第二阈值的拟合线段,根据判断结果确定线段集合是否是待测环境的边沿。基于上述边沿检测方法检测的边沿设定清扫路径,可以扩大清扫范围,提高清扫效率。
Description
技术领域
本申请涉及机器人技术领域,特别涉及一种边沿检测方法及装置、沿边清扫的控制方法及装置、电子设备、计算机可读存储介质。
背景技术
自动清扫机器人在执行清扫任务时,道路边沿、墙面边沿是需要重点清洁的区域,因此实现沿边清扫功能至关重要。
现有技术无法准确地检测出墙面边沿或道路边沿,故当前主要通过已知地图手动设定沿墙清扫路径,然而已知地图无法很好地体现环境变化,在环境变化时需要重新设定沿墙清扫路径,再者手动设置路径的方式无法实现完全贴墙。
发明内容
本申请实施例的目的在于提供一种边沿检测方法,用以准确检测出墙面边沿或道路边沿。
本申请实施例提供了一种边沿检测方法,包括:
获取待测环境的点云数据;所述点云数据包括每个扫描点的位置信息;
根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段;
将端点距离小于第一阈值的相邻拟合线段进行组合,得到多个线段集合;
判断所述线段集合中是否存在长度大于第二阈值的拟合线段,根据判断结果确定所述线段集合是否是所述待测环境的边沿。
上述实施例提供的技术方案,可以将扫描点拟合得到多条线段,并将端点距离小于第一阈值的相邻拟合线段组合成一个线段集合,从而得到多个线段集合,由于墙面、道路等边沿的长度相比行人、花盆、桌椅等较长,故通过判断线段集合中是否存在长度大于第二阈值的拟合线段,确定此线段集合是否属于待测环境的边沿,由此可以得到道路、墙面边沿的检测结果,从而可以实现沿边清扫,提高清扫效率和清扫范围。
在一实施例中,所述根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段,包括:
根据每个扫描点的位置信息,将所有扫描点划分为多个扫描区域;
针对每个扫描区域,对所述扫描区域内的扫描点进行线段拟合,得到所述扫描区域内的拟合线段。
上述实施例提供的技术方案,可以将扫描点划分成多个扫描区域,并针对每个扫描区域进行线段拟合,由此避免将不同扫描区域的扫描点拟合成一条线段,提高线段拟合的准确性。
在一实施例中,所述根据每个扫描点的位置信息,将所有扫描点划分为多个扫描区域,包括:
根据每个扫描点的位置信息,计算每组相邻扫描点之间的距离;
针对每组相邻扫描点,在所述相邻扫描点之间的距离大于距离阈值时,将所述相邻扫描点划分至不同扫描区域;在所述相邻扫描点之间的距离小于或等于距离阈值时,将所述相邻扫描点划分至同一扫描区域。
上述实施例提供的技术方案,通过计算相邻扫描点之间的距离,如果此距离大于距离阈值,则认为这两个相邻扫描点均属于断点,划分到不同的扫描区域,如果小于距离阈值,则认为这两个相邻扫描点属于连续点,可以划分到同一区域,提高扫描点划分的准确性。
在一实施例中,本申请提供的方法还包括:针对每组相邻扫描点,根据前一扫描点对应的扫描线长度以及相邻扫描线之间预设的夹角,计算所述距离阈值。
上述实施例提供的技术方案,可以自适应调节距离阈值,从而提高断点查找的准确性。
在一实施例中,所述针对每个扫描区域,对所述扫描区域内的扫描点进行线段拟合,得到所述扫描区域内的拟合线段,包括:
针对每个扫描区域,将所述扫描区域内的所有扫描点按照扫描顺序连接为一条或多条拟合线段,使所述拟合线段上的扫描点与所述拟合线段之间的距离小于第三阈值。
上述实施例提供的技术方案,可以使拟合线段近似于所有扫描点按序连接形成的曲线,提高拟合线段的准确性。
在一实施例中,所述根据判断结果确定所述线段集合是否是所述待测环境的边沿,包括:
针对每个线段集合,若所述线段集合中存在长度大于第二阈值的拟合线段,确定所述线段集合中的拟合线段为所述待测环境的边沿。
由于墙面或道路边沿的长度较长,故上述实施例提供的技术方案,可以筛选出墙面或道路边沿对应的线段集合,过滤掉不符合条件的线段集合,从而得到边沿检测结果。
本申请实施例还提供了一种机器人沿边清扫的控制方法,包括:
执行上述实施例所述的边沿检测方法,从所述多个线段集合中筛选出属于待测环境边沿的目标线段集合;
向机器人一侧对所述目标线段集合中的拟合线段平行偏置预设距离,得到目标路径;
按照所述目标路径,控制所述机器人执行目标任务。
上述实施例提供的技术方案,可以准确性检测出墙面或道路的边沿,进而基于边沿设定清扫路径,控制机器人沿清扫路径作业,可以提高清扫范围和清扫效率。
本申请实施例还提供了一种边沿检测装置,包括:
数据获取模块,用于获取待测环境的点云数据;所述点云数据包括每个扫描点的位置信息;
线段拟合模块,用于根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段;
线段组合模块,用于将端点距离小于第一阈值的相邻拟合线段进行组合,得到多个线段集合;
边沿判断模块,用于判断所述线段集合中是否存在长度大于第二阈值的拟合线段,根据判断结果确定所述线段集合是否是所述待测环境的边沿。
在一实施例中,上述线段拟合模块包括:区域划分单元和线段拟合单元。
区域划分单元,用于根据每个扫描点的位置信息,将所有扫描点划分为多个扫描区域。
线段拟合单元,用于针对每个扫描区域,对所述扫描区域内的扫描点进行线段拟合,得到所述扫描区域内的拟合线段。
在一实施例中,上述区域划分单元包括:距离计算子单元以及断点判断子单元。
距离计算子单元,用于根据每个扫描点的位置信息,计算每组相邻扫描点之间的距离。
断点判断子单元,用于针对每组相邻扫描点,在所述相邻扫描点之间的距离大于距离阈值时,将所述相邻扫描点划分至不同扫描区域;在所述相邻扫描点之间的距离小于或等于距离阈值时,将所述相邻扫描点划分至同一扫描区域。
在一实施例中,上述区域划分单元还包括:阈值计算子单元,用于针对每组相邻扫描点,根据前一扫描点对应的扫描线长度以及相邻扫描线之间预设的夹角,计算所述距离阈值。
在一实施例中,上述线段拟合单元包括:迭代拟合子单元,用于针对每个扫描区域,将所述扫描区域内的所有扫描点按照扫描顺序连接为一条或多条拟合线段,使所述拟合线段上的扫描点与所述拟合线段之间的距离小于第三阈值。
在一实施例中,上述边沿判断模块具体用于针对每个线段集合,若所述线段集合中存在长度大于第二阈值的拟合线段,确定所述线段集合中的拟合线段为所述待测环境的边沿。
本申请实施例还提供了一种机器人沿边清扫的控制装置,包括:
边沿检测装置,用于执行上述边沿检测方法,从所述多个线段集合中筛选出属于待测环境边沿的目标线段集合;
路径设定模块,用于向机器人一侧对所述目标线段集合中的拟合线段平行偏置预设距离,得到目标路径;
任务控制模块,用于按照所述目标路径,控制所述机器人执行目标任务。
本申请实施例还提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行上述边沿检测方法或机器人沿边清扫的控制方法。
本申请实施例还提供了一种计算机可读存储介质,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成上述边沿检测方法或机器人沿边清扫的控制方法。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍。
图1为本申请实施例提供的边沿检测方法的应用场景示意图;
图2为本申请实施例提供的电子设备的结构示意图;
图3为本申请实施例提供的计算机可读存储介质的示意图;
图4为本申请实施例提供的边沿检测方法的流程示意图;
图5为本申请实施例提供的过滤非墙面物体前后的效果对比图;
图6为图4对应实施例中步骤420的细节流程图;
图7为另一实施例提供的步骤420的细节流程图;
图8为本申请实施例提供的断点查找的原理示意图;
图9为本申请实施例提供的基于断点进行区域划分的效果示意图;
图10为本申请实施例提供的线段拟合的原理示意图;
图11为本申请实施例提供的线段拟合的效果示意图;
图12为本申请实施例提供的机器人沿边清扫的控制方法的流程示意图;
图13为本申请实施例提供的边沿检测装置的框图;
图14为本申请实施例提供的机器人沿边清扫的控制装置的框图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。
相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
图1为本申请实施例提供的边沿检测方法的应用场景示意图。如图1所示,该应用场景包括清扫机器人110,清扫机器人110可以包括雷达111,雷达111可以采集待测环境的激光点云数据,清扫机器人110可以执行本申请下述实施例提供的边沿检测方法,确定所述待测环境的边沿位置,并根据边沿检测结果,沿边执行清扫任务。
该清扫机器人110还可以包括传感器组件112、电源组件113、音频组件114以及通信组件115。
电源组件用于为雷达111以及各种组件供电,传感器组件113可以包括温度传感器、压力传感器、湿度传感器以及位置传感器等,用于检测环境温度、湿度、受到的压力以及是否被悬空等。音频组件114可以包括麦克风和扬声器。通信组件115用于实现清扫机器人110与云端之间的无线通信。无线传输方式可以为WiFi(WIreless-Fidelity,无线保真)等。
在一实施例中,如图1所示,该应用场景还可以包括云端120,清扫机器人110可以将采集的激光点云数据发送到云端120,云端120采用本申请下述实施例提供的边沿检测方法,并将边沿检测结果返回清扫机器人110,由清扫机器人110根据边沿检测结果,沿边执行清扫任务。
图2是本申请实施例提供的电子设备200的结构示意图,该电子设备200可以是图1所示实施环境中的清扫机器人,该电子设备200可以包括处理器201、用于存储处理器201可执行指令的存储器202;处理器201与存储器202之间通过总线203进行数据传输,其中,所述处理器201被配置为执行本申请下述实施例所述的边沿检测方法以及机器人沿边清扫的控制方法。
该电子设备200还可以包括通信接口204,电子设备200通过此通信接口204可以连接至网络以实现与外部设备(例如云端)的通信连接。该电子设备200还可以包括输入/输出接口205,通过此输入/输出接口205可以连接雷达111以及其他各种功能组件,获取待测环境的点云数据。
在一实施例中,处理器201可以由一个或多个专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、数字信号处理器、数字信号处理设备、可编程逻辑器件、现场可编程门阵列、控制器、微控制器、微处理器或其他电子元件实现,用于执行下述方法。
存储器202可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(Static Random Access Memory,简称SRAM),电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,简称EEPROM),可擦除可编程只读存储器(Erasable Programmable Read Only Memory,简称EPROM),可编程只读存储器(Programmable Red-Only Memory,简称PROM),只读存储器(Read-Only Memory,简称ROM),磁存储器,快闪存储器,磁盘或光盘。
如图3所示,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质300存储有计算机程序301,所述计算机程序301可由处理器201执行以完成本申请下述实施例所述的边沿检测方法或机器人沿边清扫的控制方法。
图4是本申请实施例提供的一种边沿检测方法的流程示意图,如图4所示,该方法可以包括以下步骤S410-步骤S440。
步骤S410:获取待测环境的点云数据;点云数据包括每个扫描点的位置信息。
举例来说,待测环境可以是室内或室外道路。点云数据可以是激光雷达通过激光扫描,旋转一周采集的每个激光点的数据,此数据包括激光点的坐标、激光点的采集时间、激光点的光强度等。每个扫描点的位置信息是指每个激光点的坐标。在一实施例中,可以由二维激光雷达获取待测环境的激光点云数据,也可以由三维激光雷达获取周围环境数据,并从中提取出二维的激光点云数据。
在其他实施例中,可以通过摄像机拍摄待测环境的图像,按照标定的映射关系,将基于图像的立体视觉数据转换为类似激光雷达生成的三维点云数据,进而从三维点云数据中提取出二维的点云数据。
步骤S420:根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段。
其中,线段拟合是指将扫描点按序连接形成的曲线近似拟合成多个线段。在一实施例中,可以采用IEPF(迭代终点拟合算法,亦称道格拉斯-普客算法)进行线段拟合。拟合得到的多个线段,可以称为拟合线段。
步骤S430:将端点距离小于第一阈值的相邻拟合线段进行组合,得到多个线段集合。
其中,由于扫描点的获得具有先后顺序,故拟合线段也有相应的先后顺序关系。按照扫描点获得的先后顺序,可以对所有拟合线段按序记为l1、l2、l3、l4……ln。端点距离是指一条拟合线段的终点和下一条拟合线段的起点之间的距离。例如,拟合线段l1的终点和拟合线段l2的起点之间的距离。
一条拟合线段的终点与下一条拟合线段的起点是相邻的扫描点,则这两条拟合线段可以称为相邻拟合线段,例如l1和l2可以称为是相邻拟合线段、l2和l3也可以称为是相邻拟合线段,以此类推。
举例来说,对于相邻拟合线段Li-1与Li,假设拟合线段Li-1的终点为pk,拟合线段Li的起点为pj,拟合线段Li-1的终端pk与拟合线段Li的起点pj之间的距离为D=||pk-pj||。D小于设置的第一阈值d,则将拟合线段Li-1与Li组合到同一个集合里{Li-1,Li},否则将两个线段分在不同的集合里。该第一阈值d可根据作业场景进行调整,例如在花盆座椅等杂物场景下可以设置第一阈值d为0.05米。同理,对所有相邻拟合线段进行端点距离判断,可以得到多个线段集合:{L1,L2,...,Li},{Li+1,Li+2,...,Lj},...,{Lk+1,Lk+2,...,Ln}。一个线段集合可以表示一堵墙面,或者一个非墙面物体。
步骤S440:判断所述线段集合中是否存在长度大于第二阈值的拟合线段,根据判断结果确定所述线段集合是否是所述待测环境的边沿。
建筑物墙面一般分为以下3种类型:比较长的直线段、带有直角弯的墙面、有一定弧度的墙面。在清扫机器人的作业场景里,可能存在多堵不同类型的墙面,也会存在花盆、座椅以及行人等非墙面的物体。进行墙面检测时,需要准确地检测出各个墙面,并且区分非墙面物体,从而满足各种复杂的作业场景。
墙面一般较长,所有墙面对应的线段集合中应有一段或多段较长的线段,而花盆、座椅以及行人等非墙面物体则一般较短。故可以设定第二阈值,此第二阈值可根据作业场景进行调整,例如在花盆座椅等杂物场景下第二阈值可以为1m。
如果一个线段集合中存在长度大于第二阈值的拟合线段,则此线段集合可以认为是待测环境的边沿,此线段集合中每条拟合线段的位置,可以认为是待测环境的边沿所在位置。待测环境的边沿可以是道路边沿或者墙面边沿。
在一实施例中,可以对各个线段集合进行判断,如果一个线段集合中的每条拟合线段的长度均没有超过第二阈值,则去掉该线段集合,剩余的线段集合中的拟合线段,就是待测环境的边沿。
图5为过滤非墙面物体前后的效果对比图。如图5所示,a为过滤前效果,b为过滤后效果。其中,白色点为激光扫描点,图5中a有4个线段集合(包括501、502、503、504),每个线段集合里包含一条或多条拟合线段。经过步骤S440的过滤处理,过滤掉非墙面物体对应的线段集合(包括501、502、503),从而将墙面对应的线段集合(即504)提取出来,最终效果如图5中b所示。
在一实施例中,如图6所示,上述步骤S420可以包括以下步骤S421和步骤S422。
步骤S421:根据每个扫描点的位置信息,将所有扫描点划分为多个扫描区域。
其中,扫描区域是指激光雷达扫描到的区域。对于距离相近的扫描点可以划分到同一区域,距离不相近的扫描点划分到不同的区域,由此将所有扫描点划分到多个扫描区域。
激光对周围环境进行扫描,获得的激光点云数据中会存在扫描点突变不连续的地方,也即断点。断点产生的原因有两个:扫描区域存在障碍物或者扫描区域有表面特征变化,如凸起、凹陷及弯折等。断点查找的原理:第一步,计算相邻扫描点的距离;第二步,距离与设置的阈值进行大小判断;第三步距离大于该阈值,则这2个相邻的扫描点均为断点,小于阈值则为连续点。故下述实施例可以通过查找断点,根据断点进行扫描区域的划分。
在一实施例中,如图7所示,上述步骤S421可以包括以下步骤S4211和步骤S4212。
步骤S4211:根据每个扫描点的位置信息,计算每组相邻扫描点之间的距离。
按照扫描点获得的顺序,可以将扫描点依次标记为p1、p2、p3、p4……pn,故p1和p2可以认为是一组相邻扫描点,p2和p3可以认为是另一组相邻扫描点,以此类推。根据扫描点p1的位置坐标和扫描点p2的位置坐标,可以计算出p1和p2之间的距离,以此类推,可以计算出每组相邻扫描点之间的距离。
步骤S4212:针对每组相邻扫描点,在所述相邻扫描点之间的距离大于距离阈值时,将所述相邻扫描点划分至不同扫描区域;在所述相邻扫描点之间的距离小于或等于距离阈值时,将所述相邻扫描点划分至同一扫描区域。
针对任意一组相邻扫描点,如果相邻扫描点之间的距离大于距离阈值,这两个相邻的扫描点均为断点,可以将这两个相邻的扫描点划分至不同的扫描区域。相反的,如果相邻扫描点之间的距离小于或等于距离阈值,则这两个相邻的扫描点为连续点,可以将这两个相邻的扫描点划分至同一扫描区域。
由于激光本身的性能参数会对扫描点距离造成比较大的影响,如激光扫描的点数越多,相邻扫描点的距离会越小。因此,可以根据激光的性能参数来自适应计算并设置距离阈值,而非给定一个固定的距离阈值,也即自适应断点查找。在一实施例中,在上述步骤S4212之前,本申请实施例提供的方法还包括:针对每组相邻扫描点,根据前一扫描点对应的扫描线长度以及相邻扫描线之间预设的夹角,计算所述距离阈值。
如图8所示,激光扫描后得到一系列扫描点:p1,p2,...,pn-2,pn-1,pn等,扫描点下标按照逆时针顺序逐步变大。扫描点pn-1对应的扫描线角度为扫描线长度为rn-1。扫描点pn对应的扫描线角度为扫描线长度为rn,pn-1的扫描线与pn的扫描线的角度差值为pn和pn-1的连接线72与pn-1的扫描线的夹角为λ。计算pn与pn-1的距离:D=||pn-pn-1||。同时,以扫描点pn-1为圆心,Dmax(rn)为半径建立一个阈值圆形71。Dmax(rn)为pn与pn-1均为连续点时,2个点之间能够达到的最大距离,也即D的最大值,距离阈值。根据三角形正弦定理,计算出距离阈值Dmax(rn)如下:
当D<=Dmax(rn)时,pn与pn-1为连续点。否则,pn与pn-1均会设置为断点。同理,针对pn与pn+1计算其距离D以及距离阈值Dmax(rn+1),从而判断pn与pn+1是连续点,还是断点。以此类推,相邻点均重新计算距离阈值并基于重新计算的距离阈值判断是否连续点。通过断点查找,将激光所有扫描点进行了区域划分:相邻点为断点时,则这2个点属于不同的区域;相邻点为连续点,则这2个点属于同一个区域,由此得到多个扫描区域;
步骤S422:针对每个扫描区域,对所述扫描区域内的扫描点进行线段拟合,得到所述扫描区域内的拟合线段。
在一实施例中,针对每个扫描区域,将所述扫描区域内的所有扫描点按照扫描顺序连接为一条或多条拟合线段,使所述拟合线段上的扫描点与所述拟合线段之间的距离小于第三阈值。
其中,拟合线段上的扫描点是指此拟合线段的起点与终点之间的扫描点。此拟合线段的起点与终点之间的所有扫描点与此拟合线段之间的距离均小于第三阈值。
在一实施例中,针对每个扫描区域,可以连接此扫描区域内的起点和终端得到第一线段;将第一线段上距离第一线段最远的扫描点,标记为中间点;若中间点与第一线段的距离小于第三阈值,将所述第一线段作为所述扫描区域内的拟合线段。若中间点与第一线段的距离大于或等于第三阈值,则连接起点和中间点得到第二线段,连接中间点和终点得到第三线段;针对第二线段和第三线段,继续执行查找最远扫描点和判断距离的步骤,直到每条拟合线段上的扫描点与拟合线段之间的距离小于第三阈值。
举例来说,如图9所示,扫描点被断点划分成3个区域。其中,相邻扫描点pn和pn+1为断点,分别属于扫描区域2和扫描区域3;相邻扫描点pn-1和pn为连续点,因此同属于扫描区域2。点pk和pn分别为扫描区域2的起始点与终点。针对每个扫描区域,都可以进行线段拟合。
如图10所示,以扫描区域2为例,第一步,连接起点A(即图9中的点pk)和终点B(即图9中的点pn)形成一条线段AB;第二步,计算线段AB上离该线段AB距离最大的点C,计算点C与线段AB的距离d;第三步,比较该距离d与第三阈值的大小,如果d小于第三阈值,则以线段AB作为拟合线段,处理完毕。第四步,如果距离d大于或等于第三阈值,则用点C将线段AB分为两段AC和BC,并分别参照步骤二和步骤三对线段AC和BC进行处理。如图10所示,扫描区域2内的扫描点经过拟合后得到拟合线段AC和BC。
图11所示,图9中扫描区域1可以得到拟合线段L1,扫描区域2可以得到拟合线段L2和L3,扫描区域3可以得到拟合线段L4,故对每个扫描区域进行线段拟合,可以得到多个拟合线段L1,L2,...,Ln。其中,L1和L2可以认为是相邻拟合线段,L2和L3可以认为是相邻拟合线段,以此类推。之后可以执行上述步骤S430,将端点距离小于第一阈值的相邻拟合线段进行组合,从而得到多个线段集合{L1,L2,...,Li},{Li+1,Li+2,...,Lj},...,{Lk+1,Lk+2,...,Ln}。之后可以执行上述步骤S440,针对每个线段集合,判断此线段集合中是否存在长度大于第二阈值的拟合线段,如果否,则去除此线段集合,剩余线段集合中的拟合线段可以认为是待测环境的边沿检测结果。
图12是本申请实施例提供的机器人沿边清扫的控制方法的流程示意图。该控制方法可以由机器人内部安装的控制装置执行,该控制方法包括以下步骤。
在步骤1110中,执行上述实施例所述的边沿检测方法,从多个线段集合中筛选出属于待测环境边沿的目标线段集合。
目标线段集合是指存在长度大于第二阈值的拟合线段的线段集合。在一实施例中,目标线段集合可以认为是去除了非墙面物体对应的线段集合后,剩余的线段集合,可以是一个或多个线段集合。
在步骤S1120中,向机器人一侧对所述目标线段集合中的拟合线段平行偏置预设距离,得到目标路径。
在一实施例中,预设距离可以是0.5米,将目标线段集合中的拟合线段的位置向机器人一侧平移偏置0.5米,将得到的新的线段作为目标路径。
在步骤S1130中,按照所述目标路径,控制所述机器人执行目标任务。
在一实施例中,可以将步骤S1120得到的目标路径设定为机器人的作业路径,从而控制机器人沿此目标路径执行目标任务,目标任务可以是清扫任务,从而实现沿墙清扫,提高机器人的清扫范围和清扫效率。
图13是本申请实施例提供的边沿检测装置的框图,如图13所示,该边沿检测装置130包括:数据获取模块13、线段拟合模块14、线段组合模块15以及边沿判断模块16。
数据获取模块13,用于获取待测环境的点云数据;所述点云数据包括每个扫描点的位置信息。
线段拟合模块14,用于根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段。
线段组合模块15,用于将端点距离小于第一阈值的相邻拟合线段进行组合,得到多个线段集合。
边沿判断模块16,用于判断所述线段集合中是否存在长度大于第二阈值的拟合线段,根据判断结果确定所述线段集合是否是所述待测环境的边沿。
在一实施例中,上述线段拟合模块14包括:区域划分单元141和线段拟合单元142。
区域划分单元141,用于根据每个扫描点的位置信息,将所有扫描点划分为多个扫描区域。
线段拟合单元142,用于针对每个扫描区域,对所述扫描区域内的扫描点进行线段拟合,得到所述扫描区域内的拟合线段。
在一实施例中,上述区域划分单元141包括:距离计算子单元1411以及断点判断子单元1412。
距离计算子单元1411,用于根据每个扫描点的位置信息,计算每组相邻扫描点之间的距离。
断点判断子单元1412,用于针对每组相邻扫描点,在所述相邻扫描点之间的距离大于距离阈值时,将所述相邻扫描点划分至不同扫描区域;在所述相邻扫描点之间的距离小于或等于距离阈值时,将所述相邻扫描点划分至同一扫描区域。
在一实施例中,上述区域划分单元141还包括:阈值计算子单元1413,用于针对每组相邻扫描点,根据前一扫描点对应的扫描线长度以及相邻扫描线之间预设的夹角,计算所述距离阈值。
在一实施例中,上述线段拟合单元142包括:迭代拟合子单元1421,用于针对每个扫描区域,将所述扫描区域内的所有扫描点按照扫描顺序连接为一条或多条拟合线段,使所述拟合线段上的扫描点与所述拟合线段之间的距离小于第三阈值。
在一实施例中,上述边沿判断模块16具体用于针对每个线段集合,若所述线段集合中存在长度大于第二阈值的拟合线段,确定所述线段集合中的拟合线段为所述待测环境的边沿。
本申请上述实施例提供的边沿检测装置中各个模块的功能和作用的实现过程具体详见上述边沿检测方法中对应步骤的实现过程,在此不再赘述。
图14是本申请实施例提供的一种机器人沿边清扫的控制装置的框图,如图14所示,该控制装置可以包括:边沿检测装置130、路径设定模块140以及清扫控制模块150。
边沿检测装置130,用于执行本申请上述实施例所述的边沿检测方法,从所述多个线段集合中筛选出属于待测环境边沿的目标线段集合。
路径设定模块140,用于向机器人一侧对所述目标线段集合中的拟合线段平行偏置预设距离,得到目标路径。
任务控制模块150,用于按照所述目标路径,控制所述机器人执行目标任务。
上述控制装置中各个模块的功能和作用的实现过程具体详见上述机器人沿边清扫的控制方法中对应步骤的实现过程,在此不再赘述。
在本申请所提供的几个实施例中,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本申请的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
另外,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。
功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
Claims (10)
1.一种边沿检测方法,其特征在于,包括:
获取待测环境的点云数据;所述点云数据包括每个扫描点的位置信息;
根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段;
将端点距离小于第一阈值的相邻拟合线段进行组合,得到多个线段集合;
判断所述线段集合中是否存在长度大于第二阈值的拟合线段,根据判断结果确定所述线段集合是否是所述待测环境的边沿;
所述根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段,包括:
根据每个扫描点的位置信息,将所有扫描点划分为多个扫描区域;
针对每个扫描区域,对所述扫描区域内的扫描点进行线段拟合,得到所述扫描区域内的拟合线段。
2.根据权利要求1所述的方法,其特征在于,所述根据每个扫描点的位置信息,将所有扫描点划分为多个扫描区域,包括:
根据每个扫描点的位置信息,计算每组相邻扫描点之间的距离;
针对每组相邻扫描点,在所述相邻扫描点之间的距离大于距离阈值时,将所述相邻扫描点划分至不同扫描区域;在所述相邻扫描点之间的距离小于或等于距离阈值时,将所述相邻扫描点划分至同一扫描区域。
3.根据权利要求2所述的方法,其特征在于,还包括:
针对每组相邻扫描点,根据前一扫描点对应的扫描线长度以及相邻扫描线之间预设的夹角,计算所述距离阈值。
4.根据权利要求1所述的方法,其特征在于,所述针对每个扫描区域,对所述扫描区域内的扫描点进行线段拟合,得到所述扫描区域内的拟合线段,包括:
针对每个扫描区域,将所述扫描区域内的所有扫描点按照扫描顺序连接为一条或多条拟合线段,使所述拟合线段上的扫描点与所述拟合线段之间的距离小于第三阈值。
5.根据权利要求1所述的方法,其特征在于,所述根据判断结果确定所述线段集合是否是所述待测环境的边沿,包括:
针对每个线段集合,若所述线段集合中存在长度大于第二阈值的拟合线段,确定所述线段集合中的拟合线段为所述待测环境的边沿。
6.一种机器人沿边清扫的控制方法,其特征在于,包括:
执行权利要求1-5任意一项所述的边沿检测方法,从所述多个线段集合中筛选出属于待测环境边沿的目标线段集合;
向机器人一侧对所述目标线段集合中的拟合线段平行偏置预设距离,得到目标路径;
按照所述目标路径,控制所述机器人执行目标任务。
7.一种边沿检测装置,其特征在于,包括:
数据获取模块,用于获取待测环境的点云数据;所述点云数据包括每个扫描点的位置信息;
线段拟合模块,用于根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段;
线段组合模块,用于将端点距离小于第一阈值的相邻拟合线段进行组合,得到多个线段集合;
边沿判断模块,用于判断所述线段集合中是否存在长度大于第二阈值的拟合线段,根据判断结果确定所述线段集合是否是所述待测环境的边沿;
所述根据每个扫描点的位置信息,对所有扫描点进行线段拟合,得到多个拟合线段,包括:
根据每个扫描点的位置信息,将所有扫描点划分为多个扫描区域;
针对每个扫描区域,对所述扫描区域内的扫描点进行线段拟合,得到所述扫描区域内的拟合线段。
8.一种机器人沿边清扫的控制装置,其特征在于,包括:
边沿检测装置,用于执行权利要求1-5任意一项所述的边沿检测方法,从所述多个线段集合中筛选出属于待测环境边沿的目标线段集合;
路径设定模块,用于向机器人一侧对所述目标线段集合中的拟合线段平行偏置预设距离,得到目标路径;
任务控制模块,用于按照所述目标路径,控制所述机器人执行目标任务。
9.一种电子设备,其特征在于,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为执行权利要求1-5任意一项所述的边沿检测方法或权利要求6所述的机器人沿边清扫的控制方法。
10.一种计算机可读存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序可由处理器执行以完成权利要求1-5任意一项所述的边沿检测方法或权利要求6所述的机器人沿边清扫的控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010459950.6A CN111474946B (zh) | 2020-05-27 | 2020-05-27 | 边沿检测方法及装置、机器人沿边清扫的控制方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010459950.6A CN111474946B (zh) | 2020-05-27 | 2020-05-27 | 边沿检测方法及装置、机器人沿边清扫的控制方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111474946A CN111474946A (zh) | 2020-07-31 |
CN111474946B true CN111474946B (zh) | 2021-04-23 |
Family
ID=71763571
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010459950.6A Active CN111474946B (zh) | 2020-05-27 | 2020-05-27 | 边沿检测方法及装置、机器人沿边清扫的控制方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111474946B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112199751B (zh) * | 2020-10-30 | 2022-06-17 | 久瓴(江苏)数字智能科技有限公司 | 一种墙体模型的生成方法、装置、电子设备及存储介质 |
CN112515560B (zh) * | 2020-11-06 | 2022-08-05 | 珠海一微半导体股份有限公司 | 通过激光数据获取清扫方向的方法、芯片和机器人 |
CN113311836B (zh) * | 2021-05-25 | 2024-07-12 | 上海高仙自动化科技发展有限公司 | 一种控制方法、装置、设备及存储介质 |
CN113281775B (zh) * | 2021-05-26 | 2024-07-09 | 珠海一微半导体股份有限公司 | 一种基于激光扫描信息的充电座定位方法、芯片及机器人 |
CN117193278B (zh) * | 2022-05-31 | 2024-08-02 | 深圳市普渡科技有限公司 | 动态沿边路径生成的方法、装置、计算机设备和存储介质 |
CN117492438B (zh) * | 2023-11-07 | 2024-08-30 | 湖州丽天智能科技有限公司 | 一种光伏清扫机的定位控制方法、光伏清扫系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647148A (zh) * | 2019-09-19 | 2020-01-03 | 小狗电器互联网科技(北京)股份有限公司 | 一种墙体位置确定方法、装置、计算机设备和存储介质 |
CN110928320A (zh) * | 2020-02-10 | 2020-03-27 | 上海高仙自动化科技发展有限公司 | 路径生成方法及生成装置、智能机器人及存储介质 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102122344A (zh) * | 2011-01-07 | 2011-07-13 | 南京理工大学 | 基于红外图像的道路边界检测方法 |
CN104050654B (zh) * | 2013-03-11 | 2017-06-09 | 株式会社理光 | 道路边缘检测方法和装置 |
CN105551016B (zh) * | 2015-12-02 | 2019-01-22 | 百度在线网络技术(北京)有限公司 | 一种基于激光点云的路沿识别方法及装置 |
US10570736B2 (en) * | 2016-06-09 | 2020-02-25 | Abb Schweiz Ag | Robot automated mining |
CN110068834B (zh) * | 2018-01-24 | 2023-04-07 | 北京京东尚科信息技术有限公司 | 一种路沿检测方法和装置 |
CN110376604B (zh) * | 2019-08-09 | 2022-11-15 | 北京智行者科技股份有限公司 | 基于单线激光雷达的路沿检测方法 |
CN111007531A (zh) * | 2019-12-24 | 2020-04-14 | 电子科技大学 | 一种基于激光点云数据的道路边沿检测方法 |
-
2020
- 2020-05-27 CN CN202010459950.6A patent/CN111474946B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110647148A (zh) * | 2019-09-19 | 2020-01-03 | 小狗电器互联网科技(北京)股份有限公司 | 一种墙体位置确定方法、装置、计算机设备和存储介质 |
CN110928320A (zh) * | 2020-02-10 | 2020-03-27 | 上海高仙自动化科技发展有限公司 | 路径生成方法及生成装置、智能机器人及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN111474946A (zh) | 2020-07-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111474946B (zh) | 边沿检测方法及装置、机器人沿边清扫的控制方法及装置 | |
WO2020134082A1 (zh) | 一种路径规划方法、装置和移动设备 | |
JP6336117B2 (ja) | 建物高さの計算方法、装置及び記憶媒体 | |
RU2669652C1 (ru) | Устройство оценки собственной позиции и способ оценки собственной позиции | |
US8755562B2 (en) | Estimation apparatus, control method thereof, and program | |
CN110801180B (zh) | 清洁机器人的运行方法及装置 | |
CN110442120B (zh) | 控制机器人在不同场景下移动的方法、机器人及终端设备 | |
CN111609852A (zh) | 语义地图构建方法、扫地机器人及电子设备 | |
CN111862219B (zh) | 计算机设备定位方法、装置、计算机设备和存储介质 | |
CN112180931A (zh) | 扫地机的清扫路径规划方法、装置及可读存储介质 | |
JP2018513416A (ja) | 床の処理方法 | |
CN113487721B (zh) | 一种基于三维点云的预制构件自动化识别方法 | |
CN110375736B (zh) | 智能设备的路径规划方法、系统、设备及可读存储介质 | |
CN110599543A (zh) | 一种墙体位置确定方法、装置、计算机设备和存储介质 | |
FR2801123A1 (fr) | Procede de creation automatique de maquette numerique a partir de couples d'images stereoscopiques | |
CN115063762A (zh) | 车道线的检测方法、装置、设备及存储介质 | |
CN116665139B (zh) | 堆状物料体积识别方法、装置、电子设备及存储介质 | |
JP6124566B2 (ja) | 画像認識方法および画像認識装置 | |
CN117392357A (zh) | 一种数字孪生模型编辑方法及装置 | |
CN113446971B (zh) | 空间识别方法,电子装置和非暂态计算机可读存储介质 | |
CN115909253A (zh) | 一种目标检测、模型训练方法、装置、设备及存储介质 | |
JP7226553B2 (ja) | 情報処理装置、データ生成方法、及びプログラム | |
JP7344032B2 (ja) | 画像処理装置 | |
CN113925389A (zh) | 目标物体的识别方法、装置及机器人 | |
CN113592976A (zh) | 地图数据的处理方法、装置、家用电器和可读存储介质 |
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 |