CN115668293A - 地毯检测方法、运动控制方法以及使用该些方法的移动机器 - Google Patents

地毯检测方法、运动控制方法以及使用该些方法的移动机器 Download PDF

Info

Publication number
CN115668293A
CN115668293A CN202280003746.0A CN202280003746A CN115668293A CN 115668293 A CN115668293 A CN 115668293A CN 202280003746 A CN202280003746 A CN 202280003746A CN 115668293 A CN115668293 A CN 115668293A
Authority
CN
China
Prior art keywords
carpet
rgb
image
regions
curl
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.)
Pending
Application number
CN202280003746.0A
Other languages
English (en)
Inventor
董初桥
邵丹
修震
郭德骏
谭欢
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Ubtech Technology Co ltd
Original Assignee
Shenzhen Ubtech Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Ubtech Technology Co ltd filed Critical Shenzhen Ubtech Technology Co ltd
Publication of CN115668293A publication Critical patent/CN115668293A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/617Safety or protection, e.g. defining protection zones around obstacles or avoiding hazards
    • G05D1/622Obstacle avoidance
    • G05D1/628Obstacle avoidance following the obstacle profile, e.g. a wall or undulated terrain
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions
    • G05D1/021Control of position or course in two dimensions specially adapted to land vehicles
    • G05D1/0231Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
    • G05D1/0246Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
    • G05D1/0248Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means in combination with a laser
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/20Control system inputs
    • G05D1/24Arrangements for determining position or orientation
    • G05D1/247Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons
    • G05D1/249Arrangements for determining position or orientation using signals provided by artificial sources external to the vehicle, e.g. navigation beacons from positioning sensors located off-board the vehicle, e.g. from cameras
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/60Intended control result
    • G05D1/65Following a desired speed profile
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/50Depth or shape recovery
    • G06T7/55Depth or shape recovery from multiple images
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/25Determination of region of interest [ROI] or a volume of interest [VOI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/10Terrestrial scenes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10028Range image; Depth image; 3D point clouds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30248Vehicle exterior or interior
    • G06T2207/30252Vehicle exterior; Vicinity of vehicle
    • G06T2207/30261Obstacle

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Remote Sensing (AREA)
  • Automation & Control Theory (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Multimedia (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Electromagnetism (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Molecular Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Optics & Photonics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

一种使用RGB‑D相机的地毯检测方法,应用于地毯检测技术领域。通过以下步骤来检测地毯和地毯卷曲:通过RGB‑D相机获取包括RGB图像和深度图像的RGB‑D图像对;使用深度学习模型检测该RGB图像中的地毯和地毯卷曲区域、并生成2D边界框来标记每个区域;以及通过将对应于该地毯和地毯卷曲区域的每个2D边界框内的RGB图像的每个像素与该深度图像中的每个像素进行匹配来生成对应于每个地毯和地毯卷曲区域的地毯和地毯卷曲点组。还提供一种运动控制方法以及使用该些方法的移动机器。

Description

地毯检测方法、运动控制方法以及使用该些方法的移动机器
技术领域
本发明涉及地毯检测技术,尤其涉及一种地毯检测方法、运动控制方法以及使用该些方法的移动机器。
背景技术
移动机器(例如移动机器人、车辆)通常被赋予自主导航能力,以便以更自主的方式工作。特别是对于家务机器人、陪伴机器人等类型的移动机器人,因为它们会被用在日常生活中具有地毯的场景而会影响其运动、甚至导致摔倒等危险情况,因此在移动机器人的运动过程中需要对地毯进行检测。
由于地毯具有高度低的特点、并且通常铺设在地板上,对于大多数传感器来说它们难以被检测到。因此,现有的地毯检测方法通常采用多个传感器的组合,导致检测效率低而成本高。此外,对于使用轮子移动或高度较小的移动机器人来说,地毯卷曲容易造成危险情况,现有的地毯检测方法并没有特别针对地毯卷曲的检测进行优化。因此,现有的地毯检测方法难以应用在有地毯的场景中的移动机器人导航。
因此,需要一种能够检测地毯和地毯卷曲的地毯检测方法,该方法可应用于在有地毯的场景中对移动机器人进行导航。
发明内容
本申请提供一种地毯检测方法、运动控制方法以及使用该些方法的移动机器,用以检测地毯和地毯卷曲,解决前述的现有技术中的地毯检测方法所存在的问题。
本申请的实施例提供了一种地毯检测方法,包括:
通过RGB-D相机获取一或多个RGB-D图像对,其中各该RGB-D图像对包括RGB图像和深度图像;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯区域,并基于包括地毯类的第一数据集、使用第一深度学习模型来生成第一2D边界框以标记每个该地毯区域;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯卷曲区域,并基于包含地毯卷曲类的第二个数据集、使用第二深度学习模型来生成第二2D边界框以标记每个该地毯卷曲区域;
通过将对应于各该地毯区域的该第一2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的一组地毯点;以及
通过将对应于各该地毯卷曲区域的该第二2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的一组地毯卷曲点。
本申请的实施例还提供了一种控制移动机器进行移动的方法,其中该移动机器具有RGB-D相机,所述方法包括:
在该移动机器的一或多个处理器上:
通过RGB-D相机获取一或多个RGB-D图像对,其中各该RGB-D图像对包括RGB图像和深度图像;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯区域,并基于包括地毯类的第一数据集、使用第一深度学习模型来生成第一2D边界框以标记每个该地毯区域;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯卷曲区域,并基于包含地毯卷曲类的第二个数据集、使用第二深度学习模型来生成第二2D边界框以标记每个该地毯卷曲区域;
通过将对应于各该地毯区域的该第一2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的一组地毯点;
通过将对应于各该地毯卷曲区域的该第二2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的一组地毯卷曲点;
将对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的所生成的该组地毯点作为地毯;
基于对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的所生成的该组地毯卷曲点来获取一或多个地毯卷曲,并将各该地毯卷曲作为障碍物,其中各该地毯卷曲对应于各该地毯卷曲区域;以及
控制该移动机器参考对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的该地毯进行移动以避开该障碍物。
本申请的实施例还提供了一种移动机器,包括:
RGB-D相机;
一或多个处理器;以及
一或多个存储器,存储有一或多个计算机程序,该一或多个计算机程序由该一或多个处理器执行,其中该一或多个计算机程序包括多个指令用于:
通过RGB-D相机获取一或多个RGB-D图像对,其中各该RGB-D图像对包括RGB图像和深度图像;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯区域,并基于包括地毯类的第一数据集、使用第一深度学习模型来生成第一2D边界框以标记每个该地毯区域;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯卷曲区域,并基于包含地毯卷曲类的第二个数据集、使用第二深度学习模型来生成第二2D边界框以标记每个该地毯卷曲区域;
通过将对应于各该地毯区域的该第一2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的一组地毯点;以及
通过将对应于各该地毯卷曲区域的该第二2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的一组地毯卷曲点。
从上述本申请的实施例可知,本申请提供的地毯检测方法使用了RGB-D相机、并基于深度学习模型来检测地毯和地毯卷曲,从而解决现有技术中难以在有地毯的场景中对移动机器人进行导航等问题。
附图说明
为了更清楚地说明本申请的实施例中的技术方案,下面对实施例中或现有技术的描述中所使用的附图进行简要的介绍。在以下的附图中,相同的附图标记在整个图中表示相应的部分。应当理解的是,以下描述中的附图仅为本申请的例子。对于本领域的技术人员来说,在没有创造性劳动的情况下,可以基于这些附图来获得其他的附图。
图1A是本申请的一些实施例中的移动机器的导航场景的示意图。
图1B是在图1A的场景中检测地毯的示意图。
图2A是本申请的一些实施例中的移动机器的透视图。
图2B是说明图2A的移动机器的示意框图。
图3A是图2A的移动机器进行地毯检测的例子的示意框图。
图3B是图1A的场景的RGB图像的示意图。
图4A是图2A的移动机器的移动控制的例子的示意框图。
图4B是在图4A的移动机器的移动控制的例子中确定地毯和地毯卷曲的例子的示意框图。
图4C是在图4A的移动机器的移动控制的例子中的移动控制的例子的示意框图。
图5是本申请的一些实施例中的导航方法的流程图。
具体实施方式
为使本申请的目的、特征和优点更加明显易懂,下面将结合附图对本申请的实施例中的技术方案进行清楚、完整的描述。显然,所描述的实施例仅仅是本申请的一部分实施例,而非全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都在本申请所保护的范围内。
应当理解的是,当在本申请和所附的权利要求中使用时,术语“包括”、“包含”、“具有”及其变体表示所述特征、整体、步骤、操作、元素和/或组件的存在,但不排除可以存在或添加一或多个其他特征、整体、步骤、操作、元素、组件和/或其集合。
还应当理解的是,在本申请的说明书中所使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请的范围。如同在本申请的说明书和所附的权利要求中所使用的那样,除非上下文清楚地指明了其他情况,否则单数形式的“一”、“一个”以及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附的权利要求中所使用的术语“和/或”是指相关列出的项中的一或多个的任何组合以及所有可能组合,并且包括这些组合。
本申请中的术语“第一”、“第二”、“第三”仅仅是出于描述的目的,而不能理解为指示或暗示了相对重要性、或是暗示了所指的技术特征的数量。由此,由“第一”、“第二”、“第三”所限定的特征可以显式或隐式地包括其中的至少一个技术特征。在本申请的描述中,“多个”的含义是至少两个,例如两个、三个等,除非另有明确的定义。
在本申请的说明书中叙述的“一个实施例”或“一些实施例”等意味着在本申请的一或多个实施例中可以包括与该实施例的描述内容相关的特定特征、结构或特点。由此,在说明书的不同地方出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是意味着所描述的实施例应该被所有其他实施例所引用,而是被“一或多个但不是所有其他实施例所引用”,除非另有特别强调。
本申请涉及移动机器的导航。如本文所用,术语“移动机器”是指具有在其所处环境中四处移动的能力的机器,例如移动机器人或车辆。术语“地毯”(例如地毯、毯子和垫子)是指纺织品类型的地板覆盖物,通常由附着在其背衬上的上层绒毛构成。术语“地毯卷曲”是指地毯边缘的卷曲。术语“轨迹规划”是指寻找一系列将移动机器从来源移动到目的地的、以时间为参数的有效配置,其中“轨迹”表示带有时间戳的位姿序列(作为参考,“路径”表示的是不带时间戳的一系列位姿或位置)。术语“位姿”是指位置(例如x和y轴上的x和y坐标)和姿势(例如沿z轴的偏航角)。术语“导航”是指监视和控制移动机器人从一个地方移动到另一个地方的过程。术语“防撞”是指防止或降低碰撞的严重程度。术语“传感器”是指目的在于检测其环境中的事件或变化并将相关信息发送到其他电子设备(例如处理器)的设备、模块、机器或子系统(例如相机)。
图1A是本申请的一些实施例中的移动机器100的导航场景的示意图。移动机器100在其所处环境(例如客厅)中被导航,同时可以防止诸如碰撞和不安全状态(例如坠落、极端温度、辐射和暴露)之类的危险情况。在该室内导航中,移动机器100从起点(例如移动机器100最初所在的位置)被(例如用户U(图未示)或移动机器100的导航/操作系统)导航到目的地,同时地毯Cc可以被通过(即移动机器100在导航期间可以在地毯Cc上移动)且障碍物(例如地毯Cc的地毯卷曲Cr、墙壁、家具、人、宠物和垃圾)可以被避开、以防止上述危险情况。需要规划移动机器100从起点移动到目的地的轨迹(例如轨迹T1和轨迹T2),以便根据轨迹来移动移动机器100。每个轨迹包括一系列位姿(例如轨迹T2的位姿S1-S9)。需要说明的是,起点和终点仅代表如图所示的场景中移动机器100的位置,而不是轨迹的真正开始和结束(轨迹的真正开始和结束应该分别是一个位姿,例如图1A中的初始位姿Si1、Si2和期望位姿Sd1、Sd2)。在一些实施例中,为了实现移动机器100的导航,需要构建环境地图、确定移动机器100在环境中的当前位置,而后基于所构建的地图和所确定的移动机器100的位置来规划轨迹。
第一初始位姿Si1是轨迹T1的起点,而第二初始位姿Si2是轨迹T2的起点。第一个期望位姿Sd1是轨迹T1中位姿序列S的最后一个,即轨迹T1的末端;第二个期望位姿Sd2是轨迹T2中位姿序列S的最后一个,即轨迹T2的末端。轨迹T1是根据例如所构建的地图中到达用户U的最短路径而规划的。轨迹T2是对应于移动机100所执行的地毯检测(参见图3A)而规划的。另外,在规划时需要考虑避免与所构建的地图中的障碍物(例如墙壁和家具)或实时检测到的障碍物(例如人和宠物)的碰撞,以便更准确且安全地导航移动机器100。
在一些实施例中,移动机器100的导航可以通过由移动机器100本身(例如移动机器100上的控制界面)或诸如遥控器、智能手机、平板电脑、笔记本电脑、台式电脑或其他电子设备提供移动机器100的导航请求来启动。移动机器100和控制设备200可以通过网络进行通信,该网络可以包括例如因特网、内联网、外联网、局域网(LAN)、广域网(WAN)、有线网络、无线网络(例如Wi-Fi网络、蓝牙网络和移动网络)或其他合适的网络,或两个或多个此类网络的任意组合。
图1B是在图1A的场景中检测地毯的示意图。如图1B所示,RGB-D相机C的视野V覆盖了地毯Cc和地板F。通过地毯检测,可以检测到地毯Cc和地毯Cc的地毯卷曲Cr。图2A是本申请的一些实施例中的移动机器100的透视图。在一些实施例中,移动机器100可以是移动机器人(例如移动辅助机器人),其可以包括行走架F、抓握部件H、轮子E,以及包括RGB-D相机C、LiDAR(光学雷达)S1和IR(红外传感器)Si在内的传感器。RGB-D相机C安装在移动机器100的前侧(的上部)、以面向移动机器100向前移动的方向,使得视野V能够覆盖移动机器100所要移往的地方,以在例如当移动机器100向前移动时检测地毯Cc和/或障碍物(例如地毯Cc的地毯卷曲Cr)。移动机器100上的RGB-D相机C的高度可以根据实际需要而改变(例如高度越大、视野V越大,高度越小、视野V越小),而RGB-D相机C相对于地板F的仰角也可以根据实际需要而改变(例如俯仰角越大、视野V越近,俯仰角越小、视野V越远)。LiDAR S1安装在前侧(的中部),IR Si安装在前侧(的下部)(例如两个或多个IR Si以一定的间隔安装在前侧),以检测障碍物(例如墙壁、人、地毯Cc的卷曲Cr),也可以检测地毯Cc。抓握部H安装在行走架F的上缘、以供用户U抓握;而轮子E安装在行走架F的底部(例如底盘)上,用于移动行走架F,使得使用者U可在移动式机器100的协助下由移动式机器100支撑而站立与移动。行走架F的高度可以通过手动或自动调节,例如通过行走架F中的伸缩杆等伸缩机构,使抓握部H达到便于使用者U抓握的高度。抓握部H可以包括一对平行设置的把手、以供用户U通过两只手抓握,以及安装在把手上、以供用户U通过两只手来制动移动机器100的制动杆,并且还可以包括诸如鲍登电缆等相关部件。需要说明的是,移动机器100只是移动机器的一个例子,其可以具有与上面或下面所示不同、更多/更少的部件(例如具有腿而不是轮子E),或者可以具有不同的部件配置或排列(例如具有以抓握杆为例的单个抓握部件)。在其他实施例中,移动机器100可以是诸如车辆的另一种移动机器。
图2B是说明图2A的移动机器100的示意框图。移动机器100可以包括通过一或多条通信总线或信号线L进行通信的处理单元110、存储单元120和控制单元130。需要说明的是,移动机器100只是移动机器的一个例子。移动机器100可以具有比上面或下面所示更多或更少的组件(例如单元、子单元和模块),可以组合两个或更多个组件,或者可以具有不同的组件配置或排列。处理单元110执行存储在存储单元120中的各种(各组)指令,这些指令可以是软件程序的形式,以执行移动机器100的各种功能并处理相关数据,其可以包括一或多个处理器(例如中央处理器(CPU))。存储单元120可以包括一或多个存储器(例如高速随机存取存储器(RAM)和非暂时性存储器)、一或多个存储器控制器,以及一或多个非暂时性计算机可读存储介质(例如固态状态驱动器(SSD)或硬盘)。控制单元130可以包括各种控制器(例如相机控制器、显示器控制器和物理按钮控制器)和用于耦合移动机器100的输入/输出外围设备到处理单元110和存储单元120的外围设备接口,例如外部端口(如USB)、无线通信电路(如RF通信电路)、音频电路(如扬声器电路)、传感器(如惯性测量单元(inertialmeasurement unit,IMU))。在一些实施例中,存储单元120可以包括用于实现与移动机器100的导航(和轨迹规划)相关的导航功能(例如地图构建和轨迹规划)的导航模块121,其可以存储在一或多个存储器(以及一种或多种非暂时性计算机可读存储介质)中。
移动机器100的存储单元120中的导航模块121可以是(移动机器100的操作系统的)软件模块,其具有指令In(例如用来驱动移动机器100的电机1321以移动移动机器100的指令),以实现移动机器100的导航、地图构建器1211和轨迹规划器1212。地图构建器1211可以是具有用于为移动机器100构建地图的指令Ib的软件模块,轨迹规划器1212可以是具有用于为移动机器100规划轨迹的指令Ip的软件模块。轨迹规划器1212可以包括用于为移动机器100规划全局轨迹(例如轨迹T1和轨迹T2)的全局轨迹规划器,以及用于规划移动机器100的局部轨迹(例如包括图1A中的姿态S1-S4的轨迹T2的一部分)的局部轨迹规划器。全局轨迹规划器例如可以是基于Dijkstra算法的轨迹规划器,其基于由地图构建器1211通过同时定位与地图构建(simultaneous localization and mapping,SLAM)等方式所构建的地图来规划全局轨迹。局部轨迹规划器可以是基于TEB(timed elastic band)算法的轨迹规划器,其基于全局轨迹Pg和移动机器100收集的其他数据来规划局部轨迹。例如可以是通过移动机器100的RGB-D相机C采集图像,对采集到的图像进行分析,以识别障碍物(例如图1B中的障碍物Oc),从而可以参考所识别出的障碍物来规划局部轨迹,并且可以根据所规划的局部轨迹来移动移动机器100、以避开障碍物。
地图构建器1211和轨迹规划器1212可以是与用于实现动移动机器100的导航的指令In分离的子模块、或是导航模块121的其他子模块,或是指令In的一部分。轨迹规划器1212还可具有与动移动机器100的轨迹规划相关的数据(例如输入/输出数据和临时数据),其可存储在一或多个存储器中并由处理单元110访问。在一些实施例中,每个轨迹规划器1212可以是存储单元120中与导航模块121分离的模块。
在一些实施例中,指令In可以包括用于实现移动机器100的碰撞避免的指令(例如障碍物检测和轨迹重新规划)。此外,全局轨迹规划器可以重新规划全局轨迹(即规划新的全局轨迹),以响应例如原始全局轨迹被阻挡(例如被一或多个意外障碍物阻挡)或不足以避免碰撞(例如在采用时无法避开所检测到的障碍物)。在其他实施例中,导航模块121可以是通过一或多条通信总线或信号线L与处理单元110、存储单元120和控制单元130通信的导航单元,还可以包括一或多个存储器(例如高速随机存取存储器(RAM)和非暂时性存储器),用于存储指令In、地图构建器1211和轨迹规划器1212;以及一或多个处理器(例如MPU和MCU),用于执行存储的指令In、Ib和Ip,以实现移动机器100的导航。
移动机器100还可以包括通信子单元131和致动子单元132。通信子单元131和致动子单元132通过一或多条相同的通信总线或信号线与控制单元130通信,该一或多条通信总线或信号线可以与上述一或多条通信总线或信号线L相同、或至少部分不同。通讯子单元131耦接移动机器10的通讯接口,诸如供移动机器100通过网络与控制设备200进行通信的网络接口1311、以及I/O接口1312(例如物理按钮)。致动子单元132耦合到用于实现移动机器100的运动的组件/设备,以驱动移动机器100的车轮E和/或关节的电机1321。通信子单元131可以包括用于移动机器100的上述通信接口的控制器,致动子单元132可以包括用于实现移动机器100的运动的上述组件/设备的控制器。在其他实施例中,通信子单元131和/或致动子单元132可以只是抽象组件,用以表示移动机100的组件之间的逻辑关系。
移动机器100还可以包括传感器子单元133,其可以包括一组传感器和相关控制器,例如RGB-D相机C、LiDAR S1、IR Si和一个IMU 1331(或者加速度计和陀螺仪),用于检测其所处的环境、以实现其导航。传感器子单元133通过一或多条通信总线或信号线与控制单元130通信,该一或多条通信总线或信号线可以与上述的一或多条通信总线或信号线L相同、或至少部分不同。在其他实施例中,在导航模块121为上述导航单元的情况下,传感器子单元133可以通过一或多条通信总线或信号线与导航单元通信,该通信总线或信号线可以与上述的一或多条通信总线或信号线L相同、或至少部分不同。此外,传感器子单元133可以只是抽象组件,用以表示移动机器100的组件之间的逻辑关系。
除了检测地毯Cc之外,RGB-D相机C可能有利于检测具有丰富特征或轮廓明显的小物体(例如手机和地毯Cc上的一滩水),以及上部比下部大的悬浮物。例如对于有四条腿的桌子,RGB-D相机C可以识别桌子的表面,而LiDAR S1只能检测到四条腿而不知道其上面有一个表面。IR Si可能有利于检测超过5厘米高度的小障碍物。在其他实施例中,传感器S中上述传感器的数量可以根据实际需要而改变,传感器S可以包括上述种类的传感器中的一部分(例如RGB-D相机C和LiDAR S1),并且可以包括其他类型的传感器(例如声纳)。
在一些实施例中,地图构建器1211、轨迹规划器1212、传感器子单元133和电机1321(以及连接到电机1321的移动机器100的轮子E和/或关节)共同组成一个(导航)系统,实现地图构建、(全局和局部)轨迹规划和电机驱动,以实现移动机器100的导航。此外,图2B中所示的各种组件可以以硬件、软件或硬件和软件的组合来实现。处理单元110、存储单元120、控制单元130、导航模块121和其他单元/子单元/模块中的两个或更多个可以实现在单个芯片或电路上。在其他实施例中,它们中的至少一部分可以在单独的芯片或电路上实现。
图3A是图2A的移动机器进行地毯检测的例子的示意框图。在一些实施例中,以例如将对应于供移动机器100检测地毯的地毯检测方法的指令(组)In存储为存储单元120中的导航模块121并通过处理单元110执行所存储的指令In的方式在移动机器100中实现该地毯检测方法,而后移动机器100可以使用RGB-D相机C来检测地毯。可以响应于来自例如移动机器100本身或控制装置200(的导航/操作系统)的地毯和/或地毯卷曲的检测的请求来执行该地毯检测方法,该地毯检测方法也可以在移动机器100的每次方向改变之后(例如在图1A的轨迹T2中的位姿S5的移动之后)被重新执行。根据该地毯检测方法,处理单元110可以通过RGB-D相机C获取RGB-D图像对G(图3A的框310),其中每个RGB-D图像对G包括RGB图像Gr和对应于RGB图像Gr的深度图像Gd。可以获取一或多个RGB-D图像对G,例如选择一个RGB-D图像对G(比如满足一定质量的合格的RGB-D图像对G)来使用。图3B是图1A场景的RGB图像Gr的示意图。RGB图像Gr包括红色通道、绿色通道和蓝色通道,用于表示RGB图像Gr中的场景物体(例如地毯Cc和地板F)的颜色,深度图像Gd包括用于表示与深度图像Gd中的场景物体的距离的数据。
在该地毯检测方法中,处理单元110还可以使用第一深度学习模型M1来检测RGB-D图像对G的RGB图像Gr中的地毯区域Ac,并生成第一2D(two-dimensional,二维)边界框(Bbox)B1(其可以具有诸如“地毯”之类的标签)以标记每个地毯区域Ac(图3A的框320)。第一深度学习模型M1是基于例如YOLO算法的计算机模型,其通过使用大量标记数据-即包含地毯类的第一数据集D1、以及包含多个层的神经网络架构来进行训练,从而直接从所输入的RGB Gr图像中学习执行分类任务,以检测RGB图像Gr中的地毯区域Ac。第一数据集D1是例如不同场景中的超过10,000张地毯图像。处理单元110可以进一步使用第二深度学习模型M2来检测RGB-D图像对G的RGB图像Gr中的地毯卷曲区域Ar,并生成第二2D边界框B2(其可以具有诸如“地毯卷曲”之类的标签)以标记每个地毯卷曲区域Ar(图3A的块330)。第二深度学习模型M2是基于例如YOLO算法的计算机模型,其通过使用大量标记数据-即包含地毯卷曲类的第二数据集D2、以及包含多个层的神经网络架构来进行训练,从而直接从所输入的RGB Gr图像中学习执行分类任务,以检测RGB图像Gr中的地毯卷曲区域Ar。第二数据集D2是例如不同场景中的超过10,000张地毯卷曲图像。
需要说明的是,在用于训练深度学习模型的数据集中,地毯和地毯卷曲被视为两个独立的类。第一数据集D1可能包括来自COCO(common objects in context,上下文中的常见对象)数据集的图像,其中包含地毯、毯子和垫子。此外,第一数据集D1还可以包括办公室收集的包含地毯类的数据集。第二数据集D2可以包括办公室收集的包含地毯卷曲类的数据集。也可以通过对数据集应用原始图像的加噪、翻转、灰度、收缩等数据工程技术来平衡地毯和地毯卷曲的注解实例的数目。第一深度学习模型M1和第二深度学习模型M2可以基于YOLO v4 tiny的算法使用上述数据集进行训练,分别输出地毯区域Ac的第一2D边界框B1和地毯卷曲区域Ar的第二2D边界框B2
在该地毯检测方法中,处理单元110还可以通过将对应于地毯区域Ac的第一2D边界框B1内的RGB图像Gr的每个像素与RGB-D图像对G的深度图像Gd中的每个像素进行匹配来生成对应于每个RGB-D图像对G的RGB图像Gr中的每个地毯区域Ac的一个地毯点组Pc(图3A的块340)。由于将第一2D边界框B1内的RGB图像Gr的所有像素点作为检测到的地毯区域Ac,因此可以通过将第一2D边界框B1内的像素与深度图像Gd中的对应像素进行匹配来获取代表检测到的地毯Cc的全部或部分的地毯点组Pc。处理单元110可以进一步通过将对应于地毯卷曲区域Ar的第二2D边界框B1内的RGB图像G的每个像素与RGB-D图像对G的深度图像Gd中的每个像素进行匹配来生成对应于每一RGB-D影像对G的RGB影像G中每一毛毯卷曲区域Ar的一个毛毯卷曲点组Pr(图3A的块350)。由于将第二2D边界框B2内的RGB图像Gr的所有像素作为检测到的地毯卷曲面积Ar,因此可以通过将第二2D边界框B2内的像素与深度图像Gd中的对应像素进行匹配来获取代表检测到的毛毯卷曲Cr的全部或部分的地毯卷曲点组Pr
地毯区域检测(即图3A的块320)和地毯点组生成(即图3A的框340)可以与地毯卷曲区域检测(即图3A的框330)和地毯卷曲点组生成(即图3A的框350)同时执行,例如可以由处理单元110中的不同处理器所执行的不同线程、或其他并行处理机制来同时执行。在一个实施例中,每个RGB-D图像对G的RGB图像Gr和对应于RGB图像Gr中的每个地毯区域Ac的生成的第一2D框B1(其可以具有诸如“地毯”之类的标签)可以显示在移动机器100的显示器(例如屏幕)上、以标记地毯区域Ac,而且对应于RGB图像Gr中的每个地毯卷曲区域Ar的生成的第二2D框B2(其可以具有诸如“地毯卷曲”之类的标签)也可以在显示器上显示、以标记地毯卷曲区域Ar,从而将检测到的地毯Cc和检测到的地毯卷曲Cr显示给用户U。
图4A是图2A的移动机器100的移动控制的例子的示意框图。在一些实施例中,以例如将对应于基于上述地毯检测方法(如图3A)的移动控制方法的指令(组)In存储为存储单元120中的导航模块121并通过处理单元110执行所存储的指令In的方式在移动机器100中实现该移动控制方法来导航移动机器100,而后可以对移动机器100进行导航。可以响应于来自例如移动机器100本身或控制装置200(的导航/操作系统)的请求来执行该移动控制方法,并且可以同时考虑通过移动机器100的RGB-D相机C检测到的障碍物(例如地毯Cc的地毯卷曲Cr、墙壁、家具、人、宠物和垃圾),而后该移动控制方法也可以在例如移动机器100的每次方向改变(例如在图1A的轨迹T2中的位姿S5的移动之后)之后被重新执行。
根据该移动控制方法,除了如同上述地毯检测方法中执行RGB-D图像获取(图4A的框410,即图3A的框310)、地毯区域检测(图4A的框420,即图3A的框320)、地毯卷曲区域检测(图4A的框430,即图3A的框330)、地毯点组生成(图A的框440,即图3A的框340)、以及地毯卷曲点群组生成(图4A的框450,即图3A的框350)以外,处理单元110可以进一步将对应于每个RGB-D图像对G的RGB图像Gr中的每个地毯区域Ac的所生成的地毯点组Pc作为地毯Cc(图4A的框460)。将所生成的与一个地毯区域Ac对应的一个地毯点组Pc作为一个地毯Cc,将不同地毯区域Ac对应的各个地毯点组Pc作为不同的地毯Cc。处理单元110可进一步基于对应于每个地毯卷曲区域Ar的所生成的地毯卷曲点组Pr来获取对应于每个RGB-D图像对G的RGB图像Gr中的每个地毯卷曲区域Ar的每个地毯卷曲Cr,并且将每个地毯卷曲Cr作为一个(地毯卷曲)障碍物Or(图4A的框470)。将对应于一个地毯卷曲区域Ar的地毯卷曲Cr作为一个障碍物Or,并将对应于不同地毯卷曲区域Ar的地毯卷曲Cr作为不同的障碍物Or。图4B是在图4A的移动机器的移动控制的例子中确定地毯和地毯卷曲的例子的示意框图。在一个实施例中,为了执行地毯确认(即,图4A的框460),处理单元110可以将所有生成的地毯点组Pc组合成地毯Cc(图4B的框461),所有生成的地毯点组Pc都被视为单个地毯。为了执行地毯卷曲障碍物确认(即图4A的框470),处理单元110可以生成3D(three-dimensional,三维)边界框B3以标记每个RGB-D图像对G的RGB图像Gr中每个地毯卷曲区域Ar对应的所生成的地毯卷曲点Pr组(图4B的框471),处理单元110可以进一步所将生成的3D边界框B3作为障碍物Or(图4B的框472)。通过将3D边界框B3本身作为障碍物Or,可以很容易地获取障碍物Or在3D坐标系中的位置(和方向),从而实现碰撞避免。由于每个地毯卷曲都可以被视为一个独立的障碍物,因此所生成的属于不同地毯卷曲的地毯卷曲点组Pr不会被组合在一起。一个地毯卷曲区域Ar所对应的地毯卷曲点组Pr由一3D边界框B3标记,不同的毛毯卷曲区域Ar所对应的地毯卷曲点组Pr由不同的3D边界框B3标记。
在该地毯检测方法中,处理单元110还可以控制移动机器100参考每个RGB-D图像对G的RGB图像Gr中的每个地毯区域Ac对应的地毯Cc进行移动、以避开障碍物Or(图4A的框480)。图4C是在图4A的移动机器的移动控制的例子中的移动控制的例子的示意框图。在一些实施例中,为了执行移动控制(即图4A的框480),处理单元110可以规划可避开障碍物的轨迹T(图4C的框481)。所要避开的障碍物可以是在地毯卷曲障碍物确定(即图4A的框470)中确认的障碍物Or和在障碍物检测(参见图4C的框482)中检测到的障碍物Oo。轨迹T包括一系列位姿(例如轨迹T2的位姿S1-S9),每个位姿包括用于移动机器100的位置(例如坐标系中的坐标)和姿态(例如坐标系中的欧拉角)。根据RGB-D相机C的高度和俯仰角可以得到地毯Cc(或要避开的障碍物)相对于移动机器100的相对位置,根据相对位置可以得到轨迹T中对应的位姿。轨迹T可以由上述全局轨迹规划器基于地图构建器1211所构建的地图来规划。例如在确认障碍物Or(即图4A的框470)或检测到障碍物Oo(参见图4C的框482)时,可以重新规划轨迹T。处理单元110还可以通过传感器子单元133中的传感器检测障碍物Oo(图4C的框482)。可以在轨迹规划之后、之前或同时执行障碍物检测(即图4C的框481)。可以通过传感器子单元133中的一或多个传感器(例如RGB-D相机C、LiDAR S1和IR Si)来检测障碍物Oo。例如可以通过传感器子单元133中的传感器收集传感器数据,并且可以分析所收集的数据以识别例如突然出现或在接近时突然发现的障碍物Oo。传感器数据可以由不同的传感器收集(例如LiDAR S1和IR Si),并且可以使用诸如卡尔曼滤波器之类的融合算法来融合从传感器接收到的传感器数据,以便减少由于噪声数据引起的不确定性、融合不同频率的数据、以及合并相同对象的数据等。例如可以通过传感器子单元133中的RGB-D相机C采集图像(例如获取RGB-D图像对G中的RGB图像Gr),并且可以通过传感器子单元133中的诸如激光雷达S1和IRSi的其他传感器收集其他数据,然后可以融合收集到的数据进行分析,从而识别障碍物Oo
处理单元110可以进一步基于所规划的全局轨迹、通过移动机器100的传感器子单元133采集的传感器数据、以及移动机器100的当前位姿(即移动机器100当前在轨迹T中的姿态)来规划局部轨迹(例如包括图1A中的位姿S1-S4的轨迹T2的一部分)。例如传感器数据可以通过LiDAR S1和IR Si收集,可以分析所收集的传感器数据以识别障碍物(例如障碍物Oo),使得可以参考识别出的障碍物来规划局部路径,并且可以通过所规划的局部路径来移动移动机器100以避开障碍物。在一些实施例中,可以使用上述轨迹规划器通过基于规划的全局轨迹生成局部轨迹、同时考虑所识别的障碍物(例如避开所识别的障碍物)来规划局部轨迹。此外,可能会以例如每个预定时间间隔(比如1秒)重新执行障碍物检测,直到根据所规划的轨迹T的所有运动控制完成(参见图4C的框483)。
为了执行移动控制(图4A的框480),处理单元110可以进一步通过根据轨迹T来驱动移动机器100的电机1321、以控制移动机器100按照轨迹T移动(图4C的框483)。例如移动式机器100可以根据轨迹T来旋转电机1321(并转动轮子E),使得移动机器100满足轨迹T的每个位姿处的位置和姿态。处理单元110可以进一步通过响应于移动机器100在地毯Cc上而调整电机1321的参数来维持移动机器100的当前速度(图4C的框484)。例如处理单元110先基于地毯Cc相对于移动机器100的相对位置的和移动机器100的当前位置(例如通过IMU1331获取的位置)来判断移动机器100是否已经在地毯Cc上,然后改变驱动电机1321的功率以抵消地毯Cc的摩擦力,以便在确定移动机器100已经在地毯Cc上时保持移动式机器100的当前速度。如果移动机器100在保持速度(即图4C的框484)之后还没有完成轨迹T中的最后一个姿势(例如轨迹T2中的第二期望位姿Sd2)的移动,那么可以重新执行电机致动(即图4C的框483),直到完成轨迹T中的最后一个位姿的移动。
图5是本申请的一些实施例中的导航方法的流程图。在一些实施例中,可以在移动机器100中实施导航方法以对移动机器100进行导航。因此,在步骤510中,可以通过RGB-D相机C获取RGB-D图像对G(即图3A的框310)。在步骤520中,第一深度学习模型M1用于检测RGB-D图像对G的RGB图像Gr中的地毯区域Ac、并生成第一2D边界框B1来标记每个地毯区域Ac(即图3A的框320),并且第二深度学习模型M2用于检测RGB-D图像对G的RGB图像Gr中的地毯卷曲区域Ar、并生成第二2D边界框B2来标记每个地毯卷曲区域Ar(即图3A的框330)。在步骤530中,确定是否已经检测到地毯区域Ac或地毯卷曲区域Ar
如果确定检测到地毯区域Ac或地毯卷曲区域Ar,则执行步骤540;否则,将执行步骤550。在步骤540中,通过将对应于地毯区域Ac的第一2D边界框B1内的RGB图像Gr的每个像素与RGB-D图像对G的深度图像Gd中的每个像素进行匹配来生成对应于每个RGB-D图像对G的RGB图像Gr中的每个地毯区域Ac的一个地毯点组Pc(即图3A的框340),并通过将对应于地毯卷曲区域Ar的第二2D边界框B1内的RGB图像G的每个像素与RGB-D图像对G的深度图像Gd中的每个像素进行匹配来生成每个RGB-D图像对G的RGB图像G中每个毛毯卷曲区域Ar对应的地毯卷曲点组Pr(即图3A的块350),基于所生成的对应于每个地毯卷曲区域Ar的地毯卷曲点组Pr来得到每个RGB-D图像对G的RGB图像Gr中的每个地毯卷曲区域Ar对应的每个地毯卷曲Cr,并且每个毛毯卷曲Cr被作为一个障碍物Or(即图4A的框470)。在步骤550中,规划可避开障碍物的轨迹T(即图4C的框481),根据轨迹T致动移动机器100的电机1321来控制移动机器100按照计划轨迹T移动(即图4C的框483),并且可以通过响应于移动机器100在地毯Cc上来调整电机1321的参数,以进一步维持移动机器100的当前速度(图4C的框484),轨迹T中所要避开的障碍物可以包括在步骤540中确定的障碍物Or,以及通过传感器子单元133中的传感器检测到的障碍物Oo(即图4C的框482)。在步骤550之后,若移动设备100已完成轨迹T中最后一个位姿的移动(例如轨迹T2中的第二期望位姿Sd2),则该方法结束,移动设备100的导航结束;否则,将重新执行该方法(即步骤510及其后续步骤)。例如可以在移动机器100的每次方向改变之后重新执行该方法(例如在图1A的轨迹T2中的位姿S5的移动之后)。需要说明的是,在移动机100每次方向改变之后重新执行该方法,可以通过新获取的RGB-D图像对G来获取不同角度的地毯Cc和地毯卷曲Cr,因此可以相应地更新相对于移动机器100的相对位置。
从上述导航方法中可以看出,在移动设备100移动之前和移动过程中会检测到地毯Cc和地毯卷曲Cr,使得当移动式机器100在地毯Cc上移动时移动机器100的速度可以保持的同时可以避开作为障碍物Or的地毯卷曲Cr。该方法简单,因为它只包括几个步骤、不需要复杂的计算,而且该方法只需要经济的RGB-D相机C来检测地毯Cc和地毯卷曲Cr,因此可以实时地进行地毯Cc和地毯卷曲Cr的检测、同时需要少量成本。与现有的导航方式相比,有效提高了移动机器100在有地毯的场景下移动的稳定性和安全性。
本领域技术人员可以理解,上述实施例中的方法的全部或部分可以通过使用一或多个计算机程序来指示相关硬件而实现。此外,一或多个程序可以存储在非暂时性计算机可读存储介质中。当执行一或多个程序时,执行上述实施例中对应的方法的全部或部分。对存储、存储器、数据库或其他介质的任何引用可以包括非暂时性和/或暂时性存储器。非暂时性存储器可以包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、固态驱动器(SSD)等。易失性存储器可以包括随机存取存储器(RAM)、外部高速缓存存储器等。
处理单元110(以及上述处理器)可以包括中央处理单元(CPU),或者是其他通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA),或者是其他可编程逻辑器件、分立门、晶体管逻辑器件和分立硬件组件。通用处理器可以是微处理器,可以是任何常规处理器。存储单元120(以及上述存储器)可以包括诸如硬盘和内部存储器的内部存储单元。存储单元120还可以包括外部存储设备,例如插入式硬盘、智能媒体卡(SMC)、安全数字(SD)卡和闪存卡。
实施例中描述的示例性单元/模块和方法/步骤可以通过软件、硬件或者软件和硬件的结合来实现。这些功能究竟是通过软件实现还是通过硬件实现,取决于技术方案的具体应用和设计约束。上述的地毯检测方法及移动机100可以通过其他方式实现。例如单元/模块的划分仅仅是逻辑上的功能划分,在实际实现中还可以采用其他划分方式,即可以将多个单元/模块组合或集成到另一个系统中,或者某些特征可以被忽略或不执行。此外,上述相互耦合/连接可以是直接耦合/连接或通信连接,也可以是通过一些接口/设备的间接耦合/连接或通信连接,还可以是电气、机械或其他形式。
上述实施例仅用于说明本发明的技术方案,并不用于限制本发明的技术方案。虽然本发明已经结合上述实施例进行了详细说明,但是上述各个实施例中的技术方案仍然可以进行修改,或者部分技术特征可以等效替换,从而使这些修改或替换没有使相应技术方案的实质脱离本发明各实施例的技术方案的精神和范围,均应包含在本发明保护的范围之内。

Claims (10)

1.一种地毯检测方法,包括:
通过RGB-D相机获取一或多个RGB-D图像对,其中各该RGB-D图像对包括RGB图像和深度图像;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯区域,并基于包括地毯类的第一数据集、使用第一深度学习模型来生成第一2D边界框以标记每个该地毯区域;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯卷曲区域,并基于包含地毯卷曲类的第二个数据集、使用第二深度学习模型来生成第二2D边界框以标记每个该地毯卷曲区域;
通过将对应于各该地毯区域的该第一2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的一组地毯点;以及
通过将对应于各该地毯卷曲区域的该第二2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的一组地毯卷曲点。
2.如权利要求1所述的方法,还包括:
将所生成的所有组地毯点组合成地毯。
3.如权利要求1所述的方法,还包括:
生成3D边界框以标记所生成的该组地毯卷曲点,其中该组地毯卷曲点对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域。
4.如权利要求1所述的方法,其中该第一深度学习模型和该第二深度学习模型是基于YOLO算法。
5.如权利要求4所述的方法,其中该第一深度学习模型是使用包括COCO数据集的该第一数据集而训练的。
6.一种控制移动机器进行移动的方法,其中该移动机器具有RGB-D相机,
所述方法包括:
在该移动机器的一或多个处理器上:
通过RGB-D相机获取一或多个RGB-D图像对,其中各该RGB-D图像对包括RGB图像和深度图像;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯区域,并基于包括地毯类的第一数据集、使用第一深度学习模型来生成第一2D边界框以标记每个该地毯区域;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯卷曲区域,并基于包含地毯卷曲类的第二个数据集、使用第二深度学习模型来生成第二2D边界框以标记每个该地毯卷曲区域;
通过将对应于各该地毯区域的该第一2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的一组地毯点;
通过将对应于各该地毯卷曲区域的该第二2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的一组地毯卷曲点;
将对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的所生成的该组地毯点作为地毯;
基于对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的所生成的该组地毯卷曲点来获取一或多个地毯卷曲,并将各该地毯卷曲作为障碍物,其中各该地毯卷曲对应于各该地毯卷曲区域;以及
控制该移动机器参考对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的该地毯进行移动以避开该障碍物。
7.如权利要求6所述的方法,其中所述将对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的所生成的该组地毯点作为该地毯包括:
将所生成的所有组地毯点组合成该地毯;以及
控制该移动机器参考对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的该地毯进行移动以避开该障碍物,包括:
控制该移动机器参考所组合的该地毯进行移动以避开该障碍物。
8.如权利要求6所述的方法,其中所述基于对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的所生成的该组地毯卷曲点来获取该一或多个地毯卷曲,并将各该地毯卷曲作为该障碍物包括:
生成3D边界框以标记对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的所生成的该组地毯卷曲点;以及
将所生成的该3D边界框作为该障碍物。
9.一种移动机器,包括:
RGB-D相机;
一或多个处理器;以及
一或多个存储器,存储有一或多个计算机程序,该一或多个计算机程序由该一或多个处理器执行,其中该一或多个计算机程序包括多个指令用于:
通过RGB-D相机获取一或多个RGB-D图像对,其中各该RGB-D图像对包括RGB图像和深度图像;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯区域,并基于包括地毯类的第一数据集、使用第一深度学习模型来生成第一2D边界框以标记每个该地毯区域;
检测该一或多个RGB-D图像对的该RGB图像中的一或多个地毯卷曲区域,并基于包含地毯卷曲类的第二个数据集、使用第二深度学习模型来生成第二2D边界框以标记每个该地毯卷曲区域;
通过将对应于各该地毯区域的该第一2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的一组地毯点;以及
通过将对应于各该地毯卷曲区域的该第二2D边界框内的该RGB图像的每个像素与各该RGB-D图像对的该深度图像中的每个像素进行匹配来生成对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的一组地毯卷曲点。
10.如权利要求9所述的移动机器,其中该一或多个计算机程序还包括多个指令用于:
将对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的所生成的该组地毯点作为地毯;
基于对应于各该RGB-D图像对的该RGB图像中的各该地毯卷曲区域的所生成的该组地毯卷曲点来获取一或多个地毯卷曲,并将各该地毯卷曲作为障碍物,其中各该地毯卷曲对应于各该地毯卷曲区域;以及
控制该移动机器参考对应于各该RGB-D图像对的该RGB图像中的各该地毯区域的该地毯进行移动以避开该障碍物。
CN202280003746.0A 2021-05-31 2022-03-02 地毯检测方法、运动控制方法以及使用该些方法的移动机器 Pending CN115668293A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US17/334,834 US12001216B2 (en) 2021-05-31 2021-05-31 Carpet detection method, movement control method, and mobile machine using the same
US17/334,834 2021-05-31
PCT/CN2022/078831 WO2022252722A1 (zh) 2021-05-31 2022-03-02 地毯检测方法、运动控制方法以及使用该些方法的移动机器

Publications (1)

Publication Number Publication Date
CN115668293A true CN115668293A (zh) 2023-01-31

Family

ID=84195063

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280003746.0A Pending CN115668293A (zh) 2021-05-31 2022-03-02 地毯检测方法、运动控制方法以及使用该些方法的移动机器

Country Status (3)

Country Link
US (1) US12001216B2 (zh)
CN (1) CN115668293A (zh)
WO (1) WO2022252722A1 (zh)

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140363073A1 (en) * 2013-06-11 2014-12-11 Microsoft Corporation High-performance plane detection with depth camera data
US11576543B2 (en) * 2014-07-18 2023-02-14 Ali Ebrahimi Afrouzi Robotic vacuum with rotating cleaning apparatus
US20180276891A1 (en) * 2017-03-24 2018-09-27 Pcms Holdings, Inc. System and method for providing an in-context notification of a real-world event within a virtual reality experience
JP7264584B2 (ja) * 2017-06-08 2023-04-25 東芝ライフスタイル株式会社 自律型電気掃除装置
DE102017112794A1 (de) * 2017-06-09 2018-12-13 Vorwerk & Co. Interholding Gmbh Verfahren zum Betrieb eines sich selbsttätig fortbewegenden Bodenbearbeitungsgerätes
CN110442120B (zh) * 2018-05-02 2022-08-05 深圳市优必选科技有限公司 控制机器人在不同场景下移动的方法、机器人及终端设备
KR102302198B1 (ko) * 2018-11-12 2021-09-14 삼성전자주식회사 청소 장치 및 그 제어 방법
US11245883B2 (en) * 2018-12-17 2022-02-08 Lightform, Inc. Method for augmenting surfaces in a space with visual content
US11613016B2 (en) * 2019-07-31 2023-03-28 Brain Corporation Systems, apparatuses, and methods for rapid machine learning for floor segmentation for robotic devices
CN110622085A (zh) * 2019-08-14 2019-12-27 珊口(深圳)智能科技有限公司 移动机器人及其控制方法和控制系统
US11295162B2 (en) * 2019-11-01 2022-04-05 Massachusetts Institute Of Technology Visual object instance descriptor for place recognition
CN111035327B (zh) 2019-12-31 2024-01-30 上海飞科电器股份有限公司 清洁机器人、地毯检测方法及计算机可读存储介质
EP4075327A1 (en) * 2021-04-15 2022-10-19 Aptiv Technologies Limited Methods and systems for training a machine learning method for determining pre-determined points in an image

Also Published As

Publication number Publication date
WO2022252722A1 (zh) 2022-12-08
US12001216B2 (en) 2024-06-04
US20220382293A1 (en) 2022-12-01

Similar Documents

Publication Publication Date Title
US11803185B2 (en) Systems and methods for initializing a robot to autonomously travel a trained route
JP6896077B2 (ja) 車両自動パーキングシステム及び方法
JP7341652B2 (ja) 情報処理装置、情報処理方法、プログラム、およびシステム
TWI827649B (zh) 用於vslam比例估計的設備、系統和方法
KR101575597B1 (ko) 로봇 청소 시스템 및 로봇 청소기의 제어방법
US20190184569A1 (en) Robot based on artificial intelligence, and control method thereof
Frank et al. Toward mobile mixed-reality interaction with multi-robot systems
US20210046644A1 (en) Automated personalized feedback for interactive learning applications
KR101423139B1 (ko) 3차원 직선을 이용하여 위치를 인식하고 지도를 생성하는 방법 및 그 방법에 따른 이동체
JP2017054475A (ja) 遠隔操作装置、方法及びプログラム
WO2019001237A1 (zh) 一种移动电子设备以及该移动电子设备中的方法
WO2018131165A1 (ja) 情報処理プログラム、情報処理方法および情報処理装置
Maier et al. Vision-based humanoid navigation using self-supervised obstacle detection
EP4088884A1 (en) Method of acquiring sensor data on a construction site, construction robot system, computer program product, and training method
JP2021177144A (ja) 情報処理装置、情報処理方法及びープログラム
WO2018228258A1 (zh) 一种移动电子设备以及该移动电子设备中的方法
Wei et al. An approach to navigation for the humanoid robot nao in domestic environments
WO2022227632A1 (zh) 基于图像的轨迹规划方法和运动控制方法以及使用该些方法的移动机器
WO2023273389A1 (zh) 人体躺姿检测方法及使用该方法的移动机器
CN115668293A (zh) 地毯检测方法、运动控制方法以及使用该些方法的移动机器
WO2019202878A1 (en) Recording medium, information processing apparatus, and information processing method
Qian et al. An improved ORB-SLAM2 in dynamic scene with instance segmentation
WO2023042531A1 (ja) 撮像システム、および撮像方法
US20240192695A1 (en) Anchoring based transformation for aligning sensor data of a robot with a site model
Hsu et al. Using a Robot for Indoor Navigation and Door Opening Control Based on Image Processing

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