CN112710308B - 机器人的定位方法、装置和*** - Google Patents
机器人的定位方法、装置和*** Download PDFInfo
- Publication number
- CN112710308B CN112710308B CN201911025754.1A CN201911025754A CN112710308B CN 112710308 B CN112710308 B CN 112710308B CN 201911025754 A CN201911025754 A CN 201911025754A CN 112710308 B CN112710308 B CN 112710308B
- Authority
- CN
- China
- Prior art keywords
- robot
- steering
- positioning
- parameter
- parameters
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000000007 visual effect Effects 0.000 claims abstract description 82
- 230000008569 process Effects 0.000 claims abstract description 40
- 230000006870 function Effects 0.000 claims description 133
- 239000011159 matrix material Substances 0.000 claims description 54
- 238000005259 measurement Methods 0.000 claims description 46
- 238000001514 detection method Methods 0.000 claims description 28
- 238000012545 processing Methods 0.000 claims description 26
- 230000001133 acceleration Effects 0.000 claims description 7
- 238000004364 calculation method Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 7
- 230000007613 environmental effect Effects 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 5
- 238000012546 transfer Methods 0.000 description 4
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 239000002689 soil Substances 0.000 description 3
- 238000010276 construction Methods 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/20—Instruments for performing navigational calculations
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C11/00—Photogrammetry or videogrammetry, e.g. stereogrammetry; Photographic surveying
- G01C11/04—Interpretation of pictures
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/005—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 with correlation of navigation data from several sources, e.g. map or contour matching
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01C—MEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
- G01C21/00—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
- G01C21/10—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
- G01C21/12—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
- G01C21/16—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
- G01C21/165—Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation combined with non-inertial navigation instruments
Landscapes
- Engineering & Computer Science (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Multimedia (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
Abstract
本申请公开了一种机器人的定位方法、装置和***。其中,该方法包括:获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据机器人采集的图像信息确定;在机器人转向的过程中,通过约束函数得到机器人的转向参数;基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。本申请解决了现有技术中机器人转向时的定位不准确的技术问题。
Description
技术领域
本申请涉及机器人控制领域,具体而言,涉及一种机器人的定位方法、装置和***。
背景技术
滑移转向机器人是一种可以通过改变左右轮子或者履带的速度来进行转向的机器人,由于其不需要专门的转向机构,结构简单,运动灵活,在户外环境的工作和科学探索中得到了广泛的应用。
现有技术在对滑移转向机器人进行定位时,通常采用GPS(Global PositioningSystem,全球定位***)采集到的数据来对滑移转向机器人进行定位,然而,在没有GPS数据的区域(例如,室内)或者GPS信号较弱的区域(例如,室外有树木或者建筑物遮挡的区域),由于无法获取GPS数据或者只能获取部分GPS数据,因此无法对滑移转向机器人进行精确定位。
针对上述的问题,目前尚未提出有效的解决方案。
发明内容
本申请实施例提供了一种机器人的定位方法、装置和***,以至少解决现有技术中机器人转向时的定位不准确的技术问题。
根据本申请实施例的一个方面,提供了一种机器人的定位方法,包括:获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定;在机器人转向的过程中,通过约束函数得到机器人的转向参数;基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
根据本申请实施例的另一方面,还提供了一种机器人的定位方法,包括:在机器人转向的过程中采集图像信息,并根据图像信息确定视觉重投影误差;根据视觉重投影误差确定机器人对应的最小目标函数;通过求解最小目标函数对转向参数进行估计,得到机器人的转向参数;基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数对机器人进行定位,其中,转向模型用于表示定位参数与转向参数之间的关系。
根据本申请实施例的另一方面,还提供了一种机器人的定位装置,包括:获取模块,用于获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定;处理模块,用于在机器人转向的过程中,通过约束函数得到机器人的转向参数;确定模块,用于基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
根据本申请实施例的另一方面,还提供了一种存储介质,该存储介质包括存储的程序,其中,在程序运行时控制存储介质所在设备执行上述的机器人的定位方法。
根据本申请实施例的另一方面,还提供了一种处理器,该处理器用于运行程序,其中,程序运行时执行上述的机器人的定位方法。
根据本申请实施例的另一方面,还提供了一种机器人的定位***,包括:处理器;以及存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定;在机器人转向的过程中,通过约束函数得到机器人的转向参数;基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
在本申请实施例中,采用视觉定位的方式,首先根据机器人采集到的图像信息确定视觉重投影误差,并根据视觉重投影误差来确定机器人对应的约束函数,然后在机器人转向的过程中,通过约束函数得到机器人的转向参数,最后基于转向参数和预先获取的转向模型来确定定位参数,并根据定位参数获取机器人的定位信息。
由上述内容可知,本申请通过对机器人采集到的图像信息进行处理得到机器人的定位信息,该过程将机器人与视觉定位相结合,准确确定了机器人的定位信息。另外,由于视觉定位不受GPS信号强弱的影响,因此,本申请所提供的方案在GPS信号较弱或者没有GPS信号的场景中也可以实现对机器人的精确定位,扩大了机器人的使用范围。
由此可见,本申请所提供的方案达到了对机器人进行定位的目的,从而实现了提高机器人的定位精度的技术效果,进而解决了现有技术中机器人转向时的定位不准确的技术问题。
附图说明
此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:
图1是根据本申请实施例的一种可选的计算设备的硬件结构框图;
图2是根据本申请实施例的一种机器人的定位方法的流程图;
图3是根据本申请实施例的一种可选的机器人底盘的示意图;
图4是根据本申请实施例的一种可选的视觉重投影误差的确定示意图;
图5是根据本申请实施例的一种可选的视觉重投影误差的确定示意图;
图6是根据本申请实施例的一种机器人的定位方法的流程图;
图7是根据本申请实施例的一种机器人的定位装置的示意图;
图8是根据本申请实施例的一种可选的计算设备的结构框图;
图9是根据本申请实施例的一种可选的基于机器人的定位方法的流程框图;
图10是根据本申请实施例的一种可选的基于机器人的定位方法的流程框图;以及
图11是根据本申请实施例的一种可选的基于机器人的定位方法的场景示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
实施例1
根据本申请实施例,还提供了一种机器人的定位方法的实施例,需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机***中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
本申请实施例一所提供的方法实施例可以在移动终端、计算设备或者类似的运算装置中执行。图1示出了一种用于实现机器人的定位方法的计算设备(或移动设备)的硬件结构框图。如图1所示,计算设备10(或移动设备10)可以包括一个或多个(图中采用102a、102b,……,102n来示出)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)、用于存储数据的存储器104、以及用于通信功能的传输装置106。除此以外,还可以包括:显示器、输入/输出接口(I/O接口)、通用串行总线(USB)端口(可以作为I/O接口的端口中的一个端口被包括)、网络接口、电源和/或相机。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述电子装置的结构造成限定。例如,计算设备10还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
应当注意到的是上述一个或多个处理器102和/或其他数据处理电路在本文中通常可以被称为“数据处理电路”。该数据处理电路可以全部或部分的体现为软件、硬件、固件或其他任意组合。此外,数据处理电路可为单个独立的处理模块,或全部或部分的结合到计算设备10(或移动设备)中的其他元件中的任意一个内。如本申请实施例中所涉及到的,该数据处理电路作为一种处理器控制(例如与接口连接的可变电阻终端路径的选择)。
存储器104可用于存储应用软件的软件程序以及模块,如本申请实施例中的机器人的定位方法对应的程序指令/数据存储装置,处理器102通过运行存储在存储器104内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的机器人的定位方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至计算设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括计算设备10的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,RF)模块,其用于通过无线方式与互联网进行通讯。
显示器可以例如触摸屏式的液晶显示器(LCD),该液晶显示器可使得用户能够与计算设备10(或移动设备)的用户界面进行交互。
此处需要说明的是,在一些可选实施例中,上述图1所示的计算机设备(或移动设备)可以包括硬件元件(包括电路)、软件元件(包括存储在计算机可读介质上的计算机代码)、或硬件元件和软件元件两者的结合。应当指出的是,图1仅为特定具体实例的一个实例,并且旨在示出可存在于上述计算机设备(或移动设备)中的部件的类型。
在上述运行环境下,本申请提供了如图2所示的机器人的定位方法。图2是根据本申请实施例一的机器人的定位方法的流程图,如图2所示,该方法包括:
步骤S202,获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定。
在步骤S202中,机器人可以为但不限于滑移转向机器人,其中,滑移转向机器人的底盘可以为履带底盘,也可以为轮子底盘,可选的,在本申请中,机器人为四轮底盘的滑移转向机器人。
上述约束函数是关于决策变量的目标函数,在本申请上述实施例中,决策变量即为机器人的转向参数,约束函数即为关于转向参数的目标函数。通过对约束函数进行求解,即可得到机器人的转向参数。在一种可选的实施例中,约束函数是一种最小目标函数,也即,当约束函数取到其最小值时,求得的转向参数为最优解。
在一种可选的实施例中,机器人具有图像采集设备,该图像采集设备可以为但不限于摄像头,另外,机器人还具有处理器,该处理器可获取图像采集设备所采集到的图像信息,并对图像信息进行处理,从而得到视觉重投影误差,然后在基于视觉重投影误差来确定机器人对应的约束函数。
可选的,图11示出了一种基于机器人的定位方法的场景示意图,在图11中,机器人仅用于采集图像信息,机器人在采集图像信息之后,还可将图像信息发送至计算设备,计算设备对图像信息进行处理,即可得到视觉重投影误差。另外,计算设备还可获取惯性测量仪检测到的检测值,并根据检测值确定惯性测量约束;计算设备通过读取里程计的检测值可以得到里程计数据;计算设备从数据库中获取历史图像信息,并通过历史图像信息获取先验信息。最后,计算设备通过视觉重投影误差、惯性测量约束、里程计数据以及先验信息即可得到约束函数。
由图11可知,约束函数包括视觉重投影误差、惯性测量约束、里程计数据以及先验信息。在本申请中,主要是对上述四个参数进行优化,生成对机器人底盘模型的估计结果,进而根据该估计结果准确确定机器人的定位信息。
需要说明的是,在计算机视觉中,例如,在计算平面单应矩阵和投影矩阵时,通过用视觉重投影误差来构造代价函数,并对该代价函数进行最小化处理,以优化单应矩阵或者投影矩阵。在这个过程中,在视觉重投影误差构造代价函数的过程中,不仅考虑到了单应矩阵的计算误差,还考虑到了图像点的测量误差,因此,在计算机视觉中使用视觉重投影误差可以提高测量精度。
步骤S204,在机器人转向的过程中,通过约束函数得到机器人的转向参数。
可选的,如图11所示,在机器人进行转向操作的过程中,计算设备通过对约束函数进行求解,即可得到转向参数。
在步骤S204中,机器人包括左侧轮胎和右侧轮胎,如图3所示的机器人底盘的示意图,在图3中,机器人的左侧轮胎包括两个轮胎,右侧轮胎也包括两个轮胎。其中,机器人的转向参数包括:左侧轮胎在转向时的瞬时转动中心的第一坐标参数和右侧轮胎在转向时的瞬时转动中心的第二坐标参数;左侧轮胎的第一尺度参数和右侧轮胎的第二尺度参数,其中,第一尺度参数用于表示叠加在左侧轮胎上的系数,第二尺度参数用于表示叠加在右侧轮胎上的系数。
需要说明的是,左侧轮胎和右侧轮胎对应有不同的瞬时转动中心,如图3所示,左侧轮胎在转向时的瞬时转动中心为ICRl,右侧轮胎在转向时的瞬时转动中心为ICRr。另外,ICRv为机器人转向时,机器人整体所对应的瞬时转动中心,在图3中,ICRv为机器人以角速度ω向左转向时机器人整体所对应的瞬时转动中心。
可选的,上述第一坐标参数为左侧轮胎在转向时的瞬时转动中心的坐标值,即ICRl可以以(Xl,Yl)表示,其中,Xl表示横坐标,Yl表示纵坐标。上述第二坐标参数为右侧轮胎在转向时的瞬时转动中心的坐标值,即ICRr可以以(Xr,Yr)表示,其中,Xr表示横坐标,Yr表示纵坐标。
需要说明的是,由于左侧轮胎和右侧轮胎在转向时的瞬时转动中心的X轴坐标相同,因此,在本申请中,左侧轮胎和右侧轮胎在转向时的瞬时转动中心的X轴坐标均以Xv表示;由于左侧轮胎和右侧轮胎在转向时的瞬时转动中心的Y轴坐标不同,因此,在本申请中分别采用Yl和Yr表示左侧轮胎和右侧轮胎在转向时的瞬时转动中心的Y轴坐标。由此,转向参数可以以下式表示:
在上式中,ξ为转向参数,αl和αr分别表示左侧轮胎的第一尺度参数和右侧轮胎的第二尺度参数。其中,αl和αr为没有单位的系数,其数值的大小分别与左侧车轮和右侧车轮的材质以及充气状态相关,具体数值可通过求解约束函数得到。另外,左侧轮胎在转向时的瞬时转动中心的第一坐标参数和右侧轮胎在转向时的瞬时转动中心的第二坐标参数与机器人的轮胎(包括左侧轮胎和右侧轮胎)所接触的地面的类型以及机器人的尺寸相关,不同的地面类型以及机器人尺寸对应不同的瞬时转动中心的坐标参数,即在不同的地面类型以及机器人尺寸下,左侧轮胎在转向时的瞬时转动中心的第一坐标参数和右侧轮胎在转向时的瞬时转动中心的第二坐标参数是不同的。
步骤S206,基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
可选的,如图11所示,在得到转向参数之后,计算设备再通过表征定位参数与转向参数之间的关系的转向模型确定定位参数,然后,根据定位参数将机器人的定位信息输出显示设备,其中,显示设备可以为机器人管理人员所使用的管理平台中的设备,机器人管理人员可以通过显示设备显示的定位信息确定机器人是否达到作业现场,或者,机器人管理人员可以根据显示设备显示的定位信息来对机器人发送控制指令。另外,上述管理平台也可根据定位信息向机器人发送控制指令,以实现远程控制机器人的目的。
在步骤S206中,定位参数包括:机器人转向时的角速度和机器人转向时的线速度,如图3中的ω为机器人转向时的机器人整体的角速度,vo为机器人转向时的机器人整体的线速度,其中,为便于计算,可对vo进行分解,得到机器人整体的线速度在X轴和Y轴方向上的分量,即vox和voy。可选的,定位参数可通过如下矩阵形式表示:
另外,在图3中,ol和or分别表示左侧轮胎与右侧轮胎的线速度,其中,箭头所对应的线段的大小表示了左侧轮胎与右侧轮胎的线速度的大小,在图3中,左侧轮胎的线速度的大小小于右侧轮胎的线速度的大小。
可选的,定位参数与转向参数可以通过下式表示:
其中,函数g(·)表示转向模型。
另外,在步骤S206中,机器人的定位信息包括机器人的位置和姿态,其中,机器人的位置可以由表示,机器人的姿态可以由/>表示。其中,机器人的处理器根据机器人转向时的角速度和机器人转向时的线速度来确定机器人在当前时刻的位置和姿态。
可选的,处理器可通过传递函数G,以及求解转向模型所得到的定位参数来得到机器人在当前时刻的位置和姿态。其中,机器人的处理器可根据上一时刻的机器人的位置和姿态来估计当前时刻的位置和姿态。即机器人在当前时刻的位置和姿态满足下式:
对于离散估计,上式可以变换为下式:
在上述四个公式中,Δt为上一时刻与当前时刻的时间差值,
相应的转移矩阵如下式所示:
协方差矩阵的传递函数如下式所示:
其中,Qd∈R9×9,对应的噪声信息,而
其中,G为传递函数。
基于上述步骤S202至步骤S206所限定的方案,可以获知,在本申请实施例中,采用视觉定位的方式,首先根据机器人采集到的图像信息确定视觉重投影误差,并根据视觉重投影误差来确定机器人对应的约束函数,然后在机器人转向的过程中,通过约束函数得到机器人的转向参数,最后基于转向参数和预先获取的转向模型来确定定位参数,并根据定位参数获取机器人的定位信息。
容易注意到的是,本申请通过对机器人采集到的图像信息进行处理得到机器人的定位信息,该过程将机器人与视觉定位相结合,准确确定了机器人的定位信息。另外,由于视觉定位不受GPS信号强弱的影响,因此,本申请所提供的方案在GPS信号较弱或者没有GPS信号的场景中也可以实现对机器人的精确定位,扩大了机器人的使用范围。
由此可见,本申请所提供的方案达到了对机器人进行定位的目的,从而实现了提高机器人的定位精度的技术效果,进而解决了现有技术中机器人转向时的定位不准确的技术问题。
在一种可选的实施例中,视觉重投影误差根据转向参数进行表达,其中,在得到机器人对应的约束函数之后,在机器人转向的过程中,机器人的处理器确定约束函数为最小目标函数,然后求解最小目标函数,得到转向参数,即求解约束函数对应的输出结果最小时对应的函数为最小目标函数,此时,使约束函数最小对应的参数为转向参数。
其中,约束函数可以以下式表示:
C=Cproj+CIMU+Codom+Cprior
在上式中,C为约束函数,Cproj为视觉重投影误差,CIMU为惯性测量约束,Codom为里程计数据,Cprior为先验信息。由上式可知,约束函数除包括视觉重投影误差之外,还包括惯性测量约束、里程计数据以及先验信息。
可选的,对于视觉重投影误差,机器人首先获取机器人采集的连续多帧的图像信息,然后基于连续多帧的图像信息确定机器人的视觉重投影误差。
具体的,在得到连续多帧的图像信息之后,机器人提取图像信息中的特征点,并对连续多帧图像信息中的特征点进行跟踪,得到特征点对应的轨迹信息,然后再根据轨迹信息确定特征点在三维空间中位置信息。当机器人当前采集的图像信息中包括特征点时,根据特征点在三维空间中的位置信息,将特征点投影至机器人当前采集的图像信息对应的二维平面上,得到投影点,最后根据机器人当前采集的图像信息中特征点的位置和投影点的位置确定视觉重投影误差。
在上述过程中,图像信息中的特征点可以为图像中的角点,其中,角点可以为在某些属性上强度最大或最小的孤立点、线段的终点,例如,上述角点可以为图像中的物体轮廓线的连接点(例如,房屋的棱角)。另外,图像信息中的特征点还可以为图像中颜色突出的点。
可选的,机器人可以采用KIT算法对每一帧图像中的特征点进行跟踪,从而得到特征点的轨迹信息,然后再使用三角化算法计算出特征点在三维空间中的位置信息。其中,三角化算法为一种定位算法,在本申请中,根据特征点的轨迹信息运用三角几何原理来确定特征点的位置。
进一步地,机器人的图像采集设备再次采集图像,并且采集到的图像包括上述特征点时,机器人将特征点的三维位置(即特征点在三维空间中的位置信息)投影到二维平面上,得到投影点,最后再根据投影点的位置以及特征点的位置来计算出视觉重投影误差。例如,在图4中,观测值P1和P2是同一个空间点P的投影,P的投影P2'与观测值P2之间具有一定的距离e,该距离e即为视觉重投影误差。
另外,如图5所示,x和x'为图像中的特征点所对应的投影点,为x的估计值,/>为x′的估计值,x与x′对应的视觉重投影误差满足下式:
在上式中,ε为视觉重投影误差,x与x′满足下式:
x'=Hx
与/>满足下式:
其中,为H的估计值,H为单应矩阵。
由上述视觉重投影误差的公式可知,特征点与图像中的估计值之间存在误差,因此,需要重新估计估计值的坐标,而估计得到的新的估计值满足单应关系,如在图5中d和d'之和即为视觉重投影误差,为/>的倒置。
可选的,约束函数还包括:惯性测量约束,其中,惯性测量约束与转向参数不相关,是通过惯性测量仪检测得到的。具体的,机器人首先获取设置在机器人中的惯性测量仪的检测值,然后,根据惯性测量仪的检测值确定惯性测量约束。其中,检测值包括:机器人的加速度和角速度。
需要说明的是,惯性测量仪可以为IMU(Inertial Measurement Unit,惯性测量单元),其中,惯性测量单元中具有陀螺仪和加速度计,陀螺仪为三轴陀螺仪,用于检测机器人的角速度;加速度计包括空间三个方向(即x、y、z三个方向)的加速度计,用于分别检测机器人在三个方向上的加速度。
另外,在得到惯性检测仪的检测值之后,机器人的处理器可以对检测值进行积分计算,从而得到惯性测量约束。
在一种可选的实施例中,约束函数还包括:里程计数据,其中,通过读取里程计的检测值得到里程计数据。其中,里程计为一种利用从移动传感器获得的数据来估计物***置随时间变化而改变的方法。
由上述内容可知,惯性测量约束和里程计数据可基于不同的检测设备来对机器人的位置和角度进行观察。
在一种可选的实施例中,约束函数还包括:先验信息,其中,先验信息包括历史图像信息中的边缘信息。可选的,处理器可获取图像采集设备所采集到的图像的采集时长,并按照采集时长对采集设备采集到的图像进行排序,删除掉采集时长大于预设时长的历史图像,得到目标历史图像,最后计算目标历史图像的边缘分布,即得到上述先验信息。
进一步地,在确定视觉重投影误差、惯性测量约束、里程计数据以及先验信息之后,即可得到约束函数。然后处理器在机器人转向的过程中,通过约束函数得到机器人的转向参数,进而基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息。其中,在确定定位参数之前,机器人的处理器需要,创建转向模型。
具体的,处理器可以首先获取中间变量,其中,中间变量通过左侧轮胎的转动中心和右侧轮胎的转动中心在竖直方向上的差值确定。然后再获取中间矩阵,其中,中间矩阵包括:第一坐标参数的横坐标参数、第一坐标参数的竖直坐标参数、第二坐标参数的竖直坐标参数构成的第一矩阵,第一尺度参数和第二尺度参数构成的第二矩阵,左侧轮胎的线速度和右侧轮胎的线速度构成的第三矩阵。最后确定由定位参数构成的目标矩阵与中间变量和中间矩阵之间的对应关系为转向模型。
可选的,转向模型g(·)可以表示为下式:
在上式中,W为中间矩阵,其中,第一矩阵为第二矩阵为/>第三矩阵为/>
另外,由于第一坐标参数的横坐标参数和第二坐标参数的横坐标参数相同,因此,在上式中,以Yv表示第一坐标参数和第二坐标参数的横坐标参数,Yl为第一坐标参数的竖直坐标参数,Yr为第二坐标参数的竖直坐标参数。此外,αl为第一尺度参数,αr为第二尺度参数,ol为左侧轮胎的线速度,or为右侧轮胎的线速度。
在上式中,ΔY为中间变量,其中,ΔY满足下式:ΔY=Yl-Yr。
需要说明的是,在得到转向模型之后,处理器即可通过转向模型来确定定位参数,进而根据定位参数得到机器人的定位信息。
此外,还需要说明的是,在本申请所提供的机器人的定位方法的基础上,还可以结合GPS所采集到的机器人的GPS数据来确定机器人的定位信息,进而提高机器人定位的精度。
在一种可选的实施例中,图9示出了一种基于机器人的定位方法的流程框图,由图9可知,在机器人中的图像采集设备采集图像信息之后,将图像信息发送至计算设备,其中,计算设备可以是机器人中的处理器。计算设备对连续多帧的图像信息进行处理,即可得到约束函数,其中,约束函数至少包括视觉重投影误差、惯性测量约束、里程计算数据以及先验信息。在机器人进行转向操作的过程中,计算设备通过对约束函数进行求解,即可得到转向参数。然后,计算设备再通过表征定位参数与转向参数之间的关系的转向模型确定定位参数,最后,根据定位参数输出机器人的定位信息。
在另一种可选的实施例中,图10示出了一种基于机器人的定位方法的流程框图,在图10中,机器人应用在户外环境工作的场景中,其中,机器人中的处理器可对机器人采集到的图像信息进行处理,进而得到定位信息。由图10可知,机器人在进行户外作业时,机器人的图像采集设备可以采集连续多帧作业环境的图像信息,并将采集到的图像信息发送至机器人的处理器中,处理器再对连续多帧的图像信息进行处理,即可得到约束函数,其中,约束函数至少包括视觉重投影误差、惯性测量约束、里程计算数据以及先验信息。在机器人进行转向操作的过程中,处理器通过对约束函数进行求解,即可得到转向参数,再通过表征定位参数与转向参数之间的关系的转向模型确定定位参数,最后,根据定位参数输出机器人的定位信息。在得到定位信息之后,机器人将定位信息发送至计算设备,其中,计算设备可以为机器人管理平台。计算设备可对机器人的定位信息进行分析,确定机器人是否已经到达作业现场,以及机器人是否开始进行工作等。例如,计算设备根据机器人发送的定位信息确定机器人未达到作业现场,则计算设备根据机器人的定位信息以及作业现场的位置信息确定机器人的移动方向,然后将该移动方向生成控制指令,并将控制指令发送至机器人,以使机器人按照移动方向进行移动。又例如,在确定机器人已经达到作业现场之后,计算设备控制机器人进行作业,例如,在采集土壤标本的场景中,计算设备向机器人发送开始作业的控制指令,在接收到控制指令之后,控制机器人的采集土壤标本的部件(例如,机械手)开始进行作业。
由上述内容可知,本申请所提供的方案将机器人的底盘模型与视觉定位以及IMU观测融合在一起,保证了机器人的底盘模型可以在线实时估计,以适应不同的地形条件。另外,本申请所提供的方案与视觉融合而不是与GPS融合,从而避免了GPS信号弱或无GPS信号时无法获取GPS数据的问题,扩大了机器人的使用范围,提高了机器人定位的精度。
需要说明的是,对于前述的各方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于可选实施例,所涉及的动作和模块并不一定是本申请所必须的。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的机器人的定位方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,或者网络设备等)执行本申请各个实施例所述的方法。
实施例2
根据本申请实施例,还提供了一种机器人的定位方法,如图6所示,该方法包括如下步骤:
步骤S602,在机器人转向的过程中采集图像信息,并根据图像信息确定视觉重投影误差。
在步骤S602中,机器人可以为但不限于滑移转向机器人,其中,滑移转向机器人的底盘可以为履带底盘,也可以为轮子底盘,可选的,在本申请中,机器人为四轮底盘的滑移转向机器人。
在一种可选的实施例中,机器人具有图像采集设备,该图像采集设备可以为但不限于摄像头,另外,机器人还具有处理器,该处理器可获取图像采集设备所采集到的图像信息,并对图像信息进行处理,从而得到视觉重投影误差。
具体的,机器人首先获取机器人采集的连续多帧的图像信息,然后提取图像信息中的特征点,并对连续多帧图像信息中的特征点进行跟踪,得到特征点对应的轨迹信息,根据轨迹信息确定特征点在三维空间中位置信息。当机器人当前采集的图像信息中包括特征点时,根据特征点在三维空间中的位置信息,将特征点投影至机器人当前采集的图像信息对应的二维平面上,得到投影点,最后,根据机器人当前采集的图像信息中特征点的位置和投影点的位置确定视觉重投影误差。
需要说明的是,在计算机视觉中,例如,在计算平面单应矩阵和投影矩阵时,通过用视觉重投影误差来构造代价函数,并对该代价函数进行最小化处理,以优化单应矩阵或者投影矩阵。在这个过程中,在视觉重投影误差构造代价函数的过程中,不仅考虑到了单应矩阵的计算误差,还考虑到了图像点的测量误差,因此,在计算机视觉中使用视觉重投影误差可以提高测量精度。
步骤S604,根据视觉重投影误差确定机器人对应的最小目标函数。
在步骤S604中,上述最小目标函数是关于决策变量的目标函数,在本申请上述实施例中,决策变量即为机器人的转向参数,最小目标函数即为关于转向参数的目标函数。通过对最小目标函数进行求解,即可得到机器人的转向参数。在一种可选的实施例中,当最小目标函数取到其最小值时,求得的转向参数为最优解。
在一种可选的实施例中,最小目标函数至少包含视觉重投影误差,因此,在得到视觉重投影误差之后,即可得到机器人对应的最小目标函数。
在另一种可选的实施例中,最小目标函数至少包括:视觉重投影误差、惯性测量约束、里程计数据以及先验信息。其中,机器人首先获取设置在机器人中的惯性测量仪的检测值,然后,根据惯性测量仪的检测值确定惯性测量约束。其中,检测值包括:机器人的加速度和角速度。机器人通过读取里程计的检测值得到里程计数据。机器人的处理器可获取图像采集设备所采集到的图像的采集时长,并按照采集时长对采集设备采集到的图像进行排序,删除掉采集时长大于预设时长的历史图像,得到目标历史图像,最后计算目标历史图像的边缘分布,即得到上述先验信息。
在得到视觉重投影误差、惯性测量约束、里程计数据以及先验信息之后,对上述视觉重投影误差、惯性测量约束、里程计数据以及先验信息进行求和运算即可得到最小目标函数。
步骤S606,通过求解最小目标函数对转向参数进行估计,得到机器人的转向参数。
在步骤S606中,机器人包括左侧轮胎和右侧轮胎,如图3所示的机器人底盘的示意图,在图3中,机器人的左侧轮胎包括两个轮胎,右侧轮胎也包括两个轮胎。其中,机器人的转向参数包括:左侧轮胎在转向时的瞬时转动中心的第一坐标参数和右侧轮胎在转向时的瞬时转动中心的第二坐标参数;左侧轮胎的第一尺度参数和右侧轮胎的第二尺度参数,其中,第一尺度参数用于表示叠加在左侧轮胎上的系数,第二尺度参数用于表示叠加在右侧轮胎上的系数。
可选的,机器人的处理器可确定预设函数为最小目标函数,并通过求解最小目标函数得到转向参数。
步骤S608,基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数对机器人进行定位,其中,转向模型用于表示定位参数与转向参数之间的关系。
在步骤S608中,定位参数包括:机器人转向时的角速度和机器人转向时的线速度,如图3中的ω为机器人转向时的机器人整体的角速度,vo为机器人转向时的机器人整体的线速度,其中,为便于计算,可对vo进行分解,得到机器人整体的线速度在X轴和Y轴方向上的分量,即vox和voy。可选的,定位参数可通过如下矩阵形式表示:
另外,在图3中,ol和or分别表示左侧轮胎与右侧轮胎的线速度,其中,箭头所对应的线段的大小表示了左侧轮胎与右侧轮胎的线速度的大小,在图3中,左侧轮胎的线速度的大小小于右侧轮胎的线速度的大小。
可选的,定位参数与转向参数可以通过下式表示:
其中,函数g(·)表示转向模型。
进一步地,在得到定位参数之后,机器人的处理器根据机器人转向时的角速度和机器人转向时的线速度,确定机器人在当前时刻的位置和姿态,即得到了机器人的定位信息,至此,便完成了对机器人的定位。
容易注意到的是,本申请通过对机器人采集到的图像信息进行处理得到机器人的定位信息,该过程将机器人与视觉定位相结合,准确确定了机器人的定位信息。另外,由于视觉定位不受GPS信号强弱的影响,因此,本申请所提供的方案在GPS信号较弱或者没有GPS信号的场景中也可以实现对机器人的精确定位,扩大了机器人的使用范围。
由此可见,本申请所提供的方案达到了对机器人进行定位的目的,从而实现了提高机器人的定位精度的技术效果,进而解决了现有技术中机器人转向时的定位不准确的技术问题。
实施例3
根据本申请实施例,还提供了一种用于实施上述机器人的定位方法的机器人的定位装置,如图7所示,该装置70包括:获取模块701、处理模块703以及确定模块705。
其中,获取模块701,用于获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定;处理模块703,用于在机器人转向的过程中,通过约束函数得到机器人的转向参数;确定模块705,用于基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
此处需要说明的是,上述获取模块701、处理模块703以及确定模块705对应于实施例1中的步骤S202至步骤S206,两个模块与对应的步骤所实现的实例和应用场景相同,但不限于上述实施例一所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在实施例一提供的计算设备10中。
可选的,机器人包括左侧轮胎和右侧轮胎,转向参数包括:左侧轮胎在转向时的瞬时转动中心的第一坐标参数和右侧轮胎在转向时的瞬时转动中心的第二坐标参数;左侧轮胎的第一尺度参数和右侧轮胎的第二尺度参数,其中,第一尺度参数用于表示叠加在左侧轮胎上的系数,第二尺度参数用于表示叠加在右侧轮胎上的系数。
在一种可选的实施例中,定位参数包括:机器人转向时的角速度和机器人转向时的线速度,其中,确定模块包括:第一确定模块,用于根据机器人转向时的角速度和机器人转向时的线速度,确定机器人在当前时刻的位置和姿态。
在一种可选的实施例中,视觉重投影误差根据转向参数进行表达,其中,处理模块包括:第二确定模块以及第一处理模块。其中,第二确定模块,用于确定约束函数为最小目标函数;第一处理模块,用于求解最小目标函数,得到转向参数。
在一种可选的实施例中,获取模块包括:第一获取模块以及第三确定模块。其中,第一获取模块,用于获取机器人采集的连续多帧的图像信息;第三确定模块,用于基于连续多帧的图像信息确定机器人的视觉重投影误差。
在一种可选的实施例中,第三确定模块包括:提取模块、第四确定模块、第二处理模块以及第五确定模块。其中,提取模块,用于提取图像信息中的特征点,并对连续多帧图像信息中的特征点进行跟踪,得到特征点对应的轨迹信息;第四确定模块,用于根据轨迹信息确定特征点在三维空间中位置信息;第二处理模块,用于当机器人当前采集的图像信息中包括特征点时,根据特征点在三维空间中的位置信息,将特征点投影至机器人当前采集的图像信息对应的二维平面上,得到投影点;第五确定模块,用于根据机器人当前采集的图像信息中特征点的位置和投影点的位置确定视觉重投影误差。
在一种可选的实施例中,约束函数还包括:惯性测量约束,其中,获取模块包括:第二获取模块以及第六确定模块。其中,第二获取模块,用于获取设置在机器人中的惯性测量仪的检测值,其中,检测值包括:机器人的加速度和角速度;第六确定模块,用于根据惯性测量仪的检测值确定惯性测量约束。
在一种可选的实施例中,约束函数还包括:里程计数据,其中,通过读取里程计的检测值得到里程计数据。
在一种可选的实施例中,约束函数还包括:先验信息,其中,先验信息包括历史图像信息中的边缘信息。
在一种可选的实施例中,机器人的定位装置还包括创建模块,用于创建转向模型,其中,创建模块包括:第三获取模块,用于获取中间变量,其中,中间变量通过左侧轮胎的转动中心和右侧轮胎的转动中心在竖直方向上的差值确定;第四获取模块,用于获取中间矩阵,其中,中间矩阵包括:第一坐标参数的横坐标参数、第一坐标参数的竖直坐标参数、第二坐标参数的竖直坐标参数构成的第一矩阵,第一尺度参数和第二尺度参数构成的第二矩阵,左侧轮胎的线速度和右侧轮胎的线速度构成的第三矩阵;第七确定模块,用于确定由定位参数构成的目标矩阵与中间变量和中间矩阵之间的对应关系为转向模型。
实施例4
根据本申请实施例,还提供了一种用于实施上述机器人的定位方法的机器人的定位***,该***包括:处理器以及存储器。
其中,存储器,与处理器连接,用于为处理器提供处理以下处理步骤的指令:获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定;在机器人转向的过程中,通过约束函数得到机器人的转向参数;基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
需要说明的是,本实施例中的处理器可执行实施例1中的机器人的定位方法,相关内容已在实施例1中进行说明,在此不再赘述。
实施例5
本申请的实施例可以提供一种计算设备,该计算设备可以是计算机终端群中的任意一个计算设备。可选地,在本实施例中,上述计算设备也可以替换为移动终端等终端设备。
可选地,在本实施例中,上述计算设备可以位于计算机网络的多个网络设备中的至少一个网络设备。
在本实施例中,上述计算设备可以执行机器人的定位方法中以下步骤的程序代码:获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定;在机器人转向的过程中,通过约束函数得到机器人的转向参数;基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
可选地,图8是根据本申请实施例的一种计算设备的结构框图。如图8所示,该计算设备10可以包括:一个或多个(图中仅示出一个)处理器802、存储器804以及外设接口806。
其中,存储器可用于存储软件程序以及模块,如本申请实施例中的机器人的定位方法和装置对应的程序指令/模块,处理器通过运行存储在存储器内的软件程序以及模块,从而执行各种功能应用以及数据处理,即实现上述的机器人的定位方法。存储器可包括高速随机存储器,还可以包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至计算设备10。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
处理器可以通过传输装置调用存储器存储的信息及应用程序,以执行下述步骤:获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定;在机器人转向的过程中,通过约束函数得到机器人的转向参数;基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
可选的,机器人包括左侧轮胎和右侧轮胎,转向参数包括:左侧轮胎在转向时的瞬时转动中心的第一坐标参数和右侧轮胎在转向时的瞬时转动中心的第二坐标参数;左侧轮胎的第一尺度参数和右侧轮胎的第二尺度参数,其中,第一尺度参数用于表示叠加在左侧轮胎上的系数,第二尺度参数用于表示叠加在右侧轮胎上的系数。
可选的,上述处理器还可以执行如下步骤的程序代码:根据机器人转向时的角速度和机器人转向时的线速度,确定机器人在当前时刻的位置和姿态。其中,定位参数包括:机器人转向时的角速度和机器人转向时的线速度。
可选的,上述处理器还可以执行如下步骤的程序代码:确定约束函数为最小目标函数;求解最小目标函数,得到转向参数。其中,视觉重投影误差根据转向参数进行表达。
可选的,上述处理器还可以执行如下步骤的程序代码:获取机器人采集的连续多帧的图像信息;基于连续多帧的图像信息确定机器人的视觉重投影误差。
可选的,上述处理器还可以执行如下步骤的程序代码:提取图像信息中的特征点,并对连续多帧图像信息中的特征点进行跟踪,得到特征点对应的轨迹信息;根据轨迹信息确定特征点在三维空间中位置信息;当机器人当前采集的图像信息中包括特征点时,根据特征点在三维空间中的位置信息,将特征点投影至机器人当前采集的图像信息对应的二维平面上,得到投影点;根据机器人当前采集的图像信息中特征点的位置和投影点的位置确定视觉重投影误差。
可选的,上述处理器还可以执行如下步骤的程序代码:获取设置在机器人中的惯性测量仪的检测值,其中,检测值包括:机器人的加速度和角速度;根据惯性测量仪的检测值确定惯性测量约束。其中,约束函数还包括:惯性测量约束。
可选的,约束函数还包括:里程计数据,其中,通过读取里程计的检测值得到里程计数据。
可选的,约束函数还包括:先验信息,其中,先验信息包括历史图像信息中的边缘信息。
可选的,上述处理器还可以执行如下步骤的程序代码:创建转向模型,其中,创建转向模型包括:获取中间变量,其中,中间变量通过左侧轮胎的转动中心和右侧轮胎的转动中心在竖直方向上的差值确定;获取中间矩阵,其中,中间矩阵包括:第一坐标参数的横坐标参数、第一坐标参数的竖直坐标参数、第二坐标参数的竖直坐标参数构成的第一矩阵,第一尺度参数和第二尺度参数构成的第二矩阵,左侧轮胎的线速度和右侧轮胎的线速度构成的第三矩阵;确定由定位参数构成的目标矩阵与中间变量和中间矩阵之间的对应关系为转向模型。
本领域普通技术人员可以理解,图8所示的结构仅为示意,计算设备也可以是智能手机(如Android手机、iOS手机等)、平板电脑、掌声电脑以及移动互联网设备(MobileInternet Devices,MID)、PAD等终端设备。图8其并不对上述电子装置的结构造成限定。例如,计算设备10还可包括比图8中所示更多或者更少的组件(如网络接口、显示装置等),或者具有与图8所示不同的配置。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令终端设备相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:闪存盘、只读存储器(Read-Only Memory,ROM)、随机存取器(RandomAccess Memory,RAM)、磁盘或光盘等。
实施例6
本申请的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以用于保存上述实施例一所提供的机器人的定位方法所执行的程序代码。
可选地,在本实施例中,上述存储介质可以位于计算机网络中计算机终端群中的任意一个计算设备中,或者位于移动终端群中的任意一个移动终端中。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取机器人对应的约束函数,其中,约束函数至少包括视觉重投影误差,视觉重投影误差根据所以机器人采集的图像信息确定;在机器人转向的过程中,通过约束函数得到机器人的转向参数;基于转向参数和预先获取的转向模型确定定位参数,并根据定位参数获取机器人的定位信息,其中,转向模型用于表示定位参数与转向参数之间的关系。
可选地,机器人包括左侧轮胎和右侧轮胎,转向参数包括:左侧轮胎在转向时的瞬时转动中心的第一坐标参数和右侧轮胎在转向时的瞬时转动中心的第二坐标参数;左侧轮胎的第一尺度参数和右侧轮胎的第二尺度参数,其中,第一尺度参数用于表示叠加在左侧轮胎上的系数,第二尺度参数用于表示叠加在右侧轮胎上的系数。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:根据机器人转向时的角速度和机器人转向时的线速度,确定机器人在当前时刻的位置和姿态。其中,定位参数包括:机器人转向时的角速度和机器人转向时的线速度。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:确定约束函数为最小目标函数;求解最小目标函数,得到转向参数。其中,视觉重投影误差根据转向参数进行表达。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取机器人采集的连续多帧的图像信息;基于连续多帧的图像信息确定机器人的视觉重投影误差。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:提取图像信息中的特征点,并对连续多帧图像信息中的特征点进行跟踪,得到特征点对应的轨迹信息;根据轨迹信息确定特征点在三维空间中位置信息;当机器人当前采集的图像信息中包括特征点时,根据特征点在三维空间中的位置信息,将特征点投影至机器人当前采集的图像信息对应的二维平面上,得到投影点;根据机器人当前采集的图像信息中特征点的位置和投影点的位置确定视觉重投影误差。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:获取设置在机器人中的惯性测量仪的检测值,其中,检测值包括:机器人的加速度和角速度;根据惯性测量仪的检测值确定惯性测量约束。其中,约束函数还包括:惯性测量约束。
可选地,约束函数还包括:里程计数据,其中,通过读取里程计的检测值得到里程计数据。
可选地,约束函数还包括:先验信息,其中,先验信息包括历史图像信息中的边缘信息。
可选地,在本实施例中,存储介质被设置为存储用于执行以下步骤的程序代码:创建转向模型,其中,创建转向模型包括:获取中间变量,其中,中间变量通过左侧轮胎的转动中心和右侧轮胎的转动中心在竖直方向上的差值确定;获取中间矩阵,其中,中间矩阵包括:第一坐标参数的横坐标参数、第一坐标参数的竖直坐标参数、第二坐标参数的竖直坐标参数构成的第一矩阵,第一尺度参数和第二尺度参数构成的第二矩阵,左侧轮胎的线速度和右侧轮胎的线速度构成的第三矩阵;确定由定位参数构成的目标矩阵与中间变量和中间矩阵之间的对应关系为转向模型。
根据本申请的一个实施例,本申请可以确定机器人的应用场景,并根据应用场景来确定是否开启视觉重投影误差模块,其中,在根据应用场景确定需要开启视觉重投影误差模块时,机器人执行本申请所提供的机器人的定位方法。
可选的,机器人可以根据机器人所处环境的环境信息来确定是否需要精确定位,例如,机器人可以采集机器人所处环境的环境图像,并对环境图像进行分析,得到环境信息,其中,环境信息包括但不限于室内环境、室外环境等。如果对环境信息进行分析,确定机器人处于室内餐厅中,并且确定机器人的任务为送餐到桌,在该应用场景下,需要对机器人精确定位,此时,机器人的视觉重投影误差模块开始启动。另外,如果确定机器人不需要精确定位,例如,确定机器人在室外,并且机器人的任务是采集土壤样本,在该应用场景下,只要确保机器人在作业区域内即可,无需精确定位,此时,机器人的视觉重投影误差模块不会启动。
根据本发明另一个实施例,用户还可以确定机器人是否开启视觉重投影误差模块。例如,用户可以通过向机器人发送控制指令的方式来控制机器人开启或关闭视觉重投影误差模块。其中,用户可以通过语音的方式向机器人发送控制指令,也可以通过控制终端(例如,遥控器、上位机)向机器人发送控制指令。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
在本申请的上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见其他实施例的相关描述。
在本申请所提供的几个实施例中,应该理解到,所揭露的技术内容,可通过其它的方式实现。其中,以上所描述的装置实施例仅仅是示意性的,例如所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,单元或模块的间接耦合或通信连接,可以是电性或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可为个人计算机、服务器或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述仅是本申请的可选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本申请原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本申请的保护范围。
Claims (15)
1.一种机器人的定位方法,其特征在于,包括:
获取所述机器人对应的约束函数,其中,所述约束函数至少包括视觉重投影误差,所述视觉重投影误差根据所述机器人采集的图像信息确定;
在所述机器人转向的过程中,通过所述约束函数得到所述机器人的转向参数;
基于所述转向参数和预先获取的转向模型确定定位参数,并根据所述定位参数获取所述机器人的定位信息,其中,所述转向模型用于表示所述定位参数与转向参数之间的关系,所述转向模型为至少基于中间变量而创建的,所述中间变量通过所述机器人的左侧轮胎的转动中心和右侧轮胎的转动中心在竖直方向上的差值确定。
2.根据权利要求1所述的方法,其特征在于,所述机器人包括左侧轮胎和右侧轮胎,所述转向参数包括:
所述左侧轮胎在转向时的瞬时转动中心的第一坐标参数和所述右侧轮胎在转向时的瞬时转动中心的第二坐标参数;
所述左侧轮胎的第一尺度参数和所述右侧轮胎的第二尺度参数,其中,所述第一尺度参数用于表示叠加在所述左侧轮胎上的系数,所述第二尺度参数用于表示叠加在所述右侧轮胎上的系数。
3.根据权利要求1所述的方法,其特征在于,所述定位参数包括:所述机器人转向时的角速度和所述机器人转向时的线速度,根据所述定位参数获取所述机器人的定位信息,包括:
根据所述机器人转向时的角速度和所述机器人转向时的线速度,确定所述机器人在当前时刻的位置和姿态。
4.根据权利要求1所述的方法,其特征在于,所述视觉重投影误差根据所述转向参数进行表达,在所述机器人转向的过程中,通过约束函数得到所述机器人的转向参数,包括:
确定所述约束函数为最小目标函数;
求解所述最小目标函数,得到所述转向参数。
5.根据权利要求1所述的方法,其特征在于,获取所述机器人对应的约束函数,包括:
获取所述机器人采集的连续多帧的图像信息;
基于连续多帧的所述图像信息确定所述机器人的视觉重投影误差。
6.根据权利要求5所述的方法,其特征在于,基于连续多帧的所述图像信息确定所述机器人的视觉重投影误差,包括:
提取所述图像信息中的特征点,并对连续多帧所述图像信息中的特征点进行跟踪,得到所述特征点对应的轨迹信息;
根据所述轨迹信息确定所述特征点在三维空间中位置信息;
当所述机器人当前采集的图像信息中包括所述特征点时,根据所述特征点在所述三维空间中的位置信息,将所述特征点投影至所述机器人当前采集的图像信息对应的二维平面上,得到投影点;
根据所述机器人当前采集的图像信息中所述特征点的位置和所述投影点的位置确定所述视觉重投影误差。
7.根据权利要求1所述的方法,其特征在于,所述约束函数还包括:惯性测量约束,其中,获取所述机器人的惯性测量约束,包括:
获取设置在所述机器人中的惯性测量仪的检测值,其中,所述检测值包括:所述机器人的加速度和角速度;
根据所述惯性测量仪的检测值确定所述惯性测量约束。
8.根据权利要求1所述的方法,其特征在于,所述约束函数还包括:里程计数据,其中,通过读取里程计的检测值得到所述里程计数据。
9.根据权利要求1所述的方法,其特征在于,所述约束函数还包括:先验信息,其中,所述先验信息包括历史图像信息中的边缘信息。
10.根据权利要求2所述的方法,其特征在于,创建所述转向模型,包括:
获取所述中间变量;
获取中间矩阵,其中,所述中间矩阵包括:所述第一坐标参数的横坐标参数、所述第一坐标参数的竖直坐标参数、所述第二坐标参数的竖直坐标参数构成的第一矩阵,所述第一尺度参数和所述第二尺度参数构成的第二矩阵,所述左侧轮胎的线速度和所述右侧轮胎的线速度构成的第三矩阵;
确定由所述定位参数构成的目标矩阵与所述中间变量和所述中间矩阵之间的对应关系为所述转向模型。
11.一种机器人的定位方法,其特征在于,包括:
在所述机器人转向的过程中采集图像信息,并根据所述图像信息确定视觉重投影误差;
根据所述视觉重投影误差确定所述机器人对应的最小目标函数;
通过求解所述最小目标函数对转向参数进行估计,得到所述机器人的转向参数;
基于所述转向参数和预先获取的转向模型确定定位参数,并根据所述定位参数对所述机器人进行定位,其中,所述转向模型用于表示所述定位参数与转向参数之间的关系,所述转向模型为至少基于中间变量而创建的,所述中间变量通过所述机器人的左侧轮胎的转动中心和右侧轮胎的转动中心在竖直方向上的差值确定。
12.一种机器人的定位装置,其特征在于,包括:
获取模块,用于获取所述机器人对应的约束函数,其中,所述约束函数至少包括视觉重投影误差,所述视觉重投影误差根据所以机器人采集的图像信息确定;
处理模块,用于在所述机器人转向的过程中,通过所述约束函数得到所述机器人的转向参数;
确定模块,用于基于所述转向参数和预先获取的转向模型确定定位参数,并根据所述定位参数获取所述机器人的定位信息,其中,所述转向模型用于表示所述定位参数与转向参数之间的关系,所述转向模型为至少基于中间变量而创建的,所述中间变量通过所述机器人的左侧轮胎的转动中心和右侧轮胎的转动中心在竖直方向上的差值确定。
13.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至10中任意一项所述的机器人的定位方法。
14.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至10中任意一项所述的机器人的定位方法。
15.一种机器人的定位***,其特征在于,包括:
处理器;以及
存储器,与所述处理器连接,用于为所述处理器提供处理以下处理步骤的指令:
获取所述机器人对应的约束函数,其中,所述约束函数至少包括视觉重投影误差,所述视觉重投影误差根据所以机器人采集的图像信息确定;
在所述机器人转向的过程中,通过所述约束函数得到所述机器人的转向参数;
基于所述转向参数和预先获取的转向模型确定定位参数,并根据所述定位参数获取所述机器人的定位信息,其中,所述转向模型用于表示所述定位参数与转向参数之间的关系,所述转向模型为至少基于中间变量而创建的,所述中间变量通过所述机器人的左侧轮胎的转动中心和右侧轮胎的转动中心在竖直方向上的差值确定。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911025754.1A CN112710308B (zh) | 2019-10-25 | 2019-10-25 | 机器人的定位方法、装置和*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911025754.1A CN112710308B (zh) | 2019-10-25 | 2019-10-25 | 机器人的定位方法、装置和*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112710308A CN112710308A (zh) | 2021-04-27 |
CN112710308B true CN112710308B (zh) | 2024-05-31 |
Family
ID=75540955
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911025754.1A Active CN112710308B (zh) | 2019-10-25 | 2019-10-25 | 机器人的定位方法、装置和*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112710308B (zh) |
Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330356B1 (en) * | 1999-09-29 | 2001-12-11 | Rockwell Science Center Llc | Dynamic visual registration of a 3-D object with a graphical model |
CN101077578A (zh) * | 2007-07-03 | 2007-11-28 | 北京控制工程研究所 | 一种基于二元环境信息的移动机器人局部路径规划方法 |
CN101301220A (zh) * | 2008-07-03 | 2008-11-12 | 哈尔滨工程大学 | 内镜操作手术机器人穿刺孔定位装置及定位方法 |
CN101619984A (zh) * | 2009-07-28 | 2010-01-06 | 重庆邮电大学 | 一种基于颜色路标的移动机器人视觉导航方法 |
CN102221358A (zh) * | 2011-03-23 | 2011-10-19 | 中国人民解放军国防科学技术大学 | 基于逆透视投影变换的单目视觉定位方法 |
CN103706568A (zh) * | 2013-11-26 | 2014-04-09 | 中国船舶重工集团公司第七一六研究所 | 基于机器视觉的机器人分拣***及方法 |
CN104359464A (zh) * | 2014-11-02 | 2015-02-18 | 天津理工大学 | 基于立体视觉的移动机器人定位方法 |
WO2015024407A1 (zh) * | 2013-08-19 | 2015-02-26 | 国家电网公司 | 基于电力机器人的双目视觉导航***及方法 |
JP2015182144A (ja) * | 2014-03-20 | 2015-10-22 | キヤノン株式会社 | ロボットシステムおよびロボットシステムの校正方法 |
CN108489482A (zh) * | 2018-02-13 | 2018-09-04 | 视辰信息科技(上海)有限公司 | 视觉惯性里程计的实现方法及*** |
CN108827315A (zh) * | 2018-08-17 | 2018-11-16 | 华南理工大学 | 基于流形预积分的视觉惯性里程计位姿估计方法及装置 |
CN109676604A (zh) * | 2018-12-26 | 2019-04-26 | 清华大学 | 机器人曲面运动定位方法及其运动定位*** |
CN109959381A (zh) * | 2017-12-22 | 2019-07-02 | 深圳市优必选科技有限公司 | 一种定位方法、装置、机器人及计算机可读存储介质 |
WO2019136613A1 (zh) * | 2018-01-09 | 2019-07-18 | 深圳市沃特沃德股份有限公司 | 机器人室内定位的方法及装置 |
CN110345944A (zh) * | 2019-05-27 | 2019-10-18 | 浙江工业大学 | 融合视觉特征和imu信息的机器人定位方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8698875B2 (en) * | 2009-02-20 | 2014-04-15 | Google Inc. | Estimation of panoramic camera orientation relative to a vehicle coordinate frame |
CN101876533B (zh) * | 2010-06-23 | 2011-11-30 | 北京航空航天大学 | 一种显微立体视觉校准方法 |
EP3543650A4 (en) * | 2016-12-23 | 2020-01-01 | Cloudminds (Shenzhen) Robotics Systems Co., Ltd. | LOCATION METHOD, TERMINAL AND SERVER |
CN107747941B (zh) * | 2017-09-29 | 2020-05-15 | 歌尔股份有限公司 | 一种双目视觉定位方法、装置及*** |
-
2019
- 2019-10-25 CN CN201911025754.1A patent/CN112710308B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6330356B1 (en) * | 1999-09-29 | 2001-12-11 | Rockwell Science Center Llc | Dynamic visual registration of a 3-D object with a graphical model |
CN101077578A (zh) * | 2007-07-03 | 2007-11-28 | 北京控制工程研究所 | 一种基于二元环境信息的移动机器人局部路径规划方法 |
CN101301220A (zh) * | 2008-07-03 | 2008-11-12 | 哈尔滨工程大学 | 内镜操作手术机器人穿刺孔定位装置及定位方法 |
CN101619984A (zh) * | 2009-07-28 | 2010-01-06 | 重庆邮电大学 | 一种基于颜色路标的移动机器人视觉导航方法 |
CN102221358A (zh) * | 2011-03-23 | 2011-10-19 | 中国人民解放军国防科学技术大学 | 基于逆透视投影变换的单目视觉定位方法 |
WO2015024407A1 (zh) * | 2013-08-19 | 2015-02-26 | 国家电网公司 | 基于电力机器人的双目视觉导航***及方法 |
CN103706568A (zh) * | 2013-11-26 | 2014-04-09 | 中国船舶重工集团公司第七一六研究所 | 基于机器视觉的机器人分拣***及方法 |
JP2015182144A (ja) * | 2014-03-20 | 2015-10-22 | キヤノン株式会社 | ロボットシステムおよびロボットシステムの校正方法 |
CN104359464A (zh) * | 2014-11-02 | 2015-02-18 | 天津理工大学 | 基于立体视觉的移动机器人定位方法 |
CN109959381A (zh) * | 2017-12-22 | 2019-07-02 | 深圳市优必选科技有限公司 | 一种定位方法、装置、机器人及计算机可读存储介质 |
WO2019136613A1 (zh) * | 2018-01-09 | 2019-07-18 | 深圳市沃特沃德股份有限公司 | 机器人室内定位的方法及装置 |
CN108489482A (zh) * | 2018-02-13 | 2018-09-04 | 视辰信息科技(上海)有限公司 | 视觉惯性里程计的实现方法及*** |
CN108827315A (zh) * | 2018-08-17 | 2018-11-16 | 华南理工大学 | 基于流形预积分的视觉惯性里程计位姿估计方法及装置 |
CN109676604A (zh) * | 2018-12-26 | 2019-04-26 | 清华大学 | 机器人曲面运动定位方法及其运动定位*** |
CN110345944A (zh) * | 2019-05-27 | 2019-10-18 | 浙江工业大学 | 融合视觉特征和imu信息的机器人定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN112710308A (zh) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lupton et al. | Visual-inertial-aided navigation for high-dynamic motion in built environments without initial conditions | |
CN107748569B (zh) | 用于无人机的运动控制方法、装置及无人机*** | |
CN105931275A (zh) | 基于移动端单目和imu融合的稳定运动跟踪方法和装置 | |
US20210183100A1 (en) | Data processing method and apparatus | |
CN110967711A (zh) | 数据采集方法和*** | |
EP3974778B1 (en) | Method and apparatus for updating working map of mobile robot, and storage medium | |
WO2022193508A1 (zh) | 位姿优化方法、装置、电子设备、计算机可读存储介质、计算机程序及程序产品 | |
CN112652016A (zh) | 点云预测模型的生成方法、位姿估计方法及其装置 | |
CN110246182A (zh) | 基于视觉的全局地图定位方法、装置、存储介质和设备 | |
CN110789529B (zh) | 车辆的控制方法、装置及计算机可读存储介质 | |
WO2022000713A1 (zh) | 一种基于航空装配的增强现实自定位方法 | |
CN112184914B (zh) | 目标对象三维位置的确定方法、装置和路侧设备 | |
CN111380515B (zh) | 定位方法及装置、存储介质、电子装置 | |
CN111521971B (zh) | 一种机器人的定位方法及*** | |
CN112445222A (zh) | 导航方法、装置、存储介质以及终端 | |
CN111857114A (zh) | 一种机器人编队移动方法、***、设备和存储介质 | |
CN106652028A (zh) | 一种环境三维建图方法及装置 | |
CN112344855A (zh) | 障碍物的检测方法、装置、存储介质和路测设备 | |
CN110567467A (zh) | 基于多传感器的地图构建方法、装置及存储介质 | |
CN113158779B (zh) | 一种行走方法、装置和计算机存储介质 | |
CN103903253A (zh) | 一种可移动终端定位方法及*** | |
JP2023503750A (ja) | ロボットの位置決め方法及び装置、機器、記憶媒体 | |
CN113601510A (zh) | 基于双目视觉的机器人移动控制方法、装置、***及设备 | |
CN113587934A (zh) | 一种机器人、室内定位方法、装置和可读存储介质 | |
CN112710308B (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |