CN111168685A - 机器人控制方法、机器人和可读存储介质 - Google Patents
机器人控制方法、机器人和可读存储介质 Download PDFInfo
- Publication number
- CN111168685A CN111168685A CN202010096120.1A CN202010096120A CN111168685A CN 111168685 A CN111168685 A CN 111168685A CN 202010096120 A CN202010096120 A CN 202010096120A CN 111168685 A CN111168685 A CN 111168685A
- Authority
- CN
- China
- Prior art keywords
- robot
- target object
- image data
- control method
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J19/00—Accessories fitted to manipulators, e.g. for monitoring, for viewing; Safety devices combined with or specially adapted for use in connection with manipulators
- B25J19/02—Sensing devices
- B25J19/021—Optical sensing devices
- B25J19/022—Optical sensing devices using lasers
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
Landscapes
- Engineering & Computer Science (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Automation & Control Theory (AREA)
- Physics & Mathematics (AREA)
- Optics & Photonics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
Abstract
本申请公开了一种机器人控制方法、机器人和可读存储介质。机器人包括第一传感器和第二传感器,第一传感器用于获取图像数据,第二传感器用于获取激光深度数据,控制方法包括:融合图像数据和激光深度数据以获取目标对象在预存场景中的位置;比较机器人和目标对象在预设场景中的相对位置;根据机器人与目标对象的比较结果控制机器人。本申请实施方式的控制方法、机器人和可读存储介质通过将多种传感器数据融合以获取目标对象数据,比较获取的目标对象和机器人的相对位置,从而能够根据机器人与目标对象的比较结果控制机器人执行导航任务。
Description
技术领域
本申请涉及机器人及无人驾驶技术领域,更具体而言,涉及一种机器人控制方法、机器人和可读存储介质。
背景技术
随着机器人行业的蓬勃发展,机器人的应用场景越来越广泛,机器人需要在各种各样的环境中进行自主导航。但是目前机器人行业里应对存在障碍物的环境并不成熟,障碍物可以是一米栏、椅子、桌子等等,以一米栏为例,环境可以是包括有一米栏的商场、机场、车站、酒店等等,机器人在自主导航的过程中容易撞上障碍物而发生事故。
发明内容
本发明旨在至少在一定程度上解决相关技术中的技术问题之一。
为此,本发明的目的在于提供一种控制方法,应用于机器人,所述机器人包括第一传感器和第二传感器,所述第一传感器用于获取图像数据,所述第二传感器用于获取激光深度数据,所述控制方法包括:
融合所述图像数据和所述激光深度数据以获取目标对象在预存场景中的位置;
比较所述机器人和所述目标对象在所述预设场景中的相对位置;
根据所述机器人与所述目标对象的比较结果控制所述机器人。
本申请实施方式的控制方法通过将多种传感器数据融合以获取目标对象数据,比较获取的目标对象和机器人的相对位置,从而能够根据机器人与目标对象的比较结果控制机器人执行导航任务,以防止机器人与目标对象相撞。
在某些实施方式中,所述控制方法还包括:
根据所述激光深度数据获取激光点云,并聚类形成多个点云团;
建立跟踪模型,对聚类后的多个所述点云团进行跟踪;
根据所述跟踪模型,获取各个所述点云团的速度,若单个所述点云团的移动速度大于阈值速度,则将所述点云团判断为动态物体;
在确定所述激光点云为动态物体时,排除所述动态物体。
如此,机器人能够根据获取激光点云和跟踪模型,排除动态物体的干扰,使得机器人能够更加精确的执行导航任务。
在某些实施方式中,所述控制方法还包括:
比较所述图像数据和所述目标对象的预存模型数据;
根据所述图像数据和所述目标对象的预存模型数据判断所述图像是否存在所述目标对象。
如此,机器人通过获取的图像数据和目标对象的预存数据比较以判断获取的图像数据中是否存在目标对象。
在某些实施方式中,所述目标对象包括一米栏,
在所述图像数据存在所述一米栏时,根据所述图像数据投影形成三维图形;
根据所述一米栏的预存模型和所述三维图形以识别所述目标对象。
如此,机器人通过将目标对象投影形成三维图形,并根据目标对象的预存模型与三维图像以识别目标对象的结构关系。
在某些实施方式中,所述控制方法包括:
根据所述图像数据和所述激光深度数据生成虚拟墙;
根据所述虚拟墙和所述机器人相对位置以控制所述机器人。
如此,机器人能够根据生产的虚拟墙控制其导航,以避免撞上目标对象。
在某些实施方式中,所述控制方法包括:
根据所述图像数据获取第一坐标系下的第一坐标和根据所述激深度数据获取第二坐标系下的第二坐标;
融合所述第一坐标和所述第二坐标以获取所述目标对象在预设三维坐标系中的目标位置;
如此,机器人通过将图像数据和激光深度数据转换形成坐标数据,并根据转换的坐标数据精确获取目标对象在预存三维坐标中的位置,从而简化计算量。
在某些实施方式中,所述控制方法包括:
获取所述机器人所述三维坐标系中的第三坐标;
根据所述目标位置和所述第三坐标控制所述机器人。
如此,机器人能够精确地判断机器人和目标对象在预存三维坐标系中相对位置,从而精确控制机器人的导航。
本申请还提供一种机器人,所述机器人包括第一传感器和第二传感器,所述第一传感器用于获取图像数据,所述第二传感器用于获取激光深度数据,所述机器人还包括:
处理模块,所述处理模块用于融合所述图像数据和所述激光深度数据以获取目标对象在预存场景中的位置;
比较模块,所述比较模块用于比较所述机器人和所述目标对象在所述预设场景中的相对位置;
控制模块,所述控制模块用于根据所述机器人与所述目标对象的比较结果控制所述机器人。
本申请提供的机器人通过将多种传感器数据融合以获取目标对象数据,比较获取的目标对象和机器人的相对位置,从而能够根据机器人与目标对象的比较结果控制机器人执行导航任务,以防止机器人和目标对象相撞。
在某些实施方式中,所述机器人还包括获取模块、跟踪模块、判断模块和排除模块,所述获取模块用于根据所述激光深度数据获取激光点云,并聚类形成多个点云团;所述跟踪模块用于建立跟踪模型,对聚类后的多个所述点云团进行跟踪。所述判断模块用于根据所述跟踪模型,获取各个所述点云团的速度,若单个所述点云团的移动速度大于阈值速度,则将所述点云团判断为动态物体。所述排除模块用于在确定所述激光点云为动态物体时,排除所述动态物体。
如此,机器人能够根据获取激光点云和跟踪模型,排除动态物体的干扰,使得机器人能够更加精确识别目标对象,以执行导航任务。
在某些实施方式中,所述比较模块还用于比较所述图像数据和所述目标对象的预存模型数据;所述判断摸还用于根据所述图像数据和所述目标对象的预存模型数据判断所述图像是否存在所述目标对象。
如此,机器人通过获取的图像数据和目标对象的预存数据比较以判断获取的图像数据中是否存在目标对象
在某些实施方式中,所述目标对象包括一米栏,所述机器人还包括生成模块和识别模块,所述生成模块用于在所述图像数据存在所述一米栏时,根据所述图像数据投影形成三维图形;所述识别模块用于根据所述一米栏的预存模型和所述三维图形以识别所述目标对象。
如此,机器人通过将目标对象投影形成三维图形,并根据目标对象的预存模型与三维图像以识别目标对象。
在某些实施方式中,所述生成模块还用于根据所述图像数据和所述激光深度数据生成虚拟墙;所述控制模块还用于根据所述虚拟墙和所述机器人相对位置以控制所述机器人。
在某些实施方式中,所述获取模块还用于根据所述图像数据获取第一坐标系下的第一坐标和根据所述激光深度数据获取第二坐标系下的第二坐标;所述处理模块还用于融合所述第一坐标和所述第二坐标以获取所述目标对象在预设三维坐标系中的目标位置。
如此,机器人通过将图像数据和激光深度数据转换形成坐标数据,并根据转换的坐标数据精确获取目标对象在预存三维坐标中的位置,从而简化计算量。
在某些实施方式中,所述获取模块还用于获取所述机器人所述三维坐标系中的第三坐标;所述控制模块还用于根据所述目标位置和所述第三坐标控制所述机器人。
如此,机器人能够精确地判断机器人和目标对象在预存三维坐标系中相对位置,从而精确控制机器人的导航。
本申请实施方式还提供一种机器人,机器人包括处理器、可读存储介质及存储在所述可读存储介质上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时,使得所述处理器执行上述任一实施方式所述的控制方法。
本申请实施方式的机器人通过处理器执行计算机可执行指令能够通过将多种传感器数据融合以获取目标对象数据,比较获取的目标对象和机器人的相对位置,从而能够根据机器人与目标对象的比较结果控制机器人执行导航任务,以防止机器人和目标对象相撞。
本申请实施方式提供一种非易失性计算机可读存储介质,计算机可读存储介质包括计算机可执行指令,当计算机可执行指令被一个或多个处理器执行时,使得处理器执行上述实施方式的机器人控制方法。
本申请实施方式的可读存储介质中,通过处理器执行计算机可执行指令,机器人通过将多种传感器数据融合以获取目标对象数据,比较获取的目标对象和机器人的相对位置,从而能够根据机器人与目标对象的比较结果控制机器人执行导航任务,以防止机器人和目标对象相撞。
本申请的实施方式的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实施方式的实践了解到。
附图说明
本申请的上述和/或附加的方面和优点从结合下面附图对实施方式的描述中将变得明显和容易理解,其中:
图1是本申请实施方式的机器人控制方法的流程示意图。
图2是本申请实施方式的机器人的室内目标场景示使用示意图。
图3是本申请实施方式的机器人的模块示意图。
图4是本申请实施方式的机器人控制方法的另一流程示意图。
图5是本申请实施方式的机器人控制方法的又一流程示意图。
图6是本申请实施方式的机器人控制方法的又一流程示意图。
图7是本申请实施方式的机器人控制方法的又一流程示意图。
图8是本申请实施方式的机器人控制方法的又一流程示意图。
图9是本申请实施方式的机器人控制方法中框选目标对象示意图。
图10是本申请实施方式的机器人控制方法的又一流程示意图。
图11是本申请实施方式的机器人控制方法的又一流程示意图。
图12是本申请实施方式的机器人控制方法中生成虚拟墙场景图。
图13是本申请实施方式的机器人控制方法的又一流程示意图。
图14是本申请实施方式的机器人控制方法的又一流程示意图。
图15是本申请实施方式的机器人控制方法的又一流程示意图。
图16是本申请实施方式的机器人控制方法中摄像头坐标投影到激光平面的场景示意图。
图17是本申请实施方式的机器人的另一模块示意图。
图18是本申请实施方式的机器人的又一模块示意图。
具体实施方式
下面详细描述本申请的实施方式,实施方式的示例在附图中示出,其中,相同或类似的标号自始至终表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施方式是示例性的,仅用于解释本申请,而不能理解为对本申请的限制。
请参阅图1,本申请提供一种控制方法,应用于机器人100。机器人100包括第一传感器11和第二传感器13。其中,第一传感器11用于获取图像数据,第二传感器13用于获取激光深度数据。控制方法包括以下步骤:
S100:融合图像数据和激光深度数据以获取目标对象20在预存场景中的位置;
S120:比较机器人100和目标对象20在预设场景中的相对位置;
S140:根据机器人100与目标对象20的比较结果控制机器人100。
请参阅图2和图3,本申请实施方式的控制方法可以由本申请实施方式的机器人100实现,机器人100包括第一传感器11、第二传感器13、处理模块15、比较模块17和控制模块19。第一传感器11用于获取图像数据,第二传感器13用于获取激光深度数据,处理模块15用于融合图像数据和激光深度数据以获取目标对象20在预存场景中的位置。比较模块17用于比较机器人100和目标对象20在预设场景中的相对位置。控制模块19用于根据机器人100与目标对象20的比较结果控制机器人100。也就是说,步骤S100可以由处理模块15实现,步骤S120可以由比较模块17实现,步骤S140可以由控制模块19实现。
本申请的机器人100通过将图像数据和激光深度数据融合以获取目标对象20数据在预设场景中的位置,比较机器人100和目标对象20在预设场景中的相对位置,从而机器人100能够根据比较结果控制其执行导航任务,以防止机器人100和目标对象20相撞。
具体地,机器人100可以是爬行机器人、轮式机器人、扫地机器人等等。本申请中以机器人100是扫地机器人为例进行说明。进一步地,第一传感器11可以是摄像头传感器、视觉传感器等等,第一传感器11用于拍摄并获取当前环境的图像数据。第二传感器13可以是二维激光传感器、三维激光传感器等,第二传感器13用于获取激光深度数据。在其他实施方式中,第二传感器13还可以是深度传感器,用于获取目标对象20的深度信息。
在一些实施方式中,机器人100通过人工控制在目标场景中移动以获取并预存目标场景的地图数据,或者机器人100自主在目标场景中移动以获取并预存目标场景的地图数据。在另一些实施方式中,机器人100可以通过导入方式预存目标场景数据,例如通过互联网下载、数据线下载、无线传输等方式。目标对象20可以是人、障碍物、一米栏30等等,为便于说明,本申请以一米栏30为例进行说明,一米栏30用于隔离、警戒等等。目标场景可以是室内、室外、公共场合等等。
在机器人100执行导航任务时,机器人100首先通过第一传感器11拍摄以获取目标场景中当前图像数据,以及通过第二传感器13获取机器人100和目标对象20的深度数据。紧接着融合图像数据和激光深度数据以获取目标对象20在预存场景中的位置,并比较机器人100和目标对象20在预设场景中的相对位置,最后根据机器人100与目标对象20的比较结果控制机器人100执行导航任务。如此,机器人100能够精确识别其与目标对象20的相对位置,从而防止与目标对象20相撞。
请参阅图4,在某些实施方式中,控制方法还包括:
S200:根据激光深度数据获取激光点云,并聚类形成多个点云团;
S220:建立跟踪模型,对聚类后的多个点云团进行跟踪;
S240:根据跟踪模型,获取各个点云团的速度,若单个点云团的移动速度大于阈值速度,则将点云团判断为动态物体;及
S260:在确定激光点云为动态物体时,排除动态物体。
请参阅图3,在某些实施方式中,机器人100还包括获取模块21、跟踪模块23、判断模块25和排除模块27。跟踪模块23用于建立跟踪模型,对聚类后的多个点云团进行跟踪。获取模块21用于根据跟踪模型,获取各个点云团的速度,若单个点云团的移动速度大于阈值速度,则将点云团判断为动态物体,判断模块25用于在确定激光点云为动态物体时,排除动态物体。也就是说,步骤S200可以由获取模块21实现,步骤S220可以由跟踪模块23实现,步骤S240可以由判断模块25实现,步骤S260可以由排除模块27实现。
如此,机器人100能够根据获取激光点云和预存的激光点云相对速度,排除动态物体的干扰,使得机器人100能够更加精确识别目标对象20,以执行导航任务。
具体地,机器人100根据第二传感器13获取的激光深度数据获取激光点云,并聚类形成多个点云团;并建立激光点云团的跟踪模型,对聚类后的多个点云团进行跟踪。接着,根据跟踪模型,获取各个点云团的速度,若单个点云团的移动速度大于阈值速度,则将点云团判断为动态物体,在确定激光点云为动态物体时,排除动态物体。从而,放置动态物体的干扰,使得机器人100能够更加精确识别目标对象20,以执行导航任务。
请参阅图5,在某些实施方式中,控制方法还包括:
S210:对第二传感器13接收的二维激光原始点云进行聚类;
S230:建立跟踪模型,并对聚类后的点云团进行跟踪;
S250:根据跟踪模型得到的各个点云团的速度,将移动速度大于阈值速度的云团判断为动态物体;
S270:将动态的物体从全局跟踪物体中过滤。
请参阅图3,在某些实施方式中,获取模块21还用于对第二传感器13接收的激光原始点云进行聚类。跟踪模块23还用于建立跟踪模型并对聚类后的点云团进行跟踪。判断模块25还用于根据跟踪模型得到的各个点云团的速度,将移动速度大于阈值速度的云团判断为动态物体。排除模块27还用于将动态的物体从全局跟踪物体中过滤。也就是说,步骤S210可以由获取模块21实现,步骤S230可以由跟踪模块23实现,步骤S250可以由判断模块25实现,步骤S270可以由排除模块27实现。
具体地,移动机器100首先对第二传感器13接收的激光原始点云进行聚类,建立跟踪模型,并对聚类后的点云团进行跟踪,其中聚类指的是对不同的物体形成对应的点云团。接着,根据跟踪模型,得到的各个点云团的速度,将移动速度大于阈值速度的云团判断为动态物体,阈值速度可以是0.1米每秒,阈值速度也可以根据实际需要设置。最后,将动态的物体从全局跟踪物体中过滤。
请参阅图6,在某些实施方式中,
S252:比较获取的激光点云的相对速度和预设的阈值速度;
S254:在获取的激光点云的相对速度大于阈值时,判断激光点云为动态物体;
S256:在获取的激光点云的相对速度小于阈值速度时,判断激光点云为静态物体。
请继续参阅图3,在某些实施方式中,比较模块17还用于比较获取的相对速度和预设的相对速度阈值,判断模块25还用于在获取的激光点云的相对速度大于预设的相对速度阈值时,判断激光点云为动态物体。也就是说,步骤S252可以由比较模块17实现,步骤S254和步骤S256可以由判断模块25实现。
具体地,机器人100利用卡尔曼滤波器建立激光点云的跟踪模型,以对聚类后的激光点云进行跟踪,同时机器人100通过跟踪模型获取各个点云的相对速度,在相对速度大于或者等于阈值(例如大于或者等于0.1米每秒)时,判断获取激光点云为动态物体,从而将动态物体排除。在一些实施方式中,还可以用其他滤波器代替,例如数字滤波器、FIR(FiniteImpulse Response)滤波器等等。
如此,机器人100能过通过获取的激光点云与预设的相对速度阈值,判断所获取激光点云是否为动态物体,从而有效的排除动态物体的干扰,以提高第一传感器11和第二传感器13融合的鲁棒性。
在一些实施方式中,激光点云包括多个激光点,对每个激光点的数据进行标定,每个激光点对应一个标记,该标记用于表示一米栏30、人、障碍物或者其它,一米栏包括第一柱子、第二柱子和连接带,连接带连接第一柱子和第二柱子。
请参阅图7,在某些实施方式中,控制方法还包括:
S300:比较图像数据和目标对象20的预存模型数据;
S320:根据图像数据和目标对象20的预存模型数据的比较结果判断图像是否存在目标对象20。
请参阅图3,在某些实施方式中,比较模块17还用于比较图像数据和目标对象20的预存模型数据;判断模块25还用于根据图像数据和目标对象20的预存模型数据判断图像是否存在目标对象20。也就是说,步骤S300可以由比较模块17实现,步骤320可以由判断模块25实现。
具体地,机器人100预存有目标对象20模型数据,目标对象20模型数据包括轮廓、颜色、形态等等。机器人100比较获取的图像数据和目标对象20的预存模型数据,以确定图像数据中是否存在目标对象20,判断模块25根据图像数据和目标对象20的预存模型数据判断图像是否存在目标对象20。如此,机器人100通过获取的图像数据和目标对象20的预存数据比较以判断获取的图像数据中是否存在目标对象20。
请参阅图8,在某些实施方式中,步骤S300:比较图像数据和目标对象20的预存模型数据还包括:
S302:比较图像数据和预存模型数据的权重值:
步骤S320:根据图像数据和目标对象20的预存模型数据判断图像是否存在目标对象20还包括:
S322:在权重值大于或者等于预设权重值时,确定图像数据中存在目标对象20;
S324:在权重值小于预设权重值时,确定图像数据中不存在目标对象20。
请参阅图3,在某些实施方式中,比较模块17还用于比较图像数据和预存模型数据的权重值。判断模块25还用于在权重值大于或者等于预设权重值时,确定图像数据中存在目标对象20;在权重值小于预设权重值时,确定图像数据中不存在目标对象20。也就是说,步骤S302可以由比较模块17实现,步骤S322、步骤324可以由判断模块25实现。
具体地,机器人100比较图像数据和预存模型数据的权重值,在权重值大于或者等于预设权重值时确定图像数据中存在目标对象20;在权重值小于预设权重值时,确定图像数据中不存在目标对象20。如此,机器人100通过权重值精确地识别图像数据中是否存在目标对象20。在一些例子中,机器人100通过SSD(Single Shot MultiBox Detector模型)检测模块将目标对象20从图形数据中框选出来,其中,图9中V0.76表示权重值。
请参阅图10,在某些实施方式中,控制方法还包括:
S400:根据图像数据投影形成三维图形;
S420:比较三维图形和目标对象20的预存模型;
S422:在三维图形和目标对象20的预存模型的权重值大于或者等于预设权重值时,确定图像数据中存在目标对象20;
S424:在三维图形和目标对象20的预存模型的权重值小于预设权重值时,确定图像数据中不存在目标对象20。
请参阅图3,在某些实施方式中,机器人100还包括投影模块29和确定模块31。投影模块29用于根据图像数据投影形成三维图形。比较模块17还用于比较三维图形和目标对象20的预存模型。确定模块31用于在三维图形和目标对象20的预存模型的权重值大于或者等于预设权重值时,确定图像数据中存在目标对象20;在三维图形和目标对象20的预存模型的权重值小于预设权重值时,确定图像数据中不存在目标对象20。也就是说,步骤S400可以由投影模块29实现,步骤S420可以由比较模块17实现,步骤S422和步骤S424可以由确定模块31实现。
具体地,机器人100通过第一传感器11获取图像数据后,根据获取的图像数据投影形成三维图形,并比较三维图形和目标对象20的预存模型,目标对象20的预存模型包括目标对象的三维模型。在三维图形和目标对象20的预存模型的权重值大于或者等于预设权重值时,确定图像数据中存在目标对象20;在三维图形和目标对象20的预存模型的权重值小于预设权重值时,确定图像数据中不存在目标对象20。如此,机器人100通过将二维的图像数据投影形成三维的图像数据,并将三维图形数据与目标对象的预存模型相比较,以精确的识别二维图像数据是否存在目标对象20。
在一些例子,机器人100通过homography投影的方式将获取二维的图像数据投影形成三维的图像数据。
在一些例子中,目标对象20包括一米栏30,一米栏30包括第一柱子32、第二柱子34和连接带36,连接带36连接第一柱子32和第二柱子34;控制方法还包括:
根据图像数据投影形成三维图形;
根据一米栏30的预存模型和三维图形以识别第一柱子32、第二柱子34和连接带36。在一些例子中,机器人100通过SSD标对象检测模型以第一柱子32、第二柱子34和连接带36。
如此,机器人100通过将目标对象20投影形成三维图形,并根据目标对象20的预存模型与三维图像以识别目标对象20。
请参阅图11,在某些实施方式中,控制方法包括:
S500:根据图像数据和激光深度数据生成虚拟墙40;
S520:根据虚拟墙40和机器人100相对位置以控制机器人100。
请参阅图12,在某些实施方式中,机器人100还包括生成模块33,生成模块33用于根据图像数据和激光深度数据生成虚拟墙40,控制模块19根据虚拟墙40和机器人100相对位置以控制机器人100。也就是说,步骤S500可以由生成模块33实现,步骤S520可以由控制模块19实现。
具体地,请参阅图12,机器人100将获取图像数据和激光深度数据融合到预设的目标场景中以生成虚拟墙40,从而机器人100能够根据其与虚拟墙40的相对位置,控制其导航任务,从而避开虚拟墙40,防止机器人100与目标对象20相撞。
请参阅图13,在某些实施方式中,控制方法还包括:
S600:根据图像数据获取摄像头坐标和根据激光深度数据获取激光坐标;
S620:融合摄像头坐标和激光坐标以获取目标对象20在预设三维坐标系中的三维坐标;
S640:获取机器人100在三维坐标系中的三维坐标;
S660:根据目标对象20的三维坐标和机器人100的三维坐标控制机器人100。
请参阅图3,在某些实施方式中,获取模块21还用于根据图像数据获取摄像头坐标和根据激光深度数据获取激光坐标,处理模块15融合摄像头坐标和激光坐标以获取目标对象20在预设三维坐标系中的三维坐标;获取模块21还用于获取机器人100在三维坐标系中的三维坐标,控制模块19还用于根据目标对象20的三维坐标和机器人100的三维坐标控制机器人100。也就是说,步骤S600可以由获取模块21实现,步骤S620可以由处理模块15实现,步骤S640可以由获取模块21实现,步骤S660可以由控制模块19实现。
如此,机器人100通过将图像数据和激光深度数据转换形成坐标数据,并根据转换的坐标数据精确获取目标对象20在预存三维坐标中的位置。从而,机器人100能够精确地判断机器人100和目标对象20在预存三维坐标系中相对位置,从而精确控制机器人100的导航。
具体地,机器人100将预存的目标场景转化形成三维坐标系或者世界坐标系,获取模块21获取根据图像数据获取目标对象20的摄像头坐标(x1,y1)同时通过homography投影矩阵将摄像头坐标(x1,y1)转换形成三维坐标或者世界坐标(x1,y1,z1),同时将激光深度数据转换形成目标对象20的激光坐标(x2,y2)并通过矩阵将激光坐标融合到三维坐标或者世界坐标(x2,y2,z2)中,处理模块15融合(x1,y1,z1)和(x2,y2,z2)。其中x1=x2,y1=y2,z1=z2。z1通过图像数据确定,x1和y1通过图像数据只能确定其中之一。x2和y2通过激光深度数据确定,而无法确定z2值,融合(x1,y1,z1)和(x2,y2,z2)从而确定目标对象20的具体坐标值。或者说,将地面作为三维坐标x轴和y轴形成平面,垂直于地面的高度值z为,第一传感器11用于确定目标对象20的z值,第二传感器13用于确定目标对象20的x值和y值。
请参阅图14,在某些实施方式中,控制方法还包括:
步骤S700:根据预设目标场景预设第一平面坐标系和第二平面坐标系;
步骤S720:预设第一平面坐标系(xA,yA)和第二平面坐标系(xB,yB)转换矩阵H;
步骤S740:根据转换矩阵H将第一平面坐标系(xA,yA)投影到第二平面坐标系(xB,yB)。
请参阅图14,在某些实施方式中,处理模块15用于根据预设目标场景预设第一平面坐标系和第二平面坐标系;预设第一平面坐标系(xA,yA)和第二平面坐标系(xB,yB)转换矩阵H;根据转换矩阵H将第一平面坐标系(xA,yA)投影到第二平面坐标系(xB,yB)。也就是说,步骤S700、步骤S720和步骤S740可以由处理模块15实现。
具体地,机器人100根据获取的预设目标场景建立第一平面坐标系和第二平面坐标系,并预设第一平面坐标系和第二平面坐标系中坐标值转换关系的转换矩阵H,如此在第一坐标系中确定第一确定值时,也就能够通过转换矩阵确定第一确定值在第二坐标坐标系中的第二确定值。在一些例子中装换矩阵H为:
其中,xA和yA为第一平面坐标系中第一确定值,xB、yB为第二平面坐标系中的第二确定值。
请参阅图15,在某些实施方式:控制方法还包括:
步骤S800:根据图像数据获取目标对象20在第一平面坐标系中的坐标(xA,yA);
步骤S810:根据转换矩阵H将第一坐标(xA,yA)转换以获取目标对象20在第二平面坐标系中的位置第二坐标(xB,yB);
步骤S820:获取机器人100在第二平面坐标系中的坐标(xC,yC);
步骤S830:比较第二坐标(xB,yB)和机器人100的坐标(xC,yC);
步骤S840:根据第二坐标(xB,yB)和机器人100的坐标(xC,yC)的比较结果控制机器人100导航。
在某些实施方式中,获取模块21还用于根据图像数据获取目标对象20在第一平面坐标系中的坐标(xA,yA);根据转换矩阵H将第一坐标(xA,yA)转换以获取目标对象20在第二平面坐标系中的位置第二坐标(xB,yB);获取机器人100在第二平面坐标系中的坐标(xC,yC)。比较模块17还用于比较第二坐标(xB,yB)和机器人100的坐标(xC,yC)。控制模块19还用于根据第二坐标(xB,yB)和机器人100的坐标(xC,yC)的比较结果控制机器人100导航。也就是说,步骤S800、步骤S810和步骤S820可以由获取模块21实现,步骤S830可以由比较模块17实现,步骤S840可以由控制模块19实现。
具体地,机器人100在导航的过程中,通过第一传感器11拍摄获取图像数据,并根据图像数据获取目标对象20的第一坐标值(xA,yA);紧接着,机器人100跟预设的转换矩阵将第一坐标值投影到第二平面坐标系中,以获取目标对象20在第二平面坐标系中的第二坐标值(xB,yB),并通过第二传感器13获取机器人100在第二平面坐标系中的坐标(xC,yC)。比较第二坐标值(xB,yB)和机器人100的坐标(xC,yC),也即是比较目标对象20和机器人100的相对位置;最后,机器人100根据目标对象20和机器人的比较结果控制其导航。导航可以是继续前行、转弯等。如此,机器人100通过将图像数据融合到激光深度数据上,极大的减少了计算量。在一些例子,根据目标对象20和机器人的比较结果在预设时长后转弯,以避免机器人100和目标对象20相撞。
请参阅图16,在一些例子中,机器人100通过homography投影矩阵H将图像数据中一米栏的下托(轮廓)(xA,yA)投影到二维激光平面60上,得到激光平面60的位置(xB,yB)融合2D激光跟踪识别一米栏30,矫正一米栏30的位置,从而辅助机器人100避障。
请参阅图17,本申请实施方式提供的机器人100包括处理器70、可读存储介质72及存储在可读存储介质72上并可在处理器70上运行的计算机可执行指令74,计算机可执行指令74被处理器70执行时,使得处理器70执行上述任一实施方式的控制方法。
在一个例子中,计算机可执行指令74被处理器70执行时,使得处理器70执行以下步骤:
S100:融合图像数据和激光深度数据以获取目标对象20在预存场景中的位置;
S120:比较机器人100和目标对象20在预设场景中的相对位置;
S140:根据机器人100与目标对象20的比较结果控制机器人100。
本申请实施方式的机器人100通过处理器70执行计算机可执行指令74,使得机器人100能够通过将图像数据和激光深度数据融合以获取目标对象20数据在预设场景中的位置,比较机器人100和目标对象20在预设场景中的相对位置,从而机器人100能够根据比较结果控制其执行导航任务,以防止机器人100和目标对象20相撞。
请参阅图18,本申请实施方式还提供了一种非易失性计算机可读存储介质72,可读存储介质72包括计算机可执行指令74,当计算机可执行指令74被一个或多个处理器70执行时,使得处理器70执行上述任一实施方式的机器人100控制方法。
一个或多个处理器70可以通过总线耦合至可读存储介质72,可读存储介质72存储有计算机可执行指令74,通过处理器70处理上述指令以执行本申请实施方式的机器人100的控制方法,能够实现机器人100安全执行导航任务。机器人100还可以通过通信模块76连接至网络以实现与服务器和/或终端设备的通信连接,以及通过输入/输出接口78连接至输入/输出装置,采集图像数据和激光深度数据。
在本说明书的描述中,参考术语“一个实施方式”、“一些实施方式”或“一个例子”等的描述意指结合所述实施方式或示例描述的具体特征、结构、材料或者特点包含于本申请的至少一个实施方式或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施方式或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施方式或示例中以合适的方式结合。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现定制逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本申请的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本申请的实施例所属技术领域的技术人员所理解。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,"计算机可读介质"可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式光盘只读存储器(CDROM)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。
应当理解,本申请的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。如,如果用硬件来实现和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施例方法携带的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括方法实施例的步骤之一或其组合。
此外,在本申请各个实施例中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。上述提到的存储介质可以是只读存储器,磁盘或光盘等。
尽管上面已经示出和描述了本申请的实施方式,可以理解的是,上述实施方式是示例性的,不能理解为对本申请的限制,本领域的普通技术人员在本申请的范围内可以对上述实施方式进行变化、修改、替换和变型。
Claims (10)
1.一种控制方法,应用于机器人,所述机器人包括第一传感器和第二传感器,所述第一传感器用于获取图像数据,所述第二传感器用于获取激光深度数据,其特征在于,所述控制方法包括:
融合所述图像数据和所述激光深度数据以获取目标对象在预存场景中的位置;
比较所述机器人和所述目标对象在所述预设场景中的相对位置;
根据所述机器人与所述目标对象的比较结果控制所述机器人。
2.根据权利要求1所述的控制方法,其特征在于,所述控制方法还包括:
根据所述激光深度数据获取激光点云,并聚类形成多个点云团;
建立跟踪模型,对聚类后的多个所述点云团进行跟踪;
根据所述跟踪模型,获取各个所述点云团的速度,若单个所述点云团的移动速度大于阈值速度,则将所述点云团判断为动态物体;及
在确定所述激光点云为动态物体时,排除所述动态物体。
3.根据权利要求2所述的控制方法,其特征在于,所述控制方法还包括:
比较所述图像数据和所述目标对象的预存模型数据;
根据所述图像数据和所述目标对象的预存模型数据判断所述图像是否存在所述目标对象。
4.根据权利要求3所述的控制方法,其特征在于,所述目标对象包括一米栏,
在所述图像数据存在所述一米栏时,根据所述图像数据投影形成所述一米栏的三维图形;
根据所述一米栏的预存模型和所述三维图形以识别所述目标对象。
5.根据权利要求2所述的控制方法,其特征在于,所述控制方法包括:
根据所述图像数据和所述激光深度数据生成虚拟墙;
根据所述虚拟墙和所述机器人相对位置以控制所述机器人。
6.根据权利要求1所述的控制方法,其特征在于,所述控制方法包括:
根据所述图像数据获取第一坐标系下的第一坐标和根据所述激光深度数据获取第二坐标系下的第二坐标;
融合所述第一坐标和所述第二坐标以获取所述目标对象在预设三维坐标系中的目标位置。
7.根据权利要求6所述的控制方法,其特征在于,所述控制方法包括:
获取所述机器人所述三维坐标系中的第三坐标;
根据所述目标位置和所述第三坐标控制所述机器人。
8.一种机器人,其特征在于,包括:所述机器人包括第一传感器和第二传感器,所述第一传感器用于获取图像数据,所述第二传感器用于获取激光深度数据,所述机器人还包括:
处理模块,所述处理模块用于融合所述图像数据和所述激光深度数据以获取目标对象在预存场景中的位置;
比较模块,所述比较模块用于比较所述机器人和所述目标对象在所述预设场景中的相对位置;
控制模块,所述控制模块用于根据所述机器人与所述目标对象的比较结果控制所述机器人。
9.一种机器人,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机可执行指令,所述计算机可执行指令被所述处理器执行时,使得所述处理器执行权利要求1-7任一项所述的机器人控制方法。
10.一种非易失性计算机可读存储介质,其特征在于,所述可读存储介质包括计算机可执行指令,当所述计算机可执行指令被一个或多个处理器执行时,使得所述处理器执行权利要求1-7任一项所述的机器人控制方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010096120.1A CN111168685B (zh) | 2020-02-17 | 2020-02-17 | 机器人控制方法、机器人和可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010096120.1A CN111168685B (zh) | 2020-02-17 | 2020-02-17 | 机器人控制方法、机器人和可读存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111168685A true CN111168685A (zh) | 2020-05-19 |
CN111168685B CN111168685B (zh) | 2021-06-18 |
Family
ID=70648418
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010096120.1A Active CN111168685B (zh) | 2020-02-17 | 2020-02-17 | 机器人控制方法、机器人和可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111168685B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111986232A (zh) * | 2020-08-13 | 2020-11-24 | 上海高仙自动化科技发展有限公司 | 目标物体的检测方法、装置、机器人及存储介质 |
CN112396653A (zh) * | 2020-10-31 | 2021-02-23 | 清华大学 | 一种目标场景导向的机器人操作策略生成方法 |
WO2022183372A1 (zh) * | 2021-03-02 | 2022-09-09 | 中国科学院深圳先进技术研究院 | 控制方法、控制装置及终端设备 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6587752B1 (en) * | 2001-12-25 | 2003-07-01 | National Institute Of Advanced Industrial Science And Technology | Robot operation teaching method and apparatus |
CN106826833A (zh) * | 2017-03-01 | 2017-06-13 | 西南科技大学 | 基于3d立体感知技术的自主导航机器人系统 |
CN108002154A (zh) * | 2017-11-22 | 2018-05-08 | 上海思岚科技有限公司 | 控制机器人跨楼层移动的方法 |
CN108154560A (zh) * | 2018-01-25 | 2018-06-12 | 北京小马慧行科技有限公司 | 激光点云标注方法、装置及可读存储介质 |
CN108340405A (zh) * | 2017-11-10 | 2018-07-31 | 广东康云多维视觉智能科技有限公司 | 一种机器人三维扫描系统及方法 |
KR20180105326A (ko) * | 2017-03-15 | 2018-09-28 | (주)엔스퀘어 | 물류 자동화를 위한 자율주행 로봇의 환경인식 및 자기위치 추정 방법 |
CN109129474A (zh) * | 2018-08-10 | 2019-01-04 | 上海交通大学 | 基于多模态融合的机械手主动抓取装置及方法 |
CN110340891A (zh) * | 2019-07-11 | 2019-10-18 | 河海大学常州校区 | 基于点云模板匹配技术的机械臂定位抓取系统及方法 |
CN110645918A (zh) * | 2018-06-26 | 2020-01-03 | 精工爱普生株式会社 | 三维测量装置、控制装置及机器人系统 |
CN110712187A (zh) * | 2019-09-11 | 2020-01-21 | 珠海市众创芯慧科技有限公司 | 一种基于多传感技术融合一体的智能行走机器人 |
CN110733033A (zh) * | 2018-07-19 | 2020-01-31 | 科沃斯机器人股份有限公司 | 机器人控制方法、机器人及存储介质 |
-
2020
- 2020-02-17 CN CN202010096120.1A patent/CN111168685B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6587752B1 (en) * | 2001-12-25 | 2003-07-01 | National Institute Of Advanced Industrial Science And Technology | Robot operation teaching method and apparatus |
CN106826833A (zh) * | 2017-03-01 | 2017-06-13 | 西南科技大学 | 基于3d立体感知技术的自主导航机器人系统 |
KR20180105326A (ko) * | 2017-03-15 | 2018-09-28 | (주)엔스퀘어 | 물류 자동화를 위한 자율주행 로봇의 환경인식 및 자기위치 추정 방법 |
CN108340405A (zh) * | 2017-11-10 | 2018-07-31 | 广东康云多维视觉智能科技有限公司 | 一种机器人三维扫描系统及方法 |
CN108002154A (zh) * | 2017-11-22 | 2018-05-08 | 上海思岚科技有限公司 | 控制机器人跨楼层移动的方法 |
CN108154560A (zh) * | 2018-01-25 | 2018-06-12 | 北京小马慧行科技有限公司 | 激光点云标注方法、装置及可读存储介质 |
CN110645918A (zh) * | 2018-06-26 | 2020-01-03 | 精工爱普生株式会社 | 三维测量装置、控制装置及机器人系统 |
CN110733033A (zh) * | 2018-07-19 | 2020-01-31 | 科沃斯机器人股份有限公司 | 机器人控制方法、机器人及存储介质 |
CN109129474A (zh) * | 2018-08-10 | 2019-01-04 | 上海交通大学 | 基于多模态融合的机械手主动抓取装置及方法 |
CN110340891A (zh) * | 2019-07-11 | 2019-10-18 | 河海大学常州校区 | 基于点云模板匹配技术的机械臂定位抓取系统及方法 |
CN110712187A (zh) * | 2019-09-11 | 2020-01-21 | 珠海市众创芯慧科技有限公司 | 一种基于多传感技术融合一体的智能行走机器人 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111986232A (zh) * | 2020-08-13 | 2020-11-24 | 上海高仙自动化科技发展有限公司 | 目标物体的检测方法、装置、机器人及存储介质 |
CN111986232B (zh) * | 2020-08-13 | 2021-09-14 | 上海高仙自动化科技发展有限公司 | 目标物体的检测方法、装置、机器人及存储介质 |
CN112396653A (zh) * | 2020-10-31 | 2021-02-23 | 清华大学 | 一种目标场景导向的机器人操作策略生成方法 |
WO2022183372A1 (zh) * | 2021-03-02 | 2022-09-09 | 中国科学院深圳先进技术研究院 | 控制方法、控制装置及终端设备 |
Also Published As
Publication number | Publication date |
---|---|
CN111168685B (zh) | 2021-06-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109737974B (zh) | 一种3d导航语义地图更新方法、装置及设备 | |
CN111168685B (zh) | 机器人控制方法、机器人和可读存储介质 | |
JP5926228B2 (ja) | 自律車両用の奥行き検知方法及びシステム | |
CN110893617B (zh) | 障碍物检测方法、装置及存储装置 | |
KR101725060B1 (ko) | 그래디언트 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
JP6514624B2 (ja) | 障害物検知装置 | |
KR101618030B1 (ko) | 이동 로봇의 위치 인식 및 주행 제어 방법과 이를 이용한 이동 로봇 | |
JP4409035B2 (ja) | 画像処理装置、特異箇所検出方法、及び特異箇所検出プログラムを記録した記録媒体 | |
KR101776622B1 (ko) | 다이렉트 트래킹을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
KR101784183B1 (ko) | ADoG 기반 특징점을 이용한 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
KR101776621B1 (ko) | 에지 기반 재조정을 이용하여 이동 로봇의 위치를 인식하기 위한 장치 및 그 방법 | |
KR20180088788A (ko) | 다중-방향성 카메라를 이용한 공간 매핑 | |
CN110068814B (zh) | 一种测量障碍物距离的方法及装置 | |
WO2020237942A1 (zh) | 一种行人3d位置的检测方法及装置、车载终端 | |
JP2004198212A (ja) | 移動体周辺監視装置 | |
Drulea et al. | Omnidirectional stereo vision using fisheye lenses | |
JP2022016908A (ja) | 俯瞰画像生成装置、俯瞰画像生成システム及び自動駐車装置 | |
CN111679661A (zh) | 基于深度相机的语义地图构建方法及扫地机器人 | |
KR102404867B1 (ko) | 3차원 거리정보를 이용한 랩어라운드뷰 영상제공장치 및 방법 | |
CN111198378A (zh) | 基于边界的自主探索方法和装置 | |
CN114179788A (zh) | 自动泊车方法、系统、计算机可读存储介质及车机端 | |
KR20120059428A (ko) | 과거 지도 데이터에 기반의 이동 로봇 제어 장치 및 방법 | |
CN115328153A (zh) | 传感器数据处理方法、系统及可读存储介质 | |
KR101868549B1 (ko) | 어라운드뷰 생성방법과 이를 수행하는 장치 | |
KR101965739B1 (ko) | 이동 로봇 및 이의 제어 방법 |
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 |