CN112405526A - 一种机器人的定位方法及装置、设备、存储介质 - Google Patents

一种机器人的定位方法及装置、设备、存储介质 Download PDF

Info

Publication number
CN112405526A
CN112405526A CN202011157118.7A CN202011157118A CN112405526A CN 112405526 A CN112405526 A CN 112405526A CN 202011157118 A CN202011157118 A CN 202011157118A CN 112405526 A CN112405526 A CN 112405526A
Authority
CN
China
Prior art keywords
robot
position information
moment
image
acquiring
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
CN202011157118.7A
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.)
Beijing Sensetime Technology Development Co Ltd
Original Assignee
Beijing Sensetime Technology Development 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 Beijing Sensetime Technology Development Co Ltd filed Critical Beijing Sensetime Technology Development Co Ltd
Priority to CN202011157118.7A priority Critical patent/CN112405526A/zh
Publication of CN112405526A publication Critical patent/CN112405526A/zh
Priority to JP2021566028A priority patent/JP2023503750A/ja
Priority to KR1020217038571A priority patent/KR20220058846A/ko
Priority to PCT/CN2021/085942 priority patent/WO2022088613A1/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1694Programme controls characterised by use of sensors other than normal servo-feedback from position, speed or acceleration sensors, perception control, multi-sensor controlled systems, sensor fusion
    • B25J9/1697Vision controlled systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J13/00Controls for manipulators
    • B25J13/08Controls for manipulators by means of sensing devices, e.g. viewing or touching devices
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1602Programme controls characterised by the control system, structure, architecture
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1628Programme controls characterised by the control loop
    • B25J9/163Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1664Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1656Programme controls characterised by programming, planning systems for manipulators
    • B25J9/1671Programme controls characterised by programming, planning systems for manipulators characterised by simulation, either to verify existing program or to create and verify new program, CAD/CAM oriented, graphic oriented programming systems
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25JMANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
    • B25J9/00Programme-controlled manipulators
    • B25J9/16Programme controls
    • B25J9/1679Programme controls characterised by the tasks executed
    • B25J9/1692Calibration of manipulator
    • 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
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/207Analysis of motion for motion estimation over a hierarchy of resolutions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/277Analysis of motion involving stochastic approaches, e.g. using Kalman filters
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • 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/10004Still image; Photographic image
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Robotics (AREA)
  • Mechanical Engineering (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Biophysics (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Automation & Control Theory (AREA)
  • Image Analysis (AREA)
  • Manipulator (AREA)

Abstract

本公开提供了一种机器人的定位方法及装置、设备、存储介质,所述方法包括:获取到机器人在第一时刻的第一位置信息,获取所述机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人再第二时刻的第一预估位置信息;采集所述机器人自第一时刻到第二时刻的过程中的移动参数;基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。其通过将多种方式所得的预估位置信息进行融合,以得到精确的位置信息,能够提高定位精度。

Description

一种机器人的定位方法及装置、设备、存储介质
技术领域
本公开涉及人工智能技术领域,具体涉及一种机器人的定位方法及装置、设备、存储介质。
背景技术
近年来,人工智能逐渐变得火热,其涉及到多种功能,其集成的定位系统在各种领域中的应用也越来越普遍,例如,在人工智能教育(即AI教育)中,教学双方往往要接触到定位、规划、控制、多智能体等内容,其中最基础也是最重要的一部分就是机器人的定位系统,但是,由于多变的应用场景,定位的精度往往不足。
发明内容
本公开提供一种机器人的定位方法及装置、设备、存储介质。
本公开提供的第一个技术方案为:提供一种机器人的定位方法,包括:获取到机器人在第一时刻的第一位置信息;获取机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人在第二时刻的第一预估位置信息;采集所述机器人自第一时刻到第二时刻的过程中的移动参数;基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。融合视觉系统的检测结果与动力学系统的检测结果,使得获取的位置信息更加准确。
其中,所述获取到机器人在第一时刻的第一位置信息包括:获取所述机器人在所述第一时刻的第一图像;基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息。
其中,所述第一图像包括第一参照物,所述基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息包括:获取模拟沙盘上的所述第一参照物;确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;确定在第一时刻所述第一参照物在所述模拟沙盘的模拟位置;利用所述第一参照物的像素位置及所述第一参照物在所述模拟沙盘的模拟位置计算得到第一投影关系;基于所述第一投影关系及所述机器人的第一像素位置计算得到所述机器人在所述模拟沙盘上的模拟位置;利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第一时刻的所述第一位置信息。利用视觉系统通过模拟沙盘的方式确定机器人的初始位置,不需要额外标定参照物,减少额外的标定时刻。
其中,所述第二图像包含第二参照物;所述基于所述第二图像获取到所述机器人在所述第二时刻的第一预估位置信息包括:获取模拟沙盘上的所述第二参照物;确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;确定在第二时刻所述第二参照物在所述模拟沙盘的模拟位置;利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系;基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置;利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第二时刻的第一预估位置信息。利用视觉系统通过模拟沙盘的方式确定机器人的终点位置,不需要额外标定参照物,减少额外的标定时刻。
其中,所述确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置包括:利用第一深度学习网络对所述第一图像进行识别,以确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;所述确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置包括:利用第一深度学习网络对所述第二图像进行识别,以确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;其中,所述第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构、RetinaNet网络结构中一种或任意组合。
其中,所述获取所述机器人在所述第一时刻的第一图像还包括:基于所述第一图像获取所述机器人在所述第一时刻的朝向。
其中,基于所述第一图像获取所述机器人在所述第一时刻的朝向包括:利用第二深度学习网络对所述机器人所在的区域图像进行识别,以确认出所述机器人的朝向;其中,所述第二深度学习网络包括ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构中一种或任意组合。检测机器人的朝向,以使得后续通过动力学系统计算机器人的位置信息时,所得结果更加准确。
其中,所述定位方法还包括:在所述第一时刻获取所述机器人的历史移动参数;采集所述机器人自第一时刻到第二时刻的过程中的移动参数包括:在所述第二时刻获取所述机器人的当前移动参数;通过所述历史移动参数及所述当前移动参数计算获取所述机器人自第一时刻到第二时刻的过程中的移动参数。计算机器人从第一时刻到第二时刻的移动距离,结合机器人的朝向,以使得后续通过动力学系统计算机器人的位置信息时,所得结果更加准确。
其中,基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息包括:通过所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数,结合所述机器人在所述第一时刻内的朝向获取所述机器人在所述第二时刻的第二预估位置信息。利用动力学系统检测机器人在第二时刻的位置信息,降低硬件成本。
其中,所述
所述通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息包括:
利用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,以得到所述机器人在所述第二时刻的第二位置信息。对视觉系统获取的位置信息及动力学系统获取的位置信息进行融合,以得到机器人在第二时刻的位置信息,提高定位精度,并且增加了系统的易部署性。
本公开提供的第二个技术方案为:提供一种机器人定位装置,包括:第一位置获取模块,用于获取到机器人在第一时刻的第一位置信息,及获取到所述机器人在第二时刻的第一预估位置信息;参数获取模块,用于采集所述机器人自第一时刻到第二时刻的过程中的移动参数;第二位置获取模块,用于基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;校准模块,用于通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
其中,第一位置获取模块还用于获取所述机器人在所述第一时刻的第一图像;基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息;所述获取到所述机器人在第二时刻的第一预估位置信息包括:获取所述机器人在所述第二时刻的第二图像;基于所述第二图像获取到所述机器人在所述第二时刻的第一预估位置信息。
其中,第一位置获取模块还用于获取模拟沙盘上的所述第一参照物;确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;确定在第一时刻所述第一参照物在所述模拟沙盘的模拟位置;利用所述第一参照物的像素位置及所述第一参照物在所述模拟沙盘的模拟位置计算得到第一投影关系;基于所述第一投影关系及所述机器人的第一像素位置计算得到所述机器人在所述模拟沙盘上的模拟位置;利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第一时刻的所述第一位置信息。
其中,第一位置获取模块还用于获取模拟沙盘上的所述第二参照物;确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;确定在第二时刻所述第二参照物在所述模拟沙盘的模拟位置;利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系;基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置;利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第二时刻的第一预估位置信息。
其中,第一位置获取模块还用于利用第一深度学习网络对所述第一图像进行识别,以确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;利用第一深度学习网络对所述第二图像进行识别,以确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;其中,所述第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构、RetinaNet网络结构中一种或任意组合。
其中,第一位置获取模块还用于基于所述第一图像获取所述机器人在所述第一时刻的朝向。
其中,第一位置获取模块还用于利用第二深度学习网络对所述机器人所在的区域图像进行识别,以确认出所述机器人的朝向;其中,所述第二深度学习网络包括ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构中一种或任意组合。
其中,参数获取模块还用于在所述第一时刻获取所述机器人的历史移动参数;在所述第二时刻获取所述机器人的当前移动参数;通过所述历史移动参数及所述当前移动参数计算获取所述机器人自第一时刻到第二时刻的过程中的移动参数。
其中,第二位置获取模块还用于通过所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数,结合所述机器人在所述第一时刻内的朝向获取所述机器人在所述第二时刻的第二预估位置信息。
其中,校准模块还用于利用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,以得到所述机器人在所述第二时刻的第二位置信息。
本公开提供的第三个技术方案为:一种机器人定位设备,包括:存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行上述任一项所述的机器人定位方法。
本公开提供的第四个技术方案为:一种计算机可读存储介质,存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行上述任一项所述的机器人定位方法。
本公开提供的机器人定位方法,其通过将两种不同方式获取的机器人的定位结果进行融合,进而得到机器人的位置信息,提高了机器人的定位精度。
附图说明
为了更清楚地说明本公开实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图,其中:
图1是本公开机器人的定位方法的一实施例的流程示意图;
图2是图1中步骤S11的一实施例的流程示意图;
图3是图1中步骤S12的一实施例的流程示意图;
图4是图1中步骤S13的一实施例的流程示意图;
图5是本公开机器人定位装置的一实施例的结构示意图;
图6是本公开机器人定位设备的一实施例的结构示意图;
图7是本公开计算机可读存储介质的结构示意图。
具体实施方式
下面将结合本公开实施例中的附图,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本公开的一部分实施例,而不是全部的实施例。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本公开保护的范围。
本公开中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本公开的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。本公开实施例中所有方向性指示(诸如上、下、左、右、前、后……)仅用于解释在某一特定姿态(如附图所示)下各部件之间的相对位置关系、运动情况等,如果该特定姿态发生改变时,则该方向性指示也相应地随之改变。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本公开的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
由于应用场景的多样性,定位系统的部署难度需要被考量,花费大量的时间进行环境建模往往会导致用户体验变差,且浪费时间较多,另外,定位系统所需的计算资源非常多,但往往会在精度方面有所欠缺,且成本高。例如,在学校通常会使用非常多的机器人用以教学,若在机器人内部嵌入高性能的计算设备来支持各种定位算法,会使得机器人的成本大幅度上升,而低成本是难以做出高性能的嵌入式定位设备的,因此,我们需要利用有限的硬件资源实现较好的定位效果,得到一套高精度、低成本、易部署的机器人定位系统。
本公开提供一种机器人的定位方法及装置、设备、存储介质。其通过获取机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息,采集机器人从第一时刻到第二时刻的移动参数,基于第一位置信息及移动参数计算得到机器人在第二时刻的第二预估位置信息;通过第一预估位置信息及第二预估位置信息得到机器人在第二时刻的第二位置信息。本公开通过将视觉定位系统与动力学定位系统相结合,并进行融合以得到精度较高的机器人的定位结果。具体的,视觉定位系统基于摄像头获取的图像进行,而动力学定位系统基于机器人的初始位置及机器人的行走参数确定。具体的,视觉定位系统进行定位时,通过摄像头获取机器人在第二时刻的第二图像,基于第二图像结合模拟沙盘,确定出机器人在模拟沙盘上的第一预估位置信息;动力学定位系统进行定位时,获取机器人从第一时刻到第二时刻的移动参数,及机器人的朝向,即,通过机器人的朝向及移动参数即可确定机器人超某个方向的行驶距离,结合机器人在第一时刻的第一位置信息,即可获取机器人在第二时刻的第二预估位置信息,为了精确机器人的定位位置,通过卡尔曼滤波将视觉定位系统获取的第一预估位置信息与动力学定位系统获取的第二预估位置信息进行融合,即加权平均,最终获取到较为精确的机器人在第二时刻的第二位置信息。下面结合附图和实施例对本公开进行详细的说明。
请参见图1,为本公开机器人定位方法的第一实施例的流程示意图。包括:
步骤S11:获取到机器人在第一时刻的第一位置信息。
具体的,一实施例中,在进行机器人定位时,可以直接利用定位系统获取到机器人在第一时刻的第一位置信息,以及机器人在第二时刻的第一预估位置信息,定位系统可以为GPS定位系统。
在本公开的一具体实施例中,还可以通过摄像装置如摄像头获取机器人在第一时刻的第一图像。其中,机器人为能够移动的机械设备或智能设备,例如叉车、机械小车等。
在一可行实施例中,摄像头内可以集成有定时器,在定时器的定时时间到达第一时刻时,摄像头对机器人进行拍照,以获取到第一图像。其中,摄像头的位置可以固定,也可以不固定;摄像头的拍摄角度可以固定,也可以不固定;具体的,摄像头可以安装在某一位置且不可旋转,即其拍摄范围固定;摄像头还可以安装在某一位置且可旋转,即其反射范围可变;当然摄像头还可以安装在可移动的设备上,其位置不固定,拍摄范围也不固定。具体不做限定,其只要能够拍摄到机器人即可。
在一可行实施例中,可以将摄像头获取的第一图像上传至智能设备,例如智能设备与摄像头通信连接,在摄像头获取到第一图像后,通过通信连接将第一图像发送至智能设备,在另一实施例中,还可以将摄像头获取的第一图像保存至存储卡中,再上传至智能设备中,具体不做限定,只要能够使得智能设备获取到第一图像即可。
具体的,将第一图像上传至智能设备,可以使得智能设备利用视觉系统基于第一图像获取到机器人在第一时刻的第一位置信息,具体请继续参照图1。
智能设备利用视觉系统基于第一图像获取机器人在第一时刻的第一位置信息,在一可行实施例中,可以通过场景建模的方式结合第一图像,以确定机器人的第一位置信息,具体的,请参见图2:
步骤S111:获取模拟沙盘上的第一参照物。
通过建立模拟沙盘的方式确定机器人的第一位置信息,可以理解的,建立的模拟沙盘即为机器人所在空间的模拟设计图。
具体的,模拟沙盘根据机器人所在的场景进行建立,模拟沙盘可以与机器人所在场景按照1:1的比例建立,例如,模拟沙盘上的所有物体的尺寸、位置、坐标与机器人所在的场景中的所有物体的尺寸、位置、坐标相同。当然,模拟沙盘还可以按照1:2的比例建立,例如,模拟沙盘上的所有物体的尺寸、位置、坐标是机器人所在的场景中的所有物体的尺寸、位置、坐标的2倍或
Figure BDA0002743104860000081
倍,当然其还可以按照其他比例建立模拟沙盘,在此不做限定。在一可行实施例中,考虑到计算的简便性,优选的采用1:1的比例建立模拟沙盘,以此在后续计算过程中不需要进行比例换算,减少计算量。在另一可行实施例中,考虑到模拟沙盘的占用空间,例如,若机器人所在场景过大时,可以采用1:2、1:3、1:4等比例建立模拟沙盘,以减少模拟沙盘的占用空间。例如,上述所有过程都在智能设备中进行,在智能设备中建立模拟沙盘,在智能设备自摄像头获取到第一图像时,智能设备利用视觉系统基于模拟沙盘及第一图像确定机器人的第一位置信息。
具体的,利用视觉系统对机器人进行定位时,第一图像和模拟沙盘上需要同时具有个第一参照物,该第一参照物可以用于计算第一图像投影至模拟沙盘上的第一投影关系。具体的,第一参照物可以根据第一图像进行选取,例如,若第一图像除机器人外还包括与模拟沙盘上相同的桌子,则将桌子作为第一参照物,再例如,若第一图像除了机器人外还包括与模拟沙盘上相同的电视,则将电视作为第一参照物,即第一参照物是第一图像及模拟沙盘上共有的物体。
步骤S112:确定第一图像中第一参照物的像素位置及机器人的第一像素位置。
具体的,在一实施例中,可以利用第一深度学习网络对第一图像进行识别,以确定出第一图像中个第一参照物的像素位置,及机器人的第一像素位置。
在一实施例中,第一深度学习网络可以是一个集成了具有定位功能的深度学习网络的模型,将第一图像输入至该模型中,该模型对第一图像进行识别,以获得第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置。在一具体实施例中,利用第一深度学习网络对第一图像进行检测以确定第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置,其可行的第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构RetinaNet网络结构等。在一具体实施例中,考虑到成本与位置坐标检测的准确性,可选用Yolo深度网络结构进行位置坐标的检测,具体的,可以用Yolo深度网络结构中的Yolo-tiny深度网络结构进行检测。Yolo深度网络结构中,其算法的思路是将全图分为一些方格,在单元格中预测中心落在格子内物体的一些可能的边界框,并给出置信度,这样算法一步就可以得到物体检测框的结果,相比两阶段的Faster-RCNN系列算法速度更快。由于应用场景中需要检测的物体外形、颜色相对固定,这种快速算法配合小网络结构的检测准确率就可以满足需求,同时对计算资源的占用较小,可以在移动端运算速度较慢的CPU,如树莓派上达到所需的实时检测的效果,所需成本更低。
具体的,在第一图像上获取的第一参照物的像素位置及所述机器人的第一像素位置可以为的具有代表性的点,例如可以在第一图像上获取第一参照物的中心点的像素位置,及机器人的中心点的像素位置,还可以获取第一参照物的边框的像素位置,及机器人的边框的像素位置,还可以选择第一参照物边框的对角线的像素位置,及机器人的边框的对角线的像素位置,具体不做限定。
图像是由若干个R(红色子像素)、G(绿色子像素)、B(蓝色子像素)像素点叠加产生不同的颜色进而组成的,在利用第一深度学习网络获得的机器人以及第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置就是图像中的子像素的位置。
步骤S113:确定在第一时刻第一参照物在所述模拟沙盘的模拟位置。
具体的,在第一图像中选取的第一参照物与模拟沙盘上选取的第一参照物为同一物体,在建立好模拟沙盘后,模拟沙盘上所有物体的模拟位置都是已知的。
在获取第一参照物的模拟位置时,需要对应第一参照物的像素位置进行确定,例如,在一实施例中,若获取的第一参照物的像素位置为第一参照物的中心点的像素位置,则获取的第一参照物的模拟位置就是第一参照物的中心点的模拟位置;再例如,若获取的第一参照物的像素位置为第一参照物的边框的像素位置,则获取的第一参照物的模拟位置就是第一参照物的边框的模拟位置。
步骤S114:利用第一参照物的像素位置及第一参照物在模拟沙盘的模拟位置计算得到第一投影关系。
具体的,通过上述步骤S112及步骤S113的方式确定了第一参照物在第一图像中的像素位置,及第一参照物在模拟沙盘中的模拟位置;即可以利用第一参照物在第一图像中的像素位置即第一参照物在模拟沙盘上的模拟位置计算得到第一投影关系。
在一具体实施例中,假设获取的第一参照物在第一图像中的像素位置为第一参照物的中心点的像素位置,及第一参照物在模拟沙盘上的模拟位置为第一参照物的中心点的模拟位置。具体的,假设第一参照物的中心点的像素位置为(u,v,w),第一参照物的中心点的模拟位置(x’,y’,w’),基于第一参照物的中心点的像素位置(u,v,w)及第一参照物的中心点的模拟位置建立关系方程。
通过第一参照物的中心点的像素位置(u,v,w)及第一参照物的中心点的模拟位置建立关系方程如下公式(1)所示:
Figure BDA0002743104860000111
其中,
Figure BDA0002743104860000112
为第一投影关系。
在本实施例中,需选取的参照物为三个以上个,可以分别获取多个参照物的中心点在第一图像上的像素位置及在模拟沙盘上的模拟位置,以通过上述公式(1)的方式建立多组关系方程,并求解,若求得的结果不一致,则可以通过加权平均等方法对多个投影关系进行处理,以获取到精确的结果。可以理解的,同一第一图像上不同的第一参照物投影至模拟沙盘上的第一投影关系相同。
在一实施例中,由于第一图像为二维图像,其获取的第一参照物在第一图像上的位置坐标也为二维坐标,因此,第一参照物在第一图像中的像素位置(u,v,w)中的w为常数,其不是Z坐标表示的数。在一具体实施例中,w为1。具体的,因为所有物体均相对于地面设置,因此,本方案建立的模拟沙盘为2维模拟沙盘,因此第一参照物在模拟沙盘上的模拟位置(x’,y’,w’)也是二维坐标,即w’也为常数,其同样不是Z坐标表示的数。在一具体实施例中,w’为1。因此公式(1)中所述的第一投影关系中的右下角的数a33恒为1,可知公式(1)中的投第一影关系中共有八个未知数,要求得这8个未知数的结果,需要4对坐标进行计算,其中,1对坐标包含一个在第一图像中的像素位置及一个模拟沙盘上的模拟位置。具体的,该4对坐标可以选取在同一第一参照物上,及在同一第一参照物上选取4个其在第一图像中的像素位置,再选取4个在模拟沙盘上的模拟位置。当然,此时的第一参照物可以与建立关系方程时所用的第一参照物为同一第一参照物,也可以为不同第一参照物,其选取的4个点,可以与建立关系方程时所用的第一参照物中选取的点相同,也可以不同。
在求解关系方程时,为了进一步提高第一投影关系的计算结果的精度及鲁棒性,可以利用随机抽样一致性算法进行计算,最后输出第一投影关系。具体的,随机抽样一致性算法可以从一组包含“局外点”的观测数据集中,通过迭代方式估计数学模型的参数,其能够提高第一投影关系计算的精度及鲁棒性。
本实施例通过第一参照物在第一图像中的像素位置及在模拟沙盘中的模拟位置建立关系方程,并求解该关系方程,以得到第一投影关系,其结合随机抽样一致性算法进行计算,提高了第一投影关系的计算精度及鲁棒性。
步骤S115:基于第一投影关系及机器人的第一像素位置计算得到机器人在模拟沙盘上的模拟位置。
具体的,在步骤S112中已获取到机器人在第一图像中的第一像素位置,在步骤S114中已获取到第一图像投影至模拟沙盘中的第一投影关系,即可通过第一投影关系及机器人的第一像素位置计算得到机器人在模拟沙盘上的模拟位置。具体的,通过上述公式(1)的方式确定机器人在模拟沙盘中的模拟位置。
步骤S116:利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第一时刻的第一位置信息。
具体的,在一实施例中,若模拟沙盘是以现实场景的1:1的比例建立的,则计算得出的机器人在模拟沙盘上的模拟位置就是机器人在第一时刻的第一位置信息,若模拟沙盘是以现实场景的1:2的比例建立的,则计算得出的机器人在模拟沙盘上的模拟位置后,还需要通过相关比例进行换算,以得到机器人在第一时刻的第一位置信息。
本实施例通过建立模拟沙盘,以模拟沙盘上存在的物体作为参照物进行第一投影关系的计算,其不需要在沙盘上额外设置标记物,简化操作;且其通过深度学习识别机器人在第一图像上的像素位置,进而结合第一投影关系以确定出机器人在模拟沙盘上的模拟位置,进而确定机器人在第一时刻的第一位置信息。其机器人的定位过程简化了操作,降低成本,大幅度提升用户体验。
在一实施例中,在获取机器人在第一时刻的第一位置信息时,还需要检测机器人的朝向,即检测机器人的角度。可通过角度姿态预估模型检测机器人的朝向,具体的,利用第一深度学习网络对第一图像进行识别,以在第一图像中获取到机器人的所在位置,并提取出机器人的坐在位置的区域图像。将提取到的区域图像输入至角度预估模型,进而对机器人的角度进行检测,以得到机器人的朝向,在获取到机器人的朝向后,即可知道机器人从第一时刻至第二时刻内的移动方向。
具体的,角度预估模型中可以集成有第二深度学习网络,利用第二深度学习网络对所述机器人所在的区域图像进行识别,以确认出所述机器人的朝向。在一具体实施例中,第二深度学习网络可以为现有的用于数值回归的卷积神经网络结构,例如,ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构等。
步骤S12:获取机器人在第二时刻的第二图像,并基于第二图像获取到机器人在第二时刻的第一预估位置信息。
具体的,本实施例中,还需要获取机器人在第二时刻的第一预估位置信息;即可以利用摄像头获取机器人在第二时刻的第二图像;基于第二图像获取到机器人在第二时刻的第一预估位置信息。具体请参见图3,包括:
步骤S121:获取模拟沙盘上的所述第二参照物。
步骤S122:确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置。
步骤S123:确定在第二时刻所述第二参照物在所述模拟沙盘的模拟位置。
步骤S124:利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系。
步骤S125:基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置。
步骤S126:利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第二时刻的第一预估位置信息。
其中,步骤S121~步骤S126与图2中所示的步骤S111~步骤S116的具体过程相同,在此不再赘述。
本公开提供的机器人定位方法,其利用视觉系统通过建立模拟沙盘的方式,先求得投影关系,进而求得机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息;还利用动力学系统,通过检测机器人的初始朝向、第一时刻至第二时刻内的移动距离及初始位置信息求得机器人在第二时刻的第二预估位置信息;通过卡尔曼滤波融合视觉系统的结果及动力学系统的结果,确定出机器人的第二位置信息,即最终位置信息。其采用多端融合的方式,提高了全局定位的精度,降低了硬件成本且系统的容易部署。且其在通过视觉系统求得第一预估位置信息时,建立模拟沙盘,其不需要额外标定参照物,减少了标定时间。
步骤S13:采集机器人自第一时刻到第二时刻的过程中的移动参数。
具体的,在第一时刻到第二时刻的过程中,获取机器人的移动参数,具体请参见图4,包括:
步骤S131:在第一时刻获取机器人的历史移动参数。
具体的,机器人在移动时,机器人内部的编码器会记录机器人的行走距离,并且机器人的历史行走距离会在舵机中反应。具体的,在第一时刻,智能设备通过机器人的编码器及舵机记录机器人的历史行走信息,即历史移动参数。具体的,在一实施例中,在拍摄机器人的第一图像时,同时获取机器人的历史移动参数。
步骤S132:在第二时刻获取机器人的当前移动参数。
在到达第二时刻,再次读取机器人的编码器及舵机信息,以得到机器人的当前移动参数。
具体的,在一实施例中,历史移动参数包括机器人的历史移动距离,例如可以为机器人的轮子的历史转动圈数等,当前移动参数可以为机器人在第二时刻时的轮子的转动圈数。
步骤S133:通过历史移动参数及当前移动参数计算获取机器人的自第一时刻到第二时刻的过程中的移动参数。
具体的,假设机器人在第一时刻的历史移动参数为100米,在第二时刻检测到的当前移动参数为101米,则可求得机器人在第一时刻到第二时刻共移动了1米。或者,在另一实施例中,假设机器人在第一时刻的历史移动参数为轮子的历史转动圈数为200圈,在第二时刻的当前移动参数为轮子的转动圈数为250圈,即可知,机器人从第一时刻到第二时刻转动了50圈,即可通过轮子的直径等计算得出机器人在第一时刻到第二时刻共移动的距离。
本实施例中,已得到机器人在第一时刻的朝向,同时也知道了机器人从第一时刻到第二时刻的移动距离,并且已知机器人在第一时刻的第一位置信息,即可求得机器人在第二时刻的第二预估位置信息。具体的,请继续参见图1。
本公开提供的机器人定位方法,其利用视觉系统通过建立模拟沙盘的方式,先求得投影关系,进而求得机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息;还利用动力学系统,通过检测机器人的初始朝向、第一时刻至第二时刻内的移动距离及初始位置信息求得机器人在第二时刻的第二预估位置信息;通过卡尔曼滤波融合视觉系统的结果及动力学系统的结果,确定出机器人的第二位置信息,即最终位置信息。其采用多端融合的方式,提高了全局定位的精度,降低了硬件成本且系统的容易部署。且其在通过视觉系统求得第一预估位置信息时,建立模拟沙盘,其不需要额外标定参照物,减少了标定时间。
步骤S14:基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息。
具体的,通过上述步骤,已知机器人在第一时刻的朝向,同时也知道了机器人从第一时刻到第二时刻的移动距离,并且已知机器人在第一时刻的第一位置信息,在第一位置信息的基础上结合移动距离及朝向,即可通过动力学系统计算得出机器人在第二时刻的第二预估位置信息。
在一实施例中,为了实时检测机器人的位置信息,第一时刻到第二时刻间隔很短,例如间隔时刻可以为1s。在另一实施例中,若机器人从第一时刻到第二时刻的过程中,方向发生变化,则在第一时刻到第二时刻的过程中连续对机器人进行拍照,并基于拍摄的图像检测机器人的朝向。具体的,在对机器人进行拍照时,开可以同时检测机器人的移动距离,以此可以在机器人的朝向发生改变时,实时记录每一方向的移动距离。
一般的,为了精确的获取到的机器人的位置,将第一时刻到第二时刻的间隔时刻设置越短越好,即第一时刻到第二时刻的过程中,机器人的方向不会发生改变。
在一具体实施中,机器人所在场地可以设置个摄像头,且摄像头与智能设备建立连接,智能设备或摄像头内设置有定时器,第一时刻到第二时刻的间隔时刻设置为定时器的定时时刻,在到达定时时刻,摄像头获取机器人的图像并获取机器人的移动参数,并将图像传输至智能设备,智能设备利用视觉系统通过上述图2所示的方式获得机器人在第二时刻的第一预估位置信息,并利用动力学系统结合机器人的初始位置信息(即第一位置信息)、机器人的朝向及移动参数计算求得机器人在第二时刻的第二预估位置信息。
利用第二图像获取机器人在第二时刻的第一预估位置信息的方式,与利用第一图像获取机器人在第一时刻的第一位置信息的方式相同,即模拟沙盘及第二图像均包含第二参照物;从第二图像中获取第二参照物的像素位置及机器人的第二像素位置,及从模拟沙盘上获取第二参照物的模拟位置;通过第二参照物的像素位置及第二参照物的模拟位置计算获取第二投影关系;通过第二投影关系及所述机器人的第二像素位置计算得出机器人在所述模拟沙盘上的模拟位置;利用机器人在模拟沙盘的模拟位置确定机器人在第二时刻的第一预估位置信息。具体请参见图3,在此不再赘述。
步骤S15:通过第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
具体的,在一实施例中,可以利用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,以得到所述机器人在所述第二时刻的第二位置信息。
在另一实施例中,还可以通过均值统计法,高斯混合模型(GMM),对第一预估位置信息及所述第二预估位置信息进行融合,以得到第二位置信息。
本实施例所示的定位方法中,优选的使用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,以得到所述机器人在所述第二时刻的第二位置信息,具体的,由于视觉定位系统获取到的第一预估位置信息已知,动力学系统获取到的第二预估位置信息已知,可以先对第一预估位置信息与第二预估位置进行状态预测,以得到协方差预测结果,对协方差预测结果进行更新,得到更新后的协方差,通过更新后的协方差得到第二位置信息。本发明通过在分立时间上的演化,可以得到不同时间节点上扩展卡尔曼滤波的位置估计。
本公开提供的机器人定位方法,其利用视觉系统通过建立模拟沙盘的方式,先求得投影关系,进而求得机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息;还利用动力学系统,通过检测机器人的初始朝向、第一时刻至第二时刻内的移动距离及初始位置信息求得机器人在第二时刻的第二预估位置信息;通过卡尔曼滤波融合视觉系统的结果及动力学系统的结果,确定出机器人的第二位置信息,即最终位置信息。其采用多端融合的方式,提高了全局定位的精度,降低了硬件成本且系统的容易部署。且其在通过视觉系统求得第一预估位置信息时,建立模拟沙盘,其不需要额外标定参照物,减少了标定时间。
请参见图5,为本公开机器人定位装置的结构示意图,包括:第一位置获取模块41、参数获取模块42、第二位置获取模块43及校准模块44。
其中,第一位置获取模块41用于获取到机器人在第一时刻的第一位置信息,及第一位置获取模块41还用于获取所述机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人在第二时刻的第一预估位置信息。具体的,一实施例中,在进行机器人定位时,可以直接利用定位系统获取到机器人在第一时刻的第一位置信息,以及机器人在第二时刻的第一预估位置信息,定位系统可以为GPS定位系统。
在本公开的一具体实施例中,还可以通过摄像装置如摄像头获取机器人在第一时刻的第一图像。其中,机器人为能够移动的机械设备或智能设备,例如叉车、机械小车等。
在一可行实施例中,摄像头内可以集成有定时器,在定时器的定时时间到达第一时刻时,摄像头对机器人进行拍照,以获取到第一图像。其中,摄像头的位置可以固定,也可以不固定;摄像头的拍摄角度可以固定,也可以不固定;具体的,摄像头可以安装在某一位置且不可旋转,即其拍摄范围固定;摄像头还可以安装在某一位置且可旋转,即其反射范围可变;当然摄像头还可以安装在可移动的设备上,其位置不固定,拍摄范围也不固定。具体不做限定,其只要能够拍摄到机器人即可。
在一可行实施例中,可以将摄像头获取的第一图像上传至智能设备,例如智能设备与摄像头通信连接,在摄像头获取到第一图像后,通过通信连接将第一图像发送至智能设备,在另一实施例中,还可以将摄像头获取的第一图像保存至存储卡中,再上传至智能设备中,具体不做限定,只要能够使得智能设备获取到第一图像即可。
在一实施例中,第一位置获取模块41还用于获取模拟沙盘上的第一参照物,通过建立模拟沙盘的方式确定机器人的第一位置信息,可以理解的,建立的模拟沙盘即为机器人所在空间的模拟设计图。确定第一图像中第一参照物的像素位置及机器人的第一像素位置。具体的,在一实施例中,可以利用第一深度学习网络对第一图像进行识别,以确定出第一图像中个第一参照物的像素位置,及机器人的第一像素位置。在一实施例中,第一深度学习网络可以是一个集成了具有定位功能的深度学习网络的模型,将第一图像输入至该模型中,该模型对第一图像进行识别,以获得第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置。在一具体实施例中,利用第一深度学习网络对第一图像进行检测以确定第一参照物在第一图像中的像素位置及机器人在第一图像中的第一像素位置,其可行的第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构RetinaNet网络结构等。在一具体实施例中,考虑到成本与位置坐标检测的准确性,可选用Yolo深度网络结构进行位置坐标的检测,具体的,可以用Yolo深度网络结构中的Yolo-tiny深度网络结构进行检测。Yolo深度网络结构中,其算法的思路是将全图分为一些方格,在单元格中预测中心落在格子内物体的一些可能的边界框,并给出置信度,这样算法一步就可以得到物体检测框的结果,相比两阶段的Faster-RCNN系列算法速度更快。由于应用场景中需要检测的物体外形、颜色相对固定,这种快速算法配合小网络结构的检测准确率就可以满足需求,同时对计算资源的占用较小,可以在移动端运算速度较慢的CPU,如树莓派上达到所需的实时检测的效果,所需成本更低。确定在第一时刻第一参照物在所述模拟沙盘的模拟位置。利用第一参照物的像素位置及第一参照物在模拟沙盘的模拟位置计算得到第一投影关系。
在另一实施例中,第一位置获取模块41还用于获取模拟沙盘上的所述第二参照物。确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置。确定在第二时刻所述第二参照物在所述模拟沙盘的模拟位置。利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系。基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置。利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第二时刻的第一预估位置信息。
本实施例通过建立模拟沙盘,以模拟沙盘上存在的物体作为参照物进行第一投影关系的计算,其不需要在沙盘上额外设置标记物,简化操作;且其通过深度学习识别机器人在第一图像上的像素位置,进而结合第一投影关系以确定出机器人在模拟沙盘上的模拟位置,进而确定机器人在第一时刻的第一位置信息。其机器人的定位过程简化了操作,降低成本,大幅度提升用户体验。
在一实施例中,第一位置获取模块41还用于在获取机器人在第一时刻的第一位置信息时,还需要检测机器人的朝向,即检测机器人的角度。可通过角度姿态预估模型检测机器人的朝向,具体的,利用第一深度学习网络对第一图像进行识别,以在第一图像中获取到机器人的所在位置,并提取出机器人的坐在位置的区域图像。将提取到的区域图像输入至角度预估模型,进而对机器人的角度进行检测,以得到机器人的朝向,在获取到机器人的朝向后,即可知道机器人从第一时刻至第二时刻内的移动方向。
具体的,角度预估模型中可以集成有第二深度学习网络,利用第二深度学习网络对所述机器人所在的区域图像进行识别,以确认出所述机器人的朝向。在一具体实施例中,第二深度学习网络可以为现有的用于数值回归的卷积神经网络结构,例如,ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构等。
在一实施例中,参数获取模块42用于采集所述机器人自第一时刻到第二时刻的过程中的移动参数。具体的,在第一时刻获取机器人的历史移动参数。机器人在移动时,机器人内部的编码器会记录机器人的行走距离,并且机器人的历史行走距离会在舵机中反应。具体的,在第一时刻,智能设备通过机器人的编码器及舵机记录机器人的历史行走信息,即历史移动参数。具体的,在一实施例中,在拍摄机器人的第一图像时,同时获取机器人的历史移动参数。在第二时刻获取机器人的当前移动参数。在到达第二时刻,再次读取机器人的编码器及舵机信息,以得到机器人的当前移动参数。具体的,在一实施例中,历史移动参数包括机器人的历史移动距离,例如可以为机器人的轮子的历史转动圈数等,当前移动参数可以为机器人在第二时刻时的轮子的转动圈数。通过历史移动参数及当前移动参数计算获取机器人的自第一时刻到第二时刻的过程中的移动参数。具体的,假设机器人在第一时刻的历史移动参数为100米,在第二时刻检测到的当前移动参数为101米,则可求得机器人在第一时刻到第二时刻共移动了1米。或者,在另一实施例中,假设机器人在第一时刻的历史移动参数为轮子的历史转动圈数为200圈,在第二时刻的当前移动参数为轮子的转动圈数为250圈,即可知,机器人从第一时刻到第二时刻转动了50圈,即可通过轮子的直径等计算得出机器人在第一时刻到第二时刻共移动的距离。
第二位置获取模块43用于基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息。具体的,已知机器人在第一时刻的朝向,同时也知道了机器人从第一时刻到第二时刻的移动距离,并且已知机器人在第一时刻的第一位置信息,在第一位置信息的基础上结合移动距离及朝向,即可通过动力学系统计算得出机器人在第二时刻的第二预估位置信息。
在一实施例中,为了实时检测机器人的位置信息,第一时刻到第二时刻间隔很短,例如间隔时刻可以为1s。在另一实施例中,若机器人从第一时刻到第二时刻的过程中,方向发生变化,则在第一时刻到第二时刻的过程中连续对机器人进行拍照,并基于拍摄的图像检测机器人的朝向。具体的,在对机器人进行拍照时,开可以同时检测机器人的移动距离,以此可以在机器人的朝向发生改变时,实时记录每一方向的移动距离。
一般的,为了精确的获取到的机器人的位置,将第一时刻到第二时刻的间隔时刻设置越短越好,即第一时刻到第二时刻的过程中,机器人的方向不会发生改变。
在一具体实施中,机器人所在场地可以设置个摄像头,且摄像头与智能设备建立连接,智能设备或摄像头内设置有定时器,第一时刻到第二时刻的间隔时刻设置为定时器的定时时刻,在到达定时时刻,摄像头获取机器人的图像并获取机器人的移动参数,并将图像传输至智能设备,智能设备利用视觉系统通过上述图3所示的方式获得机器人在第二时刻的第一预估位置信息,并利用动力学系统结合机器人的初始位置信息(即第一位置信息)、机器人的朝向及移动参数计算求得机器人在第二时刻的第二预估位置信息。
校准模块44用于通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。具体的,在一实施例中,可以利用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,以得到所述机器人在所述第二时刻的第二位置信息。
在另一实施例中,还可以通过均值统计法,高斯混合模型(GMM),对第一预估位置信息及所述第二预估位置信息进行融合,以得到第二位置信息。
本公开提供的机器人定位方法,其利用视觉系统通过建立模拟沙盘的方式,先求得投影关系,进而求得机器人在第一时刻的第一位置信息以及在第二时刻的第一预估位置信息;还利用动力学系统,通过检测机器人的初始朝向、第一时刻至第二时刻内的移动距离及初始位置信息求得机器人在第二时刻的第二预估位置信息;通过卡尔曼滤波融合视觉系统的结果及动力学系统的结果,确定出机器人的第二位置信息,即最终位置信息。其采用多端融合的方式,提高了全局定位的精度,降低了硬件成本且系统的容易部署。且其在通过视觉系统求得第一预估位置信息时,建立模拟沙盘,其不需要额外标定参照物,减少了标定时间。
请参见图6,为本公开机器人定位设备的结构示意图。包括相互连接的存储器52和处理器51。
存储器52用于存储实现上述任意一项的机器人定位方法的程序指令。
处理器51用于执行存储器52存储的程序指令。
其中,处理器51还可以称为CPU(Central Processing Unit,中央处理单元)。处理器51可能是一种集成电路芯片,具有信号的处理能力。处理器51还可以是通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
存储器52可以为内存条、TF卡等,可以存储机器人定位设备中全部信息,包括输入的原始数据、计算机程序、中间运行结果和最终运行结果都保存在存储器中。它根据控制器指定的位置存入和取出信息。有了存储器,机器人定位设备才有记忆功能,才能保证正常工作。机器人定位设备的存储器按用途存储器可分为主存储器(内存)和辅助存储器(外存),也有分为外部存储器和内部存储器的分类方法。外存通常是磁性介质或光盘等,能长期保存信息。内存指主板上的存储部件,用来存放当前正在执行的数据和程序,但仅用于暂时存放程序和数据,关闭电源或断电,数据会丢失。
在本公开所提供的几个实施例中,应该理解到,所揭露的方法和装置,可以通过其它的方式实现。例如,以上所描述的装置实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本公开的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,系统服务器,或者网络设备等)或处理器(processor)执行本公开各个实施方式方法的全部或部分步骤。
请参阅图7,为本公开计算机可读存储介质的结构示意图。本公开的存储介质存储有能够实现上述所有机器人定位方法的程序文件61,其中,该程序文件61可以以软件产品的形式存储在上述存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本公开各个实施方式方法的全部或部分步骤。而前述的存储装置包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质,或者是计算机、服务器、手机、平板等终端设备。
以上仅为本公开的实施方式,并非因此限制本公开的专利范围,凡是利用本公开说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本公开的专利保护范围内。

Claims (13)

1.一种机器人的定位方法,其特征在于,所述方法包括:
获取到机器人在第一时刻的第一位置信息;
获取所述机器人在第二时刻的第二图像,并基于所述第二图像获取到所述机器人在第二时刻的第一预估位置信息;
采集所述机器人自第一时刻到第二时刻的过程中的移动参数;
基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;
通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
2.根据权利要求1所述的定位方法,其特征在于,所述获取到机器人在第一时刻的第一位置信息包括:
获取所述机器人在所述第一时刻的第一图像;
基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息。
3.根据权利要求2所述的机器人的定位方法,其特征在于,所述第一图像包括第一参照物,所述基于所述第一图像获取到所述机器人在所述第一时刻的所述第一位置信息包括:
获取模拟沙盘上的所述第一参照物;
确定所述第一图像中所述第一参照物的像素位置及所述机器人的第一像素位置;
确定在第一时刻所述第一参照物在所述模拟沙盘的模拟位置;
利用所述第一参照物的像素位置及所述第一参照物在所述模拟沙盘的模拟位置计算得到第一投影关系;
基于所述第一投影关系及所述机器人的第一像素位置计算得到所述机器人在所述模拟沙盘上的模拟位置;
利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第一时刻的所述第一位置信息。
4.根据权利要求1所述的定位方法,其特征在于,所述第二图像包含第二参照物;所述基于所述第二图像获取到所述机器人在所述第二时刻的第一预估位置信息包括:
获取模拟沙盘上的所述第二参照物;
确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;
确定在第二时刻所述第二参照物在所述模拟沙盘的模拟位置;
利用所述第二参照物的像素位置及所述第二参照物在所述模拟沙盘的模拟位置计算得到第二投影关系;
基于所述第二投影关系及所述机器人的第二像素位置计算得出所述机器人在所述模拟沙盘上的模拟位置;
利用所述机器人在所述模拟沙盘的模拟位置确定所述机器人在第二时刻的第一预估位置信息。
5.根据权利要求4所述的机器人的定位方法,其特征在于,所述确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置包括:
利用第一深度学习网络对所述第二图像进行识别,以确定所述第二图像中所述第二参照物的像素位置及所述机器人的第二像素位置;
其中,所述第一深度学习网络包括RCNN深度网络结构、SSD深度网络结构、Yolo深度网络结构、RetinaNet网络结构中一种或任意组合。
6.根据权利要求2所述的定位方法,其特征在于,所述获取所述机器人在所述第一时刻的第一图像还包括:
基于所述第一图像获取所述机器人在所述第一时刻的朝向。
7.根据权利要求6所述的定位方法,其特征在于,所述基于所述第一图像获取所述机器人在所述第一时刻的朝向包括:
利用第二深度学习网络对所述机器人所在的区域图像进行识别,以确认出所述机器人的朝向;
其中,所述第二深度学习网络包括ResNet深度网络结构、MobileNet深度网络结构、GhostNet深度网络结构、EfficientNet深度网络结构中一种或任意组合。
8.根据权利要求6所述的定位方法,其特征在于,所述定位方法还包括:
在所述第一时刻获取所述机器人的历史移动参数;
采集所述机器人自第一时刻到第二时刻的过程中的移动参数包括:
在所述第二时刻获取所述机器人的当前移动参数;
通过所述历史移动参数及所述当前移动参数计算获取所述机器人自第一时刻到第二时刻的过程中的移动参数。
9.根据权利要求6所述的定位方法,其特征在于,基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息包括:
通过所述机器人自所述第一时刻到所述第二时刻的过程中的移动参数,结合所述机器人在所述第一时刻内的朝向获取所述机器人在所述第二时刻的第二预估位置信息。
10.根据权利要求1所述的定位方法,其特征在于,所述通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息包括:
利用卡尔曼滤波的方式对所述第一预估位置信息及所述第二预估位置信息进行加权平均,以得到所述机器人在所述第二时刻的第二位置信息。
11.一种机器人定位装置,其特征在于,所述装置包括:
第一位置获取模块,用于获取到机器人在第一时刻的第一位置信息,及获取到所述机器人在第二时刻的第一预估位置信息;
参数获取模块,用于采集所述机器人自第一时刻到第二时刻的过程中的移动参数;
第二位置获取模块,用于基于所述第一位置信息及所述移动参数计算得到所述机器人在所述第二时刻的第二预估位置信息;
校准模块,用于通过所述第一预估位置信息及所述第二预估位置信息得到所述机器人在所述第二时刻的第二位置信息。
12.一种机器人定位设备,其特征在于,包括:存储器和处理器,其中,所述存储器存储有程序指令,所述处理器从所述存储器调取所述程序指令以执行如权利要求1-10任一项所述的机器人定位方法。
13.一种计算机可读存储介质,其特征在于,存储有程序文件,所述程序文件能够被执行以实现如权利要求1~10任一项所述的机器人定位方法。
CN202011157118.7A 2020-10-26 2020-10-26 一种机器人的定位方法及装置、设备、存储介质 Pending CN112405526A (zh)

Priority Applications (4)

Application Number Priority Date Filing Date Title
CN202011157118.7A CN112405526A (zh) 2020-10-26 2020-10-26 一种机器人的定位方法及装置、设备、存储介质
JP2021566028A JP2023503750A (ja) 2020-10-26 2021-04-08 ロボットの位置決め方法及び装置、機器、記憶媒体
KR1020217038571A KR20220058846A (ko) 2020-10-26 2021-04-08 로봇 포지셔닝 방법 및 장치, 기기, 저장 매체
PCT/CN2021/085942 WO2022088613A1 (zh) 2020-10-26 2021-04-08 一种机器人的定位方法及装置、设备、存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011157118.7A CN112405526A (zh) 2020-10-26 2020-10-26 一种机器人的定位方法及装置、设备、存储介质

Publications (1)

Publication Number Publication Date
CN112405526A true CN112405526A (zh) 2021-02-26

Family

ID=74840550

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011157118.7A Pending CN112405526A (zh) 2020-10-26 2020-10-26 一种机器人的定位方法及装置、设备、存储介质

Country Status (4)

Country Link
JP (1) JP2023503750A (zh)
KR (1) KR20220058846A (zh)
CN (1) CN112405526A (zh)
WO (1) WO2022088613A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113473357A (zh) * 2021-06-15 2021-10-01 深圳优地科技有限公司 辅助定位方法、装置、设备和存储介质
WO2022088613A1 (zh) * 2020-10-26 2022-05-05 北京市商汤科技开发有限公司 一种机器人的定位方法及装置、设备、存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106871904A (zh) * 2017-03-02 2017-06-20 南阳师范学院 一种基于机器视觉的移动机器人码盘定位修正方法
CN108481327A (zh) * 2018-05-31 2018-09-04 珠海市微半导体有限公司 一种增强视觉的定位装置、定位方法及机器人
KR20190045006A (ko) * 2017-10-23 2019-05-02 주식회사 유진로봇 라이다를 이용한 위치 인식 및 지도 작성에 관한 방법 및 장치
CN109959381A (zh) * 2017-12-22 2019-07-02 深圳市优必选科技有限公司 一种定位方法、装置、机器人及计算机可读存储介质
US10373322B1 (en) * 2018-07-16 2019-08-06 Accel Robotics Corporation Autonomous store system that analyzes camera images to track people and their interactions with items
CN110530372A (zh) * 2019-09-26 2019-12-03 上海商汤智能科技有限公司 定位方法、路径确定方法、装置、机器人及存储介质
CN110712187A (zh) * 2019-09-11 2020-01-21 珠海市众创芯慧科技有限公司 一种基于多传感技术融合一体的智能行走机器人
CN110774319A (zh) * 2019-10-31 2020-02-11 深圳市优必选科技股份有限公司 一种机器人及其定位方法和装置
CN110977985A (zh) * 2019-12-23 2020-04-10 中国银联股份有限公司 一种定位的方法及装置

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9323249B2 (en) * 2011-03-31 2016-04-26 King Abdulaziz City for Science & Technology Matrix code symbols for accurate robot tracking
CN103438904B (zh) * 2013-08-29 2016-12-28 深圳市宇恒互动科技开发有限公司 一种使用视觉辅助校正的惯性定位方法及系统
CN105698784A (zh) * 2016-03-22 2016-06-22 成都电科创品机器人科技有限公司 一种室内机器人定位系统及方法
CN111319041B (zh) * 2020-01-17 2021-04-16 深圳市优必选科技股份有限公司 一种机器人位姿确定方法、装置、可读存储介质及机器人
CN112405526A (zh) * 2020-10-26 2021-02-26 北京市商汤科技开发有限公司 一种机器人的定位方法及装置、设备、存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106871904A (zh) * 2017-03-02 2017-06-20 南阳师范学院 一种基于机器视觉的移动机器人码盘定位修正方法
KR20190045006A (ko) * 2017-10-23 2019-05-02 주식회사 유진로봇 라이다를 이용한 위치 인식 및 지도 작성에 관한 방법 및 장치
CN109959381A (zh) * 2017-12-22 2019-07-02 深圳市优必选科技有限公司 一种定位方法、装置、机器人及计算机可读存储介质
CN108481327A (zh) * 2018-05-31 2018-09-04 珠海市微半导体有限公司 一种增强视觉的定位装置、定位方法及机器人
US10373322B1 (en) * 2018-07-16 2019-08-06 Accel Robotics Corporation Autonomous store system that analyzes camera images to track people and their interactions with items
CN110712187A (zh) * 2019-09-11 2020-01-21 珠海市众创芯慧科技有限公司 一种基于多传感技术融合一体的智能行走机器人
CN110530372A (zh) * 2019-09-26 2019-12-03 上海商汤智能科技有限公司 定位方法、路径确定方法、装置、机器人及存储介质
CN110774319A (zh) * 2019-10-31 2020-02-11 深圳市优必选科技股份有限公司 一种机器人及其定位方法和装置
CN110977985A (zh) * 2019-12-23 2020-04-10 中国银联股份有限公司 一种定位的方法及装置

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022088613A1 (zh) * 2020-10-26 2022-05-05 北京市商汤科技开发有限公司 一种机器人的定位方法及装置、设备、存储介质
CN113473357A (zh) * 2021-06-15 2021-10-01 深圳优地科技有限公司 辅助定位方法、装置、设备和存储介质
CN113473357B (zh) * 2021-06-15 2024-05-28 深圳优地科技有限公司 辅助定位方法、装置、设备和存储介质

Also Published As

Publication number Publication date
JP2023503750A (ja) 2023-02-01
WO2022088613A1 (zh) 2022-05-05
KR20220058846A (ko) 2022-05-10

Similar Documents

Publication Publication Date Title
CN111199564B (zh) 智能移动终端的室内定位方法、装置与电子设备
CN109598765B (zh) 基于球形标定物的单目相机与毫米波雷达外参联合标定方法
CN108955718B (zh) 一种视觉里程计及其定位方法、机器人以及存储介质
CN111006676B (zh) 地图构建方法、装置及系统
CN110073362A (zh) 用于车道标记检测的系统及方法
CN110568447A (zh) 视觉定位的方法、装置及计算机可读介质
CN111028358B (zh) 室内环境的增强现实显示方法、装置及终端设备
CN110501036A (zh) 传感器参数的标定检查方法及装置
CN110470333B (zh) 传感器参数的标定方法及装置、存储介质和电子装置
JP6321202B2 (ja) モバイルプラットフォームの運動を決定する方法、装置、及びシステム
WO2021250848A1 (ja) 位置推定方法、位置推定装置、および位置推定プログラム
US10902610B2 (en) Moving object controller, landmark, and moving object control method
CN112348909A (zh) 一种目标定位方法、装置、设备及存储介质
CN113168716A (zh) 对象解算、绕点飞行方法及设备
CN111709988A (zh) 一种物体的特征信息的确定方法、装置、电子设备及存储介质
CN113096183A (zh) 一种基于激光雷达与单目相机的障碍物检测与测量方法
CN112405526A (zh) 一种机器人的定位方法及装置、设备、存储介质
CN112489099A (zh) 点云配准方法、装置、存储介质及电子设备
CN114677435A (zh) 一种点云全景融合要素提取方法和系统
CN114179788A (zh) 自动泊车方法、系统、计算机可读存储介质及车机端
CN112562005A (zh) 一种空间标定方法和系统
CN114295139A (zh) 一种协同感知定位方法及系统
CN112907746A (zh) 电子地图的生成方法、装置、电子设备及存储介质
CN112836698A (zh) 一种定位方法、装置、存储介质及电子设备
CN114969221A (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
REG Reference to a national code

Ref country code: HK

Ref legal event code: DE

Ref document number: 40039170

Country of ref document: HK

RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20210226