技术领域
[0001] 本公开涉及一种机器人装置及其控制方法,并且更具体地,涉及用于使用可靠性值识别移动路径的机器人装置及其控制方法。
相关背景技术
[0002] 在空间中行进并执行特定动作的各种类型的机器人装置已变得流行,诸如在商店、咖啡馆或餐馆中代替人的服务机器人、即使没有用户的单独操作也可在其自身行进时通过抽吸异物来自动清洁要清洁的区域的机器人清洁器等。
[0003] 在相关技术中,机器人装置可获得地图,估计其在地图中的位置,并沿着移动路径移动。然而,随着机器人装置移动,所估计的位置和实际位置之间的误差可能累积,从而导致明显偏差。
[0004] 例如,机器人装置可能在移动路径的终点处估计出机器人装置本身位于地图中的终点。然而,机器人装置实际可能位于完全不同的位置而不是移动路径的终点。
[0005] 也就是说,已经存在对一种方法的需求,所述方法在机器人装置沿着移动路径移动时,识别由机器人装置本身估计的机器人装置的位置与其实际位置之间的误差的程度,并考虑该误差来设置(或重置)移动路径。
具体实施方式
[0027] 在下文中,将参照附图详细描述本公开。
[0028] 考虑到本公开中的功能,选择当前广泛使用的通用术语作为在本公开的实施例中使用的术语,并可基于本领域中的技术人员的意图或司法先例、新技术的出现等改变。此外,在特定情况下,可存在由申请人任意选择的术语。在这种情况下,这些术语的含义在本公开的相应描述中被详细提及。因此,本公开的实施例中使用的术语需要在术语的含义和贯穿本公开的内容的基础上定义,而不是在术语的简单名称的基础上定义。
[0029] 在本公开中,表述“具有”、“可具有”、“包括”、“可包括”等指示存在相应特征(例如,数值、功能、操作或诸如部件的组件),并且不排除存在附加特征。
[0030] 表述“A或B中的至少一个”可指示仅A、指示仅B或指示A和B两者。
[0031] 本公开中使用的表述“第一”、“第二”等可指示各种组件,而不管所述组件的顺序或重要性如何。这些表述仅用于将一个组件与另一组件进行区分,并且不限制相应组件。
[0032] 在提到任何组件(例如,第一组件)与另一组件(例如,第二组件)“(可操作地或可通信地)耦接/“(可操作地或可通信地)耦接到”另一组件(例如,第二组件)或“连接到”另一组件(例如,第二组件)的情况下,应当理解,任何组件可直接耦接到另一个组件,或可通过又一组件(例如,第三组件)耦接到另一组件。
[0033] 除非上下文中另有明确指示,否则单数术语可包括它的复数。应当理解,本申请中使用的术语“包括”、“由…构成”等指定存在说明书中提及的特征、数字、步骤、操作、组件、部件或其组合,并且不排除存在或添加一个或多个其他特征、数字、步骤、操作、组件、部件或其组合。
[0034] 在实施例中,“模块”或“ 器”可执行至少一个功能或操作,并可通过硬件或软件来~实现,或者通过硬件和软件的组合来实现。另外,除了需要通过特定硬件实现的“模块”或“~
器”以外,多个“模块”或多个“ 器”可集成在至少一个模块中,并可通过至少一个处理器实~
现。
[0035] 在说明书中,诸如“用户”这样的术语可以指使用电子装置的人或使用电子装置的装置(例如,人工智能电子装置)。
[0036] 在下文中,将参照附图详细描述本公开的实施例。
[0037] 图1是用于解释根据本公开的一个或多个实施例的机器人装置的视图。
[0038] 如图1所示,机器人装置100可指具有为其自身执行功能的能力的各种类型的装置。例如,机器人装置100可以是通过基于传感器(例如,光检测和测距(LiDAR)传感器或相机)的检测数据实时检测机器人装置100的周围环境并且除了执行简单且重复的功能之外还收集信息,来自主操作的智能装置。
[0039] 根据本公开的一个或多个实施例的机器人装置100可包括:包括致动器或电机的驱动器。根据一个或多个实施例的驱动器可包括轮子、制动器等,并且机器人装置100可通过使用包括在驱动器中的轮子、制动器等在特定空间中移动自身。
[0040] 根据一个或多个实施例的机器人装置100可通过使用驱动器来控制机器人关节的移动(或连接)。这里,机器人关节可以是机器人装置100的用于代替人的手臂或手的功能的一个组件。
[0041] 根据本公开的一个或多个实施例的机器人装置100可基于传感器的检测数据实时检测机器人装置100的周围环境。接下来,机器人装置100可基于检测到的周围环境控制驱动器。例如,机器人装置100可基于传感器的检测数据识别机器人装置100的移动路径。
[0042] 例如,机器人装置100可基于检测数据获取机器人装置100所位于的空间的地图,并识别机器人装置100在地图上的位置。例如,机器人装置100可实时识别其位置,并在空间中沿着移动路径移动。因此,机器人装置100可能需要准确(或高可靠性)地识别其位置,以在空间中沿着移动路径移动。
[0043] 在下文中,说明书描述了各种实施例,其中,在所述各种实施例中,机器人装置100识别其在地图上的位置并且通过考虑所识别的位置是否与机器人装置100在空间中的当前位置(或实际位置)相匹配来识别移动路径。
[0044] 机器人装置100可基于其领域或可执行的功能被分类为用于工业、医疗、家庭、军事或勘探用途的机器人装置。根据一个或多个实施例,工业机器人装置可被细分为在工厂的产品制造过程中使用的机器人装置、在商店或餐馆中服务顾客、接收订单和提供服务等的机器人装置。例如,如图1所示,机器人装置100可被实现为服务机器人装置,所述服务机器人装置可将服务物品运送到用户期望的位置或运送到诸如餐馆、酒店、商场、医院、服装店等的各种场所中的任何一个中的特定位置。
[0045] 然而,这种实现方式仅是示例,并且机器人装置100可基于其应用领域、功能以及使用目的被分类为各种类型,并且不限于上述示例。
[0046] 例如,如图6所示,机器人装置100可被实现为位于房屋中的机器人清洁器。这里,机器人清洁器可以是由电力驱动并自动抽吸异物的装置。在下文中,为了便于解释,假设机器人装置100是机器人清洁器,并且机器人清洁器被实现与地板紧密接触以抽吸地板上的异物的扁平类型。然而,这种实现方式仅是示例,并且机器人装置100可以以如上所述的各种形式实现。
[0047] 图2是示出根据本公开的一个或多个实施例的机器人装置的配置的框图。
[0048] 根据一个或多个实施例的机器人装置100可包括:存储器110、传感器120和至少一个处理器130(以下称为处理器)。
[0049] 根据一个或多个实施例的存储器110可存储本公开的各种实施例所需要的数据。基于数据存储目的,存储器110可被实现为嵌入在机器人装置100中的存储器,或被实现为可从机器人装置100拆卸的存储器。例如,用于驱动机器人装置100的数据可被存储在嵌入在机器人装置100中的存储器中,并且用于机器人装置100的扩展功能的数据可被存储在可从机器人装置100拆卸的存储器中。
[0050] 嵌入在机器人装置100中的存储器可被实现为易失性存储器(例如,动态随机存储器(DRAM)、静态RAM(SRAM)或同步动态RAM(SDRAM))、非易失性存储器(例如,一次性可编程只读存储器(OPTROM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、掩模ROM或快闪ROM、闪存(例如,NAND闪存或NOR闪存)、硬盘驱动器或固态驱动器(SSD))中的至少一个。此外,可从机器人装置100拆卸的存储器可以以存储卡(例如,紧凑型闪存(CF)、安全数字(SD)、微型安全数字(Micro‑SD)、迷你安全数字(Mini‑SD)、极限数字(xD)或多媒体卡(MMC))或可连接到通用串行总线(USB)端口的外部存储器(例如,USB存储器)的形式来实现。
[0051] 例如,存储器110可存储用于控制机器人装置100的至少一个指令或包括所述指令的计算机程序。
[0052] 根据本公开的一个或多个实施例,各种数据可存储在处理器130的外部存储器中,所述数据中的一些可存储在处理器130的内部存储器中,并且其余数据可存储在外部存储器中。
[0053] 具体而言,存储器110可在处理器130的控制下存储机器人装置100所位于的空间的地图。
[0054] 例如,处理器130可基于从传感器120接收的检测数据获取机器人100所位于的空间的地图,并将地图存储在存储器110中。
[0055] 这里,传感器120可包括LiDAR传感器、相机等。
[0056] 例如,处理器130可通过控制LiDAR传感器发射激光光束来检测机器人装置100的周围环境,并且LiDAR传感器可获取距与机器人装置100相邻的对象的距离、所述对象相对于机器人装置100所位于的方向、以及所述对象的特征,作为检测数据。接下来,处理器130可基于检测数据获取机器人装置100的周围环境,作为二维(2D)/三维(3D)图像信息(例如,地图)。
[0057] 例如,处理器130可通过控制相机检测机器人装置100的周围环境来获取图像数据。这里,相机可在处理器130的控制下通过捕捉机器人装置100的周围环境来获取图像数据,并将所获取的图像数据发送到处理器130。接下来,处理器130可分析图像数据以获取距与机器人装置100相邻的对象的距离、所述对象相对于机器人装置100所位于的方向、以及所述对象的特征,并获取机器人装置100的周围环境,作为2D/3D图像信息(例如,地图)。
[0058] 传感器120不限于上述示例,除了LiDAR传感器或相机之外,还可包括可检测机器人装置100的周围环境的各种类型的传感器。
[0059] 根据本公开的一个或多个实施例的至少一个处理器130可控制机器人装置100的整体操作。
[0060] 根据本公开的一个或多个实施例,处理器130可被实现为处理数字信号的数字信号处理器(DSP)、微处理器或时间控制器(TCON)。然而,处理器130不限于此,并可包括中央处理单元(CPU)、微控制器单元(MCU)、微处理器单元(MPU)、控制器、应用处理器(AP)、通信处理器(CP)、高级精简指令集计算机(RISC)机器(ARM)处理器或人工智能(AI)处理器中的一个或多个,或者可由该术语定义。此外,处理器130可以以嵌入有处理算法的片上系统(SoC)或大规模集成电路(LSI)实现,或可以以现场可编程门阵列(FPGA)的形式来实现。处理器130可通过执行存储在存储器中的计算机可执行指令来执行各种功能。
[0061] 图3是用于解释根据本公开的一个或多个实施例的机器人装置所位于的空间的地图的视图。
[0062] 根据本公开的一个或多个实施例的处理器130可通过执行同时定位与地图构建(SLAM)操作来获取机器人装置100所位于的空间的地图。
[0063] 这里,SLAM操作可以是使用从传感器120接收的检测数据来获取机器人装置100所位于的空间的地图,并识别机器人装置100在地图上的位置的操作。
[0064] 例如,处理器130可基于从传感器120接收的检测数据估计机器人装置100在地图上的位置。
[0065] 例如,在顺序地(或连续地)接收第一检测数据和第二检测数据的情况下,处理器130可基于第一检测数据和第二检测数据获取机器人装置100的移动信息。
[0066] 接下来,处理器130可基于移动信息估计机器人装置100在接收到第二检测数据的时间点在地图上的位置。
[0067] 图4是用于解释根据本公开的一个或多个实施例的机器人装置的移动信息的视图。
[0068] 参考图4,处于机器人装置100中的传感器120可在时间点t获取第一检测数据,并将所获取的第一检测数据发送到处理器130。
[0069] 接下来,位于机器人装置100’(机器人装置100’与机器人装置100相同,但在时间上向前移位)中的传感器120可在时间点t+1获取第二检测数据,并将所获取的第二检测数据发送到处理器130。
[0070] 接下来,处理器130可基于第一检测数据和第二检测数据获取机器人装置100从时间点t到时间点t+1的移动信息。根据一个或多个实施例的处理器130可基于移动信息估计机器人装置100’在时间点t+1在地图上的位置。
[0071] 例如,传感器120可包括LiDAR传感器。处理器130可基于从LiDAR传感器接收的包括在第一检测数据中的第一点云数据和从LiDAR传感器接收的包括在第二检测数据中的第二点云数据,来将点云彼此组合(配准或对准)。
[0072] 例如,处理器130可通过使用LiDAR测程法(例如,迭代最近点(ICP)算法或正态分布变换(DNT))来将第一点云数据和第二点云数据彼此组合。接下来,处理器130可基于将第一点云数据与第二点云数据彼此组合的结果来估计机器人装置100’的位置(或移动轨迹)。
[0073] 例如,传感器120可包括相机。处理器130可基于从相机接收的包括在第一检测数据中的第一图像数据和从相机接收的包括在第二检测数据中的第二图像数据,来获取机器人装置100从时间点t到时间点t+1的移动信息。
[0074] 例如,处理器130可分析第一图像数据以识别包括在第一图像数据中的至少一个对象的特征(例如,至少一个对象的几何特征),并分析第二图像数据以识别第二图像数据中包括的至少一个对象的特征。
[0075] 接下来,处理器130可通过将包括在第一图像数据中的至少一个对象的特征与包括在第二图像数据中的至少一个对象的特征彼此进行比较,来获取机器人装置100从时间点t到时间点t+1的移动信息。
[0076] 接下来,处理器130可基于移动信息估计机器人装置100’的位置(或移动轨迹)。
[0077] 这里,传感器120可包括LiDAR传感器或相机中的至少一个。
[0078] 根据一个或多个实施例的处理器130可在机器人装置100在空间中移动时,基于从传感器120实时或顺序接收的多个检测数据,来估计机器人装置100在地图上的实时位置。
[0079] 根据一个或多个实施例的处理器130可识别机器人装置100在地图上的估计位置与其在空间中的实际位置彼此匹配的概率。
[0080] 例如,处理器130可识别机器人装置100的估计位置作为其实际位置是否可靠,即,估计位置与其实际位置匹配的概率(在下文中,可靠性值)。
[0081] 这里,可靠性值可表示基于移动信息的估计位置的可靠性,并且因此与位置测量失败值(或定位失败值(LFV))成反比。
[0082] 例如,在可靠性值高的情况下,基于移动信息的机器人装置100的估计位置很可能与其实际位置匹配,并且定位失败值可能低。另一方面,在可靠性值低的情况下,基于移动信息的机器人装置100的估计位置几乎不可能与其实际位置匹配,并且定位失败值可能高。
[0083] 根据一个或多个实施例的处理器130可将地图分类为多个区域,并且获取并存储多个区域中的每个区域的可靠性值。
[0084] 图5是用于解释根据本公开的一个或多个实施例的包括在地图中的多个区域的视图。
[0085] 参考图5,地图可被分类为多个区域。所述多个区域中的每个区域可被称为单元,并且为了方便解释,在下文中统称为区域。另外,图5中所示的多个区域中的每个尺寸是示例,并且不限于此。
[0086] 根据一个或多个实施例的处理器130可在机器人装置100移动时,基于从传感器120实时或顺序接收的多个检测数据,来估计机器人装置100的实时位置。
[0087] 接下来,处理器130可识别可靠性值(即,机器人装置100的估计位置与其实际位置匹配的概率),并将所识别的可靠性值与多个区域中的与估计位置相对应的区域彼此映射。
[0088] 因此,处理器130可识别多个区域中的每个区域的可靠性值,并获取与所述地图相对应的可靠性值图(或定位失败值(LFV))图(以下称为LFV图)。
[0089] 例如,在估计位置对应于机器人装置100的多个区域中的任何一个的情况下,处理器130可从可靠性值图获取机器人装置100的估计位置与其实际位置匹配的概率。
[0090] 处理器130可能需要识别空间中合适的移动路径,并可精确地(或高可靠性地)估计机器人装置在地图上的位置,以沿着所识别的移动路径精确地移动机器人装置100。
[0091] 根据一个或多个实施例的处理器130可基于包括在可靠性值图中的多个区域中的每个区域的可靠性值,来识别具有大于或等于临界值的可靠性值的至少一个区域。接下来,处理器130可基于所识别的至少一个区域识别机器人装置100在空间中的移动路径。
[0092] 例如,处理器130可基于可靠性值图,在具有相同的起点和终点的多个移动路径中,识别机器人装置被优先在具有大于或等于临界值的可靠性值的区域中移动的一个移动路径。
[0093] 例如,处理器130可基于可靠性值图,在具有相同的起点和终点的多个移动路径中,识别绕过具有小于临界值的可靠性值的区域的一个移动路径。
[0094] 接下来,处理器130可基于所识别的移动路径移动机器人装置100。
[0095] 在下文中,说明书描述了处理器130识别可靠性值的各种实施例。
[0096] 图6是用于解释根据本公开的一个或多个实施例的估计机器人装置的位置的方法的视图。
[0097] 参考图6,处理器130可基于从LiDAR传感器接收的包括在第一检测数据中的第一点云数据和从LiDAR传感器接收的包括在第二检测数据中的第二点云数据,来将点云彼此组合(配准或对准)。
[0098] 如图6所示,处理器130可基于与机器人装置100相邻的对象(例如,沙发)相对应的第一点云数据和第二点云数据将点云彼此组合。
[0099] 接下来,处理器130可基于组合结果获取移动信息,并基于所获取的移动信息估计机器人装置100在地图上的位置。
[0100] 此外,处理器130可通过识别从相机接收的包括在第一检测数据中的第一图像数据与从第二检测数据中包括的第二图像数据中的每个获取的对象的几何特征之间的共性/相似性,来获取机器人装置100从时间点t到时间点t+1的移动信息。此外,处理器130可基于移动信息估计机器人装置的位置。
[0101] 例如,处理器130可将多个区域中的与估计位置相对应的区域的可靠性值识别为大于或等于临界值。
[0102] 在一些情况下,机器人装置100附近可能没有对象存在(或者机器人装置100附近可能存在少数对象)。在这种情况下,处理器130无法获取第一点云数据和第二点云数据,并且因此可能无法将点云彼此组合。在这种情况下,处理器130无法基于组合结果获取移动信息,并且可能无法估计机器人装置100在地图上的位置。参考图7提供其详细描述。
[0103] 图7是用于解释根据本公开的一个或多个实施例的点云数据的视图。
[0104] 如图7所示,在机器人装置100附近存在少数对象的情况下,处理器130可具有包括在点云数据中的少量点。因此,在包括在点云数据中的点的数量少的情况下,处理器130可识别出与估计位置相对应的区域的可靠性值小于临界值。
[0105] 根据一个或多个实施例的处理器130可通过将第一点云数据的点云与第二点云数据的点云彼此组合来获取移动信息,并基于所获取的移动信息估计机器人装置100的位置。在包括在第一点云数据和第二点云数据中的每个中的点的数量少的情况下,处理器130可识别出与估计位置相对应的区域的可靠性值小于临界值。
[0106] 此外,在第一点云数据和第二点云数据中的每个不包括任何点的情况下,处理器130可能无法获取移动信息并无法估计机器人装置100在地图上的位置。
[0107] 处理器130可基于可靠性值图,在具有相同的起点和终点的多个移动路径中,识别机器人装置被优先移动通过具有大于或等于临界值的可靠性值的区域的一个移动路径。
[0108] 例如,参考图6中虚线指示的移动路径,移动路径可能包括具有小于临界值的可靠性值的区域。因此,处理器130可识别包括图6中实线指示的移动路径(即,具有大于或等于临界值的可靠性值的区域)的移动路径。
[0109] 图8是用于解释根据本公开的一个或多个实施例的动态对象的视图。
[0110] 参考图8,与机器人装置100相邻的对象可以是动态对象。在这种情况下,处理器130可基于与动态对象相对应的点云数据估计机器人装置的位置,并识别出与估计位置相对应的区域的可靠性值小于临界值。
[0111] 例如,处理器130可通过将第一点云数据的点云与第二点云数据的点云彼此组合来获取移动信息,并基于所获取的移动信息估计机器人装置100的位置。在第一点云数据和第二点云数据中的每个包括与动态对象相对应的点云的情况下,处理器130可识别出与估计位置相对应的区域的可靠性值小于临界值。
[0112] 例如,动态对象可以不像静态对象那样移动,并且机器人装置100从时间点t到时间点t+1的移动信息除了机器人装置100的移动之外还可包括动态对象的移动。
[0113] 例如,在基于移动信息估计机器人装置100的位置的情况下,处理器130除了考虑机器人装置100的移动之外,还可考虑动态对象的移动,来估计机器人装置100的位置。因此,机器人装置100的估计位置与其实际位置之间可能出现误差。因此,在第一点云数据和第二点云数据中的每个包括与动态对象相对应的点云的情况下,处理器130可识别出与估计位置相对应的区域的可靠性值小于临界值。
[0114] 传感器120可包括相机,并且处理器130可基于从相机接收的包括在第一检测数据中的第一图像数据和从相机接收的包括在第二检测数据中的第二图像数据来识别动态对象,并可在识别出动态对象(或识别出动态对象的数量大于或等于临界数量)的情况下,识别出与估计位置相对应的区域的可靠性值小于临界值。
[0115] 图9是用于解释根据本公开的一个或多个实施例的视场(FOV)的视图。
[0116] 参考图9,处理器130可基于从传感器接收的检测数据识别视场。
[0117] 在所识别的视场小于临界值的情况下,处理器130可识别出与估计位置相对应的区域的可靠性值小于临界值。
[0118] 如图9所示,处理器130可基于从相机接收的图像数据,来识别位于基于机器人装置100的移动方向(例如,行进方向)的左方向或右方向附近的对象(例如,障碍物10)。
[0119] 接下来,处理器130可基于所识别的对象来识别机器人装置100的视场。在识别出视场的角度小于临界角度的情况下,根据一个或多个实施例的处理器130可识别出与从所接收的图像数据估计的位置相对应的区域的可靠性值小于临界值。
[0120] 例如,在基于机器人装置100的移动方向识别出位于左方向或右方向附近的对象或者机器人装置100沿着狭窄路径移动的情况下,处理器130可能难以从相机接收的图像数据识别出对象的几何特征、对象的光度特征等。
[0121] 例如,在未能(或难以)从包括在第一检测数据中的第一图像数据和包括在第二检测数据中包括的第二图像数据中的每个识别出对象的几何特征的情况下,处理器130可能无法获取机器人装置100从时间点t到时间点t+1的移动信息。因此,处理器130可能无法估计机器人装置100在地图上的位置。
[0122] 此外,在处理器130未能识别出(或难以识别出)从包括在第一检测数据中的第一图像数据和包括在第二检测数据中的第二图像数据中的每个获取的对象的几何特征之间的共性/相似性的情况下,从机器人装置100从时间点t到时间点t+1的移动信息估计的机器人装置100的位置与其实际位置匹配的概率可能低。因此,处理器130可识别出与估计位置相对应的区域的可靠性值小于临界值。
[0123] 返回图2,除了从传感器120接收到的检测数据之外,根据本公开的一个或多个实施例的处理器130还可基于包括在驱动器中的轮子的转数、轮子的转速等来获取移动信息。
[0124] 根据一个或多个实施例的处理器130可获取机器人装置100从时间点t到时间点t+1的移动信息,并在识别出包括在所识别的移动信息中的机器人装置100的移动方向、移动距离或移动速度中的至少一个不可能由位于机器人装置100中的驱动器来执行的情况下,识别出与估计位置相对应的区域的可靠性值小于临界值。
[0125] 例如,在识别出位于机器人装置100中的驱动器仅可被向前或向后移动,并且基于包括在所识别的移动信息中的机器人装置100的移动方向机器人装置100被向左或向右移动的情况下,处理器130可识别出与估计位置相对应的区域的可靠性值小于临界值。
[0126] 例如,在识别出位于机器人装置100中的驱动器的最大速度为5m/s,并且基于包括在所识别的移动信息中的机器人装置100的移动距离和移动速度机器人装置以10m/s被移动的情况下,处理器130可识别出与估计位置相对应的区域的可靠性值小于临界值。
[0127] 根据一个或多个实施例,处理器130可基于地图和可靠性值图来识别移动路径。详细地,处理器130可基于包括在地图中的多个区域中的每个区域的可靠性值来识别包括具有大于或等于临界值的可靠性值的至少一个区域的移动路径。
[0128] 详细地,处理器130可基于包括在地图中的多个区域中的每个区域的可靠性值来识别绕过具有小于临界值的可靠性值的至少一个区域的移动路径。
[0129] 处理器130可在机器人装置100沿着移动路径移动时获取可靠性值,并基于所获取的可靠性值更新可靠性值图。
[0130] 根据一个或多个实施例的传感器120可包括LiDAR传感器,并且处理器130可基于从LiDAR传感器接收到的检测数据,识别在多个区域中的任何一个中的基于LiDAR传感器的朝向的误差值。
[0131] 接下来,在机器人装置100沿着移动路径在一个区域中移动时,处理器130可基于误差值调整LiDAR传感器的姿势。
[0132] 例如,LiDAR传感器的检测数据的协方差值或误差值可取决于LiDAR传感器在相同位置发射激光光束的方向。
[0133] 根据一个或多个实施例,处理器130可基于从LiDAR传感器接收到的检测数据,识别在机器人装置在特定区域中移动的情况下具有低协方差值和低误差值的LiDAR传感器的朝向。
[0134] 接下来,处理器130可在机器人装置沿着移动路径在特定区域中移动时,调整LiDAR传感器的朝向以发射激光光束,从而具有低协方差值和低误差值,而不是将机器人装置100的移动方向与LiDAR传感器的朝向(即,激光光束的发射方向)相匹配。
[0135] 因此,机器人装置100的移动方向和LiDAR传感器发射激光光束的方向可以彼此相同或不同。
[0136] 根据本公开的各种实施例,随着基于LiDAR传感器的检测数据使协方差值或误差值减小,估计位置与实际位置彼此匹配的概率可增大,并且随着包括在点云数据中的点的数量增大,估计位置与实际位置彼此匹配的概率可增大。此外,在与机器人装置100相邻的对象不是动态对象而是静态对象的情况下,估计位置与实际位置彼此匹配的概率可增大。
[0137] 根据本公开的各种实施例,随着基于相机的检测数据使协方差值或误差值减小,估计位置与实际位置彼此匹配的概率可增大,并且在识别出包括在图像数据中的对象的几何特征或对象的光度特征的情况下,估计位置与实际位置彼此匹配的概率可增大。此外,在与机器人装置100相邻的对象不是动态对象而是静态对象的情况下,估计位置与实际位置彼此匹配的概率可增大。
[0138] 根据本公开的一个或多个实施例的处理器130可基于可靠性值图来识别移动路径,从而将机器人装置100移动到在空间中与静态对象(例如,墙、家具或家用电器)相邻并绕过动态对象。
[0139] 此外,处理器130可基于可靠性值图来识别移动路径,从而移动机器人装置100以绕过空间中的狭窄路径,或者在机器人装置在狭窄路径中移动的情况下,允许传感器120的检测方向(例如,LiDAR传感器的姿势)与机器人装置100的移动方向不匹配。
[0140] 根据本公开的一个或多个实施例的机器人装置100可包括通信接口。通信接口可接收各种数据。例如,通信接口可通过使用诸如基于接入点(AP)的无线保真(Wi‑Fi,即无线局域网(LAN))、蓝牙、Zigbee、有线/无线局域网(LAN)、广域网(WAN)、以太网、IEEE 1394、高清多媒体接口(HDMI)、USB、移动高清链路(MHL)、音频工程学会/欧洲广播联盟(AES/EBU)通信、光通信或同轴通信的通信方法,从位于房屋中的至少一个外部装置、外部存储介质(例如,通用串行总线(USB)存储器)、外部服务器(例如,网络硬件或流媒体服务器)等接收各种数据。
[0141] 图10是用于解释根据本公开的一个或多个实施例的机器人装置的控制方法的流程图。
[0142] 根据本公开的一个或多个实施例的包括机器人装置所位于的空间的地图以及包括在所述地图中的多个区域中的每个区域的可靠性值的机器人装置的控制方法可首先包括基于多个区域中的每个区域的可靠性值识别具有大于或等于临界值的可靠性值的至少一个区域(S1010)。
[0143] 随后,所述方法可包括基于所识别的至少一个区域识别机器人装置在空间中的移动路径(S1020)。
[0144] 根据一个或多个实施例的控制方法还可包括:基于包括在机器人装置中的传感器的检测数据,将多个区域中的任何一个区域估计为机器人装置的位置;以及获取机器人装置的估计位置与其实际位置彼此匹配的概率,作为可靠性值。
[0145] 这里,估计步骤可包括:在从传感器连续接收到第一检测数据和第二检测数据的情况下,基于第一检测数据和第二检测数据获取机器人装置的移动信息;以及基于移动信息估计与第二检测数据相对应的机器人装置的位置。
[0146] 这里,获取所述概率可包括:基于从LiDAR传感器接收的包括在第一检测数据中的第一点云数据和从LiDAR传感器接收的包括在第二检测数据中的第二点云数据,将点云彼此组合;以及在组合失败的情况下,获取小于临界值的可靠性值。
[0147] 根据一个或多个实施例的获取所述概率可包括:基于从相机接收的包括在第一检测数据中的第一图像数据和从相机接收的包括在第二检测数据中的第二图像数据,识别动态对象;以及在所识别的动态对象的数量大于或等于临界值的情况下,获取小于临界值的可靠性值。
[0148] 根据一个或多个实施例的获取所述概率可包括:基于从相机接收的包括在检测数据中的图像数据识别相机的视场;以及在所识别的视场的角度小于临界角的情况下,获取小于临界值的可靠性值。
[0149] 根据一个或多个实施例的获取所述概率可包括:在包括在移动信息中的机器人装置的移动方向、移动距离或移动速度中的至少一个被识别为不可能由机器人装置执行的情况下,获取小于临界值的可靠性值。
[0150] 根据一个或多个实施例的控制方法还可包括:基于所获取的可靠性值更新多个区域中的任何一个区域的可靠性值。
[0151] 根据一个或多个实施例的控制方法还可包括:基于从LiDAR传感器接收的检测数据,识别多个区域中的一个区域中的基于LiDAR传感器的姿势的误差值;以及在机器人装置沿着移动路径在一个区域中移动时,基于误差值调整LiDAR传感器的姿势。
[0152] 根据一个或多个实施例的识别移动路径的操作S1020可包括:在基于多个区域中的每个区域的可靠性值识别出具有小于临界值的可靠性值的区域的情况下,识别绕过所识别的区域的移动路径。
[0153] 然而,本公开的各种实施例可应用于所有可移动的电子装置以及机器人装置。
[0154] 上述各种实施例可使用软件、硬件或软件和硬件的组合在计算机或计算机可读介质记录中实现。在一些情况下,说明书中描述的实施例可由处理器本身实现。根据软件实现,诸如说明书中描述的过程和功能的实施例可由单独的软件模块来实现。每个软件模块可执行说明书中描述的一个或多个功能和操作。
[0155] 用于执行根据上述本公开的各种实施例的机器人装置的处理操作的计算机指令可存储在非暂时性计算机可读介质中。在计算机指令由特定装置的处理器执行的情况下,存储在非暂时性计算机可读介质中的计算机指令可允许特定装置执行根据上述各种实施例的机器人装置100的处理操作。
[0156] 非暂时性计算机可读介质不是在其中暂时存储数据的介质,诸如寄存器、缓存或存储器,而是指在其中半永久存储数据并可由机器读取的介质。非暂时性计算机可读介质的特定示例可包括:光盘(CD)、数字通用盘(DVD)、硬盘、蓝光盘、通用串行总线(USB)、存储卡、只读存储器(ROM)等。
[0157] 尽管上文已经示出并描述了本公开的实施例,但本公开不限于上述特定实施例,并且可由本公开所属领域的技术人员在不脱离所附权利要求中公开的本公开的范围和精神的情况下进行各种修改。这些修改也应被理解为落入本公开的范围和精神内。