CN115328153A - 传感器数据处理方法、***及可读存储介质 - Google Patents

传感器数据处理方法、***及可读存储介质 Download PDF

Info

Publication number
CN115328153A
CN115328153A CN202211077958.1A CN202211077958A CN115328153A CN 115328153 A CN115328153 A CN 115328153A CN 202211077958 A CN202211077958 A CN 202211077958A CN 115328153 A CN115328153 A CN 115328153A
Authority
CN
China
Prior art keywords
data
robot
processor
sensor
obstacle
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
CN202211077958.1A
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.)
Tang'en Intelligent Technology Shanghai Co ltd
Original Assignee
Tang'en Intelligent Technology Shanghai 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 Tang'en Intelligent Technology Shanghai Co ltd filed Critical Tang'en Intelligent Technology Shanghai Co ltd
Publication of CN115328153A publication Critical patent/CN115328153A/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/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/0238Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors
    • G05D1/024Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using obstacle or wall sensors 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/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/0242Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using non-visible light signals, e.g. IR or UV signals
    • 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/0251Control 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 extracting 3D information from a plurality of images taken from different locations, e.g. stereo vision
    • 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/0255Control of position or course in two dimensions specially adapted to land vehicles using acoustic signals, e.g. ultra-sonic singals

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • General Physics & Mathematics (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Automation & Control Theory (AREA)
  • Electromagnetism (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Acoustics & Sound (AREA)
  • Optics & Photonics (AREA)
  • Multimedia (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

本申请公开一种传感器数据处理方法、***、移动机器人及可读存储介质,所述传感器数据处理方法在一实施例中通过多个传感器采集机器人周围环境的数据,并分别对采集的环境数据进行障碍物检测,再根据障碍物检测结果生成局部障碍物分布地图,进一步将多个传感器生成的局部障碍物分布地图发送至机器人的处理器,由处理器将接收的多个局部障碍物分布地图融合为全局障碍物分布地图,从而实现了在多个传感器上对采集数据的处理,再将处理后的数据发送至处理器,减少了多个传感器与处理器之间传输数据的数据量,降低了传输带宽的压力,提高了处理器的处理效率,减少了处理器的计算资源消耗。

Description

传感器数据处理方法、***及可读存储介质
技术领域
本申请涉及机器人技术领域,具体的涉及一种传感器数据处理方法、包括机器人和传感器的***、移动机器人及可读存储介质。
背景技术
随着传感器技术和人工智能技术的发展,机器人产品日益普及。机器人通常采用激光雷达、光学摄像头、深度摄像头、超声波传感器等多种传感器采集外部环境数据,多种传感器采集的数据统一传输到机器人的主处理器,由主处理器进行数据处理及机器人的决策控制。
随着传感器数量的增加和数据采集能力的增强,将传感器采集的数据全部传输到机器人的主处理器进行处理导致传输网络带宽和主处理器计算能力的压力越来越大。例如,深度摄像头可以获取高清彩色图片、红外图片、点云数据、点云置信度信息等多种数据,将这些数据都传输给主处理器会消耗大量带宽而影响处理帧率。
发明内容
鉴于以上所述相关技术的缺点,本申请的目的在于提供一种传感器数据处理方法、包括机器人和传感器的***、移动机器人及可读存储介质,用于解决现有技术下传感器采集数据都由主处理器进行处理导致的传输带宽和计算资源压力大的问题。
为实现上述目的及其他相关目的,本申请公开的第一方面提供一种传感器数据处理方法,用于包括机器人和传感器的***,包括以下步骤:通过多个传感器采集所述机器人周围环境的数据;所述多个传感器对采集的环境数据进行障碍物检测以生成局部数据;所述多个传感器将各自生成的局部数据发送至处理器,其中,所述处理器为所述机器人的主处理器;所述处理器将接收的多个所述局部数据进行处理为全局障碍物分布地图。
本申请公开的第二方面提供一种包括机器人和传感器的***,包括:多个传感器,用于采集所述机器人周围环境的数据,各该传感器对采集的环境数据进行障碍物检测以生成局部数据并发送至处理器;存储器,用于存储由机器人的一个或多个处理器执行的指令;以及处理器,为所述机器人的主处理器,用于将接收的多个所述局部数据进行处理为全局障碍物分布地图。
本申请公开的第三方面提供一种移动机器人,包括:多个传感器,用于采集所述机器人周围环境的数据,各该传感器对采集的环境数据进行障碍物检测以生成局部数据并发送至处理器;移动装置,用于执行移动操作;存储装置,用以存储至少一个程序;处理装置,与所述多个传感器,移动装置,以及存储装置相连,用于执行所述至少一个程序,以执行如上述第一方面所述的传感器数据处理方法。
本申请公开的第四方面提供一种可读存储介质,所述可读存储介质存储有至少一种计算机程序,所述计算机程序被处理器运行时控制所述存储介质所在设备执行如上述第一方面所述的传感器数据处理方法。
综上所述,本申请公开的一实施例中用于包括机器人和传感器的***的传感器数据处理方法通过多个传感器采集机器人周围环境的数据,并分别对采集的环境数据进行障碍物检测,再根据障碍物检测结果生成局部数据,进一步将多个传感器生成的局部数据发送至机器人的处理器,由处理器将接收的多个所述局部数据融合为全局障碍物分布地图,从而实现了在多个传感器上对采集数据的处理,再将处理后的数据发送至处理器,减少了多个传感器与处理器之间传输数据的数据量,降低了传输带宽的压力,提高了处理器的处理效率,减少了处理器的计算资源消耗。
本领域技术人员能够从下文的详细描述中容易地洞察到本申请的其它方面和优势。下文的详细描述中仅显示和描述了本申请的示例性实施方式。如本领域技术人员将认识到的,本申请的内容使得本领域技术人员能够对所公开的具体实施方式进行改动而不脱离本申请所涉及发明的精神和范围。相应地,本申请的附图和说明书中的描述仅仅是示例性的,而非为限制性的。
附图说明
本申请所涉及的发明的具体特征如所附权利要求书所显示。通过参考下文中详细描述的示例性实施方式和附图能够更好地理解本申请所涉及发明的特点和优势。对附图简要说明书如下:
图1显示为本申请在一实施例中机器人构建障碍物分布地图的场景示意图。
图2显示为本申请在一实施例中机器人的硬件结构示意图。
图3显示为本申请的传感器数据处理方法在一实施例中的流程图。
图4显示为本申请在一实施例中两个传感器根据障碍物检测结果各自生成的局部障碍物分布地图示意图。
图5显示为本申请在一实施例中处理器对获取的局部障碍物分布地图进行处理的示意图。
图6显示本申请的传感器数据处理方法在另一实施例中的流程图。
图7显示为在一实施例中机器人的处理器对传感器的数据采集方式调整方法的流程图。
图8显示为本申请中传感器的内部处理器在一实施例中的原理框图。
图9显示为本申请包括机器人和传感器的***在一实施例中的***框图。
图10显示为本申请包括机器人和传感器的***在另一实施例中的***框图。
图11显示为本申请移动机器人在一实施例中的框图。
具体实施方式
以下由特定的具体实施例说明本申请的实施方式,熟悉此技术的人士可由本说明书所揭露的内容轻易地了解本申请的其他优点及功效。在下述描述中,参考附图,附图描述了本申请的若干实施例。应当理解,还可使用其他实施例,并且可以在不背离本公开的精神和范围的情况下进行模块或单元组成、电气以及操作上的改变。下面的详细描述不应该被认为是限制性的,并且本申请的实施例的范围仅由公布的权利要求所限定。这里使用的术语仅是为了描述特定实施例,而并非旨在限制本申请。
可以理解,如本文所使用的,术语“模块”可以指代或者包括专用集成电路(ASIC)、电子电路、执行一个或多个软件或固件程序的处理器(共享、专用、或群组)和/或存储器、组合逻辑电路、和/或提供所描述的功能的其他适当硬件组件,或者可以作为这些硬件组件的一部分。
可以理解,在本申请各实施例中,处理器可以是微处理器、数字信号处理器、微控制器等,和/或其任何组合。根据另一个方面,所述处理器可以是单核处理器,多核处理器等,和/或其任何组合。
可以理解,本申请的传感器数据处理方法适用于对多种传感器的数据进行处理的机器人。
下面将结合附图对本申请的实施例作进一步地详细描述。
本申请提供一种传感器数据处理方法,用于包括机器人和传感器的***,在本申请以下的实施例中,包括机器人和传感器的***中所述的机器人为移动机器人,所述移动机器人指的是在物理空间中具有构建地图能力的自主移动设备,包括但不限于:无人机、工业机器人、家庭陪伴式移动设备、医疗用移动设备、家用清洁机器人、商用清洁机器人、智能车辆、以及巡逻式机器人等中的一种或多种。例如为应用在商用场景中执行某种任务的服务型机器人(比如清洁机器人、巡视机器人、或送餐/送物品的机器人)或应用在家庭场景中执行清洁或娱乐任务的家庭机器人(比如扫地机器人或陪伴机器人等)。
所述物理空间指的是所述移动机器人所在的实际三维空间,可由在所述空间坐标系中构建的抽象数据进行描述。例如,所述物理空间包括但不限于家庭住所、公共场所(例如办公场所、商场、医院、地下停车场、以及银行)等。对于移动机器人而言,所述物理空间通常指的是室内的空间,即空间在长、宽、和高等方向上存在边界。特别包含例如商场、候机大厅等空间范围大、场景重复度高等特点的物理空间。
包括机器人和传感器的***中所述的传感器例如包括激光传感器、超声波传感器、红外传感器、光学摄像头(例如单目摄像头或双目摄像头)、深度摄像头(例如ToF传感器)、毫米波雷达传感器等;其中,例如,激光传感器可根据其发射激光束的时间和接收激光束的时间差,确定其相对于障碍物的距离;又如,超声波传感器可根据其发射的声波被障碍物反弹回的振动信号来确定移动机器人相对于障碍物的距离;再如,双目摄像装置可根据其两个摄像头所拍摄到的图像,利用三角原理来确定移动机器人相对于障碍物的距离;还如,ToF(Time of Flight,飞行时间)传感器的红外光投射器向外投射红外光,红外光遇到被测障碍物后反射,并被接收模组接收,通过记录红外光从发射到被接收的时间,计算出被照障碍物深度信息。
所述障碍物包括但不限于物理空间隔断体(所述物理空间隔断体包括但不限于门体、落地窗、屏风、墙体、柱体、以及联排的出入闸机等中的一种或多种)、桌子、椅子、柜子、楼梯、扶梯、以及零散的单个路障(如花盆)、人体等中的一种或多种。
在本申请的一种示例中,包括机器人和传感器的***是指机器人本体上设置有多个传感器的机器人***,具体地,依据移动机器人的功能需要,将多个传感器设置在机器人本体上,请参阅图1,显示为本申请在一实施例中机器人构建障碍物分布地图的场景示意图,例如本申请图1所示的,机器人100上设置有4个传感器401、402、403和404,所述4个传感器在机器人100的工作状态下持续检测周围环境;在实际的实现方式中,传感器401、402、403和404,在机器人100本体上设置的位置将依据各该传感器的功能设置在相应的位置,比如机器人本体的顶部设置鱼眼摄像头或激光传感器,机器人的前侧设置双目视觉摄像头、机器人左右两侧或一侧设置超声传感器,机器人前侧或后侧设置激光传感器或ToF传感器等。
在本申请的另一种示例中,包括机器人和传感器的***是指传感器被设置在机器人本体之外的位置构成的无线通信***,比如机器人的工作环境中,例如设置在机器人经常巡航的走道/过道上、墙体或柱体上等物理空间中;再有甚者,所述传感器为设置在其他独立与移动机器人的电子设备上,例如用户终端设备(例如智能手机、平板电脑、监控摄像头、智能屏等用户终端设备)上的传感器,例如可以通过将智能手机绑定机器人,从而智能手机的传感器可以与机器人进行数据交换,这些情况下,所述的***由机器人和设置在外部的传感器组成,机器人与外部传感器之间的数据传输通过无线通信方式进行,可以包括但不限于无线网络(Wireless Fidelity,Wi-Fi)、蓝牙(Blue Tooth)等无线通信方式。
本申请的传感器数据处理方法通过多个传感器采集的机器人周围环境的数据,以使所述多个传感器对采集的环境数据进行障碍物检测以生成局部数据,然后,所述多个传感器将各自生成的局部数据发送至处理器,所述处理器将接收的多个所述局部数据进行处理为全局障碍物分布地图。本申请提供的方法通过多个传感器采集机器人周围环境的数据,并分别对采集的环境数据进行障碍物检测,再根据障碍物检测结果生成局部数据,然后将各该传感器将各自生成的局部数据发送至机器人的处理器,由处理器将接收的多个所述局部数据融合为全局障碍物分布地图,从而实现了在多个传感器上对采集数据的处理,再将处理后的数据发送至处理器,减少了多个传感器与处理器之间传输数据的数据量,降低了传输带宽的压力,提高了处理器的处理效率,减少了处理器的计算资源消耗。
请参阅图2,显示为本申请在一实施例中机器人的硬件结构示意图,如图所示,在本实施例中,所述机器人100包括处理器300,深度摄像头401至404,存储器160和运动部件(移动装置)170等。
在实施例中,所述处理器300可用于读取和执行计算机可读指令。具体实现中,处理器300可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器300的硬件架构可以是专用集成电路(ASIC)架构、MIPS架构、ARM架构或者NP架构等等。
所述处理器300可以包括一个或多个处理单元,例如:处理器300可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可集成在一个或多个处理器中。
在本申请的一些实施例中,处理器300可以用于接收深度摄像头401至404发送的点云数据、图像数据和局部障碍物分布地图数据,并对这些数据进行融合得到完整的二维障碍物分布地图,再根据二维障碍物分布地图控制机器人100完成特定的任务如物品配送、房间清扫/清洗等。
可以理解,在深度摄像头401至404设置在机器人100本体的外部的实施例中,处理器300可以通过无线通信方式接收深度摄像头401至404发送的点云数据、图像数据和局部障碍物分布地图数据。
在实施例中,所述深度摄像头401至404用于在机器人100运动时定时采集机器人100周围环境的图像信息,深度摄像头401至404采集图像信息的方式与普通摄像头类似,外部物体通过镜头生成光学图像投射到感光元件,感光元件可以是电荷耦合器件(chargecoupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号,ISP将数字图像信号输出到DSP加工处理,DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。
所述深度摄像头401至404还用于获得环境中障碍物与深度摄像头之间的距离,两者之间的距离可以用于构建供机器人100使用的障碍物分布地图。
在本申请的一些实施例中,深度摄像头401至404中还包括内部处理器,内部处理器用于对深度摄像头采集的数据进行预先处理,例如进行去噪、坐标变换、聚类分析、障碍物检测、目标识别等,再将处理后的数据传输至处理器300。
在实施例中,所述深度摄像头401至404中的内部处理器同样可包括一个或多个处理单元,如应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processing unit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。例如NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现机器人100的智能认知等应用,例如:图像识别、障碍物检测、物体识别等。
在实施例中,所述存储器160与处理器300耦合,用于存储各种软件程序和/或多组指令。具体实现中,存储器160可包括高速随机存取的存储器,并且也可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。存储器160可以存储操作***,例如uCOS、VxWorks、RTLinux等嵌入式操作***。存储器160还可以存储通信程序,该通信程序可用于与智能终端,一个或多个服务器,或附加设备进行通信。
在本申请的一些实施例中,存储器160可以用于存储全局障碍物分布地图数据,全局障碍物分布地图数据中标记了障碍物的位置和大小,机器人100可利用存储的全局障碍物分布地图数据对自身的运动进行控制,避免与障碍物碰撞。
在实施例中,所述运动部件170用于根据处理器300发出的指令控制机器人100的运动。运动部件170可以包括多个运动相关的部件,例如电机、传动轴、轮子等。本申请的一些实施例中,运动部件170用于实现机器人100的多种运动形式,例如向前运动、向后运动、向左运动、向右运动、弓形运动等。
所述运动部件170用于受控执行移动操作。于实际的实施方式中,所述运动部件170可包括行走机构和驱动机构,其中,所述行走机构可设置于移动机器人的底部,所述驱动机构内置于所述移动机器人的壳体内。进一步地,所述行走机构可采用行走轮方式,在一种实现方式中,所述行走机构可例如包括至少两个万向行走轮,由所述至少两个万向行走轮实现前进、后退、转向、以及旋转等移动。在其他实现方式中,所述行走机构可例如包括多个直行行走轮和至少一个辅助转向轮的组合,其中,在所述至少一个辅助转向轮未参与的情形下,所述多个直行行走轮主要用于前进和后退,而在所述至少一个辅助转向轮参与并与所述多个直行行走轮配合的情形下,就可实现转向和旋转等移动。所述驱动机构可例如为驱动电机,利用所述驱动电机可驱动所述行走机构中的行走轮实现移动。在具体实现上,所述驱动电机可例如为可逆驱动电机,且所述驱动电机与所述行走轮的轮轴之间还可设置有变速机构。
可以理解的是,图2示意的结构并不构成对机器人100的具体限定。在本申请另外一些实施例中,机器人100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以由硬件或软件,或软件和硬件的组合实现。
以下以图1中示例的机器人100的传感器为深度摄像头(例如为ToF传感器),障碍物200为桌子为例对本申请进行更详细说明。
在机器人100前进方向上的深度摄像头401在机器人100运动时持续对应区域的数据,深度摄像头401所采集的数据可以包括但不限于:高清彩色图像数据、红外图像数据、点云数据、点云置信度信息等数据。在本实施例中,所述深度摄像头401具有计算处理装置(即深度摄像头自身的内部处理器),所述计算处理装置例如中央处理器(Central ProcessingUnit,CPU)、片上***(System on Chip,SOC)等该深度摄像头401的内部处理器。深度摄像头401通过自身的计算处理装置对采集数据进行数据处理,例如,深度摄像头401可以对采集的点云数据进行去噪,再将点云数据的坐标系由传感器坐标系转换为机器人坐标系,进一步对点云数据进行聚类并进行相关分析,还可以对点云数据进行障碍物检测或目标识别,识别出障碍物为桌子200等。
此时,深度摄像头402检查自己与机器人100的前进方向是否相反,检查方法可以是通过对自己采集数据的处理来确定,也可以是通过预先的设置即预设的外部参数来确定,如果检查结果是完全相反,则控制自己停止数据采集,同时暂停向机器人100的处理器300传输数据。
类似地,深度摄像头403和404检查自己是否不在机器人100的前进方向上,检查方法可以是通过对自己采集数据的处理来确定,也可以是通过预先的设置即预设的外部参数来确定,如果检查结果是不在机器人100的前进方向上,则可以控制自己减少采集数据的数据量,例如降低数据采集的频率、降低采集数据的分辨率等,同时还可以减少向机器人处理器300发送的数据量,例如只向机器人处理器300发送包含障碍物信息的数据等。
深度摄像头401对采集数据进行处理后,将处理后的数据传输给机器人100的处理器300,由机器人100的处理器300进行数据融合等后续处理。例如,一个深度摄像头通过对点云数据的处理可以得到局部二维障碍物地图数据,再将部分二维障碍物地图数据发送给机器人处理器300,机器人处理器300接收多个深度摄像头发送的局部二维障碍物地图数据并将多个局部二维障碍物地图数据融合为完整的全局二维障碍物分布地图。
下面结合上述图2所示的结构并结合图3描述本申请传感器数据处理方法;在请参阅图3,显示为本申请的传感器数据处理方法在一实施例中的流程图,如图所示,所述传感器数据处理方法包括以下步骤:
步骤S201,通过多个传感器采集的机器人周围环境的数据;在本实施例中,所述深度摄像头401至404对机器人100周围环境进行图像数据采集。诚如上述,深度摄像头401至404可以设置在机器人100上或设置在机器人的工作环境中,用于定时采集机器人100周围的环境图像数据。在本实施例中,所述深度摄像头401至404设置在机器人100上时,深度摄像头在机器人100的设置位置可以沿着机器人100的身体圆周均匀分布,每个深度摄像头对应的图像采集区域可以有一定的重合,从而避免有图像数据采集盲区。
可以理解,本申请实施例中仅示出了4个用于采集机器人100周围环境数据的深度摄像头,但是本申请实施例中机器人100上设置的深度摄像头的数量并不构成对机器人100上可设置传感器数量的限制,机器人100上设置的传感器的数量可以在4个以上,且机器人100上设置的多个传感器也不限制为同一种传感器,可以是多种通过不同工作原理采集机器人周围环境数据的传感器,为便于说明,在本申请以下的实施例中,暂以所述多个传感器为深度摄像头为例进行说明。
在本实施例中,所述深度摄像头401至404采集的环境图像数据有多种类型,可以包括但不限于:图像数据、红外图像数据、点云数据、点云置信度等。在此,图像数据可以支持多种分辨率,从低分辨率到高分辨率。图像数据可以是彩色图像也可以是黑白图像等。红外图像数据是通过测量物体向外辐射的热量而得到的图像数据,与可见光图像数据相比,红外图像数据的分辨率、对比度、信噪比、视觉效果等都较差。点云数据是深度摄像头401至404获取的带空间坐标的采样点的集合,由于数量大且密集被称为“点云”,采样点包括有丰富的信息,可以包括但不限于:三维坐标(X,Y,Z)、颜色、分类值、强度值、时间戳等信息。
步骤S202,所述多个传感器对采集的环境数据进行障碍物检测以生成局部数据;在以所述多个传感器为对深度摄像头采集的环境数据进行障碍物检测的实施例中,所述深度摄像头401至404分别对采集的点云数据进行预处理。在此,深度摄像头401至404采集的点云数据中采样点的数量过多并且存在大量噪声,需要对采集的点云数据进行预处理。本申请的实施例中,对点云数据进行预处理可以包括但不限于:点云去噪、点云简化、点云配准、点云补洞等。通过对上述点云数据的预处理,可以有效剔除点云数据中的噪声和外点,在保持几何特征的基础上实现点云数据简化,为后续的点云数据处理提供稳健的数据基础。
具体来说,深度摄像头401至404使用内部处理器完成点云数据的预处理,内部处理器通过执行预处理相关的指令完成点云预处理。
在一实施例中,各该传感器使用其内部处理器进行的预处理还包括,各该传感器依据其预设的或获取的转换关系将其生成的局部数据中的坐标系从传感器坐标系转换为机器人坐标系。在以所述多个传感器为设置在机器人本体上的深度摄像头为例的实施例中,所述深度摄像头采集的环境数据进行障碍物检测时,所述深度摄像头对点云数据进行预处理之后,还可以对处理后的点云数据进行坐标变换,即所述深度摄像头依据其在机器人本体上设置的位置、角度等预设的外部参数确定的转换关系,将点云数据从深度摄像头坐标系转换为机器人坐标系;通过这一坐标系的变换,深度摄像头所提供的点云数据使得机器人100后续能够根据该些点云数据实现以机器人100本体为中心的全局障碍物分布地图的构建。
在以所述多个传感器为设置在机器人本体之外的深度摄像头为例的实施例中,所述深度摄像头采集的环境数据进行障碍物检测时,所述深度摄像头对点云数据进行预处理之后,还可以对处理后的点云数据进行坐标变换,在本实施例中,传感器坐标系和机器人坐标系之间的转换关系可以通过机器人获得的信息(例如机器人的定位信息、移动距离信息、角度及姿态信息等)来获得,比如机器人通过其自身的SLAM或VSLAM***,或者惯性导航模块,或者里程计模块等提供的信息获得传感器坐标系和机器人坐标系之间的转换关系。
本申请的一些实施例中,各该传感器使用其内部处理器进行的预处理还可以进行点云数据分割,由于每帧点云数据中包含了大量的地面点,将地面上的点云分割去除后,便于进行后续的障碍物检测。
本申请的一些实施例中,各该传感器使用其内部处理器进行的预处理还可以对点云数据进行聚类分析,将点云数据分类为不同类型的点云数据集合,同一个点云数据集合具有相似或相同的属性。在此,通常采用无监督的聚类算法形成多个点云数据集合,每个点云数据集合表示一个可能的障碍物。
在执行步骤S202的一实施例中,所述多个传感器对采集的环境数据进行障碍物检测,在本实施例中,所述深度摄像头401至404分别对点云数据中的障碍物进行检测。具体地,深度摄像头对环境感知可以分为两个层次,低层次感知也叫做障碍物检测,只需要探测到前方有障碍物即可,高层次感知可以看作目标识别,需要对障碍物信息进一步分类。障碍物检测是指从点云数据中提取出潜在的障碍物体,得到它们的方位、尺寸、形状、朝向等信息,一般通过边界框(Bounding Box)来添加或者多边形来描述。所述的目标识别是根据标准的目标点云或者标准的点云特征描述向量在点云数据中寻找与目标点云相似度最高的点云块,如果相似度满足对应的阈值条件,则将该点云块识别为目标点云。
在执行步骤S202的一实施例中,所述多个传感器对采集的环境数据进行障碍物检测,并根据障碍物检测结果生成局部障碍物分布地图。
在一实施例中,所述多个传感器对采集的环境数据进行障碍物检测获得障碍物数据,并通过栅格法构建俯视图以得到局部二维障碍物地图数据;在本实施例中,所述深度摄像头对点云数据中的障碍物进行检测后得到的障碍物检测结果是带有边界框的障碍物点云,边界框是多边形边框,将得到的障碍物点云投影到图像平面,可以得到二维的障碍物分布地图。具体来说,可以将障碍物点云通过使用栅格法构建俯视图得到局部障碍物分布地图。这里每个深度摄像头都可以生成一个相应的局部障碍物分布地图。
请参阅图4,显示为本申请在一实施例中两个传感器根据障碍物检测结果各自生成的局部障碍物分布地图示意图,如图所述的实施例中,以图1中深度摄像头403和深度摄像头404为例,在机器人100朝向一个方向运动时(如图中用于表示机器人100的方块中的箭头所指方向),假设所述深度摄像头403和深度摄像头404在时间戳为0.5s的时刻对采集的环境数据进行障碍物检测并分别获得障碍物O1和障碍物O2的障碍物数据,所述深度摄像头403和深度摄像头404各自通过栅格法构建俯视图以得到两个局部二维障碍物地图数据(通过对点云数据处理得到),该地图数据中携带获取的时间戳信息,即0.5s,并在所述深度摄像头403和深度摄像头404基于前述的将点云数据从深度摄像头坐标系转换为机器人坐标系,即可分别获得如图4中的(a)图和(b)图,其中图4中的(a)图表示为深度摄像头403在当前位置的局部障碍物分布地图;图4中的(b)图表示为深度摄像头404在当前位置的局部障碍物分布地图。
在另一实施例中,所述多个传感器对采集的环境数据进行障碍物检测获得障碍物数据,并通过使用结构化的数据来表示障碍物的类型和坐标等信息,从而得到结构化形式的局部障碍物分布地图。
在执行步骤S202的另一实施例中,所述多个传感器对采集的环境数据进行障碍物检测以生成局部数据的步骤包括:根据障碍物检测结果生成局部障碍物数据。在本实施例中,所述多个传感器中的各该传感器并不利用其内部处理器构建其局部障碍物分布地图,而是每一个传感器根据障碍物的检测结果生成用于构建其局部障碍物分布地图的源数据,以便将该源数据发送给机器人的主处理器,以使所述主处理器接收到所述多个传感器发送的障碍物数据后生成每一传感器在当前位置的局部障碍物分布地图。在本实施例中,仍以传感器为深度摄像头为例,所述对采集的环境数据进行障碍物检测,生成点云数据,应理解的,该点云数据为携带空间坐标的采样点的集合以及时间戳的数据。
在本实施例中,所述多个传感器中的各该传感器仍会利用各自的内部处理器执行上述之预处理,比如对点云数据进行预处理可以包括但不限于:点云去噪、点云简化、点云配准、点云补洞等;将点云数据从深度摄像头坐标系转换为机器人坐标系的处理;将地面上的点云分割去除的处理;或者/以及对点云数据进行聚类分析等处理操作。
步骤S203,所述多个传感器将各自生成的局部数据发送至处理器,其中,所述处理器为所述机器人的主处理器;在本实施例中,所述主处理器例如为上述关于图2中描述的处理器300。
在一实施例中,在所述多个传感器将各自生成的局部数据发送至处理器之前,各该传感器使用其内部处理器进行的预处理还包括,所述多个传感器将各自生成的局部数据发送至所述处理器的步骤还包括依据预设规则将各该传感器将生成的局部数据划分为具有不同优先级的部分局部数据。具体地,所述预设规则的条件包括所述传感器生成的局部数据中是否包含障碍物以及障碍物与所述机器人之间的距离。
仍以图1或图2中所示的深度摄像头401至404为例,深度摄像头401至404分别为各自获取的点云数据中的部分点云数据设置不同优先级。在此,以深度摄像头401为例,深度摄像头401的点云数据由其内部处理器划分为多个部分点云数据,不同的部分点云数据中可能包含障碍物,也可能不包含障碍物,其中,包含障碍物的部分点云数据中障碍物与机器人之间的距离也不一定不相同。在本实施例中,可以根据部分点云数据是否包含障碍物和障碍物与机器人之间距离为部分点云数据设置不同的优先级。例如,部分点云数据A中不包含障碍物,部分点云数据B中包含障碍物,障碍物与机器人之间距离为3米,部分点云数据C中包含障碍物,障碍物与机器人之间距离为7米,则可以将部分点云数据A的优先级设置为3,部分点云数据B的优先级设置为1,部分点云数据C的优先级设置为2,优先级数值越小,优先级越高。即优先级由高到低的顺序为部分点云数据B、部分点云数据C、以及部分点云数据A。
所述多个传感器将各自生成的局部数据发送至所述处理器的步骤还包括各该传感器依据其预设优先级将其生成的局部数据发送至所述处理器。在以深度摄像头401为例的实施例中,深度摄像头401依据上述确定的优先级顺序,先发送部分点云数据B给机器人的主处理器,然后再发送部分点云数据C给机器人的主处理器,最后发送部分点云数据A给机器人的主处理器。在此,部分点云数据的优先级体现了该部分点云数据对机器人的重要性,优先级越高越重要,例如部分点云数据B中的障碍物与机器人之间距离小于部分点云数据C中的障碍物与机器人之间距离,因此部分点云数据B优先发送给机器人的处理器300,由处理器300优先处理,从而避免障碍物与机器人碰撞。
在一些实施例中,深度摄像头401至404分别按照部分点云数据的优先级向处理器300发送部分点云数据。在此,优先级高的部分点云数据优先向处理器300发送,优先级低的部分点云数据等待优先级高的部分点云数据发送完毕后再向处理器300发送或者不发送。例如,在上述示例中,部分点云数据A的优先级为3,部分点云数据B的优先级为1,部分点云数据C的优先级为2,则部分点云数据B最先发送,部分点云数据C其次发送,部分点云数据A最后发送,也可以不发送。
本申请的一些实施例中,深度摄像头401至404还可以包含缓存器,用于分别可以缓存一段时间内的部分点云数据,再将缓存后的部分点云数据按照对应优先级进行发送。
在另一实施例中,在所述多个传感器将各自生成的局部数据发送至处理器之前,每个传感器也被预先设置了优先级,各该传感器依据自身预设的优先级向机器人的处理器发送局部数据。
在所述的多个传感器独立于机器人本体之外并设置在机器人工作环境中某些位置的示例中,所述各该传感器预设优先级的条件例如考虑了各该传感器在机器人当前行进路线上的位置的因素,比如,当机器人朝前正向运行时,位于该机器人行进路线上的传感器(比如设置在机器人行走方向的前方过道上或柱体上的传感器)的优先级高于其他位置的传感器,其他位置比如该机器人身后某些位置上的传感器。
在所述的多个传感器设置于机器人本体上的示例中,所述各该传感器预设优先级的条件为该传感器在机器人本体上设置的位置,比如,设置在机器人本体前侧的传感器的优先级高于设置在机器人本体左右两侧的传感器,设置在机器人本体左右两侧的传感器的优先级高于设置在机器人本体后侧的传感器。以图1所示的机器人行走方向及深度摄像头所安装的位置为例,深度摄像头401向机器人的主处理器发送局部数据的预设优先级高于深度摄像头403和404,深度摄像头403和404向机器人的主处理器发送局部数据的预设优先级高于深度摄像头402;又或者,当机器人以左侧沿墙或绕边行走时,深度摄像头403向机器人的主处理器发送局部数据的预设优先级高于深度摄像头404;而当机器人以由侧沿墙或绕边行走时,深度摄像头404向机器人的主处理器发送局部数据的预设优先级高于深度摄像头403。
如上述各实施例中所描述的,在步骤S203,所述多个传感器依据自身优先级或者自己生产的局部数据中的部分局数据的优先级从高到低的顺序发送至机器人的处理器。
在所述的多个传感器设置于机器人本体上的示例中,各该传感器具有通讯模块通过有线传输的方式向机器人发送局部数据,例如深度摄像头401至404各自具有通讯模块,通讯模块用于实现与处理器300的双向通讯,具体来说,可以通过例如网口、USB接口、串口、控制器局域网(Controller Area Network,CAN)总线等进行通讯。
在所述的多个传感器独立于机器人本体之外并设置在机器人工作环境中某些位置的示例中,各该传感器具有无线通讯模块,用于通过无线传输的方式向机器人发送局部数据。
步骤S204,所述处理器将接收的多个所述局部数据进行处理为全局障碍物分布地图。
在一实施例中,即,在上述针对步骤S202所述的多个传感器对采集的环境数据进行障碍物检测,并根据障碍物检测结果生成局部障碍物分布地图的实施例中,所述的步骤S204中,所述处理器将接收的多个所述局部障碍物分布地图融合为当前位置的全局障碍物分布地图。
在另一实施例中,即,在上述针对步骤S202所述的多个传感器中的各该传感器并不利用其内部处理器进行构建其局部障碍物分布地图,而是每一个传感器根据障碍物的检测结果生成用于构建其局部障碍物分布地图的源数据的实施例中,所述处理器将接收的多个所述局部数据进行处理为全局障碍物分布地图的步骤S204包括:所述主处理器接收所述多个传感器发送的局部障碍物数据以生成每一传感器在当前位置的局部障碍物分布地图;并将多个局部障碍物分布地图进行融合处理以生成当前位置的全局障碍物分布地图。
在实施例中,所述处理器将接收的多个所述局部数据进行融合处理为所述机器人当前位置的全局障碍物分布地图。仍以图1或图2中所示的实施例为例,处理器300接收分别来自深度摄像头401至404发送的局部障碍物分布地图,并将接收的多张局部障碍物分布地图融合为一张完整的全局障碍物分布地图。在实际的应用中,机器人的处理器300对多张局部障碍物分布地图的融合可使用多种融合算法,比如在一实施例中,所述处理器将接收的多个所述局部数据利用概率占有栅格图算法进行融合处理为全局障碍物分布地图。
另外,处理器300可以使用分别来自深度摄像头401至404的部分点云数据对局部障碍物分布地图中障碍物信息进行校正,得到更准确的障碍物信息,再对全局障碍物分布地图中的障碍物信息进行更新。
在一实施例中,所述机器人的处理器依据各该传感器生成的局部数据中携带的时间戳,推算机器人在当前时间戳下的位移信息,并依据所述位移信息更新所述局部数据中的障碍物信息;将更新的多个传感器的局部数据进行叠加以形成当前位置的全局障碍物分布地图。如图4所示的实施例中,各该传感器生成的局部数据中携带的时间戳,比如,所述机器人的处理器收到一个传感器发送来的局部数据时,所述机器人的处理器依据该传感器生成的局部数据中携带的时间戳推算所述机器人在当前时间戳下的位移信息,并将局部障碍物分布地图中的障碍物位置进行位移至推算的位置,即所述主处理器更新了所述局部障碍物分布地图,然后将多个传感器的局部障碍物分布地图进行叠加,形成所述机器人在当前位置的全局障碍物分布地图。
请参阅图5,显示为本申请在一实施例中处理器对获取的局部障碍物分布地图进行处理的示意图,在图5中仍延续图4中所示的深度摄像头403和深度摄像头404获取的局部障碍物分布地图为例,如图所示,所述深度摄像头403和深度摄像头404在时间戳为0.5s的时刻对采集的环境数据进行障碍物检测并分别获得障碍物O1和障碍物O2的障碍物数据,所述深度摄像头403和深度摄像头404分别得到两个局部二维障碍物地图(即图示中的(a)图和(b)图),该地图数据中携带获取的时间戳信息,即0.5s,当机器人100的处理器300获得两个局部二维障碍物地图时,随着时间的推移,比如时间已经达到了1.2s的时刻,在从0.5s到1.2s的0.7s的期间,在机器人100朝向一个方向运动(如图中用于表示机器人100的方块中的箭头所指方向),继续移动了一定距离,则所述机器人100的处理器依据该传感器(所述深度摄像头403或深度摄像头404)生成的局部数据中携带的时间戳(0.5s)推算所述机器人100在当前时间戳(1.2s)下的位移信息,并将局部障碍物分布地图中的障碍物O1和障碍物O2的位置进行位移至推算的位置,即所述机器人在1.2s时刻应该相对于障碍物O1和障碍物O2的理论位置,因此,所述的处理器将局部障碍物分布地图中的障碍物O1和障碍物O2的位置进行位移至推算的位置相当于更新了图示中的(a)图和(b)图,即获得了新的图示,即图5中的(c)图和(d)图。此时,由于所述深度摄像头403和深度摄像头404在各自内部处理器中已经将局部数据(此实施例中的局部二维障碍物地图)的坐标系由传感器坐标系转换为机器人坐标系;而且,所述深度摄像头403和深度摄像头404的局部二维障碍物地图为相同时间戳(1.2s),换言之,所述深度摄像头403和深度摄像头404的局部二维障碍物地图为相同时间戳(1.2s)以及相同的坐标系(机器人坐标系),所述主处理器将图示中的(c)图和(d)图在机器人坐标系下进行叠加,即,将(c)图和(d)图放到相同的维度(时间维度和坐标系表示的空间维度)进行叠加进而获得图(e),所述图(e)为机器人100融合处理后的在当前位置的全局障碍物分布地图。
应理解的,上述仅以深度摄像头403和深度摄像头404两个传感器和两个时间戳(0.5s及1.2s)为例进行说明,在实际的应用场景中,机器人在工作状态下,所述的多个传感器和机器人的主处理器将持续上述过程,即机器人在每一个位置均会获得该位置的全局障碍物分布地图,随着机器人遍历整个工作场景,进而最终形成整个工作场景的障碍物分布地图。
处理器300根据全局障碍物分布地图和机器人任务,控制机器人100的运动。在此,处理器300已经根据不同位置获得的全局障碍物分布地图以及整个工作场景的障碍物分布地图,即可以根据机器人100当前要完成的任务如目的地导航、物品配送、覆盖式清洁确定机器人100的运动路径,根据运动路径控制机器人100当前的运动,例如控制机器人100向前运动、向左运动、向右运动等,使得机器人100能够完成既定任务。
请参阅图6,显示本申请传感器数据处理方法在另一实施例中的流程图。如图所示,结合上述图2所示的结构及具体场景,所述传感器数据处理方法包括以下步骤:
步骤S301,深度摄像头401至404对机器人100周围环境进行图像数据采集。
步骤S302,深度摄像头401至404分别对采集的点云数据进行预处理。
步骤S303,深度摄像头401至404分别对点云数据中的障碍物进行检测。
步骤S304,深度摄像头401至404根据障碍物检测结果生成局部障碍物分布地图。
步骤S305,深度摄像头401至404分别为点云数据中的部分点云数据设置不同优先级。
步骤S306,深度摄像头401至404分别向处理器300发送局部障碍物分布地图,并按优先级发送部分点云数据。
步骤S307,处理器300融合多个局部障碍物分布地图得到全局障碍物分布地图。
步骤S308,处理器300根据全局障碍物分布地图和机器人任务,控制机器人100的运动。
上述实施例中用于包括机器人和传感器的***的传感器数据处理方法通过多个传感器采集机器人周围环境的数据,并分别对采集的环境数据进行障碍物检测,再根据障碍物检测结果生成局部障碍物分布地图,进一步将多个传感器生成的局部障碍物分布地图发送至机器人的处理器,由处理器将接收的多个所述局部障碍物分布地图融合为全局障碍物分布地图,从而实现了在多个传感器上对采集数据的处理,再将处理后的数据发送至处理器,减少了多个传感器与处理器之间传输数据的数据量,降低了传输带宽的压力,提高了处理器的处理效率,减少了处理器的计算资源消耗。
在一实施例中,本申请的传感器数据处理方法还包括所述处理器根据所述机器人的工作状态调整一个或多个所述传感器工作方式的步骤;所述工作方式包括数据采集方式或/及数据发送方式。在本实施例中,调整所述一个或多个传感器工作方式包括调整数据采集频率、调整数据分辨率、或调整数据发送频率。
请参阅图7,显示为在一实施例中机器人的处理器对传感器的数据采集方式调整方法的流程图。如图所示,实施处理器300对深度摄像头401及402的数据采集方式进行调整的方案包括:
步骤S401,处理器300根据机器人100的工作状态,确定进行数据采集方式调整的深度摄像头。在此,机器人100的工作状态可以包括但不限于:直行、左转、右转、“弓”字形行走、沿墙行走等。这里的“弓”字形行走是机器人100的清洁任务中的一种工作状态,用于实现区域顺序清洁。沿墙行走同样是清洁任务中的一种工作状态,用于实现沿着墙壁的清扫,或擦地,可以分为沿左侧墙清洁和沿右侧墙清洁。
本申请的一些实施例中,根据机器人100不同的工作状态,可以对不同深度摄像头的数据采集方式进行调整。在此,机器人100不同的工作状态中,多个深度摄像头的重要性不一样,机器人100对重要性高的深度摄像头发送数据的需求更高,对重要性低的深度摄像头发送数据的需求低,因此机器人100的处理器300可选择接收更多重要性高的深度摄像头所发送的数据,接收较少重要性低的深度摄像头所发送的数据。以下以深度摄像头401为机器人100的运动方向前方的摄像头,深度摄像头402为机器人100的运动方向后方的摄像头为例进行说明。
在机器人100的工作状态为直行的情况下,深度摄像头401和深度摄像头402分别用于采集机器人100运动方向前方和后方的数据,深度摄像头401采集数据的重要性高,深度摄像头402采集数据的重要性低,因此处理器300将深度摄像头401和深度摄像头402确定为需要调整数据采集方式的深度摄像头。
步骤S402,处理器300为进行数据采集方式调整的深度摄像头生成控制指令。在此,处理器300为需要调整数据采集方式的深度摄像头401和402分别生成相应的控制指令,控制指令用于指示如何对深度摄像头的数据采集方式进行调整。数据采集方式可以包括但不限于:数据采集频率、数据分辨率、数据发送频率中的一种或多种。例如,处理器300为深度摄像头401生成的控制指令包括提升数据分辨率、提高数据采集频率或/和数据发送频率等,为深度摄像头402生成的控制指令包括降低数据分辨率、减少数据采集频率或/和数据发送频率等。
步骤S403,处理器300向深度摄像头401和402发送数据采集方式调整的控制指令。
步骤S404和步骤S405中,深度摄像头401和深度摄像头402分别根据控制指令对数据采集方式进行调整。在此,深度摄像头401接收的控制指令对数据采集方式向质量提高的方向调整,深度摄像头402接收的控制指令对数据采集方式向质量降低的方向调整。
步骤S406和步骤S407中,深度摄像头401和深度摄像头402分别按照调整后的数据采集方式发送数据。在此,深度摄像头401的当前数据采集方式相比原本的数据采集方式在质量、采集频率和发送频率上有提高,深度摄像头402的当前数据采集方式相比原本的数据采集方式在质量、采集频率和发送频率上有降低。
通过上述步骤,处理器300可以将计算资源集中用于处理深度摄像头发送的重要性更高的数据,从而有效利用处理器300与深度摄像头之间的网络带宽和处理器300的计算资源。
请参阅图8,显示为本申请所述传感器的内部处理器在一实施例中的原理框图,如图所述,深度摄像头401具有计算处理装置,例如片上***(System on Chip,SoC)等。在本实施例中,相似的部件具有同样的附图标记。另外,虚线框是更先进的SoC的可选特征。在图8中,SoC 1000包括:互连单元1050,其被耦合至处理器1010;***代理单元1070;总线控制器单元1080;集成存储器控制器单元1040;一组或一个或多个协处理器1020,其可包括集成图形逻辑、图像处理器、音频处理器和视频处理器;静态随机存取存储器(SRAM)单元1030;直接存储器存取(DMA)单元1060。在一个实施例中,协处理器1020包括专用处理器,例如网络或通信处理器、压缩引擎、GPGPU、高吞吐量MIC处理器、或嵌入式处理器等等。
本申请在另一方面还提供一种包括机器人和传感器的***,所述包括多个传感器,存储器,以及处理器。在本申请中,所述存储器及处理器均为设置在机器人本体上计算装置的存储器和处理器。
所述多个传感器用于采集所述机器人周围环境的数据,各该传感器对采集的环境数据进行障碍物检测以生成局部数据并发送至处理器;在实施例中,所述的传感器例如包括激光传感器、超声波传感器、红外传感器、光学摄像头(例如单目摄像头或双目摄像头)、深度摄像头(例如ToF传感器)、毫米波雷达传感器等。
所述存储器用于存储由机器人的一个或多个处理器执行的指令;在实施例中,所述存储器可包括高速随机存取存储器,并且还可包括非易失性存储器,例如一个或多个磁盘存储设备、闪存设备或其他非易失性固态存储设备。在某些实施例中,所述一或多个存储器还可以包括远离一个或多个处理器的存储器,例如经由RF电路或外部端口以及通信网络访问的网络附加存储器,其中所述通信网络可以是因特网、一个或多个内部网、局域网、广域网、存储局域网等,或其适当组合。存储器控制器可控制设备的诸如CPU和外设接口之类的其他组件对存储器的访问。
所述处理器为所述机器人的主处理器,用于将接收的多个所述局部数据进行处理为全局障碍物分布地图。在实施例中,所述处理器300可用于读取和执行计算机可读指令。具体实现中,处理器300可主要包括控制器、运算器和寄存器。其中,控制器主要负责指令译码,并为指令对应的操作发出控制信号。运算器主要负责执行定点或浮点算数运算操作、移位操作以及逻辑操作等,也可以执行地址运算和转换。寄存器主要负责保存指令执行过程中临时存放的寄存器操作数和中间操作结果等。具体实现中,处理器300的硬件架构可以是专用集成电路(ASIC)架构、MIPS架构、ARM架构或者NP架构等等。
所述处理器300可以包括一个或多个处理单元,例如:处理器300可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
所述处理器可以用于接收所述多个传感器发送的点云数据、图像数据和局部障碍物分布地图数据,并对这些数据进行融合得到完整的二维障碍物分布地图,再根据二维障碍物分布地图控制机器人完成特定的任务如物品配送、房间清扫/清洗等。
请参阅图9,显示为本申请包括机器人和传感器的***在一实施例中的***框图,如图所述,在本实施例中,所述的包括机器人和传感器的***是指机器人本体上设置有多个传感器的机器人***,具体地,依据移动机器人的功能需要,将多个传感器401、402、403和404设置在机器人本体400上,所述机器人本体400中的计算装置405包括所述存储器406及处理器407。例如图示的机器人本体400上设置有4个传感器401、402、403和404等4个传感器持续检测周围环境;在实际的实现方式中,传感器在机器人本体上设置的位置将依据各该传感器的功能设置在相应的位置,比如机器人本体的顶部设置鱼眼摄像头或激光传感器,机器人的前侧设置双目视觉摄像头、机器人左右两侧或一侧设置超声传感器,机器人前侧或后侧设置激光传感器或ToF传感器等。
请参阅图10,显示为本申请包括机器人和传感器的***在另一实施例中的***框图,如图所述,在本实施例中,所述的包括机器人和传感器的***是指传感器401、402、403和404被设置在机器人本体400之外的位置构成的无线通信***,所述机器人本体400中的计算装置405包括所述存储器406及处理器407。比如机器人的工作环境中,例如所述传感器401、402、403和404设置在机器人经常巡航的走道/过道上、墙体或柱体上等物理空间中,再有甚者,所述传感器401、402、403和404为设置在其他独立与移动机器人的电子设备上,例如用户终端设备(例如智能手机、平板电脑、监控摄像头、智能屏等用户终端设备)上的传感器,例如可以通过将智能手机绑定机器人,从而智能手机的传感器可以与机器人进行数据交换,这些情况下,***由机器人和设置在外部的传感器组成,机器人与外部传感器之间的数据传输通过无线通信方式进行,可以包括但不限于无线网络(Wireless Fidelity,Wi-Fi)、蓝牙(Blue Tooth)等无线通信方式。
本申请在另一方面还提供一种移动机器人,请参阅图11,显示为本申请移动机器人在一实施例中的框图,如图所示,本申请的移动机器人包括多个传感器401、402、403和404,移动装置408,存储装置406及处理装置407。
所述多个传感器401、402、403和404设置在机器人本体400上用于采集所述机器人周围环境的数据,各该传感器对采集的环境数据进行障碍物检测以生成局部数据并发送至处理器;在实施例中,设置在机器人本体上的多个传感器例如包括激光传感器、超声波传感器、红外传感器、光学摄像头(例如单目摄像头或双目摄像头)、深度摄像头(例如ToF传感器)、毫米波雷达传感器等。
所述移动装置408用于执行移动操作;在实施例中,所述移动装置408用于根据处理器发出的指令控制机器人的运动。移动装置可以包括多个运动相关的部件,例如电机、传动轴、轮子等。本申请的一些实施例中,移动装置408用于实现机器人的多种运动形式,例如向前运动、向后运动、向左运动、向右运动、弓形运动等以完成特定的任务如物品配送、房间清扫/清洗等。
所述机器人的计算装置405包括存储装置406和处理装置407,其中,所述存储装置406用以存储至少一个程序;所述处理装置407与所述多个传感器401、402、403和404,移动装置408,以及存储装置406相连,用于执行所述至少一个程序,以执行上述针对传感器数据处理方法所描述的至少一种实施例,比如图3对应的各实施方式中任一所描述的实施例;或者执行上述针对传感器数据处理方法所描述的至少一种实施例,比如图6或图7对应的各实施方式中任一所描述的实施例。
本申请再一方面还提供一种计算机可读写存储介质,存储有计算机程序,所述计算机程序被执行时所述存储介质所在设备实现上述针对传感器数据处理方法所描述的至少一种实施例,比如图3对应的各实施方式中任一所描述的实施例;或者所述计算机程序被执行时所述存储介质所在设备实现上述针对传感器数据处理方法所描述的至少一种实施例,比如图6或图7对应的各实施方式中任一所描述的实施例。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。
于本申请提供的实施例中,所述计算机可读写存储介质可以包括只读存储器、随机存取存储器、EEPROM、CD-ROM或其它光盘存储装置、磁盘存储装置或其它磁存储设备、闪存、U盘、移动硬盘、或者能够用于存储具有指令或数据结构形式的期望的程序代码并能够由计算机进行存取的任何其它介质。另外,任何连接都可以适当地称为计算机可读介质。例如,如果指令是使用同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或者诸如红外线、无线电和微波之类的无线技术,从网站、服务器或其它远程源发送的,则所述同轴电缆、光纤光缆、双绞线、DSL或者诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读写存储介质和数据存储介质不包括连接、载波、信号或者其它暂时性介质,而是旨在针对于非暂时性、有形的存储介质。如申请中所使用的磁盘和光盘包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中,磁盘通常磁性地复制数据,而光盘则用激光来光学地复制数据。
在一个或多个示例性方面,本申请所述方法的计算机程序所描述的功能可以用硬件、软件、固件或其任意组合的方式来实现。当用软件实现时,可以将这些功能作为一个或多个指令或代码存储或传送到计算机可读介质上。本申请所公开的方法或算法的步骤可以用处理器可执行软件模块来体现,其中处理器可执行软件模块可以位于有形、非临时性计算机可读写存储介质上。有形、非临时性计算机可读写存储介质可以是计算机能够存取的任何可用介质。
本申请上述的附图中的流程图和框图,图示了按照本申请各种实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。基于此,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执行规定的功能或操作的专用的基于硬件的***来实现,或者可以通过专用硬件与计算机指令的组合来实现。
综上所述,本申请上述公开其中之一实施例中用于包括机器人和传感器的***的传感器数据处理方法通过多个传感器采集机器人周围环境的数据,并分别对采集的环境数据进行障碍物检测,再根据障碍物检测结果生成局部数据,进一步将多个传感器生成的局部数据发送至机器人的处理器,由处理器将接收的多个所述局部数据融合为全局障碍物分布地图,从而实现了在多个传感器上对采集数据的处理,再将处理后的数据发送至处理器,减少了多个传感器与处理器之间传输数据的数据量,降低了传输带宽的压力,提高了处理器的处理效率,减少了处理器的计算资源消耗。
根据上述各示例描述,本申请提供多种实施例,具体如下:
1.一种传感器数据处理方法,用于包括机器人和传感器的***,其中,包括:
通过多个传感器采集机器人周围环境的数据;
所述多个传感器对采集的环境数据进行障碍物检测,并根据障碍物检测结果生成局部障碍物分布地图;
所述多个传感器将各自生成的所述局部障碍物分布地图发送至处理器,其中,所述处理器为所述机器人的主要处理器;
所述处理器将接收的多个所述局部障碍物分布地图融合为全局障碍物分布地图。
2.根据实施例1所述的方法,其中,所述传感器为深度摄像头,并且设置在所述机器人上或所述机器人的工作环境中,所述深度摄像头用于采集机器人周围环境的点云数据。
3.根据实施例2所述的方法,其中,该方法还包括:
所述深度摄像头对所述点云数据进行坐标转换,以将所述点云数据从深度摄像头坐标系转换为机器人坐标系。
4.根据实施例1所述的方法,其中,该方法还包括:
所述深度摄像头将所述点云数据划分为多个部分点云数据,并且为所述多个部分点云数据设置对应的优先级。
5.根据实施例4所述的方法,其中,为所述多个部分点云数据设置对应的优先级,包括:
所述深度摄像头根据所述部分点云数据是否包含障碍物和障碍物与所述机器人之间距离确定所述部分点云数据对应的优先级。
6.根据实施例4所述的方法,其中,为所述多个部分点云数据设置对应的优先级之后,还包括:
所述深度摄像头根据所述部分点云数据对应的优先级向所述处理器发送所述部分点云数据。
7.根据实施例2所述的方法,其中,该方法还包括:
所述处理器根据所述机器人的工作状态,确定进行数据采集方式调整的深度摄像头;
所述处理器控制确定的深度摄像头进行数据采集方式调整;
所述确定的深度摄像头按照调整后的数据采集方式向所述处理器发送数据。
8.根据实施例7所述的方法,其中,所述数据采集方式包括如下一种或多种的组合:数据采集频率、数据分辨率、数据发送频率。
9.一种包括机器人和传感器的***,其中,包括:
多个传感器,用于采集所述机器人周围环境的数据,并对采集的环境数据进行障碍物检测,并根据障碍物检测结果生成局部障碍物分布地图,再将生成的所述局部障碍物分布地图发送至处理器;
存储器,用于存储由机器人的一个或多个处理器执行的指令,以及
处理器,是机器人的处理器之一,用于将接收的多个所述局部障碍物分布地图融合为全局障碍物分布地图。
10.一种可读存储介质,其中,所述可读存储介质上存储有指令,该指令在包括机器人和传感器的***上执行时使***执行实施例1-8中任一项所述的传感器数据处理方法。
上述实施例仅例示性说明本申请的原理及其功效,而非用于限制本申请。任何熟悉此技术的人士皆可在不违背本申请的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本申请所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本申请的权利要求所涵盖。

Claims (24)

1.一种传感器数据处理方法,用于包括机器人和传感器的***,其特征在于,包括以下步骤:
通过多个传感器采集所述机器人周围环境的数据;
所述多个传感器对采集的环境数据进行障碍物检测以生成局部数据;
所述多个传感器将各自生成的局部数据发送至处理器,其中,所述处理器为所述机器人的主处理器;
所述处理器将接收的多个所述局部数据进行处理为全局障碍物分布地图。
2.根据权利要求1所述的传感器数据处理方法,其特征在于,所述多个传感器对采集的环境数据进行障碍物检测以生成局部数据的步骤包括:根据障碍物检测结果生成局部障碍物分布地图。
3.根据权利要求2所述的传感器数据处理方法,其特征在于,所述根据障碍物检测结果生成局部障碍物分布地图的步骤包括:所述多个传感器对采集的环境数据进行障碍物检测获得障碍物数据,并通过栅格法构建俯视图以得到局部二维障碍物地图数据。
4.根据权利要求2所述的传感器数据处理方法,其特征在于,所述根据障碍物检测结果生成局部障碍物分布地图的步骤包括:通过使用结构化的数据来表示障碍物的类型和坐标信息,以得到结构化形式的局部障碍物分布地图。
5.根据权利要求2所述的传感器数据处理方法,其特征在于,所述处理器将接收的多个所述局部障碍物分布地图融合为当前位置的全局障碍物分布地图。
6.根据权利要求1所述的传感器数据处理方法,其特征在于,所述多个传感器对采集的环境数据进行障碍物检测以生成局部数据的步骤包括:根据障碍物检测结果生成局部障碍物数据。
7.根据权利要求6所述的传感器数据处理方法,其特征在于,所述处理器将接收的多个所述局部数据进行处理为全局障碍物分布地图的步骤包括:所述主处理器接收所述多个传感器发送的局部障碍物数据以生成每一传感器在当前位置的局部障碍物分布地图;并将多个局部障碍物分布地图进行融合处理以生成当前位置的全局障碍物分布地图。
8.根据权利要求1所述的传感器数据处理方法,其特征在于,所述传感器为激光传感器、超声波传感器、红外传感器、光学摄像头、深度摄像头、及毫米波雷达传感器中的一种或多种。
9.根据权利要求1所述的传感器数据处理方法,其特征在于,所述传感器为设置在所述机器人上或所述机器人的工作环境中用于采集机器人周围环境的局部数据。
10.根据权利要求1所述的传感器数据处理方法,其特征在于,所述多个传感器对采集的环境数据进行障碍物检测以生成局部数据的步骤中还包括:各该传感器依据其预设的或获取的转换关系将其生成的局部数据中的坐标系从传感器坐标系转换为机器人坐标系。
11.根据权利要求1所述的传感器数据处理方法,其特征在于,所述多个传感器将各自生成的局部数据发送至所述处理器的步骤还包括依据预设规则将各该传感器将生成的局部数据划分为具有不同优先级的部分局部数据。
12.根据权利要求11所述的传感器数据处理方法,其特征在于,所述预设规则的条件包括所述传感器生成的局部数据中是否包含障碍物以及障碍物与所述机器人之间的距离。
13.根据权利要求11所述的传感器数据处理方法,其特征在于,所述多个传感器将各自生成的局部数据发送至所述处理器的步骤还包括各该传感器依据所述部分局部数据的优先级从高到低的顺序向将该部分局部数据发送至所述处理器。
14.根据权利要求1所述的传感器数据处理方法,其特征在于,所述多个传感器将各自生成的局部数据发送至所述处理器的步骤还包括各该传感器依据其预设优先级将其生成的局部数据发送至所述处理器。
15.根据权利要求14所述的传感器数据处理方法,其特征在于,所述各该传感器预设优先级的条件包括各该传感器在机器人所处工作环境中的位置或者该传感器在机器人本体上设置的位置。
16.根据权利要求1所述的传感器数据处理方法,其特征在于,还包括所述处理器根据所述机器人的工作状态调整一个或多个所述传感器工作方式的步骤;所述工作方式包括数据采集方式或/及数据发送方式。
17.根据权利要求1所述的传感器数据处理方法,其特征在于,调整所述一个或多个传感器工作方式包括调整数据采集频率、调整数据分辨率、或调整数据发送频率。
18.根据权利要求1所述的传感器数据处理方法,其特征在于,所述处理器将接收的多个所述局部数据进行处理为全局障碍物分布地图的步骤包括:所述处理器将接收的多个所述局部数据进行融合处理为所述机器人当前位置的全局障碍物分布地图。
19.根据权利要求18所述的传感器数据处理方法,其特征在于,所述处理器将接收的多个所述局部数据利用概率占有栅格图算法进行融合处理为全局障碍物分布地图。
20.根据权利要求18所述的传感器数据处理方法,其特征在于,所述处理器将接收的多个所述局部数据进行融合处理为全局障碍物分布地图的步骤包括:依据各该传感器生成的局部数据中携带的时间戳,推算所述机器人在当前时间戳下的位移信息,并依据所述位移信息更新所述局部数据中的障碍物信息;将更新的多个传感器的局部数据进行叠加以形成当前位置的全局障碍物分布地图。
21.一种包括机器人和传感器的***,其特征在于,包括:
多个传感器,用于采集所述机器人周围环境的数据,各该传感器对采集的环境数据进行障碍物检测以生成局部数据并发送至处理器;
存储器,用于存储由机器人的一个或多个处理器执行的指令;以及
处理器,为所述机器人的主处理器,用于将接收的多个所述局部数据进行处理为全局障碍物分布地图。
22.一种移动机器人,其特征在于,包括:
多个传感器,用于采集所述机器人周围环境的数据,各该传感器对采集的环境数据进行障碍物检测以生成局部数据并发送至处理器;
移动装置,用于执行移动操作;
存储装置,用以存储至少一个程序;
处理装置,与所述多个传感器,移动装置,以及存储装置相连,用于执行所述至少一个程序,以执行如权利要求1-20中任一所述的传感器数据处理方法。
23.根据权利要求22移动机器人,其特征在于,所述移动机器人包括商用清洁机器人。
24.一种可读存储介质,其特征在于,存储有至少一种计算机程序,所述计算机程序被处理器运行时控制所述存储介质所在设备执行如权利要求1-20中任一所述的传感器数据处理方法。
CN202211077958.1A 2021-09-08 2022-09-05 传感器数据处理方法、***及可读存储介质 Pending CN115328153A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202111048851X 2021-09-08
CN202111048851.XA CN113721631A (zh) 2021-09-08 2021-09-08 传感器数据处理方法、***及可读存储介质

Publications (1)

Publication Number Publication Date
CN115328153A true CN115328153A (zh) 2022-11-11

Family

ID=78682512

Family Applications (2)

Application Number Title Priority Date Filing Date
CN202111048851.XA Pending CN113721631A (zh) 2021-09-08 2021-09-08 传感器数据处理方法、***及可读存储介质
CN202211077958.1A Pending CN115328153A (zh) 2021-09-08 2022-09-05 传感器数据处理方法、***及可读存储介质

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202111048851.XA Pending CN113721631A (zh) 2021-09-08 2021-09-08 传感器数据处理方法、***及可读存储介质

Country Status (2)

Country Link
CN (2) CN113721631A (zh)
WO (1) WO2023036083A1 (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113721631A (zh) * 2021-09-08 2021-11-30 汤恩智能科技(上海)有限公司 传感器数据处理方法、***及可读存储介质
CN117291476B (zh) * 2023-11-27 2024-02-13 南京如昼信息科技有限公司 基于遥控机器人的城市排水管道的评估方法及***

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100671894B1 (ko) * 2005-03-04 2007-01-24 주식회사 대우일렉트로닉스 멀티센서유닛이 구비된 로봇 청소기 및 그 청소방법
CN106681330A (zh) * 2017-01-25 2017-05-17 北京航空航天大学 基于多传感器数据融合的机器人导航方法及装置
CN108646739A (zh) * 2018-05-14 2018-10-12 北京智行者科技有限公司 一种传感信息融合方法
CN109738904A (zh) * 2018-12-11 2019-05-10 北京百度网讯科技有限公司 一种障碍物检测的方法、装置、设备和计算机存储介质
CN109752724A (zh) * 2018-12-26 2019-05-14 珠海市众创芯慧科技有限公司 一种图像激光一体式导航定位***
CN109682381B (zh) * 2019-02-22 2020-09-25 山东大学 基于全向视觉的大视场场景感知方法、***、介质及设备
CN111123925A (zh) * 2019-12-19 2020-05-08 天津联汇智造科技有限公司 一种移动机器人导航***以及方法
CN113721631A (zh) * 2021-09-08 2021-11-30 汤恩智能科技(上海)有限公司 传感器数据处理方法、***及可读存储介质

Also Published As

Publication number Publication date
WO2023036083A1 (zh) 2023-03-16
CN113721631A (zh) 2021-11-30

Similar Documents

Publication Publication Date Title
US10437252B1 (en) High-precision multi-layer visual and semantic map for autonomous driving
US10794710B1 (en) High-precision multi-layer visual and semantic map by autonomous units
US10192113B1 (en) Quadocular sensor design in autonomous platforms
US10496104B1 (en) Positional awareness with quadocular sensor in autonomous platforms
US11328158B2 (en) Visual-inertial positional awareness for autonomous and non-autonomous tracking
CN112292711B (zh) 关联lidar数据和图像数据
US10410328B1 (en) Visual-inertial positional awareness for autonomous and non-autonomous device
US10366508B1 (en) Visual-inertial positional awareness for autonomous and non-autonomous device
US10991156B2 (en) Multi-modal data fusion for enhanced 3D perception for platforms
US10390003B1 (en) Visual-inertial positional awareness for autonomous and non-autonomous device
JP6571274B2 (ja) レーザ深度マップサンプリングのためのシステム及び方法
US9443350B2 (en) Real-time 3D reconstruction with power efficient depth sensor usage
US20190286153A1 (en) Determining drivable free-space for autonomous vehicles
US11064178B2 (en) Deep virtual stereo odometry
CN112740268B (zh) 目标检测方法和装置
CN114667437A (zh) 用于自主驾驶应用的地图创建和定位
CN115328153A (zh) 传感器数据处理方法、***及可读存储介质
JP2021089724A (ja) 構造的制約及び物理的制約を伴う3d自動ラベル付け
WO2018134677A1 (en) Multi-camera system and method of use
JP2018534699A (ja) 誤りのある深度情報を補正するためのシステムおよび方法
KR20210022703A (ko) 운동 물체 검출 및 지능형 운전 제어 방법, 장치, 매체 및 기기
US11842440B2 (en) Landmark location reconstruction in autonomous machine applications
US11797013B2 (en) Collision avoidance method and mobile machine using the same
WO2022160101A1 (zh) 朝向估计方法、装置、可移动平台及可读存储介质
WO2023130465A1 (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