CN104302453B - 使用差动传感器或视觉测量的地毯偏移估计 - Google Patents
使用差动传感器或视觉测量的地毯偏移估计 Download PDFInfo
- Publication number
- CN104302453B CN104302453B CN201380022811.5A CN201380022811A CN104302453B CN 104302453 B CN104302453 B CN 104302453B CN 201380022811 A CN201380022811 A CN 201380022811A CN 104302453 B CN104302453 B CN 104302453B
- Authority
- CN
- China
- Prior art keywords
- carpet
- sensor
- robot device
- group
- skew
- 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
- 238000005259 measurement Methods 0.000 title claims abstract description 43
- 230000004044 response Effects 0.000 claims abstract description 20
- 230000033001 locomotion Effects 0.000 claims description 74
- 230000000007 visual effect Effects 0.000 claims description 45
- 230000008859 change Effects 0.000 claims description 35
- 238000004891 communication Methods 0.000 claims description 17
- 238000003384 imaging method Methods 0.000 claims description 16
- 230000004888 barrier function Effects 0.000 claims description 9
- 238000001914 filtration Methods 0.000 claims description 8
- 238000001514 detection method Methods 0.000 claims description 2
- 238000000034 method Methods 0.000 abstract description 116
- 230000008878 coupling Effects 0.000 description 26
- 238000010168 coupling process Methods 0.000 description 26
- 238000005859 coupling reaction Methods 0.000 description 26
- 238000013519 translation Methods 0.000 description 22
- 230000014616 translation Effects 0.000 description 22
- 238000006073 displacement reaction Methods 0.000 description 18
- 238000004140 cleaning Methods 0.000 description 15
- 230000007246 mechanism Effects 0.000 description 12
- 230000008569 process Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 8
- 239000000835 fiber Substances 0.000 description 8
- 238000004321 preservation Methods 0.000 description 8
- 230000000875 corresponding effect Effects 0.000 description 7
- 230000001276 controlling effect Effects 0.000 description 5
- 238000010407 vacuum cleaning Methods 0.000 description 5
- 230000008901 benefit Effects 0.000 description 4
- 238000012937 correction Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 239000011159 matrix material Substances 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 3
- 230000003287 optical effect Effects 0.000 description 3
- 230000002441 reversible effect Effects 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 239000000428 dust Substances 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000000670 limiting effect Effects 0.000 description 2
- 210000003141 lower extremity Anatomy 0.000 description 2
- 238000013507 mapping Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 239000004576 sand Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000000916 dilatatory effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 239000002245 particle Substances 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000001144 postural effect Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000000153 supplemental effect Effects 0.000 description 1
- 230000036962 time dependent Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0231—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means
- G05D1/0246—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means
- G05D1/0253—Control of position or course in two dimensions specially adapted to land vehicles using optical position detecting means using a video camera in combination with image processing means extracting relative motion information from a plurality of images taken successively, e.g. visual odometry, optical flow
-
- 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/1694—Programme 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/1697—Vision controlled systems
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J11/00—Manipulators not otherwise provided for
- B25J11/008—Manipulators for service tasks
- B25J11/0085—Cleaning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J5/00—Manipulators mounted on wheels or on carriages
- B25J5/007—Manipulators mounted on wheels or on carriages mounted on wheels
-
- 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/1628—Programme controls characterised by the control loop
-
- 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
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/027—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising intertial navigation means, e.g. azimuth detector
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/02—Control of position or course in two dimensions
- G05D1/021—Control of position or course in two dimensions specially adapted to land vehicles
- G05D1/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0272—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means comprising means for registering the travel distance, e.g. revolutions of wheels
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/20—Control system inputs
- G05D1/24—Arrangements for determining position or orientation
- G05D1/244—Arrangements for determining position or orientation using passive navigation aids external to the vehicle, e.g. markers, reflectors or magnetic means
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/40—Control within particular dimensions
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/60—Intended control result
- G05D1/644—Optimisation of travel parameters, e.g. of energy consumption, journey time or distance
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S901/00—Robots
- Y10S901/01—Mobile robot
Landscapes
- Engineering & Computer Science (AREA)
- Remote Sensing (AREA)
- Radar, Positioning & Navigation (AREA)
- Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- General Physics & Mathematics (AREA)
- Aviation & Aerospace Engineering (AREA)
- Robotics (AREA)
- Mechanical Engineering (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Electromagnetism (AREA)
- Multimedia (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Manipulator (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
公开了使用差动传感器或视觉测量进行地毯偏移估计的装置和方法。机器人设备包括使本体在表面上移动的致动器***。第一组传感器感测致动器***的致动特性。第一组传感器包括测距传感器以用于感测致动器***的轮子转动。第二组传感器感测本体的运动特性。第一组传感器与第二组传感器类型不同。控制器至少基于所感测的致动特性和运动特性来估计偏移、根据所估计的偏移来确定机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上、响应于确定了机器人设备在铺有地毯的表面上、至少基于所感测的致动特性和运动特性来生成地毯偏移矢量、使用地毯偏移矢量来生成用于补偿地毯偏移的命令、以及将所生成的命令发送到致动器***以补偿地毯偏移。
Description
相关申请的交叉引用
本申请要求于2012年6月8日提交的题为“CARPETDRIFTESTIMATIONUSINGDIFFERENTIALSENSORSANDVISUALMEASUREMENTS”的美国临时申请第61/657,399号的优先权,其全部内容通过参引合并至本文中。
技术领域
本公开内容涉及机器人***,更特别地涉及被配置成在表面上移动的移动机器人***。
背景技术
自主式机器人是可以在无连续人类引导的情况下在环境中执行期望任务的机器人。机器人可以在不同程度上自主并且可以以不同的方式处于自主。例如,自主式机器人可以在无连续人类引导的情况下通过非结构化环境的工作表面以执行一个或更多个任务。在其他示例中,自主式机器人可以在结构化环境中或者在人类监督下执行任务。在家用机器人、办公室机器人和/或消费者导向机器人的领域中,移动机器人已被用于执行例如真空除尘清洁、地板清洗、巡逻、剪草坪和其他这样的任务等功能。
然而,许多常规的自主式机器人未适当地或精确地确定机器人位置和/或姿势并且未适当地控制机器人的移动,从而不能确保机器人停留在给定路线上和/或达到指定位置和/或姿势。
发明内容
下面呈现出一个或更多个方面的简要概述以提供对这样的方面的基本理解。此概述不是对所有所考虑方面的广泛综述,并且既不意在确定所有方面的关键或重要元素,也不意在界定任何或所有方面的范围。其唯一目的在于以简单的形式呈现一个或更多个方面的一些概念作为后面呈现的更详细描述的前序。特别地,所考虑方面包括实施本文中所描述的一个或更多个方面的一些或所有概念的方法和非暂态计算机可读介质。
描述了下述***和方法,该***和方法用于估计通过机器人在表面例如地毯上移动所经历的偏移例如地毯偏移,并且该***和方法用于补偿这样的偏移例如地毯偏移。通过另外的示例,所描述的某些***和方法可以被配置成估计由于可能会影响机器人通过表面的运动的其他作用而引起的偏移,例如由于倾斜的地板、不稳定的表面(例如沙粒表面或泥浆表面)和/或由于风推动或拖拉机器人而引起的运动偏移。
某些示例性实施方式考虑一种机器人设备。所述机器人设备包括本体和被配置成使本体在表面上移动的致动器***。所述机器人设备还可以包括被配置成感测致动器***的致动特性的第一组传感器。所述机器人设备还可以包括被配置成感测本体的运动特性的第二组传感器。第一组传感器可以是与第二组传感器不同类型的传感器。所述机器人设备还可以包括至少基于由第一组传感器感测的致动特性和由第二组传感器感测的运动特性来估计偏移例如地毯偏移的控制器。在一种示例性实施方式中,致动器***可以包括可转动的轮子,并且第一组传感器被配置成感测致动器***的轮子的转动。第二组传感器可以包括被配置成感测本体的转动的陀螺仪传感器。在一种示例性实施方式中,致动器***包括可转动的轮子,并且第一组传感器被配置成感测致动器***的轮子的转动。第二组传感器包括被配置成感测本体的转动的陀螺仪传感器。控制器还被配置成:至少基于由第一组传感器感测的致动特性和由第二组传感器感测的运动特性来估计偏移;根据所估计的偏移来确定机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;响应于确定了机器人设备在铺有地毯的表面上,至少基于根据所感测的轮子转动所估计的航向与根据所感测的本体转动所估计的航向之间的比较来生成地毯偏移矢量;使用地毯偏移矢量来生成被配置成补偿地毯偏移的命令;以及将所生成的命令发送到致动器***以补偿地毯偏移。在一种示例性实施方式中,控制器还被配置成控制致动器***执行将本体转动至少180度的机动动作。控制器还被配置成至少基于在所述机动动作期间感测的致动特性与运动特性之间的多个比较来估计偏移。在一种示例性实施方式中,控制器还被配置成至少基于在所述机动动作期间的总偏移与航向变化之比来估计偏移的幅度。在一种示例性实施方式中,控制器还被配置成:响应于检测到障碍物,至少基于在机动动作期间感测的致动特性与运动特性之间的多个比较来更新所估计的偏移。在一种示例性实施方式中,致动器***包括可转动的轮子,并且第一组传感器被配置成感测致动器***的轮子的转动。第二组传感器包括被配置成捕获两个或更多个图像的成像传感器。控制器被配置成通过比较所述两个或更多个图像来估计运动特性。在一种示例性实施方式中,控制器还被配置成检测所述两个或更多个图像中的每个图像的共同特征,其中控制器还被配置成:至少基于比较在所述两个或更多个图像中检测到的共同特征的相对位置的变化来估计本体的航向;以及当在铺有地毯的表面上时,基于所述两个或更多个图像的比较来向所生成的地毯偏移矢量施加更新。
在一种示例性实施方式中,考虑一种机器人设备。所述机器人设备包括可转动的左驱动轮和可转动的右驱动轮。所述机器人设备还包括驱动子***,该驱动子***被配置成基于驱动信号使左驱动轮和右驱动轮差动地转动,使得机器人设备在表面上移动。所述机器人设备还包括被配置成生成左轮和右轮的转动的测距测量的第一组传感器。所述机器人设备还包括被配置成生成机器人设备的航向测量的第二组传感器。所述机器人设备还包括被配置成生成驱动信号使得机器人设备执行具有航向角变化的机动动作的控制器。控制器还被配置成:至少基于在机动动作期间的航向变化的估计和在机动动作期间的航向测量的变化来估计偏移,航向变化的估计基于在机动动作期间的测距测量;根据所估计的偏移来确定机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;响应于确定了机器人设备在铺有地毯的表面上,在整个机动动作期间周期性地比较所估计的航向的变化与航向测量的变化以生成多个地毯偏移估计;根据所述多个地毯偏移估计来确定机器人设备是否在铺有多个地毯的表面上;使用一个或更多个地毯偏移矢量、至少基于所述多个地毯偏移估计来生成被配置成补偿地毯偏移的命令;以及将所生成的命令发送到驱动子***以补偿地毯偏移。在一种示例性实施方式中,控制器还被配置成使所述机动动作持续到航向测量指示至少180度的航向变化为止。控制器还被配置成在机动动作期间采集多个测距测量。控制器还被配置成在机动动作期间采集多个航向测量。控制器还被配置成至少基于多个测距测量与多个航向测量之间的比较来估计偏移。在一种示例性实施方式中,控制器还被配置成至少部分地响应于遇到障碍物来估计偏移。在一种示例性实施方式中,控制器还被配置成响应于自执行先前估计以后行进比阈值距离大的距离来估计偏移。
某些示例性实施方式考虑一种移动机器人设备。所述移动机器人设备包括被配置成生成测距测量的第一组传感器。所述移动机器人设备包括被配置成生成移动机器人设备的航向测量的第二组传感器。所述移动机器人设备包括被配置成捕获图像的摄像机。所述移动机器人设备包括在通信上耦接至第一组传感器和第二组传感器以及摄像机的控制器。控制器被配置成选择性地以第一模式操作和选择性地以第二模式操作。当以第一模式操作时,控制器还被配置成:至少基于根据测距测量所估计的航向和由第二组传感器生成的航向测量来估计偏移;根据在第一模式下所估计的偏移来确定机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;以及响应于确定了机器人设备在铺有地毯的表面上,至少基于由第一组传感器生成的测距测量和由第二组传感器生成的航向测量来生成地毯偏移矢量。当以第二模式操作时,控制器还被配置成基于由摄像机捕获的图像中的两个或更多个图像来生成移动机器人设备的视觉运动观察。控制器还被配置成:至少基于测距测量和视觉运动观察来估计偏移;根据在第二模式下所估计的偏移来确定机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;以及响应于确定了机器人设备在铺有地毯的表面上,至少基于测距测量和视觉运动观察来生成地毯偏移矢量。所述移动机器人还包括差动驱动的驱动轮。控制器还被配置成在驱动轮的绝对差动转动大于阈值时以第一模式操作。在一种示例性实施方式中,控制器还被配置成计算与视觉运动观察相关联的不确定度,并且其中,控制器还被配置成在不确定度低于阈值时以第二模式操作。
附图说明
在本文中提供这些附图和相关联的描述以示出本发明的具体实施方式,并且其并非意在限制性的。
图1是示出示例性机器人设备的顶视图的示意图。
图2是示出图1的机器人设备的示例性致动器***的示例性实施方式的示意图。
图3是示出图1的机器人设备的示例性控制器的示例性实施方式的示意图。
图4是估计地毯偏移的示例性方法的流程图。
图5是示出至少基于来自测距传感器和陀螺仪传感器的测量来估计地毯偏移的示例性方法的示例性实施方式的流程图。
图6是示出至少基于来自测距传感器和成像传感器的测量来估计地毯偏移的示例性方法的示例性实施方式的流程图。
图7是示出确定视觉运动观察的示例性方法的示例性实施方式的流程图。
图8是示出执行统计滤波的示例性方法的示例性实施方式的流程图。
具体实施方式
描述了用于估计偏移例如地毯偏移的方法和***。本文在用于估计清洁机器人所经历的地毯偏移的***或方法的背景下描述示例性实施方式,但所述示例性实施方式将适用于其他类型的设备,例如能够通过地毯表面的移动机器人设备。要理解的是,术语地毯旨在包括可能具有纹理或绒毛的垫子和其他地板覆盖物。还要理解的是,本文所描述的示例性实施方式将适用于估计由于除地毯作用之外的作用而引起的偏移,例如举例来说,由于倾斜的地板、不稳定的表面(例如沙粒表面或泥浆表面)和/或由于风力(例如,相对恒定的或缓慢地随时间变化的风对机器人进行推动或拖拉)而引起的运动偏移。
地毯的制造过程可以对地毯的纤维进行排列使得纤维趋于沿特定方向弯曲。此纤维偏斜方向可以被称为地毯的纹理方向或绒毛方向。当对象在地毯上移动时,例如就对地毯进行真空除尘或者用手拂过地毯而言,对象可能会经历纹理方向的作用。如果对象沿纹理方向在地毯上移动,则地毯的纤维可能会趋于沿运动方向倒下,从而有助于机器人沿纹理方向移动。然而,如果对象逆纹理方向移动,则地毯的纤维可能会趋于竖起,从而阻挡或抑制机器人移动。
由于地毯纹理作用于移动对象而引起的地毯的方向依赖力可能会影响对象的运动。例如,自主式清洁设备的轨迹可能会通过地毯纹理的影响而受到干扰。地毯纹理对对象的运动的作用可以被称为地毯偏移。地毯偏移可以由具有幅度和方向二者的地毯偏移矢量表示。地毯偏移矢量可以是地毯的属性。
对于自主式机器人,地毯偏移可能会产生问题。特别地,自主式机器人可以依赖于通过使用传感器——例如轮编码器、陀螺仪、加速度计和/或类似传感器——所确定的对其位置和/或取向的估计。例如,轮编码器传感器可以用于基于感测机器人设备的轮子在一段时间内的转动量来确定行进的距离。然而,当自主式机器人在铺有地毯的环境中航行(navigate)时,基于机器人相对于地毯纹理的运动,机器人的轮子可以使地毯纤维竖起或倒下。特别地,当纤维沿地毯纹理倒下时,地毯可以沿地毯纹理的方向推动或引导机器人。因此,当机器人沿地毯纹理的方向移动时,机器人可以行进比基于轮子的转动所确定的距离长的距离。另一方面,当机器人逆地毯纹理在竖立的纤维上行进时,机器人可以行进比基于轮子的转动所确定的距离短的距离。在任一情况下,所行进的实际距离可能与由传感器——例如用于航位推算的轮编码器和类似传感器——测量的距离不同。
当在特定地毯的环境中地毯偏移矢量方向可以固定或恒定时,偏移量可以与所行进的距离成比例或者在一定程度上相关。因此,在机器人通过地毯时,位置估计误差可能会随时间累积。因此,机器人可能无法建立准确的环境地图或者可能无法有效、准确和/或安全地航行于环境中,从而不能用于执行任务例如真空除尘。
可选地,可以完全或部分地基于机器人设备的并未被其测距传感器(例如集成的差动运动传感器)考虑的运动来生成地毯偏移的估计。特别地,可以可选地通过组合两种或更多种类型的传感器测量来估计地毯偏移。在一种示例性实施方式中,来自一个传感器的测量可以提供所期望运动或所命令运动的指示,而来自另一传感器(例如不同类型的传感器)的测量可以提供真正或实际运动的指示。例如,在一种示例性实施方式中,测距传感器(例如测量轮子转动量的一个或更多个传感器)可以基于所测量或所命令的轮子转动来提供所期望或所命令的运动的指示。另外地或替代地,可以使用致动器***的其他特性,例如轮子速率、轮子加速度和/或电机控制信号。可以使用例如来自陀螺仪传感器、成像传感器或者类似传感器或其他传感器的任何组合的数据来估计真正运动,例如机器人设备取向或航向的变化。可以通过比较所期望运动和实际运动来估计地毯偏移(或地毯偏移矢量)。
地毯偏移的估计可以用于改善或校正运动估计。例如,所估计的地毯偏移矢量可以与电机控制器一起使用以补偿地毯纹理的作用,和/或可以用于生成校正项以调整测距数据。地毯偏移的估计还可以用于估计机器人是在铺有地毯的地板上还是在未铺有地毯的地板上。
图1是示出示例性机器人设备100的顶视图的示意图(然而,要理解的是,机器人设备的内部部件被示意性地示出,并且该图示并非意在描绘这样的内部部件在机器人设备100内的实际定位或位置)。机器人设备100包括本体102、致动器***104、通信总线106、控制器108、第一组传感器110、第二组传感器112、第三组传感器114和清洁机构116。
本体102可以包括形成机器人设备100的外表面的结构以及各种内部结构例如底盘。因此,本体102可以被配置成容纳致动器***104、通信总线106、控制器108、第一组的一个或更多个传感器110、第二组的一个或更多个传感器112、第三组的一个或更多个传感器114和清洁机构116。要理解的是,可以使用更少的或附加的传感器组。
示例性机器人设备100的外表面可以限定任何适用的形状,包括但不限于:具有限定基本直线边缘的顶视图轮廓的形状,例如矩形和三角形构造;或者具有限定一个或更多个基本曲形或弧形边缘的顶视图轮廓的形状,例如圆形、椭圆形和D形构造;然而,本体102还可以限定其他形状。在操作中,外表面可能会与障碍物例如墙壁接触。因此,本体102的外表面可以包括由如下材料形成的部分:该材料具有使机器人设备100能够沿这样的障碍物滑动移动的摩擦系数。
致动器***104被配置成使本体102在表面例如铺有地毯和/或未铺有地毯的地板上移动。例如,致动器***104可以经由通信总线106接收来自控制器108的驱动命令,以用于控制由致动器***104生成的致动器运动或力,例如用于驱动一个或更多个轮子在表面上转动。致动器***104和本体102可以在操作上耦接,使得所生成的致动器运动或力使本体102移动。致动器***104可以包括任何合适数目的电机、轮子、传动装置和类似组件,以用于生成使本体102移动的力。随后将结合图2更详细地描述致动器***104。
通信总线106被配置成使致动器***104、控制器108、第一组传感器110、第二组传感器112和第三组传感器114在通信上互连。通信总线106可以传送电信号、光信号和/或机械信号。尽管所示实施方式示出作为共享总线的通信总线106,但本领域技术人员要理解的是,可以实现其他配置,例如在致动器***104、控制器108、第一组传感器110、第二组传感器112和第三组传感器114中的任何个体或子组之间的另外或替选通信信道。
控制器108可以被配置成:接收来自传感器110、112、114的数据/测量作为输入,并且估计偏移例如地毯偏移。例如,控制器108可以被配置成至少基于从通信总线106所接收的、由第一组传感器110感测的致动特性和由第二组传感器112感测的运动特性来估计偏移例如地毯偏移。致动特性的示例包括但不限于轮子转动位置、速度、加速度和/或提供所命令或所期望的运动的指示的类似致动器测量。例如,如果机器人设备100通过致动器***104的轮子进行移动,则可以通过测距(例如基于轮子的转动量和轮子的直径)来估计机器人设备100的期望位移。运动特性的示例包括但不限于本体102的转动特性(例如角度取向、速率和/或加速度)、航迹角(例如,在房间坐标系下机器人设备100的速率矢量的角度或该角度的变化)和/或提供机器人设备100的真正运动的指示的类似测量。例如,陀螺仪传感器可以提供机器人设备100的取向的转动变化的测量。作为另外的示例,成像传感器可以提供与设备的航迹角有关的测量。
另外,控制器108可以被配置成控制致动器***104和/或清洁机构116的操作。例如,控制器108可以经由通信总线106向致动器***104发送控制信号以使机器人设备100以期望轨迹移动。另外,在一些实施方式中,控制器108可以通过向致动器***104发送控制信号或者直接向清洁机构116发送控制信号来使用清洁机构116。随后将参照图3更详细地描述控制器108。
第一组传感器110可以被配置成感测致动器***104的致动特性。例如,第一组传感器110可以耦接至致动器***104。在特定实施方式中,第一组传感器110可以包括:一个或更多个测距传感器,例如耦接至致动器***104的一个或更多个轮子的线性或旋转编码器;或者测量或采集提供至致动器***104的控制或电力信号的传感器或模块。这些测量可以提供一种通过测距法或航位推算法来估计机器人设备100的运动的方式。然而,例如由于地毯偏移,上述估计可能与实际运动偏离。
第二组传感器112可以被配置成感测本体102的运动特性。例如,第一组传感器110可以耦接至本体102以用于感测相对于环境或惯性坐标系的运动特性。所感测的运动特性可以经由通信总线106提供至控制器108。在一种示例性实施方式中,第二组传感器112可以包括一个或更多个陀螺仪传感器以用于感测本体102的转动。在另一实施方式中,第二组传感器112可以另外地或替代地包括用于捕获环境的图像的一个或更多个成像传感器,以用于估计机器人设备100的航迹角。
可选地,可以包括第三组传感器114以用于感测本体102的第二运动特性。例如,尽管机器人设备100的一些实施方式可以感测本体转动或航迹角中仅一者的变化,但其他实施方式可以可选地使用例如第二组传感器112和第三组传感器114来感测本体转动和航迹角二者。因此,在一种示例性实施方式中,机器人设备100可以包括用于感测本体102的转动的一个或更多个陀螺仪传感器、罗盘传感器和/或加速度计(例如对应于第二组传感器112),并且可以包括用于基于图像的航向估计的一个或更多个成像传感器(例如对应于第三组传感器114)。
如所述的,第一组传感器110、第二组传感器112和第三组传感器114中的每一组可以可选地为不同类型的传感器。例如,在一种示例性实施方式中,第一组传感器110可以包括一个或更多个测距传感器,第二组传感器112可以包括一个或更多个陀螺仪传感器,并且可选的第三组传感器114可以包括一个或更多个成像传感器。
清洁机构116可以被配置成从表面捕获灰尘。例如,清洁机构116可以包括耦接至本体102并且被定位成使得清洁机构116能够在机器人设备100通过表面时从该表面捕获灰尘的刷子、清洁垫和/或真空吸尘组件。在一些实施方式中,清洁机构可以被配置成由例如致动器***104提供动力,以向刷子组件(其可以是柔韧的多叶片搅拌器或者可以在成排的刷毛之间具有柔韧的搅拌器挡帘)提供动力并且产生用于真空吸尘的吸力。要理解的是,不一定需要包括清洁机构116,其是可选的。
在操作中,控制器108可以命令致动器***104将机器人设备100移动期望位移(和/或以期望速率进行移动),该期望位移在所示实施方式中由矢量a表示。如所述的,铺有地毯的地板可能部分地由于地毯的地毯纹理而影响机器人设备100的运动。因此,机器人设备100可能经历地毯偏移,该地毯偏移在所示实施方式中由矢量b表示。实际位移矢量c可以是期望位移矢量a和地毯偏移矢量b的叠加。
在操作中,控制器108可以经由通信总线106接收来自第一组传感器110的测量。例如,第一组传感器110的测量可以与期望位移矢量a相关。另外,控制器108可以经由通信总线106接收来自第二组传感器112的测量。例如,第二组传感器112的测量可以与实际运动矢量b相关。基于(完全或部分地)这些测量,控制器108可以估计地毯偏移矢量c的作用。该估计可以帮助校正来自第一组传感器110的测量(例如测距测量)和/或补偿地毯偏移。
图2是示出图1的机器人设备100的致动器***104的示例性实施方式的示意图。致动器***104包括可转动的左轮202、可转动的右轮204、左传动组件206、右传动组件208和驱动子***210。
驱动子***210可以被配置成生成用于使可转动的左轮202和可转动的右轮204转动的动力,以用于移动机器人设备100。例如,左传动组件206可以被配置成传送由驱动子***210生成的机械动力以使左轮202转动。类似地,右传动组件208可以被配置成传送由驱动子***210生成的机械动力以使右轮204转动。左轮202和右轮204可以被差动地驱动。例如,驱动子***210可以以速率vl驱动左轮202并且独立地以速率vr驱动右轮204。改变左轮202和右轮204的差动速率可以使机器人设备100基于差动速率的幅度和轮基距L(例如左轮202与右轮204之间的距离)而以一定半径转向。因此,所示出的致动器***104的实施方式可以被配置成使机器人设备100在轮子202、204与地板接触地转动时在可控制航迹或航向上移动。
要理解的是,可以选择任何合适的轮子类型,并且左轮202和右轮204中的每一个可以是左右轮子***(未示出)的一部分,该左右轮子***可以与罐体的驱动子***类似地包括由左导轨互连的多个左轮和由右导轨互连的多个右轮。还要理解的是,在其他实施方式中,致动器***104可以包括一个或更多个左腿和一个或更多个右腿以用于提供移动。还要理解的是,在又一其他实施方式中,致动器***104可以包括一个或更多个可转动且可枢转的轮子,该一个或更多个可转动且可枢转的轮子被配置成使机器人设备100在该轮子转动时根据轮子枢转的角度沿可变方向移动。
当机器人设备100沿地毯纹理的方向移动时,由轮子202、204的转动所估计(例如通过测距)的位移可能小于实际位移。当机器人设备100逆地毯纹理的方向移动和前进时,作用可能会完全或部分地相反。在图2所示的实施方式中,地毯偏移矢量c相对于机器人轮基距处于角θ。例如,如果以速率vl驱动左轮202并且以速度vr驱动右轮204,则在不存在地毯偏移和轮子打滑的情况下,机器人设备100将沿由vl、vr和L定义的弧线进行驱动。然而,地毯偏移可以使机器人设备100沿地毯偏移矢量c的方向移动,并且实际位移可能与所期望的位移不同。
为了进一步说明,如果左轮202和右轮204在一段持续时间(例如单位时间)内分别移动距离dl和dr,则该运动可以由位移传感器例如轮测距传感器感测。由该运动(例如,不存在地毯偏移、轮子打滑和类似的致动器干扰)引起的航向变化可以近似地由以下示例性公式建模:
考虑到沿轮子行进方向的地毯偏移,每个轮子的实际位移可以包括地毯偏移矢量c与轮子运动方向之间的点积作为附加项。作为结果,实际左位移dlc和实际右位移dlr可以近似地由以下示例性公式建模:
dlc=dl+dl|c|sin(θ)=dl+sgn(dl)dl||c|sin(θ)(公式2a)
drc=dr+dr|c|sin(θ)=dr+sgn(dr)dr||c|sin(θ)(公式2b)
在给定的此位移下,作为可以由航向传感器例如陀螺仪测量的内容的航向变化可以近似地由以下示例性公式建模:
由于地毯偏移而引起的航向变化可以通过取根据测距所计算的航向变化与从陀螺仪传感器所计算的航向变化之间的差来估计:
Δαdrift∝sin(θ)(公式5)
如在公式5中明显看出的,从位移传感器(例如测距传感器)和航向传感器(如陀螺仪)所计算的航向差可以与地毯偏移方向相对于机器人航向成比例。根据公式4,各个轮子的绝对位移应当基本上不同并且恒定。因而,如果使机器人覆盖所有可能的取向(例如沿弧线移动以覆盖完整转动),则如通过公式5所估计的航向差应当产生正弦函数。当机器人分别近似地与沿地毯纹理的方向对齐和与沿地毯纹理的相反方向对齐时,应当出现正弦曲线的最大值和最小值。
图3是示出图1的机器人设备100的控制器108的示例性实施方式的示意图。控制器108包括处理器302和存储器304。存储器304包括致动器模块306、传感器模块308、控制器模块310和估计模块312。
处理器302包括电路***例如微处理器或微控制器,该电路***被配置成:执行来自存储器304的指令;以及控制和操作机器人***100的致动器***(例如图1的致动器***104)、传感器(例如图1的第一组传感器110、第二组传感器112和第三组传感器114)、清洁机构(例如图1的清洁机构116)和/或类似部件。特别地,处理器302可以是通用的单芯片或多芯片微处理器(例如ARM)、专用微处理器(例如数字信号处理器(DSP))、微控制器、可编程门阵列等。尽管在控制器108中示出单个处理器302,但在可替选的配置中,可以使用处理器(例如ARM和DSP)的组合。
存储器304包括被配置成通过化学方式、磁性方式、电学方式、光学方式或类似方式来存储信息的有形非暂态计算机可读介质。例如,存储器304可以为:非易失性存储设备,例如闪速存储器或硬盘驱动器;和/或易失性存储设备,例如动态随机存取存储器(DRAM)或静态随机存取存储器(SRAM);或者非易失性存储器和易失性存储器的组合***。
存储器304内是包括配置处理器302对机器人设备100的致动器进行操作的指令的致动器模块306。例如,致动器模块306可以包括使驻留在存储器304中的各种模块能够使用图1的致动器***104的指令。特别地,致动器模块306可以包括形成如下驱动程序的指令:该驱动程序用于控制图1的控制器108与致动器***104之间的数据和控制消息的通信。
存储器304内是包括配置处理器302对机器人设备100的传感器进行操作的指令的传感器模块308。例如,传感器模块308可以包括使驻留在存储器304中的各种模块能够使用图1的传感器110、112、114的指令。特别地,传感器模块308可以包括形成如下驱动程序的指令:该驱动程序用于控制图1的控制器108与传感器110、112、114之间的数据和控制消息的通信。
存储器304内是包括如下指令的控制器模块310:该指令配置处理器302对机器人***100的致动器104和传感器110、112、114进行控制以及对致动器模块306、传感器模块308和估计模块312的执行进行控制。例如,控制器模块310可以包括如下指令:该指令与生成用于致动器的控制信号(例如电机控制律)有关,并且该指令针对致动器模块306的调用指令以用于将所生成的控制信号发送至致动器***104。控制器模块310可以包括与传感器模块308的调用指令有关以用于接收来自传感器110、112、114的测量的指令。控制器模块310可以包括控制估计模块312的指令的执行以用于估计地毯偏移的指令。
存储器304内是包括配置处理器302对地毯偏移进行估计的指令的估计模块312。下面将结合图4至图8更详细地描述由示例性估计模块312实现的各种方法。
图4是估计地毯偏移的方法400的流程图。在一种示例性实施方式中,机器人设备100执行存储器304中的估计模块312的指令以用于执行方法400的操作。方法400始于块402并且转至块404以用于使机器人设备100以一定模式移动。例如,控制器108可以命令致动器***104使机器人设备100在表面上移动。在一些实施方式中,移动机器人设备100可以是地毯偏移校准阶段的一部分(例如,在表面上的初始操作期间或在启动时)。例如,在校准过程中,可以命令机器人设备100执行将机器人设备100转动至少约180度或至少约360度的机动动作。将机器人设备转动至少180度会使机器人设备能够在转动期间至少与地毯偏移矢量对齐或者逆向对齐。因此,可以例如通过公式5并且确定Δαdrift的最大值/最小值的位置来估计地毯偏移矢量c的方向。将机器人设备转动至少360度会使机器人设备能够在转动期间与地毯偏移矢量对齐和逆向对齐。因此,可以例如通过公式5并且确定Δαdrift的最大值和/或最小值的位置来估计地毯偏移矢量c的方向。另外地或可替选地,机器人设备100的移动可以作为单独任务例如覆盖或清洁空间的一部分来执行。例如,机动动作可以是响应于遇到障碍物例如墙壁而做出的转向。作为另一示例,机动动作可以可选地例如在机器人设备100从第一墙壁穿行到第二墙壁时处于基本直线航迹。
在块404的操作期间或与块404的操作并存地,方法400可以执行块406以用于感测机器人设备100的致动器***的致动特性。例如,控制器108可以接收使用第一组传感器110对致动特性的多个测量。致动特性例如可以与致动器***104的一个或更多个轮子的转动相对应以生成测距。如上面结合图3所讨论的,测距测量可以用于估计机器人设备100的期望航向变化。
在块404的操作期间或与块404的操作并存地,方法400可以执行块408以用于感测机器人设备100的运动特性。例如,控制器108可以接收使用第二组传感器112或第三组传感器114对运动特性的多个测量。运动特性例如可以与由陀螺仪传感器感测的机器人设备100的转动的变化相对应或与由基于图像的传感器感测的航迹角的变化相对应。
在采集致动特性和运动特性中的每一个的测量之后,方法400可以转至块410以用于至少基于致动特性和运动特性来估计地毯偏移。例如,控制器108可以将在机器人设备100执行机动动作时所采集的致动特性和运动特性的测量进行比较。在块410处执行的估计的处理可以取决于运动特性的性质。例如,如果运动特性与机器人设备100的转动相关,则控制器108可以使用一种估计方法(例如图5的方法410a),而如果运动特性与航迹角相关,则控制器108可以使用另一种估计方法(例如图6的方法410b)。随后将结合图5至图8进一步详细地描述这样的示例性估计方法二者。
另外地或可替选地,估计方法可以取决于在块404处执行的机动动作。例如,如果机动动作包括基本转动,例如至少约180度或至少约360度的转动,则估计方法可以依据下面参照图5的描述。如果机动动作包括基本直线的期望轨迹,例如与左轮和右轮(例如图3的轮子202、204)的、处于小于约10%或小于约20%的差异的所命令差动转动或速率相对应的期望轨迹,则该估计处理可以依据下面参照图6至图8的描述。然而,本领域技术人员要理解的是,图6至图8的估计处理可以不需要基本直线的期望轨迹,而可以使用其他轨迹例如曲形轨迹。
一旦估计出地毯偏移,方法400就继续至块412以用于施加地毯偏移校正。例如,可以通过添加与沿纹理方向的纹理幅度成比例的或以其他方式相关的偏移分量来校正测距读数。经校正的测距值可以用于估计机器人位置。校正可以显著地改进机器人设备100在铺有地毯的地板上的航位推算。
方法400可以可选地在机器人设备100的运行期间以一定时间间隔运行,以调整地毯偏移估计并且改进位置估计。例如,可以关于行进的时间或距离来周期性地运行方法400。例如,机器人设备100可以被配置成:在自执行先前估计以后行进比阈值距离(其可以可选地被预先指定)大的距离之后或响应于自执行先前估计以后行进比所述阈值距离大的距离来运行方法400。另外,方法400可以可选地被执行为评估机器人设备100是否在多地毯(或者多表面)环境中操作。例如,不同的铺有地毯的表面可以具有与其相关联的不同地毯偏移矢量。方法400可以被执行多次以生成多个地毯偏移估计。如果地毯偏移估计不同,则可以估计或确定存在多个铺有地毯的表面。另外,如果地毯偏移估计指示没有或者基本上没有地毯偏移,则可以估计或确定该设备在未铺有地毯的表面上工作。一旦方法400完成,则可以转至块414以结束。
图5是示出至少基于来自测距传感器和陀螺仪传感器的测量来估计地毯偏移的方法410a的示例性实施方式的流程图。例如,方法410a可以作为用于利用所估计的地毯偏移来校正测距的校准阶段的一部分来执行。方法410a还可以在任务的执行期间执行以调整所估计的地毯偏移。例如,方法410a可以在机器人设备100清洁房间的表面时执行。特别地,可以在机器人设备100例如响应于遇到障碍物或者在障碍物周围航行而转动时执行方法410a。相比于例如基于图像的传感器,使用陀螺仪传感器的某些实施方式的其中一个可选优点可以为:提高的准确度以及在硬件、实现和运行时间计算方面降低的复杂度。在一种示例性实施方式中,机器人设备100执行存储器304中的估计模块312的指令以用于执行方法410a的操作。
方法410a始于块502并且转至块504以用于比较多个第一和第二航向估计。例如,在块502处开始方法410a之前,可以在机器人设备100执行包括例如通过围绕一个轮子旋转的完整转动的机动动作的同时采集测量。还可以使用其他运动。例如,机动动作可以在驱动轮之间具有非零差动(例如|dr|-|dl|)的情况下执行。在一种示例性实施方式中,可以根据测距测量、通过使用公式1来生成N个第一航向估计Δαodom,n(n=1,2,..,N)。可以通过陀螺仪传感器来生成N个第二航向估计Δαgyro,n(n=1,2,..,N)。在一些实施方式中,可以以近似的时间间隔——例如每当机器人设备100相比于上次读数已经转动0.1弧度时——采集成对的测量(Δαodom,n,Δαgyro,n)。由于地毯偏移Δαdrift,n而引起的航向差可以由以下示例性公式近似表示:
方法410a可以转至块506以用于至少基于在块504处做出的比较的差来估计地毯偏移的方向。例如,完整转动期间的Δαdrift,n的曲线可以近似于如在公式5中所建模的正弦信号。所估计的由于地毯偏移而引起的航向变化Δαdrift,n的极值或峰值可能近似地在测距传感器和陀螺仪传感器差异最大时出现。例如,当机器人设备100与地毯纹理的方向完全对齐时,测距传感器可能会低估转向角度并且可能落后于由陀螺仪传感器测量的航向,从而导致最大值。相反,在机器人设备100与地毯纹理逆向对齐并且测距传感器可能高估转向角度时,可能会出现最小值。因此,可以基于对第一航向估计和第二航向估计的比较的峰值来估计地毯纹理方向。为此目的,可以使用标准或非标准的相关/卷积和/或搜索技术。
方法410a可以转至块508以用于至少基于总偏移和航向变化来估计地毯偏移的幅度。例如,可以使用以下示例性公式来获得地毯偏移幅度的估计:
公式7是总偏移与一次完整转动(例如2π)之比。可以通过使用在机动动作期间的总航向变化替换公式7的分母而使用其他转动量。
如果地板未铺有地毯,则Δαdrift,n的曲线可能不会类似于具有周期N的正弦波。因此,如果Δαdrift,n不具有基本周期N(或者如果Δαdrift,n不具有如根据公式5所预期的基本正弦波形),则地板可能会被估计或识别为未铺有地毯。然后,方法410a可以转至块510以结束。
估计地毯偏移的一个特定挑战在于利用陀螺仪传感器不能检测地毯偏移的某些作用。例如,如果命令机器人设备100遵循直线航迹,则地毯偏移的一个方面可能会以基本上不使机器人设备100的航向转动或改变的方式来影响机器人设备100的运动(例如通过改变航迹角)。例如,地毯偏移可以影响机器人设备100的平移运动而不使机器人设备100转动。因此,在具有基本直线的期望航迹(例如,基本上为零绝对差动轮位移|dr|-|dl|)的机动动作期间和/或当基本上不存在航向变化时,对于估计地毯偏移的方面,陀螺仪传感器可能无效。因此需要改进的对地毯偏移的估计。
图6是示出至少基于来自测距传感器和成像传感器的测量来估计地毯偏移的方法410b的示例性实施方式的流程图。例如,如果机器人设备100配备有成像传感器例如摄像机,则基于图像的测量可以用于执行对地毯偏移的在线估计。在其他示例性实施方式中,机器人设备100可以不包括集成式成像传感器。例如,可以将由外部摄像机捕获的图像例如无线地传送至机器人设备100。另外地或可替选地,包括处理器和摄像机的外部***可以对机器人成像并且根据图像来确定机器人设备100的位置和取向,以及将数据传送至机器人设备100。因此,下面在完全集成式机器人的背景下描述基于图像的估计,但该基于图像的估计将适用于独立的机器人摄像机***。
基于图像的估计可以可选地对于具有多个地毯的环境、在硬地板上具有区域毯的环境和具有其他普通表面布置的环境有效。甚至在基本上未命令轮差动的情况下(例如在近似直线的机动动作期间),基于图像的感测也可以是有效的。换言之,对于在未命令机器人设备100转动的机动动作期间估计地毯偏移,方法410b可以是有效的。在一种示例性实施方式中,机器人设备100执行存储器304中的估计模块312的指令以用于执行方法410b的操作。
方法410b始于块602并且转至块604以用于根据由成像传感器捕获的两个或更多个图像来确定视觉运动观察。存在根据视觉信息来确定视觉运动观察的各种方法,包括极线匹配、视觉测距、相位相关和运动求取结构。本领域技术人员要理解的是,可以使用用于确定视觉观察的任何合适的方法。下面结合图7更详细地描述涉及极线匹配的示例性实施方式。
在确定视觉运动观察之后,方法410b转至块606以用于执行统计滤波。可以使用统计估计滤波来组合从摄像机图像提取的对机器人设备100的运动的估计。统计估计滤波可以保持对地毯偏移或地毯偏移矢量的估计。存在可以组合视觉观察的各种统计估计滤波,包括扩展卡尔曼滤波(EKF)的变型、扩展信息滤波、非线性优化和粒子滤波。下面结合图8更详细地描述使用迭代EKF(IEKF)的示例性实施方式。方法410b可以在块608处结束。
在一种示例性实施方式中,机器人设备100可以实现方法410a或410b中的仅一种。然而,另一示例性实施方式可以实现方法410a、410b二者并且在操作期间在两种方法或模式之间进行切换。例如,机器人设备100可以包括陀螺仪传感器和成像传感器二者。机器人设备100可以在校准阶段期间和/或在命令机器人设备100转动的某些机动动作期间执行方法410a。另外,机器人设备100可以在未命令机器人设备100转动的某些机动动作期间执行方法410b。例如,在特定的示例性实施方式中,机器人设备100可以被配置成在两个墙壁之间重复地穿行以清洁房间的地板。同样地,机器人设备100可以被配置成沿基本直线从一个墙壁移动到另一墙壁。在此直线机动动作期间,机器人设备100可以被配置成选择性地执行方法410b。当机器人设备100遇到另一墙壁时,机器人设备100可以被配置成转动(例如约180度)以面向第一墙壁。在此转向机动动作期间,机器人设备100可以被配置成选择性地执行方法410a。
然而,另一示例性实施方式可以并行地运行方法410a、410b二者,并且在操作期间在这两种方法之间进行切换。例如,图1的控制器108可以监视方法410a、410b的操作以选择可以提供最可靠估计的输出。例如,控制器108可以在轮子差动(例如,|dr|-|dl|)较大时选择使用执行方法410a的处理的输出,或者可以在轮子差动较小时选择离开。作为另一示例,当存在精确的视觉运动观察的指示时,控制器108可以选择使用执行方法410b的处理的输出。例如,如下面结合图7进一步详细描述的,方法410b可以计算确定性水平并且可以测量特征匹配的紧密度。在一种示例性实施方式中,当存在低不确定度和/或紧密的特征匹配时,可以选择方法410b。
另外地或可替选地,为了帮助在两种方法410a、410b或模式之间决策,控制器108可以对可以在线评估和比较的两个假设性能度量进行比较。例如,方法410a可以被分配可以在线评估的性能度量P1。对于度量的一种示例性选择可以为P1=μ1(|dr|-|dl|)-2,其中μ1可以是可以基于应用特定考虑来选择的设计变量。同样地,方法410b可以被分配类似或不同的性能度量P2。对于度量的一种示例性选择可以为P2=μ2||P||,其中μ2可以是可以基于应用特定考虑来选择的设计变量,并且||P||可以是用于生成偏移的基于视觉的估计的卡尔曼滤波的协方差矩阵P的矩阵范数(参见例如图8)。在一种示例性实施方式中,控制器108可以在P1<P2时选择使用方法410a的输出,并且可以在P2<P1时选择使用方法410b的输出。要理解的是,可以选择其他性能度量并且可以使用其他决策规则。
图7是示出确定视觉运动观察的方法604的示例性实施方式的流程图。例如,在一种示例性实施方式中,机器人设备100执行存储器304中的估计模块312的指令,以根据由成像传感器捕获的图像来生成指示机器人设备100的航迹角的视觉观察。所示出的方法604的实施方式基于在图像中所检测的特征的极线匹配。极线匹配通过图像的匹配特征之间的极线关系来估计一个图像到另一图像中摄像机的平移(例如,当使用多个摄像机时)、平移方向和转动。例如,所检测的特征在一个图像中的位置和/或取向相对于其在另一图像中的变化可以提供摄像机相对于所检测的特征的运动的指示。为简单起见,如下面所使用的“平移”可以是指平移和/或平移方向。例如,在具有单个摄像机的示例性实施方式的情况下,可以估计平移方向。有利地,极线匹配可以不需要摄像机正对其成像的场景的结构的知识(尽管可以使用这样的知识)。示例性视觉估计器的一个方面在于得到对如下平移的估计:该平移具有低不确定度并且相对于场景中对象的深度具有足够平移。例如,作为用于通过统计估计滤波的处理的观察,此类型的估计可能是有用的。因为极线匹配可以在同时具有两幅图像时有效,所以其可以例如基于运动求取结构而使用与其他视觉运动估计方法相比较少的计算。在一种示例性实施方式中,机器人设备100执行存储器304中的估计模块312的指令以用于执行方法604的操作。
方法604始于块702并且转至块704以用于通过将保存的特征集设置成空集并且通过重新设置测距测量来进行初始化。例如,保存的特征集可以存储在机器人设备100的存储器304中。在重新设置测距之后,方法604转至块706以用于检索下一测距数据和下一摄像机帧(例如图像)。例如,机器人设备100可以在表面上移动,并且可以利用包括测距传感器的第一组传感器来采集测距测量以及利用包括一个或更多个摄像机的第二组传感器来采集下一帧。
在采集下一帧之后,该方法可以从块706移至块708以用于提供帧的当前特征集。例如,可以从帧提取例如尺度不变特征变换(SIFT)或哈里斯(Harris)特征等特征。在块710处,方法604检查保存的特征集是否为空集。如果保存的特征集为空集,则方法604转至块712以用于将当前特征集存储为保存的特征集并且重新设置累积的测距。方法604可以返回到块706以用于检索下一测距数据和摄像机帧。
如果在块710处保存的特征集不为空,则方法转至714以用于得到当前特征集与保存的特征集之间的极线匹配。在得到极线匹配之后,方法604可以转至块716以用于检查匹配的阈值。例如,方法604可以检查匹配的充足性。特别地,可以通过来自***中的其他源例如测距或来自其他视觉运动估计器的与期望运动有关的信息来辅助特征匹配。如果足够的特征相匹配并且匹配之间的误差(例如余差)足够低,则接受该匹配。例如,如果匹配数超过阈值量、匹配的不确定度低于某一限度和/或匹配的运动与由测距预测的运动之间的差低于阈值,则匹配满足阈值。因此,匹配可以基于可靠的测量,并且因而确定可以使用该匹配。另一方面,在匹配之间包括过少的匹配特征或较大误差的这种匹配可以指示存在不可靠的测量,并且因而确定不应当使用该匹配。
如果匹配不满足阈值,则方法604转至块712以用于将当前特征集存储为保存的特征集并且重新设置累积的测距。方法604可以返回至块706以用于检索下一测距数据和摄像机帧。
如果在块716处匹配满足阈值,则方法转至块718以用于计算在保存的特征集和当前特征集之间摄像机的转动和平移。例如,所计算的摄像机的转动和平移可以基于当前特征集与保存的特征集之间的极线关系。例如,可以根据几何关系将特征在帧坐标下的平移和转动映射为例如摄像机相对于固定或惯性坐标系(例如房间)的平移和转动。在一种示例性实施方式中,从极线坐标到摄像机的平移和转动的映射可以通过使用数值优化或者数学编程函数或方法来计算。
在计算转动和平移之后,方法604转至块720以用于确定转动和平移是否满足一些阈值。如果满足阈值,则方法604转至块721以用于设置视觉运动观察。例如,如果转动和平移具有高于阈值的幅度并且不确定度低于阈值,则可以生成视觉运动观察,并且方法604可以在块722处终止。视觉运动观察可以包括所估计的姿势变化、估计的不确定度以及两个摄像机位置之间基于测距的姿势的变化中的一个或更多个。
另一方面,如果转动和/或平移具有低于阈值的幅度或者不确定度高于阈值,则方法604可以从块720移至块706以用于检索下一测距数据和摄像机帧。因此,未改变保存的特征集,并且检索新的图像和测距数据。这样可以在匹配的帧之间存在足够运动时做出另一观察尝试。对所观察的转动和平移施加阈值的其中一个可选优点在于:在存在图像噪声(例如,摄像机抖动和传感器噪声)的情况下提高性能。
如上所述,在视觉运动观察中可能包含转动和/或平移的不确定度。在一些示例性实施方式中,对于确定视觉信息可以被依赖的程度,不确定度信息可能是有用的。例如,和与相对较高的不确定度相关联的视觉观察相比,与相对较低的不确定度相关联的视觉观察可以被显著较重地加权。为此,可以通过各种因素——例如与在块708处提取的当前特征集和/或保存的特征集相关联的不确定度——来确定视觉观察的不确定度。另外,可以通过在块714处得到的匹配的紧密度来确定视觉观察的不确定度。与具有较差匹配的极线匹配相比,具有紧密匹配的极线匹配可以被分配较低的不确定度。
特征集水平处的不确定度可以基于预定不确定水平(例如,基于应用的设计选择和/或假设)、特征的特性以及图像的特性。例如,某些特征与其他特征相比可以提供较高质量的匹配。例如,特定形状与其他形状相比可以较容易地进行匹配。例如,与具有仅模糊或低对比度边缘的特征相比,具有明显、高对比度边缘的特征可以与较低不确定度相关联。另外,具有转角的特征可以与较低的不确定度相关联。
特征水平处的不确定度可以被映射到转动和平移水平(例如视觉观察水平)处的不确定度。例如,可以将不确定度输入到块718的用于将极线域映射到平移和转动域的函数中。
图8是示出执行统计滤波的图6的方法606的示例性实施方式的流程图。在所示实施方式中,IEKF可以用于跟踪归一化的地毯偏移矢量(NCDV)。NCDV是每平移单位的地毯偏移矢量。NCDV可以是地板表面的属性,并且NCDV可以独立于机器人行进多远和机器人的取向。如下面进一步详细描述的,所示实施方式的IEKF可以用于估计NCDV。例如,IEKF的状态估计x可以与NCDV的估计相对应,并且状态x的协方差可以由P表示。优先于标准EKF使用IEKF的一个可选优点为通过减小由于线性化而引起的误差来提高准确度。本领域技术人员要理解的是,也可以使用其他估计技术。在一种示例性实施方式中,机器人设备100执行存储器304中的估计模块312的指令以用于执行方法606的操作。
因此,方法606始于块802并且转至块803以检索视觉运动观察。例如,可以根据结合图7所描述的方法604来确定视觉观察。视觉运动观察可以包含与所估计的机器人设备100从时间ti到ti+1的相对姿势Ω有关的信息。姿势可以是指平移、平移方向和/或取向信息。例如,视觉运动观察可以被转化为以下形式:根据测距所估计的相对姿势Ω和相关联的协方差B;通过图像处理(例如通过图6的块604)所估计的在地平面中的运动方向θ和相关联的方差r。如果摄像机坐标系和机器人坐标系不同,则本领域技术人员要理解的是,应当对视觉运动估计和其相关联的协方差施加适当的变换,以使它们处于适当的坐标(例如处于房间坐标)。还给出在ti+1处将状态x旋转到Ω坐标系中的旋转矩阵M形式的所估计的机器人取向。
在块803处检索到视觉观察数据之后,方法606转至块804以用于基于测距和当前状态估计来估计行进角用公式来表示,可以基于测距和当前状态估计使用以下公式来生成行进角的估计:
在公式7中,距离d是基于测距所估计的在ti到ti+1之间所行进的距离。在公式8中,分量h0和h1是矢量h的分量。
在估计行进角之后,方法606从块804移至块806以用于计算所预测的角的变化相对于状态的变化的雅可比行列式Jd。例如,在一些实施方式中,雅可比行列式可以被计算为
方法606从块806转至块808以计算新息(innovation)v和新息方差Q。例如,在一些实施方式中,新息v和新息方差Q可以通过以下公式来计算:
R=r+H(公式12)
在新息v和新息方差Q变得可用之后,方法606从块806继续进行以通过比较新息v和新息方差Q来选通观察。方法606从块810转至块812以更新新均值例如,新均值可以是用于下一次迭代的均值在一种示例性实施方式中,新均值可以通过以下公式来计算:
在完成块804至块812的一次迭代之后,方法606转至块814以检查方法是应当继续进行另一迭代还是应当在816处终止。如果迭代完成,则可以设置新状态和方差P=(Y+P-1)-1。IEKF的迭代数可以完全或部分地基于迭代之间的状态差来确定,或者基于固定迭代数来确定。
可以通过在每个时间步处对测距施加NCDV来获得经校正的测距估计。例如,给定姿势Ω的测距变化和所估计的NCDVx,可以通过Ωc=Ω+d·Mx来估计经校正的姿势的测距变化。如先前所述,量d为根据测距所估计的行进距离,并且M是将所估计的NCDVx旋转到Ω坐标系中的旋转矩阵形式的所估计的机器人取向。
因而,描述了用于估计偏移例如机器人在地毯上移动所经历的地毯偏移和用于补偿这样的地毯偏移的***和方法。
前面的描述和权利要求可以是指如被“连接”或“耦接”在一起的元件或特征。如在本文中所使用的,除非明确声明,否则“连接”是指一个元件/特征被直接或间接地连接至另一元件/特征,并且不一定是机械连接。同样地,除非明确声明,否则“耦接”是指一个元件/特征被直接或间接地耦接至另一元件/特征,并且不一定是机械耦接。因而,尽管在图中示出的各种示意图描绘了元件和部件的示例性布置,但在实际的实施方式中可以存在另外的中间元件、设备、特征或部件(假定所描绘的电路的功能不会受到不利影响)。
本文所描述的方法和处理可以具有更少或另外的步骤或状态,并且所述步骤或状态可以以不同的顺序执行。并非需要实现所有的步骤或状态。本文所描述的方法和处理可以以由一个或更多个通用和/或专用计算机执行的软件代码模块来实施并且可以经由所述软件代码模块而完全或部分地自动化。代码模块可以存储在任何类型的计算机可读介质或其他计算机存储设备中。所公开的方法的结果可以存储在使用易失性和/或非易失性存储器(例如,磁盘存储装置、光学存储装置、EEPROM和/或固态RAM)的任何类型的计算机数据存储库中。
尽管已经根据某些实施方式描述了本发明,但对于本领域技术人员明显的其他实施方式——包括未提供本文所阐述的所有特征和优点的实施方式——也落入本发明的范围内。此外,上述各种实施方式可以进行组合以提供另外的实施方式。另外,在一个实施方式的上下文中示出的某些特征也可以并入其他实施方式。
Claims (19)
1.一种机器人设备,包括:
本体;
致动器***,所述致动器***被配置成使所述本体在表面上移动;
第一组传感器,所述第一组传感器被配置成感测所述致动器***的致动特性;
第二组传感器,所述第二组传感器被配置成感测所述本体的运动特性,所述第一组传感器是与所述第二组传感器不同类型的传感器;以及
控制器,所述控制器被配置成:
至少基于由所述第一组传感器感测的所述致动特性和由所述第二组传感器感测的所述运动特性来估计偏移;
根据所估计的偏移来确定所述机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;
响应于确定了所述机器人设备在铺有地毯的表面上,至少基于由所述第一组传感器感测的所述致动特性和由所述第二组传感器感测的所述运动特性来生成地毯偏移矢量;
使用所述地毯偏移矢量来生成被配置成补偿地毯偏移的命令;以及
将所生成的命令发送到所述致动器***以补偿地毯偏移。
2.根据权利要求1所述的机器人设备,其中,所述致动器***包括可转动的轮子,并且所述第一组传感器被配置成感测所述致动器***的所述轮子的转动,并且其中,所述第二组传感器包括被配置成感测所述本体的转动的陀螺仪传感器。
3.根据权利要求1所述的机器人设备,其中:
所述致动器***包括可转动的轮子,并且所述第一组传感器被配置成感测所述致动器***的所述轮子的转动,
所述第二组传感器包括被配置成感测所述本体的转动的陀螺仪传感器,以及
所述控制器还被配置成至少基于根据所感测的轮子转动所估计的航向与根据所感测的本体转动所估计的航向之间的比较来估计偏移。
4.根据权利要求1所述的机器人设备,其中,所述控制器还被配置成控制所述致动器***执行将所述本体转动至少180度的机动动作,并且其中,所述控制器还被配置成至少基于在所述机动动作期间感测的致动特性与运动特性之间的多个比较来估计偏移。
5.根据权利要求4所述的机器人设备,其中,所述控制器还被配置成至少基于在机动动作期间的总偏移与航向变化之比来估计偏移的幅度。
6.根据权利要求1所述的机器人设备,其中,所述控制器还被配置成:响应于检测到障碍物,至少基于在机动动作期间感测的致动特性与运动特性之间的多个比较来更新所估计的偏移。
7.根据权利要求1所述的机器人设备,其中:
所述致动器***包括可转动的轮子,并且所述第一组传感器被配置成感测所述致动器***的所述轮子的转动,
所述第二组传感器包括被配置成捕获两个或更多个图像的成像传感器,以及
所述控制器被配置成:
通过比较所述两个或更多个图像来估计所述运动特性;
检测所述两个或更多个图像中的每个图像的共同特征;
至少基于比较在所述两个或更多个图像中检测到的所述共同特征的相对位置的变化来估计所述本体的航向;以及
当在铺有地毯的表面上时,基于所述两个或更多个图像的比较来向所生成的所述地毯偏移矢量施加更新。
8.一种机器人设备,包括:
可转动的左驱动轮和可转动的右驱动轮;
驱动子***,所述驱动子***被配置成利用驱动信号使所述可转动的左驱动轮和所述可转动的右驱动轮差动地转动,使得所述机器人设备在地毯表面上移动;
第一组传感器,所述第一组传感器被配置成生成所述可转动的左驱动轮和所述可转动的右驱动轮的转动的测距测量;
第二组传感器,所述第二组传感器被配置成生成所述机器人设备的航向测量;以及
控制器,所述控制器被配置成生成所述驱动信号使得所述机器人设备执行具有航向角变化的机动动作,其中,所述控制器还被配置成:
至少基于在所述机动动作期间的航向变化的估计和在所述机动动作期间的所述航向测量的变化来估计偏移,所述航向变化的估计基于在所述机动动作期间的所述测距测量;
根据所估计的偏移来确定所述机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;
响应于确定了所述机器人设备在铺有地毯的表面上,在整个机动动作期间周期性地比较所估计的航向的变化与所述航向测量的变化以生成多个地毯偏移估计;
根据所述多个地毯偏移估计来确定所述机器人设备是否在铺有多个地毯的表面上;
使用一个或更多个地毯偏移矢量、至少基于所述多个地毯偏移估计来生成被配置成补偿地毯偏移的命令;以及
将所生成的命令发送到所述驱动子***以补偿地毯偏移。
9.根据权利要求8所述的机器人设备,其中,所述控制器还被配置成使所述机动动作持续到所述航向测量指示至少180度的航向变化为止,其中,所述控制器还被配置成在所述机动动作期间采集多个测距测量,其中,所述控制器还被配置成在所述机动动作期间采集多个航向测量,并且其中,所述控制器还被配置成至少基于所述多个测距测量与所述多个航向测量之间的比较来估计偏移。
10.根据权利要求8所述的机器人设备,其中,所述控制器还被配置成至少部分地响应于遇到障碍物来估计偏移。
11.根据权利要求8所述的机器人设备,其中,所述控制器还被配置成响应于自执行先前估计以后行进比阈值距离大的距离来估计偏移。
12.根据权利要求8所述的机器人设备,其中,所述控制器还被配置成基于所估计的偏移来调整所述测距测量。
13.一种机器人设备,包括:
致动器***,所述致动器***还被配置成使所述机器人设备在地毯表面上移动;
一组传感器,所述一组传感器被配置成生成致动特性的测量;以及
控制器,所述控制器在通信上耦接至所述一组传感器,其中,所述控制器被配置成基于所述致动特性的测量来生成测距估计,并且其中,所述控制器还被配置成:
至少基于所述测距估计和视觉运动观察来估计偏移,所述视觉运动观察基于由摄像机捕获的图像中的两个或更多个图像;
根据所估计的偏移来确定所述机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;
响应于确定了所述机器人设备在铺有地毯的表面上,至少基于所述致动特性的测量和所述视觉运动观察来生成地毯偏移矢量;以及
使用所述地毯偏移矢量来生成被配置成补偿地毯偏移的命令;以及
将所生成的命令发送到所述致动器***以补偿地毯偏移。
14.根据权利要求13所述的机器人设备,还包括所述摄像机,其中,所述控制器还被配置成:
基于由所述摄像机捕获的图像中的两个或更多个图像来生成所述机器人设备的所述视觉运动观察;
从所述两个或更多个图像提取特征;
对从所述两个或更多个图像提取的特征进行匹配;
基于匹配特征相对于所述两个或更多个图像的运动来生成所述视觉运动观察;以及
当在铺有地毯的表面上时,基于所述两个或更多个图像的比较来向所生成的所述地毯偏移矢量施加更新。
15.根据权利要求13所述的机器人设备,其中,所述控制器还被配置成响应于匹配特征相对于所述两个或更多个图像的运动与由所述测距估计预测的运动之间的差低于阈值来生成所述视觉运动观察。
16.根据权利要求13所述的机器人设备,其中,所述控制器还被配置成至少基于使用卡尔曼滤波对视觉运动观察进行处理来估计偏移。
17.一种移动机器人设备,包括:
第一组传感器,所述第一组传感器被配置成生成测距测量;
第二组传感器,所述第二组传感器被配置成生成所述移动机器人设备的航向测量;
摄像机,所述摄像机被配置成捕获图像;以及
控制器,所述控制器在通信上耦接至所述第一组传感器和所述第二组传感器以及所述摄像机,其中,所述控制器被配置成选择性地以第一模式操作和选择性地以第二模式操作,其中:
当以所述第一模式操作时,所述控制器还被配置成:
至少基于根据所述测距测量所估计的航向和由所述第二组传感器生成的所述航向测量来估计偏移;
根据在所述第一模式下所估计的偏移来确定所述机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;以及
响应于确定了所述机器人设备在铺有地毯的表面上,至少基于由所述第一组传感器生成的所述测距测量和由所述第二组传感器生成的所述航向测量来生成地毯偏移矢量;并且
当以所述第二模式操作时,所述控制器还被配置成:
基于由所述摄像机捕获的图像中的两个或更多个图像来生成所述移动机器人设备的视觉运动观察,并且其中,所述控制器还被配置成至少基于所述测距测量和所述视觉运动观察来估计偏移;
根据在所述第二模式下所估计的偏移来确定所述机器人设备是在铺有地毯的表面上还是在未铺有地毯的表面上;以及
响应于确定了所述机器人设备在铺有地毯的表面上,至少基于所述测距测量和所述视觉运动观察来生成地毯偏移矢量。
18.根据权利要求17所述的移动机器人设备,还包括差动驱动的驱动轮,其中,所述控制器还被配置成在所述驱动轮的绝对差动转动大于阈值时以所述第一模式操作。
19.根据权利要求17所述的移动机器人设备,其中,所述控制器还被配置成计算与所述视觉运动观察相关联的不确定度,并且其中,所述控制器还被配置成在所述不确定度低于阈值时以所述第二模式操作。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610094587.6A CN105717924B (zh) | 2012-06-08 | 2013-06-07 | 使用差动传感器或视觉测量的地毯偏移估计 |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261657399P | 2012-06-08 | 2012-06-08 | |
US61/657,399 | 2012-06-08 | ||
PCT/US2013/044825 WO2013185102A1 (en) | 2012-06-08 | 2013-06-07 | Carpet drift estimation using differential sensors or visual measurements |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610094587.6A Division CN105717924B (zh) | 2012-06-08 | 2013-06-07 | 使用差动传感器或视觉测量的地毯偏移估计 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104302453A CN104302453A (zh) | 2015-01-21 |
CN104302453B true CN104302453B (zh) | 2016-07-06 |
Family
ID=49712713
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610094587.6A Active CN105717924B (zh) | 2012-06-08 | 2013-06-07 | 使用差动传感器或视觉测量的地毯偏移估计 |
CN201380022811.5A Active CN104302453B (zh) | 2012-06-08 | 2013-06-07 | 使用差动传感器或视觉测量的地毯偏移估计 |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610094587.6A Active CN105717924B (zh) | 2012-06-08 | 2013-06-07 | 使用差动传感器或视觉测量的地毯偏移估计 |
Country Status (7)
Country | Link |
---|---|
US (5) | US9223312B2 (zh) |
EP (2) | EP2858794B2 (zh) |
JP (1) | JP5913743B2 (zh) |
CN (2) | CN105717924B (zh) |
AU (2) | AU2013270671B2 (zh) |
CA (2) | CA2870175C (zh) |
WO (1) | WO2013185102A1 (zh) |
Families Citing this family (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10809071B2 (en) * | 2017-10-17 | 2020-10-20 | AI Incorporated | Method for constructing a map while performing work |
EP2858794B2 (en) * | 2012-06-08 | 2024-02-28 | iRobot Corporation | Carpet drift estimation and compensation using two sets of sensors |
US9259838B1 (en) * | 2014-07-24 | 2016-02-16 | Google Inc. | Systems and methods for ground plane estimation |
US10339389B2 (en) * | 2014-09-03 | 2019-07-02 | Sharp Laboratories Of America, Inc. | Methods and systems for vision-based motion estimation |
US9969337B2 (en) * | 2014-09-03 | 2018-05-15 | Sharp Laboratories Of America, Inc. | Methods and systems for mobile-agent navigation |
EP3282912B1 (en) | 2015-04-17 | 2020-06-10 | Aktiebolaget Electrolux | Robotic cleaning device and a method of controlling the robotic cleaning device |
CN104924312A (zh) * | 2015-06-29 | 2015-09-23 | 深圳市百睿德科技有限公司 | 一种多功能自动巡逻安防机器人 |
JP2017038894A (ja) * | 2015-08-23 | 2017-02-23 | 日本電産コパル株式会社 | 掃除ロボット |
JP7035300B2 (ja) | 2016-03-15 | 2022-03-15 | アクチエボラゲット エレクトロルックス | ロボット清掃デバイス、ロボット清掃デバイスにおける、断崖検出を遂行する方法、コンピュータプログラム、およびコンピュータプログラム製品 |
US11172605B2 (en) | 2016-06-30 | 2021-11-16 | Tti (Macao Commercial Offshore) Limited | Autonomous lawn mower and a system for navigating thereof |
US11172608B2 (en) | 2016-06-30 | 2021-11-16 | Tti (Macao Commercial Offshore) Limited | Autonomous lawn mower and a system for navigating thereof |
US11216006B2 (en) * | 2016-07-20 | 2022-01-04 | Singapore University Of Technology And Design | Robot and method for localizing a robot |
US10732127B2 (en) * | 2016-10-26 | 2020-08-04 | Pixart Imaging Inc. | Dirtiness level determining system and surface cleaning machine |
EP3595502A1 (en) * | 2017-03-15 | 2020-01-22 | Aktiebolaget Electrolux | Estimating wheel slip of a robotic cleaning device |
EP3629869B1 (en) | 2017-06-02 | 2023-08-16 | Aktiebolaget Electrolux | Method of detecting a difference in level of a surface in front of a robotic cleaning device |
WO2019138640A1 (ja) * | 2018-01-10 | 2019-07-18 | ソニー株式会社 | 情報処理装置、情報処理方法、および、プログラム |
US11525921B2 (en) | 2018-04-03 | 2022-12-13 | Sharkninja Operating Llc | Time of flight sensor arrangement for robot navigation and methods of localization using same |
CN112352244B (zh) | 2018-04-23 | 2024-04-09 | 尚科宁家运营有限公司 | 控制***和更新存储器中的地图的方法 |
US10751875B2 (en) * | 2018-05-31 | 2020-08-25 | Indoor Robotics Ltd | Rotatable mobile robot for mapping an area and a method for mapping the same |
CN108927805B (zh) * | 2018-07-25 | 2021-04-20 | 哈尔滨工业大学 | 一种基于视觉补偿的机器人自动化插钉方法 |
WO2020028696A1 (en) | 2018-08-01 | 2020-02-06 | Sharkninja Operating Llc | Robotic vacuum cleaner |
EP3610993A1 (en) * | 2018-08-14 | 2020-02-19 | Beckman Coulter, Inc. | System for active motion displacement control of a robot |
CN109048899A (zh) * | 2018-08-15 | 2018-12-21 | 深圳市烽焌信息科技有限公司 | 一种巡逻机器人及存储介质 |
CN111060129A (zh) * | 2018-10-17 | 2020-04-24 | 郑州雷动智能技术有限公司 | 一种智能机器人判定地毯的方法 |
CN109358623A (zh) * | 2018-10-23 | 2019-02-19 | 珠海市微半导体有限公司 | 一种机器人运动地毯偏移的识别方法、芯片及清洁机器人 |
CN109394095B (zh) | 2018-10-23 | 2020-09-15 | 珠海市一微半导体有限公司 | 一种机器人运动地毯偏移的控制方法、芯片及清洁机器人 |
CN109506652B (zh) * | 2018-10-23 | 2022-11-15 | 珠海一微半导体股份有限公司 | 一种基于地毯偏移的光流数据融合方法及清洁机器人 |
JP2022078372A (ja) * | 2019-03-27 | 2022-05-25 | パナソニックIpマネジメント株式会社 | 移動作業ロボット制御装置 |
US11185987B2 (en) * | 2019-04-26 | 2021-11-30 | Invia Robotics, Inc. | Isolated and environmental anomaly detection and correction using a distributed set of robots |
CN111862321B (zh) * | 2019-04-30 | 2024-05-03 | 北京四维图新科技股份有限公司 | 视差图的获取方法、装置、***及存储介质 |
JP7407421B2 (ja) | 2019-08-09 | 2024-01-04 | パナソニックIpマネジメント株式会社 | 移動ロボット、制御方法、及び制御プログラム |
JP7429902B2 (ja) * | 2019-08-21 | 2024-02-09 | パナソニックIpマネジメント株式会社 | 自走式ロボット |
DE102020006337A1 (de) * | 2019-10-09 | 2021-04-15 | Metralabs Gmbh Neue Technologien Und Systeme | Autonomes Flurförderzeug |
US11685049B2 (en) | 2020-04-22 | 2023-06-27 | Boston Dynamics, Inc. | Robot localization using variance sampling |
CN112008728B (zh) * | 2020-09-01 | 2022-07-08 | 天津大学 | 基于选择性扰动补偿的全向移动机器人轨迹跟踪控制方法 |
CN113910267A (zh) * | 2021-08-30 | 2022-01-11 | 淄博师范高等专科学校 | 一种机器人***及控制方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61134805A (ja) * | 1984-12-05 | 1986-06-21 | Mitsubishi Heavy Ind Ltd | 歩行機械の制御方法 |
CN1343551A (zh) * | 2000-09-21 | 2002-04-10 | 上海大学 | 机器视觉分层模块结构模型 |
DE102004029627A1 (de) * | 2004-06-18 | 2006-01-12 | Diehl Bgt Defence Gmbh & Co. Kg | Fernsteuerbarer Funktionsträger |
WO2011052827A1 (ko) * | 2009-10-30 | 2011-05-05 | 주식회사 유진로봇 | 이동 로봇의 슬립 감지 장치 및 방법 |
Family Cites Families (66)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS6084610A (ja) | 1983-10-17 | 1985-05-14 | Hitachi Ltd | 誘導装置 |
US4815840A (en) | 1986-05-16 | 1989-03-28 | Benayad Cherif Faycal E K | Position locating system for a vehicle |
JP2691714B2 (ja) | 1987-08-26 | 1997-12-17 | 東芝ケミカル株式会社 | 多層配線板の製造方法 |
US5109425A (en) | 1988-09-30 | 1992-04-28 | The United States Of America As Represented By The United States National Aeronautics And Space Administration | Method and apparatus for predicting the direction of movement in machine vision |
US5144685A (en) | 1989-03-31 | 1992-09-01 | Honeywell Inc. | Landmark recognition for autonomous mobile robots |
JPH03227710A (ja) | 1990-01-31 | 1991-10-08 | Nissan Motor Co Ltd | 車両用荷重測定装置 |
US5111401A (en) | 1990-05-19 | 1992-05-05 | The United States Of America As Represented By The Secretary Of The Navy | Navigational control system for an autonomous vehicle |
JPH04263821A (ja) | 1991-02-20 | 1992-09-18 | Matsushita Electric Ind Co Ltd | 自走式掃除機 |
JP3227710B2 (ja) * | 1991-04-11 | 2001-11-12 | 松下電器産業株式会社 | 移動作業ロボット |
JP3003260B2 (ja) | 1991-05-14 | 2000-01-24 | 松下電器産業株式会社 | じゅうたん目検出装置とこれを有する移動作業ロボット |
JP3191334B2 (ja) | 1991-09-03 | 2001-07-23 | 松下電器産業株式会社 | 移動作業ロボット |
US5638116A (en) | 1993-09-08 | 1997-06-10 | Sumitomo Electric Industries, Ltd. | Object recognition apparatus and method |
JP3314477B2 (ja) * | 1993-09-22 | 2002-08-12 | 松下電器産業株式会社 | 移動作業ロボット |
JP3555159B2 (ja) * | 1994-03-02 | 2004-08-18 | 日本電気株式会社 | 3次元形状復元方法および装置 |
JP3770909B2 (ja) | 1994-09-06 | 2006-04-26 | シーメンス アクチエンゲゼルシヤフト | 目標と自走ユニットとの間隔が自走ユニットによって動的に検出される、自走ユニットの環境マップ内の目標の位置特定方法 |
JPH0895638A (ja) * | 1994-09-28 | 1996-04-12 | East Japan Railway Co | 移動作業ロボットの走行制御装置 |
IT1271241B (it) | 1994-10-04 | 1997-05-27 | Consorzio Telerobot | Sistema di navigazione per robot mobile autonomo |
US5961571A (en) | 1994-12-27 | 1999-10-05 | Siemens Corporated Research, Inc | Method and apparatus for automatically tracking the location of vehicles |
JP3395874B2 (ja) | 1996-08-12 | 2003-04-14 | ミノルタ株式会社 | 移動走行車 |
US5999866A (en) | 1996-11-05 | 1999-12-07 | Carnegie Mellon University | Infrastructure independent position determining system |
US6047234A (en) | 1997-10-16 | 2000-04-04 | Navigation Technologies Corporation | System and method for updating, enhancing or refining a geographic database using feedback |
JP2002522839A (ja) | 1998-08-10 | 2002-07-23 | シーメンス アクチエンゲゼルシヤフト | 所定の基準位置の周囲の経路を検出するための方法及び装置 |
US6412133B1 (en) | 1999-01-25 | 2002-07-02 | Aqua Products, Inc. | Water jet reversing propulsion and directional controls for automated swimming pool cleaners |
US6711293B1 (en) | 1999-03-08 | 2004-03-23 | The University Of British Columbia | Method and apparatus for identifying scale invariant features in an image and use of same for locating an object in an image |
US6299699B1 (en) | 1999-04-01 | 2001-10-09 | Aqua Products Inc. | Pool cleaner directional control method and apparatus |
EP1232424A1 (en) | 1999-11-18 | 2002-08-21 | The Procter & Gamble Company | Home cleaning robot |
US6496754B2 (en) | 2000-11-17 | 2002-12-17 | Samsung Kwangju Electronics Co., Ltd. | Mobile robot and course adjusting method thereof |
US6996254B2 (en) | 2001-06-18 | 2006-02-07 | Microsoft Corporation | Incremental motion estimation through local bundle adjustment |
KR100420171B1 (ko) * | 2001-08-07 | 2004-03-02 | 삼성광주전자 주식회사 | 로봇 청소기와 그 시스템 및 제어방법 |
US6667592B2 (en) | 2001-08-13 | 2003-12-23 | Intellibot, L.L.C. | Mapped robot system |
US6766245B2 (en) | 2002-03-14 | 2004-07-20 | Microsoft Corporation | Landmark-based location of users |
US6836701B2 (en) | 2002-05-10 | 2004-12-28 | Royal Appliance Mfg. Co. | Autonomous multi-platform robotic system |
WO2004015369A2 (en) | 2002-08-09 | 2004-02-19 | Intersense, Inc. | Motion tracking system and method |
US7145478B2 (en) | 2002-12-17 | 2006-12-05 | Evolution Robotics, Inc. | Systems and methods for controlling a density of visual landmarks in a visual simultaneous localization and mapping system |
US7133746B2 (en) | 2003-07-11 | 2006-11-07 | F Robotics Acquistions, Ltd. | Autonomous machine for docking with a docking station and method for docking |
JP2005141636A (ja) | 2003-11-10 | 2005-06-02 | Matsushita Electric Ind Co Ltd | 自律走行装置 |
JP2005222226A (ja) * | 2004-02-04 | 2005-08-18 | Funai Electric Co Ltd | 自律走行ロボットクリーナー |
US7689321B2 (en) | 2004-02-13 | 2010-03-30 | Evolution Robotics, Inc. | Robust sensor fusion for mapping and localization in a simultaneous localization and mapping (SLAM) system |
JP2007530978A (ja) | 2004-03-29 | 2007-11-01 | エヴォリューション ロボティクス インコーポレイテッド | 反射光源を使用する位置推定方法および装置 |
US7617557B2 (en) * | 2004-04-02 | 2009-11-17 | Royal Appliance Mfg. Co. | Powered cleaning appliance |
KR20050108923A (ko) | 2004-05-14 | 2005-11-17 | 삼성광주전자 주식회사 | 모빌로봇, 모빌로봇 시스템, 및 그 경로보정방법 |
JP2005346477A (ja) * | 2004-06-03 | 2005-12-15 | Toshiba Tec Corp | 自律走行体 |
CN1586693A (zh) * | 2004-08-13 | 2005-03-02 | 刘茂龙 | 智能玩具机器人 |
KR100792514B1 (ko) | 2005-01-14 | 2008-01-10 | 삼성전자주식회사 | 이동물체의 방향검출방법 및 시스템 |
ATE523132T1 (de) | 2005-02-18 | 2011-09-15 | Irobot Corp | Selbstfahrender flächenreinigungsroboter für nass-und trockenreinigung |
US8930023B2 (en) * | 2009-11-06 | 2015-01-06 | Irobot Corporation | Localization by learning of wave-signal distributions |
JP2006313455A (ja) * | 2005-05-09 | 2006-11-16 | Funai Electric Co Ltd | 自走式掃除ロボット、自走式ロボットおよび自走式ロボットの走行を制御するためのプログラム |
US7389166B2 (en) * | 2005-06-28 | 2008-06-17 | S.C. Johnson & Son, Inc. | Methods to prevent wheel slip in an autonomous floor cleaner |
ES2718831T3 (es) | 2005-12-02 | 2019-07-04 | Irobot Corp | Sistema de robots |
WO2008013568A2 (en) | 2005-12-30 | 2008-01-31 | Irobot Corporation | Autonomous mobile robot |
JP4195894B2 (ja) | 2006-03-30 | 2008-12-17 | 株式会社東芝 | ドッキングシステム |
US20070271011A1 (en) | 2006-05-12 | 2007-11-22 | Samsung Electronics Co., Ltd. | Indoor map building apparatus, method, and medium for mobile robot |
US8340349B2 (en) * | 2006-06-20 | 2012-12-25 | Sri International | Moving target detection in the presence of parallax |
WO2008097252A2 (en) | 2006-06-22 | 2008-08-14 | Roy Sandberg | Method and apparatus for robotic path planning, selection, and visualization |
JP5112666B2 (ja) | 2006-09-11 | 2013-01-09 | 株式会社日立製作所 | 移動装置 |
JP2009025898A (ja) | 2007-07-17 | 2009-02-05 | Toyota Motor Corp | 経路計画装置、経路計画方法及び移動体 |
US8632376B2 (en) | 2007-09-20 | 2014-01-21 | Irobot Corporation | Robotic game systems and methods |
KR101402273B1 (ko) | 2007-12-14 | 2014-06-02 | 삼성전자주식회사 | 이동 로봇의 슬립 감지 장치 및 방법 |
JP2009186213A (ja) | 2008-02-04 | 2009-08-20 | Denso Corp | ジャイロセンサユニット |
US8452450B2 (en) | 2008-04-24 | 2013-05-28 | Evolution Robotics, Inc. | Application of localization, positioning and navigation systems for robotic enabled mobile products |
JP2010167055A (ja) * | 2009-01-22 | 2010-08-05 | Panasonic Corp | 自走式掃除機 |
KR101060638B1 (ko) * | 2009-04-22 | 2011-08-31 | 주식회사 유진로봇 | 로봇 청소기 |
KR20110021191A (ko) * | 2009-08-25 | 2011-03-04 | 삼성전자주식회사 | 로봇의 슬립 감지 장치 및 방법 |
KR101083394B1 (ko) | 2009-10-30 | 2011-11-14 | 주식회사 유진로봇 | 이동 로봇의 위치 인식을 위한 지도 생성 및 갱신 방법 |
EP2619742B1 (en) * | 2010-09-24 | 2018-02-28 | iRobot Corporation | Systems and methods for vslam optimization |
EP2858794B2 (en) | 2012-06-08 | 2024-02-28 | iRobot Corporation | Carpet drift estimation and compensation using two sets of sensors |
-
2013
- 2013-06-07 EP EP13801242.2A patent/EP2858794B2/en active Active
- 2013-06-07 CA CA2870175A patent/CA2870175C/en not_active Expired - Fee Related
- 2013-06-07 US US13/913,258 patent/US9223312B2/en active Active
- 2013-06-07 CA CA2948519A patent/CA2948519C/en not_active Expired - Fee Related
- 2013-06-07 AU AU2013270671A patent/AU2013270671B2/en active Active
- 2013-06-07 CN CN201610094587.6A patent/CN105717924B/zh active Active
- 2013-06-07 WO PCT/US2013/044825 patent/WO2013185102A1/en active Application Filing
- 2013-06-07 CN CN201380022811.5A patent/CN104302453B/zh active Active
- 2013-06-07 JP JP2015516259A patent/JP5913743B2/ja active Active
- 2013-06-07 EP EP21168056.6A patent/EP3910440A1/en active Pending
-
2015
- 2015-11-23 US US14/949,002 patent/US9427875B2/en active Active
-
2016
- 2016-07-27 US US15/221,036 patent/US9969089B2/en active Active
- 2016-08-12 AU AU2016213846A patent/AU2016213846B2/en not_active Ceased
-
2018
- 2018-04-10 US US15/949,653 patent/US10974391B2/en active Active
-
2021
- 2021-04-06 US US17/223,406 patent/US11926066B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS61134805A (ja) * | 1984-12-05 | 1986-06-21 | Mitsubishi Heavy Ind Ltd | 歩行機械の制御方法 |
CN1343551A (zh) * | 2000-09-21 | 2002-04-10 | 上海大学 | 机器视觉分层模块结构模型 |
DE102004029627A1 (de) * | 2004-06-18 | 2006-01-12 | Diehl Bgt Defence Gmbh & Co. Kg | Fernsteuerbarer Funktionsträger |
WO2011052827A1 (ko) * | 2009-10-30 | 2011-05-05 | 주식회사 유진로봇 | 이동 로봇의 슬립 감지 장치 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
AU2013270671A1 (en) | 2014-10-30 |
EP2858794B2 (en) | 2024-02-28 |
US11926066B2 (en) | 2024-03-12 |
EP3910440A1 (en) | 2021-11-17 |
EP2858794A1 (en) | 2015-04-15 |
CN105717924A (zh) | 2016-06-29 |
EP2858794B1 (en) | 2021-04-14 |
US9223312B2 (en) | 2015-12-29 |
US20160332304A1 (en) | 2016-11-17 |
US20130331988A1 (en) | 2013-12-12 |
JP5913743B2 (ja) | 2016-04-27 |
US20160075032A1 (en) | 2016-03-17 |
EP2858794A4 (en) | 2016-04-20 |
US9969089B2 (en) | 2018-05-15 |
US9427875B2 (en) | 2016-08-30 |
AU2016213846B2 (en) | 2017-01-05 |
US10974391B2 (en) | 2021-04-13 |
CN105717924B (zh) | 2018-12-28 |
CN104302453A (zh) | 2015-01-21 |
US20180297208A1 (en) | 2018-10-18 |
AU2013270671B2 (en) | 2016-05-26 |
CA2948519A1 (en) | 2013-12-12 |
AU2016213846A1 (en) | 2016-09-01 |
CA2870175C (en) | 2017-01-03 |
CA2948519C (en) | 2019-05-28 |
WO2013185102A1 (en) | 2013-12-12 |
CA2870175A1 (en) | 2013-12-12 |
US20210221003A1 (en) | 2021-07-22 |
JP2015521760A (ja) | 2015-07-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104302453B (zh) | 使用差动传感器或视觉测量的地毯偏移估计 | |
CN109394095B (zh) | 一种机器人运动地毯偏移的控制方法、芯片及清洁机器人 | |
US9037396B2 (en) | Simultaneous localization and mapping for a mobile robot | |
CN102666032B (zh) | 用于移动机器人的滑动检测装置和方法 | |
US11852484B2 (en) | Method for determining the orientation of a robot, orientation determination apparatus of a robot, and robot | |
US11756231B2 (en) | Method and apparatus for scale calibration and optimization of a monocular visual-inertial localization system | |
CN109358623A (zh) | 一种机器人运动地毯偏移的识别方法、芯片及清洁机器人 | |
CN109506652A (zh) | 一种基于地毯偏移的光流数据融合方法及清洁机器人 | |
WO2023273310A1 (en) | Method and apparatus for optimization of a monocular visual-inertial localization system | |
Zabaleta et al. | Absolute position calculation for a desktop mobile rehabilitation robot based on three optical mouse sensors | |
Veerannapeta | Low Power Indoor Robotic Vacuum Cleaner Using Sensors and SLAM | |
Kim et al. | A sensor fusion method to solve the scale ambiguity of single image by combining IMU | |
Brahmanage | Geometric Feature Based Rao-Blackwellized Particle Filter SLAM Using RGB-D Depth Images | |
Schärer et al. | Keystone rescue techniques |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |