CN109414142A - 用于训练机器人沿着路线自主行进的系统和方法 - Google Patents
用于训练机器人沿着路线自主行进的系统和方法 Download PDFInfo
- Publication number
- CN109414142A CN109414142A CN201780041655.5A CN201780041655A CN109414142A CN 109414142 A CN109414142 A CN 109414142A CN 201780041655 A CN201780041655 A CN 201780041655A CN 109414142 A CN109414142 A CN 109414142A
- Authority
- CN
- China
- Prior art keywords
- robot
- map
- route
- track route
- mistake
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 84
- 238000012549 training Methods 0.000 title abstract description 21
- 230000033001 locomotion Effects 0.000 claims description 49
- 238000012545 processing Methods 0.000 claims description 48
- 238000004891 communication Methods 0.000 claims description 41
- 238000003860 storage Methods 0.000 claims description 39
- 238000004140 cleaning Methods 0.000 claims description 30
- 230000009184 walking Effects 0.000 claims description 23
- 230000004888 barrier function Effects 0.000 claims description 15
- 238000012360 testing method Methods 0.000 claims description 8
- 230000015572 biosynthetic process Effects 0.000 claims description 5
- 238000005094 computer simulation Methods 0.000 claims description 3
- 238000001514 detection method Methods 0.000 description 24
- 238000005259 measurement Methods 0.000 description 23
- 230000008859 change Effects 0.000 description 17
- 238000010801 machine learning Methods 0.000 description 13
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 13
- 230000005540 biological transmission Effects 0.000 description 12
- 238000012937 correction Methods 0.000 description 12
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 8
- 239000011159 matrix material Substances 0.000 description 7
- 230000008901 benefit Effects 0.000 description 6
- 238000006073 displacement reaction Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 6
- 230000000670 limiting effect Effects 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 230000000903 blocking effect Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000001413 cellular effect Effects 0.000 description 4
- 230000009023 proprioceptive sensation Effects 0.000 description 4
- 239000007921 spray Substances 0.000 description 4
- 238000004590 computer program Methods 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 240000007594 Oryza sativa Species 0.000 description 2
- 235000007164 Oryza sativa Nutrition 0.000 description 2
- BPKGOZPBGXJDEP-UHFFFAOYSA-N [C].[Zn] Chemical compound [C].[Zn] BPKGOZPBGXJDEP-UHFFFAOYSA-N 0.000 description 2
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 238000013459 approach 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
- 238000013478 data encryption standard Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 229910052739 hydrogen Inorganic materials 0.000 description 2
- 239000001257 hydrogen Substances 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- VNWKTOKETHGBQD-UHFFFAOYSA-N methane Chemical compound C VNWKTOKETHGBQD-UHFFFAOYSA-N 0.000 description 2
- 230000036961 partial effect Effects 0.000 description 2
- 238000012797 qualification Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 235000009566 rice Nutrition 0.000 description 2
- 238000005201 scrubbing Methods 0.000 description 2
- NDVLTYZPCACLMA-UHFFFAOYSA-N silver oxide Chemical compound [O-2].[Ag+].[Ag+] NDVLTYZPCACLMA-UHFFFAOYSA-N 0.000 description 2
- 238000001228 spectrum Methods 0.000 description 2
- 208000015976 Corneal dystrophy-perceptive deafness syndrome Diseases 0.000 description 1
- UFHFLCQGNIYNRP-UHFFFAOYSA-N Hydrogen Chemical compound [H][H] UFHFLCQGNIYNRP-UHFFFAOYSA-N 0.000 description 1
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 1
- HBBGRARXTFLTSG-UHFFFAOYSA-N Lithium ion Chemical compound [Li+] HBBGRARXTFLTSG-UHFFFAOYSA-N 0.000 description 1
- 241001465754 Metazoa Species 0.000 description 1
- 241001112258 Moca Species 0.000 description 1
- 241001417527 Pempheridae Species 0.000 description 1
- 230000003213 activating effect Effects 0.000 description 1
- 239000003513 alkali Substances 0.000 description 1
- 239000002585 base Substances 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- OJIJEKBXJYRIBZ-UHFFFAOYSA-N cadmium nickel Chemical compound [Ni].[Cd] OJIJEKBXJYRIBZ-UHFFFAOYSA-N 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000005253 cladding Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000009193 crawling Effects 0.000 description 1
- 238000013481 data capture Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 235000013399 edible fruits Nutrition 0.000 description 1
- 230000005611 electricity Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000002349 favourable effect Effects 0.000 description 1
- 239000002803 fossil fuel Substances 0.000 description 1
- 239000007789 gas Substances 0.000 description 1
- 239000003502 gasoline Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 229910052744 lithium Inorganic materials 0.000 description 1
- 229910001416 lithium ion Inorganic materials 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 229910000474 mercury oxide Inorganic materials 0.000 description 1
- UKWHYYKOEPRTIC-UHFFFAOYSA-N mercury(ii) oxide Chemical compound [Hg]=O UKWHYYKOEPRTIC-UHFFFAOYSA-N 0.000 description 1
- 229910052987 metal hydride Inorganic materials 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 239000003345 natural gas Substances 0.000 description 1
- 229910052759 nickel Inorganic materials 0.000 description 1
- PXHVJJICTQNCMI-UHFFFAOYSA-N nickel Substances [Ni] PXHVJJICTQNCMI-UHFFFAOYSA-N 0.000 description 1
- -1 nickel metal hydride Chemical class 0.000 description 1
- 238000010899 nucleation Methods 0.000 description 1
- 238000011017 operating method Methods 0.000 description 1
- 238000010422 painting Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001141 propulsive effect Effects 0.000 description 1
- 238000002310 reflectometry Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 230000008054 signal transmission Effects 0.000 description 1
- 229910001923 silver oxide Inorganic materials 0.000 description 1
- 238000009331 sowing Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 230000000007 visual effect Effects 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/0268—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means
- G05D1/0274—Control of position or course in two dimensions specially adapted to land vehicles using internal positioning means using mapping information stored in a memory device
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4011—Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L11/00—Machines for cleaning floors, carpets, furniture, walls, or wall coverings
- A47L11/40—Parts or details of machines not provided for in groups A47L11/02 - A47L11/38, or not restricted to one of these groups, e.g. handles, arrangements of switches, skirts, buffers, levers
- A47L11/4061—Steering means; Means for avoiding obstacles; Details related to the place where the driver is accommodated
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2805—Parameters or conditions being sensed
- A47L9/2826—Parameters or conditions being sensed the condition of the floor
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L9/00—Details or accessories of suction cleaners, e.g. mechanical means for controlling the suction or for effecting pulsating action; Storing devices specially adapted to suction cleaners or parts thereof; Carrying-vehicles specially adapted for suction cleaners
- A47L9/28—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means
- A47L9/2836—Installation of the electric equipment, e.g. adaptation or attachment to the suction cleaner; Controlling suction cleaners by electric means characterised by the parts which are controlled
- A47L9/2852—Elements for displacement of the vacuum cleaner or the accessories therefor, e.g. wheels, casters or nozzles
-
- 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
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1602—Programme controls characterised by the control system, structure, architecture
- B25J9/161—Hardware, e.g. neural networks, fuzzy logic, interfaces, processor
-
- 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
- B25J9/163—Programme controls characterised by the control loop learning, adaptive, model based, rule based expert control
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1656—Programme controls characterised by programming, planning systems for manipulators
- B25J9/1664—Programme controls characterised by programming, planning systems for manipulators characterised by motion, path, trajectory planning
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25J—MANIPULATORS; CHAMBERS PROVIDED WITH MANIPULATION DEVICES
- B25J9/00—Programme-controlled manipulators
- B25J9/16—Programme controls
- B25J9/1679—Programme controls characterised by the tasks executed
- B25J9/1692—Calibration of manipulator
-
- 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/0088—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots characterized by the autonomous decision making process, e.g. artificial intelligence, predefined behaviours
-
- 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/0212—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory
- G05D1/0221—Control of position or course in two dimensions specially adapted to land vehicles with means for defining a desired trajectory involving a learning process
-
- 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
-
- A—HUMAN NECESSITIES
- A47—FURNITURE; DOMESTIC ARTICLES OR APPLIANCES; COFFEE MILLS; SPICE MILLS; SUCTION CLEANERS IN GENERAL
- A47L—DOMESTIC WASHING OR CLEANING; SUCTION CLEANERS IN GENERAL
- A47L2201/00—Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation
- A47L2201/04—Automatic control of the travelling movement; Automatic obstacle detection
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Radar, Positioning & Navigation (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Aviation & Aerospace Engineering (AREA)
- Remote Sensing (AREA)
- General Physics & Mathematics (AREA)
- Robotics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Electromagnetism (AREA)
- Multimedia (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Health & Medical Sciences (AREA)
- Business, Economics & Management (AREA)
- Game Theory and Decision Science (AREA)
- Medical Informatics (AREA)
- Fuzzy Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)
- Electric Vacuum Cleaner (AREA)
Abstract
用于训练机器人沿着路线自主行进的系统和方法。在一个实施例中,机器人可以检测在初始化位置中的初始放置。从所述初始化位置开始,所述机器人可以在受用户控制的所述可行走路线的演示期间形成可行走路线和周围环境的地图。在所述演示之后,所述机器人可随后检测在所述初始化位置中的第二放置,然后沿着所述可行走路线自主行走。接着,所述机器人可以随后检测与所形成的地图相关联的错误。还公开了与所述机器人相关联的方法和系统。
Description
优先权
本申请要求标题相同的在2016年5月11日申请的共同未决的第15/152,425号美国专利申请的优先权,上述申请以全文引用的方式并入本文中。
版权
此专利文献的公开内容的一部分包含受版权保护的材料。版权所有者不反对任何人对专利文献或专利公开内容在专利和商标局的专利文件或记录中出现的内容进行传真复制,但保留所有其它版权。
技术领域
本申请大体上特别涉及机器人系统和其方法。确切地说,在一个方面中,本公开涉及用于训练和操作机器人以沿着路线自主行进的系统和方法。
背景技术
目前,编程机器人通常会涉及预测或试图预测机器人可能遇到的每种情形的穷举译码。这种方式不仅在时间、能量和计算机资源方面较为昂贵,而且还会限制机器人的能力。例如,许多机器人只能在具有可预测或预限定条件的受控环境中有效。这些机器人在动态变化的环境和/或没有对机器人进行专门编程的新环境中可能无效。当机器人被编程有一般能力时,机器人可以用于许多不同任务,但是在那些任务中的任何特定任务中可能是无效或低效的。另一方面,编程成有效且高效地执行特定任务的机器人可能仅限于那些任务,而不能执行其它任务。类似地,目前许多机器人可能需要专业技术人员和其他高技能工人来对它们进行编程和操作。这一要求增加了操作机器人的时间和成本。
这些挑战在将机器人编程成沿着路线行进时尤其突出。例如,为了将机器人编程成沿着从第一点到第二点的期望路径自主行走,编程器可能需要编程地图,并且识别地图上机器人应该行进的每个点,以及机器人应该行进到那些点的次序或逻辑。编程器可能需要针对每一环境对机器人进行编程,并且输入期望的每一个路线,以及环境地图。在替代方案中,如果编程器为机器人编程确定路线的一般规则和逻辑,那么这个机器人在沿循任何特定路线时可能是缓慢且低效的。在任一情况下,此类编程可为耗时的,并且可能需要有高技能工人来操作机器人。因此,需要用于将机器人编程成沿着路线行进的系统和方法。
发明内容
本公开满足上述需要,且特别提供用于训练和操作机器人以进行自主行走的设备和方法。本文中所描述的实例实施方案具有创新特征,其中没有一个是必不可少的或仅对其期望属性负责。在不限制权利要求的范围的情况下,现在将概述一些有利特征。
在本公开的一些实施方案中,机器人可以通过演示学习路线,并且稍后在自主行走时重复演示路线。
在第一方面中,公开一种机器人。在一个示范性实施方案中,机器人包含绘制和定位单元,所述绘制和定位单元配置成从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图。机器人还包含导航单元,所述导航单元配置成自主地使用地图为机器人导航。
在一个变化形式中,机器人的导航单元还配置成确定对可行走路线的至少一部分不进行自主导航。
在另一变化形式中,机器人还包含传感器单元,所述传感器单元配置成生成至少部分地指示传感器范围内的物体的传感器数据,其中机器人的导航单元还配置成至少部分地基于所生成的传感器数据进行自主导航。
在另一变化形式中,机器人还具有第一致动器单元,所述第一致动器单元配置成使刷子致动。在另一变化形式中,机器人还具有第二致动器单元,所述第二致动器单元配置成使机器人转动。
在另一变化形式中,机器人还具有配置成将地图上的方位与第一致动器单元的致动相关联的处理器。在另一变化形式中,机器人包含配置成将地图上的方位与第二致动器单元的致动相关联的处理器。
在另一变化形式中,机器人包含用户界面单元,所述用户界面单元配置成从用户接收对所形成的地图的选择,其中机器人至少部分地基于接收到的选择进行自主行走。
在另一变化形式中,机器人还具有地图评估单元,所述地图评估单元配置成校正地图中的错误。在另一变化形式中,错误的校正包含机器学习,所述机器学习将地图中的至少一个错误与所校正的地图的至少一部分相关联。
在另一变化形式中,机器人还包含通信单元,所述通信单元配置成与服务器通信,其中机器人将地图发送到服务器并接收对地图质量的验证。
在第二方面中,公开训练机器人的方法。在一个示范性实施方案中,方法包含检测机器人在初始化位置中的第一放置;从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图;检测机器人在初始化位置中的第二放置;以及使机器人从初始化位置沿着可行走路线的至少一部分自主行走。
在一个变化形式中,方法还包含评估所形成的地图的错误,并且至少部分地基于所述错误,请求用户再次向机器人演示可行走路线。
在另一变化形式中,方法还包含校正地图中的错误。在另一变化形式中,方法还包括确定沿着可行走路线的至少一部分不进行自主行走。
在另一变化形式中,方法还包含将可行走路线和周围环境的地图与初始化位置相关联。
在另一变化形式中,方法还包含在所形成的地图上绘制机器人在可行走路线上执行的动作。
在第三方面中,公开使用机器人的方法。在一个示范性实施方案中,方法包含检测机器人在初始化位置中的第一放置;从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图;检测机器人在初始化位置中的第二放置;以及使机器人从初始化位置沿着可行走路线的至少一部分自主行走。
在一个变化形式中,方法还包含将可行走路线和周围环境的地图与初始化位置相关联。
在另一变化形式中,方法还包含在所形成的地图上绘制机器人在可行走路线上执行的动作。
在第四方面中,公开一种非暂时性计算机可读媒体。在一个示范性实施方案中,公开一种其上存储有多个指令的非暂时性计算机可读存储媒体。所述指令可由处理设备执行以操作机器人,所述指令配置成在由处理设备执行时使处理设备进行以下操作:检测机器人在初始化位置中的第一放置;从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图;检测机器人在初始化位置中的第二放置;以及使机器人从初始化位置沿着可行走路线的至少一部分自主行走。
在一个变化形式中,非暂时性计算机可读存储媒体包含在由处理设备执行时还使处理设备进行以下操作的指令:评估所形成的地图的错误,以及至少部分地基于所述错误,请求用户再次向机器人演示可行走路线。
在另一变化形式中,非暂时性计算机可读存储媒体包含在由处理设备执行时还使处理设备校正地图中的错误的指令。
在另一变化形式中,非暂时性计算机可读存储媒体包含在由处理设备执行时还使处理设备进行以下操作的指令:向机器人提供指令以在沿着可行走路线自主行走时避开临时放置的障碍物。
在另一变化形式中,非暂时性计算机可读存储媒体包含在经执行时还使处理设备确定沿着可行走路线的至少一部分不进行自主行走的指令。
在另一变化形式中,非暂时性计算机可读存储媒体包含在经执行时还使处理设备将可行走路线和周围环境的地图与初始化位置相关联的指令。
在另一变化形式中,可行走路线和周围环境的地图的形成还包括配置成用传感器感测周围环境的指令。
在另一变化形式中,非暂时性计算机可读存储媒体包含在经执行时还使处理设备与服务器通信的指令,其中机器人将地图发送到服务器并接收对地图质量的验证。
在第五方面中,公开一种环境和机器人。在一个示范性实施方案中,机器人包含绘制和定位单元,所述绘制和定位单元配置成从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图。机器人还包含导航单元,所述导航单元配置成自主地使用地图为机器人导航。
在一个变化形式中,机器人的导航单元还配置成确定对可行走路线的至少一部分不进行自主导航。此确定包含确定避开环境的障碍物。
在另一变化形式中,机器人还包含传感器单元,所述传感器单元配置成生成至少部分地指示传感器范围内的物体的传感器数据,其中机器人的导航单元还配置成至少部分地基于所生成的传感器数据对环境进行自主导航。
在另一变化形式中,机器人还具有第一致动器单元,所述第一致动器单元配置成使刷子致动以进行清洁。在另一变化形式中,机器人还具有第二致动器单元,所述第二致动器单元配置成在环境中使机器人转动。
在另一变化形式中,机器人还具有配置成将地图上的方位与第一致动器单元的致动相关联的处理器。在另一变化形式中,机器人包含配置成将地图上的方位与第二致动器单元的致动相关联的处理器。
本公开中还描述了另外的方面和实施方案。例如,一些实施方案包含一种其上存储有多个指令的非暂时性计算机可读存储媒体,所述指令可由处理设备执行以操作机器人,所述指令配置成在由处理设备执行时使处理设备进行以下操作:检测机器人在初始化位置中的第一放置;从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图;检测机器人在初始化位置中的第二放置;以及使机器人从初始化位置沿着可行走路线的至少一部分自主行走。
在一些实施方案中,非暂时性计算机可读存储媒体包含在由处理设备执行时还使处理设备进行以下操作的指令:评估所形成的地图的错误,以及至少部分地基于所述错误,请求用户再次向机器人演示可行走路线。在一些实施方案中,错误包含以下中的至少一个:地图中的可行走路线的不连续部分和地图中的周围环境的不连续部分。在一些实施方案中,错误至少包含重叠的物体。在一些实施方案中,错误包含无法形成闭环。在一些实施方案中,错误包含地图中的预定错误图案。
在一些实施方案中,非暂时性计算机可读存储媒体包含在由处理设备执行时还使处理设备校正地图中的错误的指令。在一些实施方案中,错误的校正包含机器学习,所述机器学习将地图中的至少一个错误与所校正的地图的至少一部分相关联。
在一些实施方案中,非暂时性计算机可读存储媒体包含在由处理设备执行时还使处理设备进行以下操作的指令:向机器人提供指令以在沿着可行走路线自主行走时避开临时放置的障碍物。在一些实施方案中,非暂时性计算机可读存储媒体包含在经执行时还使处理设备确定沿着可行走路线的至少一部分不进行自主行走的指令。在一些实施方案中,确定沿着可行走路线的至少一部分不进行自主行走包含确定避开障碍物。
在一些实施方案中,机器人还包括配置成使处理设备从用户界面接收对可行走路线的选择的指令。在一些实施方案中,非暂时性计算机可读存储媒体包含在经执行时还使处理设备将可行走路线和周围环境的地图与初始化位置相关联的指令。
在一些实施方案中,使机器人自主行走还包括配置成使处理设备进行以下操作的指令:至少部分地基于可行走路线和周围环境的地图与初始化位置的关联,确定可行走路线。在一些实施方案中,使机器人自主行走还包括配置成使处理设备至少部分地基于所形成的地图来导航的指令。在一些实施方案中,机器人是地板清洁器。在一些实施方案中,机器人是地板擦洗器。
在一些实施方案中,所形成的地图包括至少部分地表示机器人在可行走路线上执行的动作的指示。在一些实施方案中,动作是清洁地板。在一些实施方案中,动作是转动。
在一些实施方案中,可行走路线和周围环境的地图的形成还包括配置成用传感器感测周围环境的指令。在一些实施方案中,可行走路线和周围环境的地图的形成还包括配置成用三维传感器感测周围环境的指令。
在一些实施方案中,非暂时性计算机可读存储媒体包含在经执行时还使处理设备与服务器通信的指令,其中机器人将地图发送到服务器并接收对地图质量的验证。
作为另一实例,一些实施方案包含一种操作机器人的方法,包括:检测机器人在初始化位置中的第一放置;从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图;检测机器人在初始化位置中的第二放置;以及使机器人从初始化位置沿着可行走路线的至少一部分自主行走。
在一些实施方案中,方法还包括评估所形成的地图的错误,并且至少部分地基于所述错误,请求用户再次向机器人演示可行走路线。在一些实施方案中,评估所形成的地图的错误包含识别重叠物体。在一些实施方案中,评估所形成的地图的错误包含识别无法形成闭环。在一些实施方案中,评估所形成的地图的错误包含识别地图中的预定图案。在一些实施方案中,方法还包括将地图发送到服务器并从服务器接收至少部分地指示地图质量的信号。
在一些实施方案中,方法还包括校正地图中的错误。在一些实施方案中,校正错误包含机器学习,所述机器学习将地图中的至少一个错误与所校正的地图的至少一部分相关联。
在一些实施方案中,方法还包括确定沿着可行走路线的至少一部分不进行自主行走。在一些实施方案中,确定沿着可行走路线的至少一部分不进行自主行走包含确定避开障碍物。
在一些实施方案中,演示包括从用户接收控制信号。在一些实施方案中,形成可行走路线和周围环境的地图还包括用传感器感测周围环境。在一些实施方案中,形成可行走路线和周围环境的地图还包括用三维传感器感测周围环境。
在一些实施方案中,使机器人自主行走还包括从用户界面接收对可行走路线的选择。在一些实施方案中,使机器人自主行走包括使用可行走路线和周围环境的地图进行导航。
在一些实施方案中,方法还包括将可行走路线和周围环境的地图与初始化位置相关联。
在一些实施方案中,方法还包括至少部分地基于可行走路线和周围环境的地图与初始化位置的关联,确定可行走路线。
在一些实施方案中,方法还包括在所形成的地图上绘制机器人在可行走路线上执行的动作。在一些实施方案中,动作包括清洁地板。在一些实施方案中,动作包括转动。
作为另一实例,一些实施方案包含一种其上存储有多个指令的非暂时性计算机可读存储媒体,所述指令可由处理设备执行以操作机器人,所述指令配置成在由处理设备执行时使处理设备进行以下操作:从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图。
在一些实施方案中,所形成的地图还包括至少部分地表示机器人在可行走路线上执行的动作的指示。在一些实施方案中,动作是清洁地板。在一些实施方案中,机器人是地板清洁器。在一些实施方案中,行走路线的演示是计算机模拟。
作为另一实例,一些实施方案包含一种机器人,包括:绘制和定位单元,其配置成从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图;以及导航单元,其配置成自主地使用地图为机器人导航。
在一些实施方案中,导航单元还配置成确定对可行走路线的至少一部分不进行自主导航。在一些实施方案中,确定不进行自主导航包含确定避开障碍物。
在一些实施方案中,机器人还包括传感器单元,所述传感器单元配置成生成至少部分地指示机器人的传感器范围内的物体的传感器数据,其中导航单元还配置成至少部分地基于所生成的传感器数据进行自主导航。
在一些实施方案中,机器人还包括第一致动器单元,所述第一致动器单元配置成使刷子致动。在一些实施方案中,机器人还包括第二致动器单元,所述第二致动器单元配置成使机器人转动。
在一些实施方案中,机器人还包括配置成将地图上的方位与第一致动器单元的致动相关联的处理器。在一些实施方案中,机器人还包括配置成将地图上的方位与第二致动器单元的致动相关联的处理器。
在一些实施方案中,机器人还包括用户界面单元,所述用户界面单元配置成从用户接收对所形成的地图的选择,其中机器人至少部分地基于接收到的选择进行自主行走。
在一些实施方案中,机器人还包括地图评估单元,所述地图评估单元配置成校正地图中的错误。在一些实施方案中,错误的校正包含机器学习,所述机器学习将地图中的至少一个错误与所校正的地图的至少一部分相关联。
在一些实施方案中,错误至少包含重叠的物体。在一些实施方案中,错误包含无法形成闭环。在一些实施方案中,错误包含地图中的预定图案。
在一些实施方案中,地图评估单元还配置成校正地图中的错误。在一些实施方案中,错误的校正包含机器学习,所述机器学习将地图中的至少一个错误与所校正的地图的至少一部分相关联。
在一些实施方案中,处理器还配置成将可行走路线和周围环境的地图与初始化位置相关联。
在一些实施方案中,处理器还配置成至少部分地基于可行走路线和周围环境的地图与初始化位置的关联,确定可行走路线。在一些实施方案中,导航单元还配置成使机器人自主行走还包括配置成使处理设备至少部分地基于所形成的地图进行导航的指令。
在一些实施方案中,机器人还包括通信单元,所述通信单元配置成与服务器通信,其中机器人将地图发送到服务器并接收对地图质量的验证。
在参考附图考虑以下描述及所附权利要求书之后,本公开的这些及其它目标、特征和特性以及相关结构元件的操作方法和功能及各部分的组合和制造经济性将变得更加清楚,附图、以下描述及所附权利要求书全都形成本说明书的一部分,其中相同参考标号在各图中指代对应部分。然而,应明确地理解,图式仅用于说明和描述目的,且不意图作为本公开的限制的定义。除非上下文另外明确规定,否则在本说明书和权利要求书中使用时,单数形式“一”及“所述”包含多个指示物。
附图说明
将在下文中结合附图来描述所公开的方面,提供附图是为了说明而不是限制所公开的方面,其中相同符号表示相同元件。
图1A是根据本公开的实施方案的机器人自主行走的一个实例路线的顶视图。
图1B是根据本公开的实施方案的说明用户正在向机器人演示路线的图1A中所说明的实例路线的顶视图。
图1C是根据本公开的原理的图1A和1B中示出的机器人自主行走的替代性实例路线的顶视图,其中机器人避开物体。
图2是根据本公开的原理的用于训练机器人沿着实例路线自主行走的示范性方法的过程流程图。
图3是根据本公开的一些实施方案的一个示范性机器人的功能框图。
图4是根据本公开的原理的其中示范性机器人学习实例路线然后沿着所述实例路线行进的示范性方法的过程流程图。
图5A是根据本公开的原理的用于从用户接收输入以便开始教示或选择实例路线的一个示范性用户界面。
图5B-5D是根据本公开的原理的检测初始化位置并对实例定向和实例方位进行初始化的示范性机器人的顶视图。
图5E是根据本公开的原理的示范性机器人的顶视图,其中机器人发射能量图案。
图6A是根据本公开的原理的说明用户在为机器人演示示范性自主行走路线时控制机器人的侧面视图。
图6B说明根据本公开的原理的地板擦洗器的示范性主体形式的各个侧面视图。
图6C说明根据本公开的原理的机器人的示范性主体形式的各个侧面视图。
图6D是根据本公开的原理的用户在机器人感测它的周围环境时控制机器人的顶视图。
图7A-7B说明根据本公开的原理的机器人在环境中行进时所生成的各种实例地图。
图8A-8B说明根据本公开的原理的可在地图中呈现的各个实例绘制物体,其中图8A展示彼此大体上平行的一组实例物体,而图8B展示彼此大体上不平行的另一组实例物体。
图8C是根据本公开的原理的用于在地图中搜索大体上平行的物体的掩模的顶视图。
图9A是根据本公开的原理的地图的各路线部分之间的示范性路线不连续部分的顶视图。
图9B是根据本公开的原理的地图的各物体部分之间的物体不连续部分的顶视图。
图9C是根据本公开的原理的具有示范性不连续部分的绘制部分的顶视图,所述示范性不连续部分包含路线不连续部分和物体不连续部分两者。
图10是根据本公开的原理的具有示范性重叠物体的绘制部分的顶视图。
图11A是根据本公开的原理的在示范性闭环路线中行进的机器人的顶视图,其中实例初始化位置大体上类似于实例结束位置。
图11B是根据本公开的原理的示范性绘制错误,其中机器人将绘制错误与校正路线相关联。
图12是根据本公开的原理的可用于路线选择的实例用户界面。
图13是根据本公开的原理的用于操作机器人的示范性方法的过程流程图。
本文中所公开的所有图均为2017Brain Corporation。版权所有。
具体实施方式
在下文中参考附图更完整地描述本文中公开的新颖系统、设备和方法的各个方面。然而,本公开可以许多不同形式来体现,且不应被解释为限于贯穿本公开所呈现的任何特定结构或功能。相反地,提供这些方面以使得本公开将为透彻且完整的,并且将向所属领域的技术人员充分传达本公开的范围。基于本文中的教示,所属领域的技术人员应了解,本公开的范围意图涵盖无论是独立于本公开的任何其它方面而实施还是与之组合而实施的本文中所公开的新颖系统、设备和方法的任何方面。例如,可以使用本文中所阐述的任何数目个方面来实施设备或实践方法。另外,本公开的范围意图涵盖使用除本文中所阐述的本公开的各个方面之外的或不同于本文中所阐述的本公开的各个方面的其它结构、功能性或结构与功能性来实践的此设备或方法。应理解,本文中所公开的任何方面可通过权利要求的一个或多个要素来实施。
尽管本文描述了特定实施方案,但这些实施方案的许多变化和排列都属于本公开的范围。尽管提及了实施方案的一些益处和优点,但本公开的范围不欲限于特定益处、用途和/或目标。详细描述和图式仅说明本公开,且不具有限制性,本公开的范围由所附权利要求书和其等效物限定。
本公开提供改良的操作机器人以进行自主行走的系统和方法。如本文中所使用,机器人可包含配置成自动实行一系列复杂动作的机械或虚拟实体。在一些情况下,机器人可为由计算机程序或电子电路系统引导的机电机器。在一些情况下,机器人可包含配置成进行自主行走的机电机器,其中机器人可以在几乎没有用户控制的情况下从一个位置移动到另一位置。此类自主行走机器人可包含自动驾驶汽车、地板清洁器(例如,地板擦洗器、真空吸尘器等)、飞行器、无人机等等。在一些实施方案中,本公开中所描述的系统和方法中的一些可实施在虚拟环境中,其中虚拟机器人可以在具有物理世界的特性的模拟环境中(例如,在计算机模拟中)学习演示路线。在习得那些路线之后,机器人接着可以使用公开于本公开中的系统和方法在模拟环境中和/或在现实世界中沿着学习路线自主行走。
现提供本公开的系统和方法的各种实施例和变化形式的详细描述。虽然主要在机器人地板清洁器的上下文中进行论述,但是应了解,本文中包含的所述系统和方法可用于其它机器人,包含例如任何自主行走的机器人。鉴于本公开的内容,所属领域的技术人员将容易想到本文中所描述的技术的多种其它示范性实施或用途。
有利的是,本公开的系统和方法至少:(i)减少或消除了对环境特定编程的需要;(ii)减少或消除了对高技能技术人员进行机器人编程的需要;(iii)提供一般编程机器人的专用性能;(iv)去除或减少了对任务特定编程的需要(例如,为进行清洁而到障碍物的接近程度;以及(v)实现机器人的有效自主行走。鉴于本公开的内容,所属领域的普通技术人员可以容易地辨别出其它优点。
例如,通过演示来训练机器人沿着路线行进,用户不必事先对每条路线进行编程。有利的是,这可使得用户能够将机器人训练成在用户事先没有预料到的环境中行走。并且,用户不需要用任何特定的专业知识来训练机器人。例如,用户可以不必了解计算机科学和/或了解如何对机器人进行编程。相反地,用户只需了解如何执行他/她想要机器人执行的任务。例如,如果机器人是地板清洁器,那么用户只需了解如何清洁地板,这一清洁操作他/她可以演示给机器人。
在一些情况下,训练机器人沿着路线行进可允许机器人按照说明书执行特定任务,而不必在每一份说明书中进行识别和编程。举例来说,如果机器人是地板擦洗单元,那么可能需要地板擦洗单元从墙壁、搁架等行驶某一距离。用户可以在训练机器人时演示那些距离,并且机器人在一些情况下可以重复那些距离。
此外,训练可以学习可行走路线的机器人可使得机器人能够进行专门编程以在特定环境中高效地行走,同时也能够进行一般编程以在许多环境中执行。有利的是,这允许此类机器人具有在特定应用中有所优化同时能够灵活地用于各种应用的益处。
在一些实施方案中,地图和路线可在行走之前进行验证和/或确认。这一验证和/或确认可以防止发生机器人会因为地图和/或路线的质量较差而撞到墙壁和/或障碍物的事故和/或情形。
图1A通过本公开的实施方案说明机器人102自主行走的实例路线106的顶视图。机器人102可以在环境100中自主行走,环境100可包括各种物体108、110、112、118。机器人102可在初始化位置104启动并在结束位置114处结束。
举例来说,在一些实施方案中,机器人102可以是机器人地板清洁器,例如机器人地板擦洗器、真空吸尘器、蒸汽机、拖把、清扫器等等。环境100可以是具有希望清洁的地板的空间。例如,环境100可以是商店、仓库、办公楼、住宅、储存设施等。物体108、110、112、118中的一个或多个可以是货架、显示器、物体、物品、人、动物或可位于地板上或以其它方式阻碍机器在环境中行走的任何其它实体或事物。路线106可以是机器人102所行进的清洁路径。路线106可沿循在物体108、110、112、118之间穿行的路径,如实例路线106中所说明。例如,如果物体108、110、112、118是商店里的货架,那么机器人102可以沿着商店的过道前进并清洁过道的地板。然而,还设想了其它路线,例如但不限于沿着开放的地板区域来回穿行和/或用户将用来清洁地板的任何清洁路径。因此,分别在图1A、1B和1C中说明的路线106、116、126中的一个或多个可以不同方式呈现,如所说明,并且仅仅是作为说明性实例。如所说明,示出了环境100的一个实例,但是应了解,环境100可采用任何数目个形式和布置(例如,房间或建筑物的任何大小、配置和布局),且不受本公开的限制。
在路线106中,机器人102可开始于可作为其起点的初始化位置104,并沿着路线106清洁,直到它到达结束位置114为止,在结束位置114处,它可以停止清洁。参考图6A描述,结束位置114可以由用户604指定。在一些情况下,结束位置114可以是路线106中的某一位置,在这一位置之后,机器人102已经清洁完期望地板区域。在一些情况下,结束位置114可以与初始化位置104相同或大体上类似,使得机器人102大体上成闭环进行清洁,且在它的起点附近结束,所述起点即初始化位置104。在一些情况下,结束位置114可以是存放机器人102的位置,例如临时停车场、储藏室或壁橱等等。在一些情况下,结束位置114可以是用户604决定停止清洁和训练机器人102的点。机器人102可以在沿着路线106的每个点处进行清洁,也可以不在沿着路线106的每个点处进行清洁。例如,如果机器人102是机器人地板擦洗器,那么机器人102的清洁系统(例如,水流、清洁刷等)可以仅在路线106的一些部分中操作,而在路线106的其它部分中和/或在一些轨迹中(例如,在沿特定方向移动或沿着路线106以特定顺序移动时)不操作。这可适用于仅地板的一些区域需要清洁而其它区域不用清洁的情况。在这些情况下,机器人102可在用户604为机器人102演示要清洁的区域中打开清洁系统,并在其它区域中关闭清洁系统。
图1B说明在机器人102在环境100中沿着路线106自主行进之前用户604向机器人102演示路线116的顶视图。在演示路线116时,用户可在初始化位置104处启动机器人102。接着,机器人102可在物体108、110、112、118周围穿行。机器人102最后可以在结束位置114处结束。在一些情况下,自主行进的路线106可以与演示路线116完全相同。在一些情况下,路线106可能不与路线116完全相同,但是可以大体上类似。例如,当机器人102沿着路线106行走时,机器人102使用它的传感器(例如,传感器560A-D和/或传感器568A-B,如将参考图5B-E描述)来感测它相对于它的周围环境的位置。在一些情况下,此类感测可为不精确的,从而可能使得机器人102无法沿着所演示的且机器人102被训练沿循的精确路线行走。在一些情况下,当机器人102沿着路线106自主行走时,对环境100的较小改变可能会使机器人102偏离路线116,所述改变例如货架的移动和/或货架上的物品的改变。作为另一实例,如图1C中所说明,当沿着路线126自主行走时,机器人102可以通过掉头来避开物体130、132,路线126可以是机器人102至少部分地基于演示路线116行进的另一路线。当用户演示路线116时,物体130、132可能已经不存在(且未被避开)。例如,物体130、132可为临时放置的和/或暂时性的物体/物品,和/或对环境100的暂时性和/或动态改变。作为另一实例,用户604可能已经糟糕地演示了路线116。例如,用户604可能已经撞上和/或撞到墙壁、搁架、物体、障碍物等。在这些情况下,机器人102可在存储器(例如,存储器302)中存储它可以校正的一个或多个动作,例如撞上和/或撞到墙壁、搁架、物体、障碍物等。然后当机器人102沿着演示为路线126的路线116自主行走时,机器人102可以校正此类动作,并且在它自主行走时不执行它们(例如,不撞上和/或撞到墙壁、搁架、物体、障碍物等)。通过这种方式,机器人102可以确定沿着例如演示路线的可行走路线的至少一部分不进行自主行走。在一些实施方案中,确定沿着可行走路线的至少一部分不进行自主行走包含确定避开障碍物和/或物体的时间。
如先前所提及,当用户演示路线116时,用户可以打开和关闭机器人102的清洁系统或执行其它动作,以便训练机器人102沿着路线116在何处(例如,在什么方位)和/或沿着什么轨迹进行清洁(随后训练机器人102何时沿着路线106进行自主清洁)。机器人可以在存储器302中记录这些动作,并且之后在自主行走时执行它们。这些动作可包含机器人102可以执行的任何动作,例如转动、打开/关闭水、喷水、打开/关闭真空吸尘器、移动真空软管位置、挥动臂、抬起/降低升降器、移动传感器、打开/关闭传感器等。
图2说明用于训练机器人102沿着路线106自主行走的示范性方法200的过程流程图。部分202包含将机器人102定位在初始化位置104中。此机器人102到初始化位置104的第一放置可由用户604执行(稍后参考图6描述),用户604可以是清洁工、管理员或任何其他人,他们驱动、远程控制、推动或以其它方式控制机器人102以将其移动到初始化位置104中。例如,用户604可使控制信号发送到机器人102。机器人102可接收那些控制信号作为移动的指令。
返回图2,部分204包含向机器人102演示行走路线116。举例来说,通过使用图1B,用户604可以通过不限于沿着路线116驱动、远程控制、推动或以其它方式控制机器人102的方式向机器人102演示。例如,用户604可使控制信号发送到机器人102。机器人102可接收那些控制信号作为移动的指令。多个这些移动可共同地形成演示路线。通过这种方式,用户604可以向机器人102演示期望的行进路线。在机器人地板清洁器的上下文中,演示路线116可以是清洁地板的期望路线。通过这种方式,用户604训练机器人102如何清洁地板。
返回图2,部分206包含再次将机器人102定位在初始化位置104中。此机器人102到初始化位置104中的第二放置可在部分204之后的稍后时间点进行,例如大体上正好在部分204的演示之后,或在稍后的某一时间,例如数小时后、数天后、数周后,或每当用户604想要清洁地板时。
返回图2,部分208包含发起自主行走。在一些情况下,在用户发起自主行走之后,机器人102可以沿着路线106(或在一些情况下,沿着路线126)行进,路线106可以大体上类似于演示路线116。在一些实施方案中,用户604可以在用户界面上选择演示路线,如将参考图11A所描述的。举例来说,通过使用图1A,机器人102可以接着沿着路线106或大体上类似于路线106的路线从初始化位置104自主行走到结束位置114。
图3说明在一些实施方案中的实例机器人102的功能框图。如图3中所说明,机器人102包含控制器304、存储器302、电源306和操作单元308,每个操作单元308可以操作方式和/或以通信方式耦合到彼此和彼此的组件和/或子组件。控制器304控制由机器人102执行的各种操作。鉴于本公开的内容,所属领域的普通技术人员将容易清楚,尽管在图3中说明了特定实施方案,但是应了解,架构在某些实施方案中可以变化。
控制器304可包含一个或多个处理器(例如,微处理器)和其它外围设备。如本文中所使用,术语处理器、微处理器和数字处理器可包含任何类型的数字处理装置,例如但不限于数字信号处理器(“DSP”)、精简指令集计算机(“RISC”)、通用(“CISC”)处理器、微处理器、门阵列(例如,现场可编程门阵列(“FPGA”))、可编程逻辑装置(“PLD”)、可重新配置的计算机结构(“RCF”)、阵列处理器、安全微处理器和专用集成电路(“ASIC”)。此类数字处理器可包含在单个整体集成电路管芯上或分布在多个组件上。
控制器304可以操作方式和/或以通信方式耦合到存储器302。存储器302可包含任何类型的集成电路或适于存储数字数据的其它存储装置,包含但不限于只读存储器(“ROM”)、随机存取存储器(“RAM”)、非易失性随机存取存储器(“NVRAM”)、可编程只读存储器(“PROM”)、电可擦除可编程只读存储器(“EEPROM”)、动态随机存取存储器(“DRAM”)、移动DRAM、同步DRAM(“SDRAM”)、双倍数据速率SDRAM(“DDR/2SDRAM”)、扩展数据输出RAM(“EDO”)、快速页面模式RAM(“FPM”)、减少时延DRAM(“RLDRAM”)、静态RAM(“SRAM”)、“闪存”存储器(例如,NAND/NOR)、忆阻器存储器、伪静态RAM(“PSRAM”)等。存储器302可向控制器304提供指令和数据。例如,存储器302可以是其上存储有多个指令的非暂时性计算机可读存储媒体,所述指令可由处理设备(例如,控制器304)执行以操作机器人102。在一些情况下,指令可配置成在由处理设备执行时使处理设备执行本公开中所描述的各种方法、特征和/或功能性。因此,控制器304可基于存储在存储器302内的程序指令来执行逻辑和算术运算。
操作单元308可耦合到控制器304或任何其它控制器,以执行本公开中所描述的各种操作。在一些实施方案中,在操作单元308中可以包含一个或多个模块或者不包含模块。贯穿本公开,可参考各种控制器和/或处理器。在一些实施方案中,单个控制器(例如,控制器304)可用作所描述的各种控制器和/或处理器。在其它实施方案中,可使用不同控制器和/或处理器,例如特定用于操作单元308中的一个或多个的控制器和/或处理器。控制器304可向操作单元308发送和/或接收信号,例如功率信号、控制信号、传感器信号、询问信号、状态信号、数据信号、电信号和/或任何其它所需信号,包含离散和模拟信号。控制器304可以协调和/或管理操作单元308,和/或设置时序(例如,同步或异步)、打开/关闭、控制功率预算、接收/发送网络指令和/或更新、更新固件、发送询问信号、接收和/或发送状态,和/或执行用于运行机器人102的特征的任何操作。
操作单元308可包含执行机器人102的功能的各种单元。例如,操作单元308中的单元可包含绘制和定位单元312、传感器单元314、地图评估单元324、致动器单元318、通信单元316、导航单元326和用户界面单元322。操作单元308还可包括提供机器人102的各种功能性的其它单元。在一些情况下,操作单元308中的单元可以实例化成软件或硬件或软件和硬件两者。例如,在一些情况下,操作单元308中的单元可包括由控制器执行的计算机实施的指令。在一些情况下,操作单元308中的单元可包括硬编码逻辑。在一些情况下,操作单元308中的单元可包括由控制器执行的计算机实施的指令和硬编码逻辑两者。当操作单元308至少部分地实施成软件时,操作单元308可包含配置成提供一个或多个功能性的代码的单元/模块。
在一些实施方案中,传感器单元314可包括可以检测机器人102内和/或机器人102周围的特性的系统。传感器单元314可包含在机器人102内部或外部的传感器,和/或具有部分在内部和/或部分在外部的组件。传感器单元314可包含外感受性传感器,例如声纳、激光雷达、雷达、激光、摄像机、红外相机、3D传感器、3D相机和/或本领域中已知的任何其它传感器。传感器单元314还可包含本体感受传感器,例如加速度计、惯性测量单元、里程表、陀螺仪、速度计等等。在一些实施方案中,传感器单元314可收集原始测量值(例如,电流、电压、电阻门逻辑等)和/或变换后的测量值(例如,距离、角度、障碍物中的检测点等)。
在一些实施方案中,绘制和定位单元312可包含当机器人102在环境100(或任何其它环境)中行走时可在计算上构建和更新环境100的地图700(或任何环境的任何其它所生成的地图)(如将参考图7A-7B描述)的系统和方法。绘制和定位单元312可同时绘制环境100和在地图700中定位机器人102(例如,查找机器人102的方位)机器人102。同时,绘制和定位单元312可在地图700中记录演示路线(例如,路线116)(例如,绘制路线716)。可通过将至少部分地由传感器单元314获得的数据施加到至少部分地表示环境100的二维(“2D”)、三维(“3D”)和/或四维(“4D”)地图中来执行绘制。例如,地图700可包含至少部分地表示机器人102检测到的障碍物和/或物体的描绘。地图700还可记录演示路线,例如如将参考图7A-7B描述的绘制路线716。例如,绘制路线716可包含至少部分地基于机器人102相对于例如初始化位置104的参考的方位(例如,包含位置、位移和定向中的一个或多个)的坐标(例如,2D地图中的x和y及3D地图中的x、y和z)。坐标可包含机器人102在任何给定点处相对于例如初始化位置104的参考的定向(例如,位移角度)。如本文中所使用,术语方位具有其普通和惯用含义。例如,在一些情况下,方位可包含物体、机器人102等在位移、坐标等方面的位置。在一些情况下,方位还可包含物体、机器人102等的定向。因此,在一些情况下,术语方位和位姿可互换使用,以包含位置、位移和定向中的一个或多个。通过演示过程形成的地图700可大体上记录机器人102在一个或多个演示/训练中感测到的整个环境。出于此原因,一些人可能会将地图700称为全局地图。在一些情况下,地图700可以是静态的,因为在演示之后,地图700基本上不再更新。在一些实施方案中,地图700和绘制路线716还可分开生成(例如,通过用户使用计算机来生成)并被上载到机器人102上。
绘制和定位单元312还可从传感器单元314接收传感器数据以在地图700中定位机器人102(例如,找到机器人102的方位)。在一些实施方案中,绘制和定位单元312可包含允许机器人102在地图700的坐标中定位自己的定位系统和方法。至少部分地基于来自传感器314的数据,绘制和定位单元312可推断机器人102在环境100的地图700的坐标中的方位。用地图700的坐标定位机器人102的能力可允许机器人102使用地图700在环境100中行走,并且估计机器人102在绘制路线716上的位置。
在一些实施方案中,通信单元316可包含一个或多个接收器、传输器和/或收发器。通信单元316可配置成发送/接收传输协议,例如Wi-Fi、感应无线数据传输、射频、无线电传输、射频标识(“RF ID”)、近场通信(“NFC”)、全球移动通信系统(“GSM”)、红外、网络接口、例如3G(3GPP/3GPP2)的蜂窝技术、高速下行链路包接入(“HSDPA”)、高速上行链路包接入(“HSUPA”)、时分多址(“TDMA”)、码分多址(“CDMA”)(例如,IS-95A、宽带码分多址(“WCDMA”)等)、跳频扩频(“FHSS”)、直接序列扩频(“DSSS”)、全球移动通信系统(“GSM”)、个人局域网(“PAN”)(例如,PAN/802.15)、全球微波接入互操作性(“WiMAX”)、802.20、长期演进(“LTE”)(例如,LTE/LTE-A)、时分LTE(“TD-LTE”)、全球移动通信系统(“GSM”)、窄带/频分多址(“FDMA”)、正交频分复用(“OFDM”)、模拟蜂窝、蜂窝数字包数据(“CDPD”)、卫星系统、毫米波或微波系统、声学、红外(例如,红外数据协会(“IrDA”)),和/或任何其它形式的无线数据传输。
如本文中所使用,网络接口可包含具有组件、网络或过程的任何信号、数据或软件接口,包含但不限于那些火线(例如,FW400、FW800、FWS800T、FWS1600、FWS3200等)、通用串行总线(“USB”)(例如,USB 1.X、USB 2.0、USB 3.0、USB C型等)、以太网(例如,10/100、10/100/1000(千兆以太网)、10-Gig-E等)、同轴电缆多媒体联盟技术(“MoCA”)、Coaxsys(例如,TVNETTM)、射频调谐器(例如,带内或00B、电缆调制解调器等)、Wi-Fi(802.11)、WiMAX(例如,WiMAX(802.16))、PAN(例如,PAN/802.15)、蜂窝(例如,3G、LTE/LTE-A/TD-LTE/TD-LTE、GSM等)、IrDA系列等。如本文中所使用,Wi-Fi可包含以下中的一个或多个:IEEE-Std.802.11、IEEE-Std.802.11的变型、与IEEE-Std.802.11有关的标准(例如,802.11a/b/g/n/ac/ad/af/ah/ai/aj/aq/ax/ay),和/或其它无线标准。
通信单元316还可配置成通过有线连接发送/接收传输协议,所述有线连接例如具有信号线路和接地的任何电缆。例如,此类电缆可包含以太网电缆、同轴电缆、通用串行总线(“USB”)、火线和/或本领域中已知的任何连接。此类协议可供通信单元316使用以与外部系统通信,所述外部系统例如计算机、智能电话、平板电脑、数据捕获系统、移动电信网络、云、服务器等等。通信单元316可配置成发送和接收信号,所述信号包括数字、字母、字母数字字符和/或符号。在一些情况下,信号可以使用例如128位或256位密钥的算法和/或遵守各标准的其它加密算法进行加密,所述标准例如高级加密标准(“AES”)、RSA、数据加密标准(“DES”)、三重DES等等。通信316可配置成发送和接收状态、命令和其它数据/信息。例如,通信单元316可与用户控制器通信以允许用户控制机器人102。通信单元316可与服务器/网络通信,以便允许机器人102向服务器发送数据、状态、命令和其它通信。服务器还可以通信方式耦合到可用于远程监测和/或控制机器人102的计算机和/或装置。通信单元316还可从机器人102的服务器和/或其操作单元308接收更新(例如,固件或数据更新)、数据、状态、命令和其它通信。
在一些实施方案中,致动器单元318可包含致动器,例如电动马达、气体马达、从动磁体系统、螺线管/棘轮系统、压电系统(例如,蠕动型马达)、磁致伸缩元件、手势和/或本领域中已知的驱动致动器的任何方式。举例来说,此类致动器可使机器人102的轮子或其它位移致能驱动器(例如,机械腿、喷气式发动机、螺旋桨、液压等)致动,以在环境100或任何其它环境中行走。在一些情况下,致动器单元318可包含致动器,所述致动器配置用于动作和/或动作特定的任务,例如调用刷子以进行地板清洁、移动(例如,向上、向下、向左、向右、向前、向后移动)刮板、打开/关闭水、喷水、打开/关闭真空吸尘器、移动真空软管位置、挥动臂、抬起/降低升降器、使相机和/或传感器单元314的任何传感器转动,和/或机器人102执行动作所需的任何移动。
在一些实施方案中,用户界面单元322可配置成使用户(例如,用户604或任何其他用户)与机器人102交互。例如,用户界面单元322可包含触控面板、按钮、小键盘/键盘、端口(例如,USB、DVI、显示器端口、E-Sata、Firewire、PS/2、串行、VGA、SCSI、音频端口、HDMI、PCMCIA端口、存储卡端口(例如,SD和miniSD)和/或计算机可读媒体的端口)、鼠标、滚球、控制台、振动器、音频转换器和/或供用户输入和/或接收数据和/或命令的任何界面,不管是以无线方式耦合还是通过导线耦合(包含但不限于本公开中所描述的无线或有线连接中的任一个,例如参考通信单元316)。用户界面单元322可包含显示器,例如但不限于LCD、LED显示器、LED LCD显示器、IPS、阴极射线管、等离子显示器、HD面板、4K显示器、视网膜显示器、有机LED显示器、触摸屏、表面、画布和/或任何显示器、电视、监视器、面板和/或本领域中已知的用于视觉呈现的装置。在一些实施方案中,用户界面单元322可定位在机器人102的主体中。在一些实施方案中,用户界面单元322可以远离机器人102的主体定位,但是可以直接或间接(例如,通过网络或云)以通信方式耦合到机器人102(例如,通过通信单元316)。
在一些实施方案中,地图评估单元324可包含比较器、信号处理器、图像处理器和其它软件或硬件组件。如将参考图7A-7B、8A-8C、9A-9C、10、11所描述,地图评估单元324可分析和评估地图700(或任何其它地图)以检测绘制错误、确定地图700的质量(例如,高、良好、可接受、较差和/或任何其它指定)和/或地图700用于自主行走的可用性。在一些情况下,在分析地图700或任何其它地图的质量时,地图评估单元324可确定已存在绘制错误和/或地图具有较差质量。因此,机器人102可使用用户界面单元322或通过通信单元316提示用户(例如,用户604)重新演示路线(例如,路线116),或以其它方式重新绘制环境100。
在一些实施方案中,导航单元326可包含配置成为机器人102提供方向指令以供行走的组件和/或软件。导航单元326可处理由绘制和定位单元312生成的地图和定位信息、来自传感器单元314和/或其它操作单元308的传感器数据。例如,导航单元326可从绘制和定位单元312接收地图700。导航单元326还可从绘制和定位单元312接收定位信息,所述定位信息可以至少部分地指示机器人102在包含路线716的地图700内的位置。导航单元326还可从传感器单元314接收传感器数据,所述传感器数据可以至少部分地指示在机器人102周围的物体。使用地图、位置和传感器数据中的一个或多个,导航单元326可以指示机器人102要前往的位置(例如,向前、向左、向右、向后等)。
在一些实施方案中,电源306可包含一个或多个电池,包含但不限于锂、锂离子、镍-镉、镍金属氢化物、镍-氢、碳-锌、氧化银、锌-碳、锌-空气、氧化汞、碱或本领域中已知的任何其它类型的电池。一些电池可以是可充电的,例如以无线方式(例如,通过谐振电路和/或谐振槽路)和/或通过插入到外部电源中。电源306还可以是任何能量供应器,包含将太阳能、风能、水能、核能、氢能、汽油、天然气、化石燃料、机械能、蒸汽和/或任何电源转换成电力的墙壁插座和电子装置。
在一些实施方案中,操作系统310可配置成管理存储器302、控制器304、电源306、操作单元308中的模块和/或机器人102的任何软件、硬件和/或特征。例如且不受限制地,操作系统310可包含管理机器人102的硬件资源的装置驱动器。
如先前所提及,机器人102的前述组件中的任一个可以实例化成软件和/或硬件。例如,单元/模块可以是在计算机上运行的一块硬件和/或一段代码。
图4说明其中机器人102学习路线然后沿着所述路线行进的示范性方法400的过程流程图。例如,在教示阶段414的部分402、404、406中,机器人102可以学习用户604演示路线116。随后,在自主阶段416的部分408、410、412中,机器人102可以沿着路线106或路线126自主行走。
在一些实施方案中,机器人102可以通过在图5A中所说明的用户界面500中接收输入574的输入来开始教示阶段414。用户界面500可以在显示器576上呈现,显示器576可以是移动装置、专用装置或具有屏幕且配置成接受用户输入的任何其它装置。在一些情况下,显示器576可以是机器人102的用户界面单元322的部分。在一些情况下,显示器576可以是以通信方式耦合到机器人102的单独显示器,例如但不限于通过机器人102的通信单元316以通信方式耦合到机器人102。输入574可包含按钮、单选按钮、下拉菜单、文本输入和/或本领域中已知的供用户输入信息和/或命令的任何方式。用户界面500还可包含输入572,输入572可用于发起自主阶段416,稍后将在本公开中加以描述。输入572可包含按钮、单选按钮、下拉菜单、文本输入和/或本领域中已知的供用户输入信息和/或命令的任何方式。
返回到图4,在部分402中,机器人102可以检测初始化位置104并对机器人102的方位和/或定向进行初始化。在一些实施方案中,初始化位置104是相对于地板和/或平面图的方位。例如,初始化位置104可以由用户标定(例如,以物理方式或以数字方式绘制和/或标记),使得机器人102可以使用路线训练的初始化方位来对随后的路线进行初始化(例如,在重新调用学习路线时)。在一些实施方案中,机器人102可以至少部分地基于用户停止机器人102的位置来检测机器人102处于初始化位置104。因而,可以假设用户停止机器人102并随后开始训练机器人102的位置(如将参考部分404所描述的)是初始化位置104。在一些实施方案中,在初始化位置104处或大体上接近初始化位置104处可存在传输器(例如,使用RFID、NFC、无线电传输、射频场和/或本公开中所描述的任何其它通信协议传输通信的传输器)。当机器人102检测到它在传输器的顶部或大体上接近传输器时,机器人102可以检测到机器人102处于初始化位置104。在一些情况下,传输器可具有可操作范围,使得机器人102可以仅在它处于开始位置时检测来自传输器的通信。作为说明性实例,NFC的传输范围可以是十厘米或更小。因此,当机器人102通过NFC接收传输时,机器人102可以检测它定位在初始化位置104中。在一些实施方案中,机器人102可从传输器接收传输,并至少部分地基于信号强度的衰减来计算到传输器的距离。通过这种方式,机器人102可以检测它与传输器之间的接近度,并因此检测机器人102相对于传输器和/或初始化位置104的方位。在一些实施方案中,机器人102可以通过对多个传输器的信号强度进行三角测量来确定它的位置。在一些实施方案中,初始化位置104可以由地板上的标志(例如,标记、符号、线等)标定。当机器人102的(例如,传感器单元314的)一个或多个传感器检测到地板上的标志时,机器人102可以检测到机器人102定位在初始化位置104中。
在一些实施方案中,相机定位在天花板上,其中相机可以通信方式耦合(例如,通过通信单元316)到机器人102。在一些情况下,相机可以是传感器单元314的部分。相机可以通过图像处理和/或机器学习确定机器人102的方位/位姿,并将所述方位/位姿传达到机器人102。在一些情况下,相机将通过图像处理和/或机器学习辨识机器人102处于初始化位置104的时间,并向机器人102传达机器人102处于初始化位置104。
在一些情况下,尽管用户604可以根据地板上的标定方位定位机器人102,但是机器人102也可以根据起始位置104与周围物体的关系来检测和记录起始位置104。作为说明性实例,机器人102可以通过用传感器560A-560D中的一个或多个检测周围物体512、546、548、550中的一个或多个来检测起始位置104,如将参考图5B-5D所论述。更具体地说,在一些实施方案中,机器人102可以通过用传感器560A-560D中的一个或多个检测一个或多个周围物体512、546、548、550上的一个或多个方位,例如点590、592、594、596、598中的一个或多个,来检测初始化位置104,如将参考图5B-5D所论述。当处于初始化位置104时,机器人102可以对它的定向和方位进行初始化。
在一些实施方案中,根据初始化方位104,机器人102可以检测机器人102在初始化方位104中的存在和/或确定机器人102相对于一个或多个周围物体的定位和/或定向。在此类实施方案中,为了检测机器人102在初始化方位104中的存在情况并对其定向和/或方位进行初始化,机器人102可以至少部分地使用其传感器(例如,传感器单元314)来感测它的周围环境。这些传感器可以感测周围环境的特性,例如物体(例如,物品、墙壁等)、地板、天花板、人和事物、标志、表面等。在它的周围环境中所感测到的物体的相对方位和/或定向可使得机器人能够获得它相对于它的初始化位置的关系。
作为说明性实例,图5B-SD说明处于初始化位置104的实例机器人102的顶视图,其中机器人102可以检测它在初始化位置104中的存在和/或感测它的定向和/或方位。如图5B中所说明,机器人102可以定位在初始化位置104中。机器人102可包含主体,所述主体具有多个侧面,例如前侧502、右侧508、左侧506和后侧504。机器人102还可具有顶侧564和底侧(未绘出)。所属领域的技术人员应该了解,机器人102同样可以具有对应于机器人102的表面的其它侧面,所述其它侧面可以根据形状(例如,矩形、锥形、人形或任何其它设计的形状)而变化。举例来说,前侧502可定位在机器人102的前向侧上,其中前向侧在机器人102的向前移动方向上向前。后侧504可定位在机器人102的后向侧上,其中后向侧是面向与前向侧大体上相反的方向的侧。右侧508可以是前侧502的右手侧,且左侧506可以是前侧502的左手侧。
机器人102可具有沿着一个或多个前侧502、右侧508、左侧506和/或后侧504定位的一个或多个传感器560A-560D(其可以是传感器单元314的部分和/或大体上类似于本公开中所描述的任何传感器)。传感器560A-560D可包括外感受性传感器。在一些情况下,传感器560A-560D中的每一个可包含可以检测周围环境100的不同特性的多个传感器。机器人102还可具有一个或多个传感器568A、568B,其可包含本体感受传感器。所属领域的技术人员应该了解,可以使用更多传感器,且传感器可处于与图5B-5D中所说明的方位不同的方位,在所述方位期望不同类型的传感器和/或不同的传感器覆盖范围(例如,用于检测环境100的更窄或更宽范围的传感器定位)。
传感器560A-560D可以定位成正交于某一侧(例如,前侧502、右侧508、左侧506和后侧504、顶侧564、底侧(未绘出)和/或任何其它侧),或以某一角度放置。角度可以根据待感测的期望物体和范围、焦平面、关注区和/或传感器560A-560D中的每一个的其它特性来确定。作为非限制性实例,声纳传感器可以发射声学信号,所述声学信号以声纳传感器的扩展(例如,多叶形图案、扇形或传感器的其它特性形状)扇出。例如,图5E说明机器人102的顶视图,其中机器人102发射和/或接收能量图案580B。能量图案580B本质上是说明性的,且不表示信号的实际波形或传输。相反地,能量图案580B指示由传感器560B从前侧104发射和/或在一些情况下随后进行反射和接收的能量,从而使得能够在能量图案580B的整个扩展上检测物体。能量图案580B可以是供传感器560B类型使用的特性能量。例如,如果传感器560B是激光雷达,那么能量图案580B可以至少部分地表示从传感器560B发射(并且在一些情况下随后进行反射和接收)的多个光波的图案。如果传感器560B是声纳传感器,那么能量图案580B可以是由传感器560B发射(并且在一些情况下随后进行反射和接收)的声波图案。如果传感器560B是相机,那么环境光或来自传感器560B的闪光灯的光可以照亮物体,并且传感器560B可以检测到反射光。因而,在一些情况下,如果传感器560B没有发射能量,能量图案580B可能不表示发射的能量,而是表示接收到的能量。如果传感器560B是红外传感器或检测红外的3D相机,能量图案580B可以是由传感器560B发射(并且随后进行反射和接收)的红外光的图案。在红外传感器的情况下,传感器560B还可使用滤光器来观察反射的环境红外光。作为另一实例,传感器560B可以是配置成发射和接收能量以在三个维度上感测环境的3D传感器。所属领域的技术人员应该了解,可以使用其它传感器,且能量图案580B可以至少部分地表示由传感器560B发射、反射和/或接收的特性能量。
实例声纳传感器可以定位为传感器560A-560D中的一个或多个,使得所述扩展覆盖机器人102的期望区域或范围。可以相对于传感器560A-560D或相对于机器人102的主体上的另一方位,例如机器人102的质量中心或任何其它指定方位来进行测量(例如,距离和/或角度测量)。
返回到图5B,使用一个或多个传感器560A-560D,机器人102可以在其周围环境中检测物体512,并估计机器人102相对于物体512的方位和/或定向。例如,物体512可以是障碍物(例如,物品、墙壁等)。根据物体512,机器人102可以测量到物体512上的点590的距离516,距离516可以是使用标准单位的绝对距离测量,所述标准单位例如英寸、英尺、米或任何其它测量单位(例如,公制测量、US或其它测量系统)。在一些实施方案中,距离516可以以相对(或非绝对)单位进行测量,所述相对单位例如刻度、像素、传感器范围的百分比等等。在一些实施方案中,距离516可以用相对于参考点的x和y坐标表示,所述参考点例如初始化位置104、物体512、传感器560A-560D中的任一个、机器人102的质量中心或任何其它确定位置中的点。在这些情况下,x坐标可以是相对于第一轴到参考点的距离,且y坐标可以是沿着第二轴到参考的距离,第二轴正交于第一轴,从而形成直角坐标系。在一些情况下,距离516可以在三个维度上测量,所述三个维度包含前述x和y坐标,以及z坐标,其中z坐标可以是沿着第三轴到参考点的距离。
在一些实施方案中,一个或多个传感器560A-560D可以测量或估计到物体512的点590的距离516。例如,传感器560A可以是声纳传感器,所述声纳传感器可以通过测量初始发射的声波和声波反射回到传感器560A的时间差来测量距离,其中发射和反射声波之间的时间差可以使用声速来缩放成距离。
在一些实施方案中,一个或多个传感器560A-560D可形成地图700,如随后将描述的,其中地图700包含物体512,在一些实施方案中,还包含学习路线。可以至少部分地基于在地图700上获得的近似测量来估计距离516,例如通过使用地图700上相对单位,或者将地图700的相对单位缩放成绝对距离测量。
机器人102还可估计它在初始化位置104中的定向。在一些实施方案中,机器人102可以估计相对于参考点的角度514,例如相对于初始化位置104、物体512、传感器560A-560D、机器人102的质量中心或任何其它确定位置中的点的角度。角度514可以度、弧度或任何单位的形式来测量。在一些实施方案中,角度514可以相对于2D平面来测量,所述2D平面例如水平面(例如,前述距离516或其它测量的直角坐标系)。在一些实施方案中,还可以测量额外的角度,例如物体512相对于机器人102的倾斜角、偏航角和俯仰角中的一个或多个。
作为说明性实例,机器人102可以测量相对于物体512的角度514。类似于它可以用来估计到物体512的距离516的方式,一个或多个传感器560A-560D可以估计相对于物体512的角度514。例如,传感器560A可以是声纳传感器,所述声纳传感器可基于接收到的反射能量的角度来确定物体512相对于传感器560A的定向(例如,角度514)。如先前所提及,在一些实施方案中,一个或多个传感器560A-560D可形成地图700,地图700可包含物体512。角度514可以至少部分地基于在地图700上获得的近似测量来估计,例如通过使用地图700上的相对单位,或者将那些相对单位缩放成测得的距离。
在一些实施方案中,机器人102可以在存储器302中记录它相对于物体512和/或物体512中的点590的方位和/或定向(例如,距离516和/或角度514),并将它相对于物体512和/或点590的方位与初始化方位104相关联。通过这种方式,机器人102可以随后检测初始化方位104并在之后返回到初始化方位104时对相对于物体512和/或点590的方位进行初始化。初始化方位104的检测和方位的初始化可由绘制和定位单元312执行。
图5C说明以某一角度定位在初始化位置104中的机器人102的顶视图。此时,机器人102的传感器560A可以使用大体上类似于参考图5B描述的传感器560A用来测量距离516和角度514的方式的系统和方法来测量以角度518到物体512的点591的距离524。另外,图5C说明多个传感器560A-560D可独立地测量相对于物体512的距离和角度。例如,传感器560B可以使用大体上类似于参考图5B描述的机器人102的传感器560A用来测量距离516和角度514的方式的系统和方法来测量相对于物体512的点592的距离522和角度520。通过这种方式,机器人102可以检测初始化方位104和/或对机器人102相对于物体512的方位和/或定向进行初始化。在一些实施方案中,机器人102可以在存储器302中记录机器人102相对于物体512和/或物体512中的点591、592的方位和/或定向(例如,距离516、522和角度514、520中的一个或多个),并将机器人102相对于物体512和/或点591、592的方位和/或定向与初始化方位104相关联。因此,机器人102随后可检测初始化方位104,并在之后返回到初始化方位104时对机器人102相对于物体512和/或点591、592的方位和/或定向进行初始化。
图5D说明实例机器人102的顶视图,其中多个实例物体512、546、548、550用于检测初始化位置104和/或对机器人102的定向和/或方位进行初始化。使用大体上类似于参考图5B描述的机器人102的传感器560A用来测量距离516和角度514的方式的系统和方法,机器人102还可测量相对于物体546的点594的距离558和角度540、相对于物体548的点596的距离554和角度542,以及相对于物体550的点598的距离556和角度544。通过这种方式,机器人102可以检测初始化方位104,并对机器人102相对于物体512、546、548、550和/或其中的点590、594、596、598中的一个或多个的方位和/或定向进行初始化。在一些实施方案中,机器人102可以在存储器302中记录它相对于物体512、546、548、550的一个或多个点590、594、596、598的方位和/或定向(例如,距离516、558、554、556和/或角度514、540、542、544),并将机器人102相对于物体512、546、548、550和/或其中的点590、594、596、598中的一个或多个的方位和/或定向与初始化方位104相关联。因此,机器人102随后可检测初始化方位104并在之后返回到初始化方位104时对机器人102的方位和/或定向进行初始化。
使用多个物体512、546、548、550来检测初始化位置104可以有利地使得机器人102更精确地定位初始化位置104。使用多个物体512、546、548还可以为初始化位置104提供额外的独特性,这可以帮助机器人102检测初始化位置104和/或减小机器人102将初始化位置104弄错为不同位置的几率。
当机器人102测量相对于物体的距离和角度,如参考图5B-5D所描述,机器人102可以对外感受性传感器568A-568B机械能初始化。传感器568A-568B的初始化可包括将传感器568A-568B置零、将传感器568A-568B设置成初始值,或在存储器302中存储传感器568A-568B的当前值。在一些实施方案中,外感受性传感器568A-568B可相对于参考点进行初始化。作为说明性实例,机器人102可以相对于点590对外感受性传感器568A-568B进行初始化,使得点590被视为原点(例如,2D地图中的(0,0)或3D地图中的(0,0,0))。因此,机器人102可以测量相对于点590的距离516和角度514,并确定机器人102相对于原点的初始方位和/或定向。此确定可由绘制和定位单元312执行。在一些实施方案中,使用距离516和/或角度514,机器人102可以使用向量(例如,距离516和角度514)的三角法确定它的坐标(例如,2D地图中的(x,y)或3D地图中的(x,y,z))。例如,在一些情况下,x坐标可以是角度514的余弦乘以距离516。在一些情况下,y坐标可以是角度514的正弦乘以距离516。另一点,例如但不限于点591、592、594、596、598中的一个,可以类似方式用作原点,并且三角法与如关于图5B-5D说明和/或描述的对应向量(例如,距离516、518、522、558、554、556和/或角度514、518、520、540、542、544)一起使用。在一些情况下,可存在多个原点,使得多个点(例如,点590、591、592、594、596、598)中的两个或更多个可对机器人102进行初始化。为了形成多个地图、出于计算简单性提供供选择的多个原点、在一个或多个传感器具有不当读取的情况下提供传感器检查以及其它益处,可能需要使用多个原点。
有利的是,传感器568A-568B可以使用里程计相对于传感器568A-568B的这一初始化跟踪机器人102的移动(例如,行进距离和转动数量)。例如,传感器568A-568B可包含一个或多个可以检测机器人102的转动角的里程表(例如,轮编码器(例如,旋转编码器)、视觉里程计、指南针、全球定位系统(“GPS”)、惯性测量单元(“IMU”)、激光雷达、3D相机(例如,红色、绿色、蓝色、深度(“RGB-D”)相机)等等)。IMU可包含加速度计、磁力计、角速率传感器等等。例如,如果传感器568A包含激光雷达,那么位移(和对应的方位)可以基于不同图像在不同时间的方位差来确定。如果使用RGB-D相机,那么可以使用扫描匹配来确定方位。传感器568A-568B还可包含用于测量机器人102行进的距离的一个或多个里程表。
返回到图4的方法400,在部分404中,机器人102可以在用户控制下沿着路线116(在图1B中说明)行进,同时记录路线116和环境100的地图700。图6A说明实例用户604控制实例机器人102的侧视图。用户604可以是清洁工、管理员或可以使用机器人102的任何其他人。如所说明,机器人102可以是地板清洁器,所述清洁器配置成清洁商店、仓库、办公楼、住宅、储存设施等的地板。因此,机器人102可具有配置成清洁在机器人102下方和/或在其周围的地板的刷子608。
机器人102可以进行训练以将动作和/或致动与地图700上的方位和/或轨迹相关联(例如,并且随后执行所述动作和/或致动)。例如,刷子608可由致动器单元318致动,其中刷子608可打开/关闭和/或由致动器单元318抬起/降低。当用户控制刷子608时,机器人102可以在记录路线716和地图700的同时学习刷子608的致动。在一些实施方案中,地图700可包括用于在地图700上和/或其中的路线716上的一个或多个方位和/或轨迹处使刷子608致动的致动器指令。在一些实施方案中,机器人102还可具有一个或多个刮板616。刮板616可以是用于清洁或擦拭地板的橡胶件,例如具有橡胶边缘的叶片。致动器单元318还可用于抬起/降低刮板616。因此,当用户控制机器人102时,机器人102可以在记录路线116和地图700的同时学习刮板616的致动。在一些实施方案中,地图700可包括用于在地图700上的一个或多个位置和/或轨迹处使刮板616致动的致动器指令。还可以类似方式学习擦洗器的其它仪器或任何其它机器人形式的致动,例如打开/关闭水、喷水、打开/关闭真空吸尘器、移动真空软管位置、挥动臂、抬起/降低升降器、使相机和/或传感器单元314的任何传感器转动,和/或机器人102执行动作所需的任何移动。
在一些实施方案中,如果动作和/或致动器指令与地图700上的方位和/或地图700中的路线716相关联,那么在自主行走时,机器人102可以在它每次经过那些方位时执行那些动作和/或致动器指令。在一些实施方案中,如果动作和/或致动器指令与地图700上的方位和轨迹和/或地图700中的路线716相关联,那么在自主行走时,机器人102可在它沿着相同方向和/或沿着路线在相同的相对时间经过一方位时执行那些动作和/或致动器指令。因此,在这些实施方案中,机器人102在它每次经过一方位(例如,它环绕所述方位且多次经过相同的物理位置)时将不执行那些动作和/或致动器指令,而是仅在它沿着特定方向或沿着路线在特定时刻经过所述方位(例如,位置)时才执行此类动作和/或此类致动器指令。
所属领域的技术人员应该了解,机器人102可具有许多不同形式,即使机器人102是地板擦洗器也如此。图6B说明地板擦洗器的实例主体形式的侧视图。这些是意在进一步说明主体形式多样性的非限制性实例,但是并不将机器人102限于任何特定的主体形式,甚至是地板擦洗器。实例主体形式652具有带小框架的直立形状,其中用户可以在后面推动主体形式652来清洁地板。在一些情况下,主体形式652可具有可以帮助用户进行清洁同时还可允许主体形式652进行自主移动的机动推进力。主体形式654具有比主体形式652大的结构形状。主体形式654可以是机动的,使得它除了转向之外的移动几乎不用用户在主体形式654上施力。用户可以在主体形式654移动时使其转向。主体形式656可包含座椅、操作杆和方向盘,其中当主体形式656进行清洁时,用户可以像车辆一样驾驶主体形式656。主体形式658可具有大于主体形式656的形状,并且可具有多个刷子。主体形式660可具有部分或完全包覆的区域,用户在他/她驾驶主体形式660时坐在所述区域中。主体形式662可具有平台,当用户驾驶主体形式662时他/她站在所述平台上。
又另外,如本公开中所描述,机器人102可能根本不是地板擦洗器。为了进一步说明,且不作为限制,图6C说明机器人102的主体形式的一些额外实例。例如,主体形式664说明其中机器人102是站立式车间真空吸尘器的实例。主体形式666说明其中机器人102是具有大体上类似于人体的外观的人形机器人的实例。主体形式668说明其中机器人102是具有螺旋桨的无人机的实例。主体形式670说明其中机器人102具有带轮子和乘客舱的车辆形状的实例。主体形式672说明其中机器人102是飞行器的实例。
返回到图6A,机器人102可以用任何数目的方式配置以供用户604控制。如所说明,用户604可以走在机器人102后面并使用方向盘610使机器人102转向。在其它实施方案中,机器人102可以是骑乘式地板清洁器(未绘出),其中用户604可骑在机器人102的座椅或站立平台上并控制机器人102。在一些实施方案中,用户604可以用远程控制器远程控制机器人102,所述远程控制器例如无线电遥控、移动装置、操纵杆或本领域中已知的用于导航的任何其它设备。此控制可包含向左转、向右转、向前移动(例如,使用油门踏板或告知机器人102向前走)、向后移动(例如,使用倒档踏板或告知机器人102向后走)、打开/关闭、抬起/降低刷子、打开/关闭水等。在一些实施方案中,用户604可以控制致动器单元318,所述致动器单元318驱动机器人102的移动、抬起/降低刷子、打开/关闭水等。在其它实施方案中,机器人102可能不是地板清洁器,但是可以是本公开中所描述的其它机器人中的任何一个。
图6D说明当用户604控制实例机器人102且机器人102感测它的周围环境时的俯视图。当机器人沿着路线116行走时,机器人102可使用传感器560A-560D中的一个或多个和其它传感器来检测物体并绘制机器人102的周围环境。例如,机器人102可发射能量波580A-580C。能量580B先前在本公开中参考图5E以及在本公开中的其它地方加以描述。能量波580A、580C可以大体上类似于能量波580B,其中能量波580A对应于传感器560A,且能量波580C对应于传感器560C。
图7A说明当实例机器人102在环境100中行进时由实例机器人102生成的实例地图700和路线716。在一些实施方案中,地图700的生成可由绘制和定位单元312执行。地图700可包括像素,其中每个像素对应于环境100的绘制区域。地图700中的像素数目可以基于地图700的分辨率来确定。例如,地图700可以在屏幕上查看,所述屏幕具有不同显示器尺寸(例如,3.5英寸、10英寸、20英寸和/或本领域中已知的屏幕的任何其它对角线屏幕测量)和显示器分辨率(例如,800x 600、1024x 768、1360x 768、1680x 1050、1920x 1200、2560x1440、3840x 2160或本领域中已知的任何已知显示器分辨率)。显示地图700的屏幕还可以是矩形或非矩形的,包含圆形、三角形、六边形或任何其它形状。这些屏幕可以是用户界面单元322的部分。地图700的布局可大体上类似环境100的布局,其中地图700中的每个像素可近似环境100中的位置。
在一些实施方案中,地图700的像素可具有一个或多个状态,其中像素状态至少部分地指示由所述像素表示的环境100中的方位/位置的特性。例如,地图700的像素可以是二进制的,其中第一像素状态(例如,像素值)至少部分地指示无障碍(例如,可行走)位置,且第二像素状态至少部分地指示堵塞(例如,不可行走)位置。举例来说,像素值零(0)可以至少部分地指示无障碍位置,而像素值一(1)可以至少部分地指示堵塞位置。
在一些实施方案中,作为前述二进制状态的替代或补充,地图700的像素可具有其它像素状态,例如以下各项中的一种或多种:至少部分地指示未知位置(例如,不具有信息的方位/位置)的像素状态;至少部分地指示不应前往的方位/位置的像素状态;至少部分地指示是可行走路线(例如,路线716)的部分的像素状态;至少部分地指示机器人102已行进到的区域的像素状态;至少部分地指示机器人102尚未行进到的区域的像素状态;至少部分地指示物体的像素状态;至少部分地指示积水的像素状态;和/或地图700上的方位/位置的任何其它归类。
地图700的像素还可存储多余一个值或像素状态。例如,地图700的每个像素可存储多个值,例如存储在向量或矩阵中的值。这些值可包含至少部分地指示当沿着路线716在某一点(例如,像素)处测量方位时机器人102的方位/位姿(例如,包含位置和/或定向)的值。这些值还可包含机器人102是否应该清洁某一方位/位置,或机器人102应该进行的其它动作。
机器人102可沿着路线116(在图1B中绘出)行进,路线116可以在地图700中反映为路线716。机器人102可以由地图700上的机器人指示符702表示,其中机器人指示符702在地图700中的方位可以至少部分地反映机器人102在环境100中的相对位置。在机器人102沿着路线116行进的每一位置处,机器人102可以确定它相对于初始化位置104或另一参考点(例如,物体512、546、548、550、点590、591、592、594、596、598和/或在初始化位置104的初始化期间机器人102使用的任何其它参考点)的方位和/或定向。这些绘制和定位功能可由绘制和定位单元312执行。初始化位置104可以在地图700上表示为绘制方位724。结束位置114可以在地图700上表示为绘制方位726。例如,机器人102可以使用里程计测量或估计它与初始化位置104(或另一参考点)之间的距离,其中它使用本体感受传感器568A-568B(例如,轮编码器(例如,旋转编码器)、视觉里程计、IMU(包含加速度计、磁力计、角速率传感器等等)等)来跟踪它在初始化位置104处的初始化之后进行的移动。作为说明性实例,本体感受传感器568A-568B中的一个或多个可以是基于机器人102的轮子的旋转测量或估计距离的轮编码器。作为另一示意性实例,视觉里程表可用于通过相机拍摄的连续图像测量或估计行进距离和/或机器人102的定向。视觉里程表可构建光流场(例如,使用Lucas-Kanade方法或其它方法),并估计相机运动,例如通过使用卡尔曼滤光器或投影。作为另一非限制性实例,IMU可用于测量或估计机器人102的方位和/或定向。
当机器人指示符702沿着地图700以大体上类似于机器人102在环境100中行走的方式前进时,机器人102可在地图700中记录路线716。有利的是,在一些实施方案中,共同形成地图700和路线716,其中机器人102在大体上类似的时间绘制环境100并记录路线716。因此,在一些实施方案中,地图700和路线716可以配对在一起,其中每一个记录路线仅与特定地图一起存储。
在作为路线116的一部分的每一位置处,机器人102可以将地图700中的路线716上的对应像素变成指示像素是可行走路线的一部分的像素状态。同时,机器人102还可使用一个或多个传感器560A-560D,并使用大体上类似于关于图5A-5E参考传感器560A-560D描述的那些的系统和方法来测量机器人102相对于物体的方位和/或定向。通过这种方式,机器人102可以检测和/或测量机器人102相对于例如货架或墙壁的物体的方位和/或定向,以便填入地图700,其中机器人102可以至少部分地基于机器人102所进行的这些测量和检测来改变像素状态。
在机器人102检测物体的情况下,机器人102可以使用传感器560A-560D来检测和/或测量在多个方向上那些物体相对于机器人102的方位和/或定向。同时,机器人102可以使用传感器568A-568B来估计机器人102的方位(例如,行进距离)和/或定向。当机器人102在环境中移动时,可能会有不同物体出现在它的传感器范围内。例如,可定位在机器人102的前侧502上的传感器560B可具有范围704。例如,机器人102可以检测在前侧502直到范围704的物体。类似地,传感器560A、560C、560D可各自具有范围并检测在那些范围内的物体。当机器人102检测物体并确定物体相对于机器人102的方位和/或定向时,机器人102可在地图700上指示对应于检测到的物体的像素的位置。此类像素可以变成至少部分地指示那些像素对应于物体(例如,指示堵塞位置或物体的像素状态)的状态。
因为机器人102基于每一个像素填充地图700,所以地图700可能会具有一些伪影。例如,至少部分地基于由传感器接收到的信号,看起来平滑的墙壁可能会呈现为锯齿状。例如,如果传感器560A-560D包含声纳、激光雷达或依赖于来自表面的声音、光或其它要素的反射率的其它传感器,那么在表面内可能存在可变性。还可能存在运动伪影和其它伪影和/或变形。
在一些情况下,传感器560A-560D可能不会感测某些区域。例如,物体可能会阻碍机器人102用于感测某一地区,或所述区域可能出现在盲点(例如,传感器的测量范围没有覆盖到的地方)中。作为另一非限制性实例,框706在地图700上突显了机器人102在地图700上进行转动708时所进行的测量。当机器人102转动时,传感器560A-560D测量由框706标记为白色(例如,可行走位置)的区域,但是一些物体阻碍了传感器的范围,从而形成在框706中所说明的细长的断裂的外观。
当机器人102沿着路线116从初始化位置104行进到结束位置114时,机器人102可生成地图700,地图700包括路线116的表示和在机器人102的传感器范围内的路线116的周围环境100。图7B说明一次完成的实例地图700。有利的是,机器人102可以在一次演示中记录绘制路线716并在地图700中绘制所绘制路线716的周围环境。因此,地图700可以允许机器人102在少至一次的演示中再次沿着路线116(或大体上类似于路线116的路线)自主行走。
其它现代系统和方法可能会要求用户上载地图、在地图上绘制路线,或多次使用绘制环境的演示。这些系统和方法对用户来说可能是繁重的。例如,即使用户能够以一种令人满意的方式执行所有这些步骤来使这些系统和方法发挥作用,这些系统和方法也可能比较繁琐,且提供的用户体验较差。使机器人102在一次演示中记录绘制路线716并在地图700中绘制周围环境可能是有利的,因为它使得用户能够在具有最少用户交互的情况下对机器人102进行训练和/或编程。在机器人102能够轻易地基于相对较少的用户演示来适应许多环境这一点上,此能力同样是有利的。
返回到图4,在部分406中,机器人102可确定地图700中的绘制错误。此确定可由地图评估单元324执行。有利的是,如果机器人102理想地是在生成地图700的单个演示之后(例如,在自主阶段416中)沿着路线106自主行进,那么确定地图700(包含路线716)中是否具有绘制错误可使得机器人102能够避免例如碰撞、错误和/或不精确或不正确绘制的任何负面后果。如果机器人102发现地图700中具有足够的绘制错误和/或地图700具有较差质量,那么机器人102可以向用户(例如,用户604或另一用户)发送(例如,通过用户界面单元322)指示地图的质量较差的警告、告警、提示和/或其它指示。在一些情况下,机器人102可向用户发送重新演示路线(例如,通过再次执行部分402、404)的警告、告警、提示或其它指示。有利的是,在自主行走之前确定错误和/或评估地图700的质量可以节省时间,并且可以通过确保机器人102不会因为它的绘制而撞到障碍物或被卡住来防止机器人102出现损坏。
机器人102可以通过数种方式来检测绘制错误和/或评估地图700(包含路线716)的质量,每一方式单独或组合实施。值得注意的是,不是每一个绘制错误或绘制错误的存在都意味着地图700具有较差质量和/或不可用于自主行走。实际上,地图700可能具有许多错误,但是仍然适合用于自主行走。相反地,部分406可用于确定地图700是否具有足以使机器人102无法或不应该至少部分地基于地图700来自主行走的缺陷。上述内容提供了机器人102可以进行此类评估的方式的一些说明性实例。在一些实施方案中,在检测绘制错误和/或评估地图700的质量时,机器人102可以至少部分地考虑地图700中的错误特性。有利的是,在一些情况下,机器人102可以在用户604几乎没有进行输入和/或努力的情况下检测绘制错误和/或评估地图700的质量。这可以形成顺畅体验,其向用户604进一步强调并加强机器人102的自主性。
作为说明性实例,在一些实施方案中,机器人102可以将地图700传输到服务器、控制中心、移动装置和/或供用户/查看者验证地图700和/或路线716的任何界面。查看者可以在诸如屏幕、计算机显示器、电视等等的显示器和/或用户界面单元322中的任何显示器上查看地图700。查看者还可与机器人102通信,其中此类通信可以至少部分地指示是否可以接受地图700和/或路线716用于自主行走。在一些情况下,机器人102可以使用通信单元316传输地图700,通信单元316可以发送地图700,并接收至少部分地指示是否可以接受地图700和/或路线716用于自主行走的通信。在一些情况下,用户的界面(例如,用户界面单元322)可以在机器人102上,其中用户可以查看地图700和/或路线716,并提供至少部分地指示是否可以接受地图700和/或路线716用于自主行走的输入。
作为另一示意性实例,在某一实施方案中,机器人102可以在包含路线716的地图700中寻找特定预定图案(例如,预定错误图案),其中特定预定图案的存在与否可以至少部分地指示绘制错误和/或地图700的质量。作为说明性实例,如果机器人102是用于商店的地板清洁器,那么机器人102可配置成预期和/或寻找一系列或多系列大致平行的物体108、110、112(在图1A-1C中说明),所述物体可表示陈列商品的货架。如地图700中所表示,物体108、110、112可平行地呈现为绘制物体808、810、812,如图8A中所说明。因此,如果机器人102实际上绘制所绘制物体858、860、862,如图8B中所说明,那么机器人102可以发现地图700中存在错误。
机器人102可以逐像素地或逐区域地检测此类特定图案。在一些情况下,机器人102可使用图像处理,例如分割、边缘检测、形状辨识和/或其它技术来识别地图700中的一个或多个物体858、860、862。一旦识别出物体858、860、862,机器人102就可使用各种方法来确定物体858、860、862是否大致平行于物体858、860、862中的其它物体。接着,机器人102可以测量物体858、860、862的定向和/或方位,例如物体858、860、852之间的距离和/或相对角度。至少部分地基于测得的定向和/或方位,机器人102可以确定物体858、860、862是否大致平行。
作为说明性实例,机器人102可使用播种(seeding)或区域生长法来限定物体858、860、862(例如,查找对应于物体858、860、862的像素)。接着利用这些像素,机器人102可以识别物体858、860、862内的多个点。作为说明性实例,机器人102可以识别物体862中的点868、866、864和物体860中的点890、892、894。机器人102可以测量物体862的点864、866、868中的各个点和物体860的点890、892、894中的各个点之间的距离,并比较那些距离以至少部分地确定物体860、862是否大致平行。例如,如果点866和点892之间及点868和点894之间的距离的差高于预定阈值(例如,指示测量或大致平行的货架的实际位置的可能偏差的阈值,例如但不限于5%、10%、15%差),那么机器人102可以发现物体860、862不是大致平行的。在一些情况下,预定阈值可以存储在存储器302中。如果距离差低于或等于预定阈值,那么机器人102可以发现它们是大致平行的。所属领域的技术人员应该了解,机器人102可以使用点864、866、868、890、892、894中的其它点和/或物体860、862中的其它点来进行类似的距离和距离之间的差的计算。机器人102可以在物体858、860、862中的每一个或任一个和/或可能存在的任何其它物体之间进行类似比较。如果机器人102发现一个或多个大体上不平行的物体,但期望是平行物体的,例如物体108、110、112、118,那么机器人102可以检测到地图700中的绘制错误和/或发现地图700不具有良好质量。在一些情况下,机器人102可接着提示(例如,通过用户界面单元322)用户604再次演示路线。
在另一实例实施方案中,图8C说明可用于在地图700中搜索例如物体808、810、812的平行物体的实例掩模870。掩模870可以是可被视为矩阵的结构模板,其中矩阵中的每个单元表示地图700的像素或像素群组及它们对应的像素状态。如在本领域的某些应用中所使用的,掩模870还可被称作滤光器。掩模870可以存储在存储器302中,和/或可以是配置成处理地图700的软件的一部分。在一些实施方案中,掩模870可以至少部分地基于地图700和物体808、810、812的大小来进行大小设定(例如,作为在x方向上具有m个像素且在y方向上具有n个像素的mxn矩阵)。例如,掩模870的大小可以至少部分地基于地图700的总像素尺寸的百分比(例如,5%、10%、15%、20%、25%或更多)或至少部分地基于物体808、810、812的已知大致测量来预定。在一些情况下,掩模870可以通过搜索方法的迭代来改变大小,其中掩模870开始将地图700搜索为第一大小,然后再次将地图700搜索为第二大小,接着再次将地图700搜索为第三大小,以此类推进行预定次数。例如,掩模870可作为较大掩模来开始,并且在后续迭代中变为较小掩模。注意,图8C中所说明的掩模870的大小是出于说明的目的,且可能不是按比例的。
掩模870可通过横跨并围绕地图700扫掠并且比较掩模870的内容与地图700的内容来搜索地图700。例如,掩模870可以是矩阵,矩阵的每一单元具有至少部分地对应于地图700的像素状态(例如,无障碍(例如,可行走)位置、堵塞(例如,不可行走位置)、未知位置、不应前往、可行走路线的部分、已行进到、未行进到、物体、水、和/或本公开中所描述的地图700的任何其它归类)的值。矩阵的单元872或任何其它单元(例如,右上角单元、左下角单元、右下角单元、中间单元或掩模870中的任何其它单元)可依序与地图700的像素中的一个或多个或全部对准。当所述单元与地图700中的每个像素对准时,掩模870中的其它单元也可与地图700中的周围像素对准。所对准的地图700的每个像素可以与掩模870的对应像素相比较,以检测掩模870和它对准的地图700中的区域之间的类似性。
如所说明,掩模870限定结构876、878,所述结构可以至少部分地指示平行物体(例如,物体808、810、812中的两个物体)。结构876、878的单元(例如,单元876)可具有指示所搜索的物体的一些特性的值。例如,结构876、878的每一个单元可具有至少部分地指示地图700的物体(例如,至少部分地指示地图700中的物体的像素状态)的值。在结构876、878之间的可以是结构880,结构880的像素可具有指示无障碍位置的值。通过这种方式,在一些实施方案中,结构876、878可表示货架,且结构880可表示它们之间的走道。掩模870的每一单元可相应地具有指示地图700的预期像素的值。单元在掩模870中的指定可以反映所搜索的地图700的像素的图案。在一些实施方案中,在迭代搜索中,掩模870可以旋转和/或改变定向。有利的是,这可以允许掩模870在地图700中搜索可能以某一角度倾斜的物品,和/或地图700自身可以某一角度倾斜。
当掩模870识别出地图700中的像素群组大体上匹配(例如,具有例如70%、80%、90%或90%以上的预定匹配阈值)掩模870的单元值时,在掩模870的结构中,机器人102可以生成机器人102已发现掩模870和地图700之间的匹配和/或此类匹配的位置的指示(例如,消息、值或命令)。在一些情况下,如果发现的匹配过少(例如,基于待发现的预期物品的预定数目),机器人102可以检测到地图700中的绘制错误和/或确定地图700质量不佳。在一些情况下,如果发现的匹配过多(例如,当掩模870配置成识别非所要结构时),机器人102也可以检测到地图700中的绘制错误和/或确定地图700的质量不佳。在任一情况下,机器人102可接着提示用户604再次演示路线(例如,通过用户界面单元322)。
作为另一实例,在一些实施方案中,机器人102可寻找地图700和/或路线716中的不连续点。例如,图9A说明实例绘制部分900的实例路线部分902A和实例路线部分902B之间的实例路线不连续部分904。绘制部分900可以是地图700的一部分。绘制部分900可包括物体906A-906B及它们之间的无障碍空间908。在无障碍空间908内,说明具有路线部分902A和路线部分902B的路线。在路线部分902A和路线部分902B之间的是路线不连续部分904。路线不连续部分904可以至少部分地指示错误,因为机器人102在不进入路线部分902A和路线部分902B之间的任何空间的情况下可能不会从路线部分902A前往路线部分902B或从路线部分902B前往路线部分902A。在一些情况下,路线不连续部分904对于机器人102沿着绘制路线716行走来说可能并不是个问题,因为机器人102可以横跨无障碍空间908从路线部分902A行进到路线部分902B,而不存在任何问题。然而,路线不连续部分904本身或与其它路线不连续部分和/或错误组合可以至少部分地指示绘制错误和/或地图700的质量(例如,地图700具有较差质量)。
在检测绘制错误和/或评估地图700的质量时,机器人102可以考虑路线不连续部分904的大小(例如,路线不连续部分904的像素数目、距离等)以及在地图700中的其它地方是否存在其它路线不连续部分。在一些情况下,如果路线不连续部分904的大小高于预定大小阈值(例如,存储在存储器302中),机器人102可以检测到绘制错误和/或确定地图700具有较差质量。预定大小阈值可以使用标准单位以绝对距离测量进行测量,所述标准单位例如英寸、英尺、米或任何其它测量单位(例如,公制测量、US或其它测量系统)或以相对(或非绝对)单位进行测量,所述相对单位例如刻度、像素、传感器范围的百分比等等。这一预定大小阈值可以至少部分地基于包含以下的一个或多个因素来确定:机器人102的(例如,传感器单元314的)传感器的信号分辨率和/或保真度;环境100的复杂度;机器人102的路线不连续部分与绘制错误/较差地图质量之间的经验相关性;机器人102利用路线不连续部分904行走的能力;和/或其它因素。例如,如果机器人102的传感器的信号分辨率和/或保真度为低,那么机器人102可预期在绘制时将存在某一路线不连续部分(例如,路线不连续部分904)且此类路线不连续部分可能较大。这些路线不连续部分的存在可能没有至少部分地指示绘制错误和/或较差地图质量,因此预定大小阈值可以相对较高。相比之下,如果机器人102的传感器的信号分辨率和/或保真度为高,那么路线不连续部分904可能是意料之外的,甚至较小的路线不连续部分也可至少部分地指示地图错误和/或较差地图质量,因此预定大小阈值可以相对较低。作为另一实例,高度复杂的环境100可能会破坏机器人102的(例如,绘制和定位单元312的)绘制和定位能力,且可以预期不连续部分904,因此预定大小阈值可以相对较高。相比之下,相对简单的环境100可能不会破坏机器人102的绘制和定位能力,并且可能不会预期路线不连续部分904,因此预定大小阈值可以相对较低。作为另一实例,如果考虑到环境的安全性,那么预定大小阈值可以相对较低。作为另一实例,机器人102可具有地图质量(和/或不具有绘制错误)已进行独立评估(例如,通过用户或其他人)的先前地图(或在服务器上汇总的地图)。接着,机器人102可以在至少部分地基于不连续部分904和/或其它路线不连续部分来检测绘制错误和/或评估地图700的质量时,在确定预定大小阈值的情况下考虑路线不连续部分的大小之间的相关性。作为另一实例,预定大小阈值可至少部分地基于机器人102根据地图700行走的能力。在路线不连续部分904变成大于预定大小阈值之后,机器人102可能再也无法根据地图700行走,由此机器人102可以检测到绘制错误和/或确定地图700具有较差质量。在检测到错误和/或确定较差质量的任何情况下,机器人102可接着提示用户604再次演示路线(例如,通过用户界面单元322)。
类似地,路线不连续部分904可为地图700的多个路线不连续部分中的一个。机器人102可考虑这些其它路线不连续部分。如果路线不连续部分的数目高于预定数目阈值(例如,存储在存储器302中),那么机器人102可以检测到绘制错误和/或确定地图700具有较差质量。例如,此预定数目阈值可以至少部分地基于包含以下的一个或多个因素来确定:机器人102的(例如,传感器单元314的)传感器的信号分辨率和/或保真度;环境100的复杂度;机器人102的路线不连续部分与绘制错误/地图质量之间的经验相关性;机器人102利用路线不连续部分904行走的能力;和/或其它因素。例如,如果机器人102的传感器的信号分辨率和/或保真度为低,那么机器人102可预期在绘制时将存在某一路线不连续部分(例如,路线不连续部分904)。这些路线不连续部分的存在可能没有至少部分地指示绘制错误和/或较差地图质量,因此预定数目阈值可以相对较高。相比之下,如果机器人102的传感器的信号分辨率和/或保真度为高,那么不连续部分904可能是意料之外的,且路线不连续部分的存在可至少部分地指示绘制错误和/或较差地图质量,因此预定数目阈值可以相对较低。作为另一实例,高度复杂的环境100可能会破坏机器人102的(例如,绘制和定位单元312的)绘制和定位能力,且可以预期路线不连续部分904,因此预定数目阈值可以相对较高。相比之下,相对简单的环境100可能不会破坏机器人102的绘制和定位能力,并且可能不会预期路线不连续部分904,因此预定数目阈值可以相对较低。作为另一实例,如果考虑到环境的安全性,那么预定数目阈值可以相对较低。作为另一实例,机器人102可具有地图质量(和/或不具有绘制错误)已进行独立评估(例如,通过用户或其他人)的先前地图(或在服务器上汇总的地图)。接着,机器人102可以在至少部分地基于路线不连续部分904和/或其它路线不连续部分来检测绘制错误和/或评估地图700的质量时,在确定预定数目阈值的情况下考虑路线不连续部分的数目之间的相关性。作为另一实例,预定数目阈值可至少部分地基于机器人102根据地图700行走的能力。在达到大体上类似于路线不连续部分904的路线不连续部分的预定数目阈值之后,机器人102可能再也无法根据地图700行走,因此机器人102可以检测到绘制错误和/或确定地图700具有较差质量。在检测到错误和/或确定较差质量的任何情况下,机器人102可接着提示用户604再次演示路线(例如,通过用户界面单元322)。
在一些情况下,可以使用混合阈值,在混合阈值中组合地使用上述预定大小阈值和预定数目阈值。例如,预定数目阈值可至少部分地基于高于预定大小阈值的路线不连续部分的数目,高于预定数目阈值就确定地图700含有绘制错误和/或具有较差质量。在检测到绘制错误和/或确定地图700具有较差质量的情况下,机器人102可接着提示用户604再次演示路线(例如,通过用户界面单元322)。
图9B说明实例绘制部分920的实例物体部分926A和实例物体部分926B之间的实例物体不连续部分924。绘制部分920可以是地图700的一部分。如所说明,路线部分922可能不具有任何路线不连续部分。但是在物体部分926A和物体部分926B之间可能存在物体不连续部分924,在物体不连续部分924中没有绘制出物体的一部分。物体不连续部分924可以是指示错误,因为物体不连续部分924可能是地图部分924的未绘制部分,所述未绘制部分处于它应该被绘制到的方位。在一些情况下,物体不连续部分924对于机器人102行走来说可能并不是个问题,因为机器人102可以在它根据路线部分922行走时利用它的传感器检测物体的存在情况。然而,物体不连续部分924本身或与其它不连续部分和/或绘制错误的其它特性组合可以指示绘制错误和/或较差的地图质量。
类似于参考图9A描述的绘制错误的检测和/或质量的评估,在评估地图700时,机器人102可考虑物体不连续部分924的大小(例如,物体不连续部分924的像素数目、距离等)以及在地图700中的其它地方是否存在其它物体不连续部分。在一些情况下,如果物体不连续部分924的大小高于预定大小阈值(例如,存储在存储器302中),那么机器人102可以确定地图700具有绘制错误和/或具有较差质量。例如,此预定大小阈值可以至少部分地基于包含以下的一个或多个因素来确定:机器人102的(例如,传感器单元314的)传感器的信号分辨率和/或保真度;环境100的复杂度;机器人102的路线不连续部分与绘制错误/地图质量之间的经验相关性;机器人102利用物体不连续部分924行走的能力;和/或其它因素。例如,如果机器人102的传感器的信号分辨率和/或保真度为低,那么机器人102可预期在绘制时将存在某一物体不连续部分(例如,不连续部分904)且此类物体不连续部分可能较大。这些物体不连续部分的存在可能没有至少部分地指示绘制错误和/或较差地图质量,因此预定大小阈值可以相对较高。相比之下,如果机器人102的传感器的信号分辨率和/或保真度为高,那么物体不连续部分924可能是意料之外的,甚至较小的不连续部分也可至少部分地指示绘制错误和/或较差地图质量,因此预定大小阈值可以相对较低。作为另一实例,高度复杂的环境100可能会破坏机器人102的(例如,绘制和定位单元312的)绘制和定位能力,且可以预期物体不连续部分924,因此预定大小阈值可以相对较高。相比之下,相对简单的环境100可能不会破坏机器人102的绘制和定位能力,并且可能不会预期物体不连续部分924,因此预定大小阈值可以相对较低。作为另一实例,如果考虑到环境的安全性,那么预定大小阈值可以相对较低。作为另一实例,机器人102可具有地图质量(和/或不具有绘制错误)已进行独立评估(例如,通过用户或其他人)的先前地图(或在服务器上汇总的地图)。接着,机器人102可以在至少部分地基于物体不连续部分924和/或其它物体不连续部分来检测绘制错误和/或评估地图700的质量时,在确定预定大小阈值的情况下考虑物体不连续部分的大小之间的相关性。作为另一实例,预定大小阈值可至少部分地基于机器人102根据地图700行走的能力。在物体不连续部分924变成大于预定大小之后,机器人102可能再也无法根据地图700行走,由此机器人102可以检测到绘制错误和/或确定地图700具有较差质量。在检测到错误和/或确定较差质量的任何情况下,机器人102可接着提示用户再次演示路线(例如,通过用户界面单元322)。
类似地,物体不连续部分924可为地图700的多个物体不连续部分中的一个。机器人102可考虑这些其它物体不连续部分。如果物体不连续部分的数目高于预定数目阈值(例如,存储在存储器302中),那么机器人102可以检测到绘制错误和/或确定地图700具有较差质量。例如,此预定数目阈值可以至少部分地基于包含以下的一个或多个因素来确定:机器人102的(例如,传感器单元314的)传感器的信号分辨率和/或保真度;环境100的复杂度;机器人102的物体不连续部分与绘制错误/地图质量之间的经验相关性;机器人102利用物体不连续部分924行走的能力;和/或其它因素。例如,如果机器人102的传感器的信号分辨率和/或保真度为低,那么机器人102可预期在绘制时将存在某一物体不连续部分(例如,不连续部分904)。这些物体不连续部分的存在可能并不指示绘制错误和/或较差地图质量,因此预定数目阈值可以相对较高。相比之下,如果机器人102的传感器的信号分辨率和/或保真度为高,那么物体不连续部分924可能是意料之外的,且物体不连续部分的存在可至少部分地指示绘制错误和/或较差地图质量,因此预定数目阈值可以相对较低。作为另一实例,高度复杂的环境100可能会破坏机器人102的(例如,绘制和定位单元312的)绘制和定位能力,且可以预期物体不连续部分924,因此预定数目阈值可以相对较高。相比之下,相对简单的环境100可能不会破坏机器人102的绘制和定位能力,并且可能不会预期物体不连续部分924,因此预定数目阈值可以相对较低。作为另一实例,如果考虑到环境的安全性,那么预定数目阈值可以相对较低。作为另一实例,机器人102可具有地图质量(和/或不具有绘制错误)已进行独立评估(例如,通过用户或其他人)的先前地图(或在服务器上汇总的地图)。接着,机器人102可以在至少部分地基于物体不连续部分924和/或其它不连续部分来检测绘制错误和/或评估地图700的质量时,在确定预定数目阈值的情况下考虑物体不连续部分的数目之间的相关性。作为另一实例,预定数目阈值可至少部分地基于机器人102根据地图700行走的能力。在达到大体上类似于物体不连续部分924的物体不连续部分的预定数目之后,机器人102可能再也无法根据地图700行走,因此机器人102可以检测到绘制错误和/或确定地图700具有较差质量。在检测到错误和/或确定较差质量的任何情况下,机器人102可接着提示用户再次演示路线(例如,通过用户界面单元322)。
在一些情况下,可以使用混合阈值,在混合阈值中组合地使用上述预定大小阈值和预定数目阈值。例如,预定数目阈值可至少部分地基于高于预定大小阈值的物体不连续部分的数目,高于预定数目阈值就确定地图700具有绘制错误和/或具有较差质量。在检测到绘制错误和/或确定地图700具有较差质量的情况下,机器人102可接着提示用户704再次演示路线(例如,通过用户界面单元322)。
图9C说明具有不连续部分934的实例绘制部分920,所述不连续部分934包含路线不连续部分和物体不连续部分两者。绘制部分920可以是地图700的一部分。不连续部分934可以是路线部分930和路线部分932之间的不连续部分。不连续部分934还可以是物体936中的不连续部分。如参考图9A-C所描述,路线不连续部分和物体不连续部分均可至少部分地指示绘制错误和/或较差地图质量。当机器人102评估地图700时,机器人102可在检测绘制错误和/或确定地图700的质量时考虑路线不连续部分或物体不连续部分或同时考虑这两者。
作为另一实例,在一些实施方案中,机器人102可在检测绘制错误和/或确定地图700的质量时评估地图700中的物品(例如,路线、障碍物或其它物体)之间的重叠量。图10说明具有重叠物体1002、1004、1006的实例绘制部分1000。绘制部分1000可以是地图700的一部分。如所说明,物体1002、1004、1006可以是机器人102在形成地图700时检测到的墙壁、物体、货架等。至少部分地基于测得的机器人102的定位和定向,机器人102绘制物体1002、1004、1006。因为所估计的物体1002、1004、1006中的每一个的方位和/或定向彼此叠加,所以机器人102可确定在绘制时存在错误。在识别此类重叠区域时,机器人102可逐像素或逐区域地检查地图700。在一些情况下,机器人102可使用掩模和/或滤光器来查找地图700内的预定形状(例如,大体上类似于进行修改以寻找预定形状的掩模870)。预定形状可以至少部分地基于机器人102在绘制时的已知错误,例如先前观察到的物体位置的变换和/或传感器错误。
还可至少部分地通过在像素或像素区域中和/或在其周围检测到的物体1002、1004、1006的密度来识别重叠。在一些情况下,机器人102可在地图700中检测形状,即形状的不规则性。例如,机器人102可检测内陷空间,例如空间1008。在一些情况下,空间1008可为无障碍的、以行进到的和/或可行走的空间。空间1008通常不会出现在物体1002、1004、1006之间,因为机器人102无法进行所绘制的空间1008。因此,如果机器人102检测到空间1008,那么机器人102可确定地图700具有绘制错误和/或具有较差质量。作为另一实例,机器人102可检测锯齿状悬垂物1010、1012。形状的不规则性可使得机器人102能够确定在物体1002、1004、1008中的一个或多个中已经出现错误绘制,因为此类悬垂物通常不会出现在环境100中。因此,至少部分地基于悬垂物1010、1012的不规则性,机器人102可以检测到绘制错误和/或确定地图700具有较差质量。
作为可通过辨识重叠来识别的绘制错误的另一实例,机器人102(和/或机器人102行进的路线)可以在地图700中表示为穿过物体。因为机器人102不太可能会穿过物体,所以这种情况可以至少部分地指示绘制错误。
作为另一实例,机器人102可以通过比较地图700与来自机器人102的至少一个传感器的数据来识别绘制错误和/或地图700的质量。例如,在一些实施方案中,至少部分地使用传感器560A-560D中的一个或多个和传感器568A-568B中的一个或多个来生成地图700。然而,对地图700的精确度的检查可以比较地图700与通过传感器560A-560D和传感器568A-568B中的非全部传感器记录的数据。作为一个说明性实例,传感器568A-B中的一个或多个可确定机器人102的里程计。仅基于里程计的机器人102的路线的表示可以被视为在里程计框架下的地图。这一在里程计框架下的地图可以与地图700相比于,例如使用比较器、减法和/或在本公开中比较地图的任何其它方法。如果在里程计框架下的地图和地图700之间的偏差超过预定阈值(例如,大于40%、50%、60%或至少部分地基于与较差地图质量的相关性的经验确定而确定的任何百分比),那么机器人102可以确定存在绘制错误和/或地图700具有较差质量。
作为另一实例,在一些实施方案中,机器人102可配置成以闭环行进(例如,结束位置大体上类似于初始化位置)。应注意,机器人102可能并不总是以闭环行进。例如,图1A说明因为初始化位置104被说明为不处于与结束位置114基本上相同的位置而没有形成闭环的路线。图11A说明机器人102以实例闭环路线1104行进,其中位置1102既是初始化位置也是结束位置。在此情况下,如果路线1104的地图不具有大致处于位置1102的初始化位置和结束位置,那么机器人102可以检测到绘制错误和/或确定地图具有较差质量。在一些情况下,可存在预定距离阈值(例如,存储在存储器302中)。如果绘制的初始化位置和结束位置不在预定距离阈值内(例如,如果初始化位置和结束位置之间的距离没有超过预定距离阈值),那么机器人102可以检测到绘制错误和/或确定地图具有较差质量。此预定距离阈值可以至少部分地基于地图的大小(例如,预定距离阈值可以是地图大小的某一百分比)、传感器分辨率和/或保真度和/或其它因素来确定。
作为另一实例实施方案,机器人102可具有存储在存储器302中的上载的环境地图。机器人102可接着比较地图700与上载地图。举例来说,机器人102可以利用地图评估单元324的一个或多个比较器来逐像素或逐区域地比较地图700与上载地图。在一些实施方案中,上载地图和/或地图700可进行大小调整以便进行所述比较。如果以逐像素或逐区域的方式没有发现地图700类似于上载地图,那么机器人102可以确定存在绘制错误和/或地图700具有较差质量。因此,机器人102可提示用户604再次演示路线(例如,机器人102可再次执行部分404)。
在一些实施方案中,可以计算上载地图和地图700之间的相似度百分比,其中相似度百分比至少部分地反映上载地图与地图700之间的相似程度。如果相似度百分比降到预定阈值(例如,70%、80%、90%或至少部分地指示上载地图和地图700之间的基本相似度的任何百分比)以下,那么机器人102可以确定存在绘制错误和/或地图700具有较差质量。因此,机器人102可提示(例如,通过用户界面单元322)用户604再次演示路线(例如,机器人102可再次执行部分404)。
在一些实施方案中,可以分析上载地图的形状(例如,物体或无障碍空间的形状)。可以针对那些相同的形状分析地图700,以至少部分地确定在地图700中是否存在那些相同的形状。在一些实施方案中,可以使用掩模和/或滤光器来搜索(例如,大体上类似于进行修改以寻找形状的掩模870)。如果来自上载地图的形状在地图700中没有找到,那么机器人102可以确定存在绘制错误和/或地图700具有较差质量。因此,机器人102可提示(例如,通过用户界面单元322)用户604再次演示路线(例如,机器人102可再次执行部分404)。类似地,可以分析地图700的形状(例如,物体或无障碍空间的形状),并且对上载地图进行分析以查看是否存在那些相同的形状。通过相同的方式,如果机器人102在上载地图中没有找到从地图700检测到的形状,那么机器人102可以确定存在绘制错误和/或地图700具有较差质量,并提示(例如,通过用户界面单元322)用户604再次演示路线(例如,机器人102可再次执行部分404)。
在一些实施方案中,机器人102可以针对环境100的一些预期特性/特征来分析地图700。例如,在杂货店或类似环境中,机器人102可能预期过道和/或多排货架。如果机器人102没有检测到指示过道和/或多排货架的物体或者检测到的数目过少或过多,那么机器人102可以确定地图700可具有较差质量和/或含有绘制错误。作为另一实例,对于环境的复杂度可能存在一定预期水平。如果地图700具有过多转动处或过少转动处,那么机器人102可以确定地图700可具有较差质量和/或含有绘制错误。作为另一实例,环境100可具有预期大小。如果地图700过大或过小,那么机器人102可以确定地图700可具有较差质量和/或含有绘制错误。在前述情况中的任一个中,如果地图700没有环境100的一些预期特性/特征,那么机器人102可提示用户(例如,用户604或能够在服务器上访问地图的用户)验证地图700。因此,机器人可向服务器发送地图并接收对地图质量的验证。
在一些实施方案中,可使用机器学习算法,其中机器人102(例如,机器人102的控制器304)进行学习以识别好地图和差地图。例如,机器人102可以具有已经识别(例如,手动标记或机器标记)为好地图和差地图的地图库。使用本领域中已知的监督或非监督算法,机器人102然后可以学习将机器人102横跨它的库确定为指示好地图或差地图的特性相关联。因此,如果机器人102将地图识别为差地图,那么机器人102可以确定存在绘制错误和/或地图700具有较差质量,并提示(例如,通过用户界面单元322)用户604再次演示路线(例如,机器人102可再次执行部分404)。
在一些情况下,机器人102还可校正具有较差质量的地图700中的错误。例如,在一些情况下,如果机器人102没有完全以闭环(例如,闭环路线1104)行进,那么初始化位置和结束位置之间的差可用于校正机器人102的里程计。例如,机器人102可获得初始化位置和结束位置之间的差,并确定所述差指示里程计相对于实际情况偏离了多少。因此,机器人102可调整记录路线以考虑所述确定的偏离。
作为另一实例,一些绘制错误可能会产生机器人102可以将其与校正地图的至少一部分相关联的图案,所述校正地图可以是校正一个或多个错误的地图700的版本。图11B说明其中实例机器人102将实例绘制错误与实例校正路线1108相关联的实例。例如,地图700可含有一系列具有大体上类似的形状的偏离路线,例如绘制路线1106A-1106N,其中N指示可以绘制任何数目个绘制路线1106A-1106N。机器人102可确定此类偏离的绘制路线1106A-1106N可以至少部分地指示用户604一遍又一遍地沿着相同路线行走。因此,机器人102可接着将绘制路线1106A-1106N校正为绘制路线1108,绘制路线1108指示用户604反复沿着相同路线行走。如果地图700含有绘制路线1106A-1106N,那么机器人102可以在地图700中将绘制路线1106A-1106N校正为绘制路线1108。类似地,可能存在其它错误图案(例如,偏离和/或其它错误),它们的标识可以被编程到机器人102中,使得机器人102可以对它们进行自动校正。因此,机器人102可以校正地图700的错误。
机器人102还可使用机器学习来学习将错误与那些错误的校正相关联。例如,机器人102可以在存储器302中和/或在服务器上存储有错误的地图。举例来说,在一些情况下,用户604可以首先演示路线。形成有路线和周围环境的地图可能含有绘制错误。当遇到绘制错误时,用户604可以重新绘制环境和/或路线。因此,机器人102可具有一种质量较差的地图版本(例如,具有会妨碍成功行走的绘制错误)和一种质量较佳的版本(例如,不具有会妨碍成功行走的绘制错误)。接着,机器人102可以将质量较差的地图的至少一部分与质量较佳的重新绘制版本的对应部分相关联。基于一个或多个大体上类似的关联,机器人102可以学习识别已发生的绘制错误,然后一旦辨识出绘制错误,就产生校正地图的至少一部分。
返回到图4,在教示阶段414之后,机器人102可接着进入自主阶段416。在部分408中,机器人102可检测初始化位置104并对机器人102的方位和/或定向进行初始化。在一些实施方案中,用户可以通过驾驶机器人102、远程控制机器人102、使机器人102转向、推动机器人102和/或任何其它控制来使机器人102处于初始化位置104,所述任何其它控制例如驱动致动器单元318的任何控制。在一些实施方案中,机器人102可自主返回到初始化位置104。例如,机器人102可以在存储器302中存储初始化位置104的位置(例如,如先前参考图5B-5E所描述)并返回到所述位置。
在一些实施方案中,机器人102可以通过一种大体上类似于参考图5B-5E以及在本公开中的其它地方所描述的它在部分402中用于检测初始化位置104的系统和方法的方式来检测初始化位置104。在一些情况下,当机器人102在部分408中返回到初始化位置104时,机器人102相对于例如物体512、546、548、550中的一个或多个的方位将已经存储在存储器302中(例如,从部分402开始)。当机器人102检测到它相对于物体512、546、548、550中的一个或多个处于相同的相对位置时,机器人102可以确定机器人102处于初始化位置104。在一些实施方案中,机器人102可以至少部分地基于用户停止机器人102的位置来检测机器人102处于初始化位置104。因而,可以假设如将参考部分410所描述的用户停止并随后选择路线的位置是初始化位置104。在一些实施方案中,在初始化位置104处或大体上接近初始化位置104处可存在传输器(例如,使用RFID、NFC、无线电传输、射频场和/或本公开中所描述的任何其它通信协议传输通信的传输器)。当机器人102检测到它在传输器的顶部或大体上接近传输器时,机器人102可以检测到机器人102处于初始化位置104。在一些情况下,传输器可具有可操作范围,使得机器人102可以仅在它处于开始位置时检测来自传输器的通信。作为说明性实例,NFC的传输范围可以是十厘米或更小。因此,当机器人102通过NFC接收传输时,机器人102可以检测它定位在初始化位置104中。在一些实施方案中,机器人102可从传输器接收传输,并至少部分地基于信号强度的衰减来计算到传输器的距离。通过这种方式,机器人102可以检测它与传输器之间的接近度,并因此检测机器人102相对于传输器和/或初始化位置104的方位。在一些实施方案中,机器人102可以通过对多个传输器的信号强度进行三角测量来确定它的位置。在一些实施方案中,初始化位置104可以由地板上的标志(例如,标记、符号、线等)标定。当机器人102的(例如,传感器单元314的)一个或多个传感器检测到地板上的标志时,机器人102可以检测到机器人102定位在初始化位置104中。
然后在部分410中,机器人102可以选择记录路线来自主行走。在一些实施方案中,机器人102对记录路线(例如,路线116)的选择可以至少部分地基于用户输入。例如,用户可以在显示器576上的用户界面500(在图5A中说明)上选择输入572,其中输入572可使得用户能够选择机器人102的记录路线。在选择输入572之后,可以呈现图12中所说明的界面1200。图12说明可用于路线选择的实例界面1200。界面1200可呈现显示为可选择输入1202A-1202F的多个路线以供选择。用户可以通过触摸(例如,在显示器576包含触摸屏的情况下)和/或用户界面单元322的任何其它输入机构选择可选择输入1202A-1202F中的一个。例如,在一些实施方案中,输入1202F可与机器人102所学习的绘制路线716对应。当用户选择输入1202F时,机器人102可以接着至少部分地基于用户的选择来选择地图700和绘制路线716(绘制路线716是基于用户对路线116的演示)。
在一些实施方案中,机器人102可以基于它在部分408中检测到的初始化位置来自动选择记录路线。例如,初始化位置104可以仅与演示路线116相关联(或绘制为绘制路线716)。类似地,机器人102可具有与其它演示路线相关联的其它初始化位置。有利的是,具有多个初始化位置可允许用户演示各种路线,并允许机器人102沿着各种路线自主移动。此外,通过使机器人102基于初始化位置而自动选择记录路线,机器人102可以更快速地开始自主行走,同时额外的用户输入最少。
返回到图4,接着在部分412中,机器人102可以沿着在部分410中选择的记录路线自主行进。例如,机器人102可使用地图700和绘制路线716自主行进。
在沿循路线716时,机器人102可至少依赖于导航单元326,导航单元326可处理至少地图700、路线716及来自传感器560A-560D和传感器568A-568B的数据中的一个或多个。如在本文中参考图6D及在本公开中的其它地方所说明和描述的传感器560A-560D可允许机器人102感测它周围环境中的物体。通过这种方式,机器人102可以至少部分地基于地图700和对附近物体的检测来行走,其中机器人102可以避开检测到的物体。例如,这些物体可能是临时放置和/或暂时性物品,和/或对环境的暂时性和/或动态改变。对附近物体的检测还可使得机器人102能够至少部分地基于对机器人102检测到的物体在地图700上的方位的确定来使其自身在地图700上定位。
机器人102还可利用传感器568A-568B进行测距,以至少部分地确定它相对于原点的方位/位姿(例如,距离和/或定向),如至少参考图5B-5D所描述的。通过使用至少地图700、路线716、传感器560A-560D和传感器568A-568B中的一个或多个,机器人102可以至少利用方法400来沿着例如图1A中所说明的路线106、如图1C中所说明的路线126或者环境100或任何其它环境中的其它自主路线自主行进。
并且,当沿着路线106自主行进时,机器人102可使机器人102上的各种仪器致动,例如刷子908和/或刮板616,如在部分404期间所学习和/或在地图700中所记录的。还可以类似方式使擦洗器的仪器或任何其它机器人形式的习得动作致动,例如打开/关闭水、喷水、打开/关闭真空吸尘器、移动真空软管位置、挥动臂、抬起/降低升降器、使相机和/或传感器单元314的任何传感器转动,和/或机器人102执行动作所需的任何移动。
图13说明用于操作实例机器人102的实例方法1300。部分1302包含检测机器人在初始化位置中的第一放置。部分1304包含从初始化位置开始,在向机器人演示可行走路线期间形成可行走路线和周围环境的地图。部分1306包含检测机器人在初始化位置中的第二放置。部分1308包含使机器人从初始化位置沿着可行走路线的至少一部分自主行走。
如本文中所使用,计算机和/或计算装置可包含但不限于个人计算机(“PC”)和微型计算机(不论是台式电脑、膝上型计算机还是其它)、大型计算机、工作站、服务器、个人数字助理(“PDA”)、手持式计算机、嵌入式计算机、可编程逻辑装置、个人通信器、平板电脑、移动装置、便携式助航设备、配备J2ME的装置、蜂窝电话、智能电话、个人集成通信或娱乐装置,和/或能够执行指令集并处理传入数据信号的任何其它装置。
如本文中所使用,计算机程序和/或软件可包含执行功能的任何序列或人类或机器可识别的步骤。此类计算机程序和/或软件可以用任何编程语言或环境来呈现,包含例如C/C++、C#、Fortran、COBOL、MATLABTm、PASCAL、Python、汇编语言、标记语言(例如,HTML、SGML、XML、VoXML)等等,以及面向对象的环境,例如公共对象请求代理结构(“CORBA”)、JAVATM(包含J2ME、Java Bean等)、二进制运行环境(例如,BREW)等等。
如本文中所使用,连接、链路、传输信道、延迟线和/或无线可包含任何两个或更多个实体(不论是物理的还是逻辑/虚拟的)之间的因果关系,它能够实现实体之间的信息交换。
将认识到,虽然按照方法的步骤的特定顺序描述本公开的某些方面,但这些描述仅说明本公开中的较广泛方法,且可根据特定应用的需要加以修改。在某些情况下,某些步骤可能是不必要的或是任选的。此外,可将某些步骤或功能性添加至所公开的实施方案,或置换执行两个或更多个步骤的次序。认为所有此些变化皆涵盖于本文中公开和要求保护的公开内容内。
虽然以上详细描述已展示、描述并指出适用于各种实施方案的本公开的新颖特征,但应了解,所属领域的技术人员可在不背离本公开的情况下对所说明的装置或方法的形式及细节作出各种省略、替换及改变。先前描述为当前涵盖的进行本公开的最佳模式。此描述绝不意味着限制,而是应被视为对本公开的一般原理的说明。应参考权利要求书来确定本公开的范围。
虽然已经在图式和上述说明中详细展示并描述了公开内容,但是此类说明和描述应该视为说明性或示范性的而不是限制性的。本公开不限于所公开实施例。所属领域的技术人员在实践要求保护的公开内容时,可根据对图式、公开内容和所附权利要求书的研究来理解并实现所公开实施例的变化形式。
应注意,当描述本公开的某些特征或方面时特定术语的使用不应被视为暗示所述术语在本文中重新定义以限于包含本公开的与那个术语相关联的特征或方面的任何特殊特性。除非另外明确陈述,否则在本申请中,尤其是在所附权利要求书中所使用的术语和短语及其变化形式应被理解为开放式的,而不是限制性的。作为上述内容的实例,术语“包含”应理解为“包含且不限于”、“包含但不限于”等等;如本文所使用的术语“包括”与“包含”、“含有”或“特征在于”同义,且是包含性或开放式的,并不排除额外的、未列出的元件或方法步骤;术语“具有”应解译为“至少具有”;术语“例如”应理解为“例如且不限于”;术语“包含”应理解为“包含但不限于”;术语“实例”用于在论述时提供物品的示范性实例,而不是物品的穷举性或限制性列表,并且应理解为“例如但不限于”;例如“熟知的”、“通常的”、“标准的”的形容词和具有类似含义的术语不应被理解为将所描述的物品限于给定时间段或限于截至给定时间可用的物品,而是应理解为涵盖现在或在将来的任何时间可为可用的或已知的熟知的、通常的或标准的技术;以及如“优选地”、“优选的”、“期望”或“合乎需要的”的术语及具有类似含义的词语的使用不应理解为暗示某些特征对于本公开的结构或功能来说是关键的、必不可少的或甚至是至关重要的,而是仅仅旨在突显可以用于也可以不用于特定实施例的替代方案或额外特征。同样地,除非另外明确陈述,否则用连接词“和”连在一起的一组项不应被理解为要求那些项中的每个项都存在于所述组中,而是应被理解为“和/或”。类似地,除非另外明确陈述,否则用连接词“或”连在一起的一组项不应被理解为在那一组中需要相互排斥,而是应被理解为“和/或”。术语“约”或“大致”等等是同义的,且用于指示由所述术语修饰的值具有与其相关联的理解范围,其中所述范围可以是±20%、±15%、±10%、±5%或±1%。术语“大体上”用于指示结果(例如,测量值)接近目标值,其中接近可意味着例如结果在值的80%内、值的90%内、值的95%内或值的99%内。并且,如本文所使用,“限定”或“确定”可包含“预限定”或“预定”和/或以其它方式确定的值、条件、阈值、测量等等。
Claims (26)
1.一种其上存储有多个指令的非暂时性计算机可读存储媒体,所述指令可由处理设备执行以操作机器人,所述指令配置成在由所述处理设备执行时使所述处理设备进行以下操作:
检测所述机器人在初始化位置中的第一放置;
从所述初始化位置开始,在向所述机器人演示可行走路线期间形成所述可行走路线和周围环境的地图;
检测所述机器人在所述初始化位置中的第二放置;以及
使所述机器人从所述初始化位置沿着所述可行走路线的至少一部分自主行走。
2.根据权利要求1所述的非暂时性计算机可读存储媒体,其中所述指令在由所述处理设备执行时还使所述处理设备评估所形成的地图的错误,并且至少部分地基于所述错误,请求用户再次向所述机器人演示所述可行走路线。
3.根据权利要求2所述的非暂时性计算机可读存储媒体,其中所述错误以下中的至少一个:包含所述地图中的所述可行走路线的不连续部分和所述地图中的所述周围环境中的不连续部分。
4.根据权利要求1所述的非暂时性计算机可读存储媒体,其中所述指令在由所述处理设备执行时还使所述处理设备向所述机器人提供指令以在沿着所述可行走路线自主行走时避开临时放置的障碍物。
5.根据权利要求1所述的非暂时性计算机可读存储媒体,还包括配置成使所述处理设备从用户界面接收对所述可行走路线的选择的指令。
6.根据权利要求1所述的非暂时性计算机可读存储媒体,其中所述机器人是地板清洁器。
7.根据权利要求1所述的非暂时性计算机可读存储媒体,其中所形成的地图包括至少部分地表示所述机器人在所述可行走路线上执行的动作的指示。
8.根据权利要求7所述的非暂时性计算机可读存储媒体,其中所述动作是地板清洁。
9.一种操作机器人的方法,包括:
检测所述机器人在初始化位置中的初始放置;
从所述初始化位置开始,在向所述机器人演示可行走路线期间形成所述可行走路线和周围环境的地图;
检测所述机器人在所述初始化位置中的后续放置;以及
使所述机器人从所述初始化位置沿着所述可行走路线的至少一部分自主行走。
10.根据权利要求9所述的方法,还包括评估所形成的地图的错误,以及至少部分地基于所述错误向用户发出再次向所述机器人演示所述可行走路线的请求。
11.根据权利要求9所述的方法,其中所述演示包括从用户接收控制信号。
12.根据权利要求9所述的方法,其中形成可行走路线和周围环境的所述地图还包括用三维传感器感测所述周围环境。
13.根据权利要求9所述的方法,其中使所述机器人自主行走还包括从用户界面接收对所述可行走路线的选择。
14.根据权利要求9所述的方法,其中使所述机器人自主行走包括使用所述可行走路线和周围环境的所述地图进行导航。
15.根据权利要求9所述的方法,还包括在所形成的地图上绘制所述机器人在所述可行走路线上执行的动作。
16.根据权利要求15所述的方法,其中所述动作包括清洁地板。
17.一种其上存储有多个指令的非暂时性计算机可读存储媒体,所述指令可由处理设备执行以操作机器人,所述指令配置成在由所述处理设备执行时使所述处理设备进行以下操作:从初始化位置开始,在向所述机器人演示可行走路线期间形成所述可行走路线和周围环境的地图。
18.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所形成的地图还包括至少部分地表示所述机器人在所述可行走路线上执行的动作的指示。
19.根据权利要求18所述的非暂时性计算机可读存储媒体,其中所述动作是清洁地板。
20.根据权利要求17所述的非暂时性计算机可读存储媒体,其中所述导航路线的演示是计算机模拟。
21.一种机器人,包括:
绘制和定位单元,其配置成从初始化位置开始,在向所述机器人演示可行走路线期间形成所述可行走路线和周围环境的地图;以及
导航单元,其配置成自主地使用所述地图为所述机器人导航。
22.根据权利要求21所述的机器人,其中所述导航单元还配置成确定对所述可行走路线的至少一部分不进行自主导航。
23.根据权利要求21所述的机器人,还包括传感器单元,所述传感器单元配置成生成至少部分地指示所述机器人的传感器范围内的物体的传感器数据,其中所述导航单元还配置成至少部分地基于所生成的传感器数据进行自主导航。
24.根据权利要求21所述的机器人,还包括配置成使刷子致动的第一致动器单元。
25.根据权利要求24所述的机器人,进一步包括配置成将所述地图上的方位与所述第一致动器单元的致动相关联的处理器。
26.根据权利要求21所述的机器人,还包括通信单元,所述通信单元配置成与服务器通信,其中所述机器人将所述地图发送到所述服务器并接收对所述地图的所指示质量的验证。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/152,425 US20170329347A1 (en) | 2016-05-11 | 2016-05-11 | Systems and methods for training a robot to autonomously travel a route |
US15/152,425 | 2016-05-11 | ||
PCT/US2017/032273 WO2017197190A1 (en) | 2016-05-11 | 2017-05-11 | Systems and methods for training a robot to autonomously travel a route |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109414142A true CN109414142A (zh) | 2019-03-01 |
CN109414142B CN109414142B (zh) | 2021-12-28 |
Family
ID=60267336
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780041655.5A Expired - Fee Related CN109414142B (zh) | 2016-05-11 | 2017-05-11 | 用于训练机器人沿着路线自主行进的系统和方法 |
Country Status (7)
Country | Link |
---|---|
US (3) | US20170329347A1 (zh) |
EP (1) | EP3454705A4 (zh) |
JP (1) | JP6949107B2 (zh) |
KR (1) | KR102355750B1 (zh) |
CN (1) | CN109414142B (zh) |
CA (1) | CA3023552A1 (zh) |
WO (1) | WO2017197190A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109416538A (zh) * | 2016-05-11 | 2019-03-01 | 云海智行股份有限公司 | 用于对机器人进行初始化以沿着训练路线自主行进的系统和方法 |
CN110568848A (zh) * | 2019-09-10 | 2019-12-13 | 东风商用车有限公司 | 清扫车的示教自动驾驶作业系统 |
CN114794959A (zh) * | 2022-06-28 | 2022-07-29 | 山西嘉世达机器人技术有限公司 | 清洁机的控制方法、装置、清洁机及存储介质 |
TWI823581B (zh) * | 2021-09-28 | 2023-11-21 | 中國大陸商深圳市海柔創新科技有限公司 | 機器人及其控制方法 |
Families Citing this family (61)
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 |
US11835343B1 (en) * | 2004-08-06 | 2023-12-05 | AI Incorporated | Method for constructing a map while performing work |
US9945677B1 (en) * | 2015-07-23 | 2018-04-17 | X Development Llc | Automated lane and route network discovery for robotic actors |
US10335949B2 (en) * | 2016-01-20 | 2019-07-02 | Yujin Robot Co., Ltd. | System for operating mobile robot based on complex map information and operating method thereof |
US10282849B2 (en) | 2016-06-17 | 2019-05-07 | Brain Corporation | Systems and methods for predictive/reconstructive visual object tracker |
US10055667B2 (en) | 2016-08-03 | 2018-08-21 | X Development Llc | Generating a model for an object encountered by a robot |
WO2018043033A1 (ja) * | 2016-08-31 | 2018-03-08 | 村田機械株式会社 | 自律走行式床洗浄機 |
US10410320B2 (en) | 2016-09-30 | 2019-09-10 | Sony Interactive Entertainment Inc. | Course profiling and sharing |
US10850838B2 (en) | 2016-09-30 | 2020-12-01 | Sony Interactive Entertainment Inc. | UAV battery form factor and insertion/ejection methodologies |
US10336469B2 (en) | 2016-09-30 | 2019-07-02 | Sony Interactive Entertainment Inc. | Unmanned aerial vehicle movement via environmental interactions |
US10377484B2 (en) * | 2016-09-30 | 2019-08-13 | Sony Interactive Entertainment Inc. | UAV positional anchors |
US10416669B2 (en) | 2016-09-30 | 2019-09-17 | Sony Interactive Entertainment Inc. | Mechanical effects by way of software or real world engagement |
US10679511B2 (en) | 2016-09-30 | 2020-06-09 | Sony Interactive Entertainment Inc. | Collision detection and avoidance |
US10357709B2 (en) | 2016-09-30 | 2019-07-23 | Sony Interactive Entertainment Inc. | Unmanned aerial vehicle movement via environmental airflow |
KR20180039821A (ko) * | 2016-10-11 | 2018-04-19 | 삼성전자주식회사 | 모니터링 시스템 제어 방법 및 이를 지원하는 전자 장치 |
US10274325B2 (en) | 2016-11-01 | 2019-04-30 | Brain Corporation | Systems and methods for robotic mapping |
US10001780B2 (en) * | 2016-11-02 | 2018-06-19 | Brain Corporation | Systems and methods for dynamic route planning in autonomous navigation |
AU2017363489B2 (en) * | 2016-11-22 | 2023-09-14 | The Toro Company | Autonomous path treatment systems and methods |
US10723018B2 (en) | 2016-11-28 | 2020-07-28 | Brain Corporation | Systems and methods for remote operating and/or monitoring of a robot |
US10852730B2 (en) | 2017-02-08 | 2020-12-01 | Brain Corporation | Systems and methods for robotic mobile platforms |
US10293485B2 (en) * | 2017-03-30 | 2019-05-21 | Brain Corporation | Systems and methods for robotic path planning |
US20180299899A1 (en) * | 2017-04-13 | 2018-10-18 | Neato Robotics, Inc. | Localized collection of ambient data |
KR102314539B1 (ko) * | 2017-06-09 | 2021-10-18 | 엘지전자 주식회사 | 인공지능 이동 로봇의 제어 방법 |
CN109388093B (zh) * | 2017-08-02 | 2020-09-15 | 苏州珊口智能科技有限公司 | 基于线特征识别的机器人姿态控制方法、系统及机器人 |
CN107550399B (zh) * | 2017-08-17 | 2021-05-18 | 北京小米移动软件有限公司 | 定时清扫方法及装置 |
JP7124280B2 (ja) * | 2017-09-13 | 2022-08-24 | 富士フイルムビジネスイノベーション株式会社 | 情報処理装置及びプログラム |
WO2019130352A1 (en) * | 2017-12-28 | 2019-07-04 | Weismacher Eco Private Limited | Self powered and timer based solar panel cleaning system |
US10795367B2 (en) | 2018-01-11 | 2020-10-06 | Uatc, Llc | Mapped driving paths for autonomous vehicle |
FR3077721B1 (fr) * | 2018-02-15 | 2020-03-06 | Mv Robot | Procede de commande du fonctionnement d’un robot de traitement de sols, equipement et systeme pour la mise en œuvre de ce procede. |
US11340630B2 (en) * | 2018-03-30 | 2022-05-24 | Brain Corporation | Systems and methods for robust robotic mapping |
KR102466940B1 (ko) * | 2018-04-05 | 2022-11-14 | 한국전자통신연구원 | 로봇 주행용 위상 지도 생성 장치 및 방법 |
US11126199B2 (en) * | 2018-04-16 | 2021-09-21 | Baidu Usa Llc | Learning based speed planner for autonomous driving vehicles |
EP3817900A4 (en) * | 2018-07-05 | 2022-04-13 | Brain Corporation | SYSTEMS AND METHODS FOR OPERATING AUTONOMOUS TOWED PROBOTS |
CN110858074B (zh) * | 2018-08-09 | 2022-07-12 | 科沃斯机器人股份有限公司 | 异常提示方法、系统、设备及存储介质 |
WO2020033808A1 (en) * | 2018-08-10 | 2020-02-13 | Brain Corporation | Systems, apparatus and methods for removing false positives form sensor detection |
JP2020027574A (ja) * | 2018-08-17 | 2020-02-20 | 株式会社東芝 | 自律移動装置、方法及び3次元モデリングシステム |
DE102018120577A1 (de) * | 2018-08-23 | 2020-02-27 | Vorwerk & Co. Interholding Gmbh | Sich selbsttätig innerhalb einer Umgebung fortbewegendes Bodenbearbeitungsgerät |
US10835096B2 (en) * | 2018-08-30 | 2020-11-17 | Irobot Corporation | Map based training and interface for mobile robots |
US11092458B2 (en) * | 2018-10-30 | 2021-08-17 | Telenav, Inc. | Navigation system with operation obstacle alert mechanism and method of operation thereof |
KR20210087994A (ko) * | 2018-11-06 | 2021-07-13 | 가부시키가이샤 니혼 비즈니스 데이터 프로세싱 센터 | 자주식 청소 로봇 |
CN109464074B (zh) * | 2018-11-29 | 2021-05-28 | 深圳市银星智能科技股份有限公司 | 区域划分方法、分区清扫方法及其机器人 |
DE102019101337A1 (de) * | 2019-01-18 | 2020-07-23 | Vorwerk & Co. Interholding Gmbh | System mit einem ersten Bodenbearbeitungsgerät und einem zweiten Bodenbearbeitungsgerät sowie Verfahren zum Betrieb eines solchen Systems |
WO2020176838A1 (en) * | 2019-02-28 | 2020-09-03 | Brain Corporation | Systems, and methods for merging disjointed map and route data with respect to a single origin for autonomous robots |
CN110045735A (zh) * | 2019-04-08 | 2019-07-23 | 北京优洁客创新科技有限公司 | 洗地机自主学习行走路径的方法、装置、介质和电子设备 |
US11565411B2 (en) * | 2019-05-29 | 2023-01-31 | Lg Electronics Inc. | Intelligent robot cleaner for setting travel route based on video learning and managing method thereof |
JP7400217B2 (ja) * | 2019-05-30 | 2023-12-19 | セイコーエプソン株式会社 | ロボットシステムおよび可搬型教示装置 |
US11958183B2 (en) | 2019-09-19 | 2024-04-16 | The Research Foundation For The State University Of New York | Negotiation-based human-robot collaboration via augmented reality |
KR20210039232A (ko) * | 2019-10-01 | 2021-04-09 | 엘지전자 주식회사 | 로봇 청소기 및 청소 경로를 결정하기 위한 방법 |
KR20210040613A (ko) | 2019-10-04 | 2021-04-14 | 삼성전자주식회사 | 전자 장치 및 그의 제어 방법 |
US11189007B2 (en) * | 2019-12-03 | 2021-11-30 | Imagry (Israel) Ltd | Real-time generation of functional road maps |
US11584004B2 (en) * | 2019-12-17 | 2023-02-21 | X Development Llc | Autonomous object learning by robots triggered by remote operators |
CN111158475B (zh) * | 2019-12-20 | 2024-01-23 | 华中科技大学鄂州工业技术研究院 | 一种虚拟场景中训练路径的生成方法及装置 |
US20230004155A1 (en) * | 2020-02-27 | 2023-01-05 | Panasonic Intellectual Property Management Co., Ltd. | Information presentation method, information presentation device, and recording medium |
KR102348963B1 (ko) * | 2020-03-10 | 2022-01-11 | 엘지전자 주식회사 | 로봇 청소기 및 그 제어 방법 |
US11797016B2 (en) * | 2020-04-13 | 2023-10-24 | Boston Dynamics, Inc. | Online authoring of robot autonomy applications |
JP7426508B2 (ja) * | 2020-05-21 | 2024-02-01 | ハイ ロボティクス カンパニー リミテッド | ナビゲーション方法、ナビゲーション装置、記憶媒体及びプログラム |
CN111938513B (zh) * | 2020-06-30 | 2021-11-09 | 珠海市一微半导体有限公司 | 一种机器人越障的沿边路径选择方法、芯片及机器人 |
KR102595387B1 (ko) * | 2021-03-09 | 2023-10-27 | 동의대학교 산학협력단 | 가상 그리드 기반 에이스타 경로 탐색 방법 및 이를 위한 시스템 |
EP4348374A1 (en) * | 2021-06-02 | 2024-04-10 | The Toro Company | System facilitating user arrangement of paths for use by autonomous work vehicle |
KR20240110310A (ko) * | 2023-01-06 | 2024-07-15 | 주식회사 케이티 | 로봇 장애 분석 방법 및 장치 |
EP4434422A1 (de) * | 2023-03-24 | 2024-09-25 | Vorwerk & Co. Interholding GmbH | Verfahren zum betreiben eines selbstfahrenden reinigungsgeräts und selbstfahrendes reinigungsgerät |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101620802A (zh) * | 2009-08-05 | 2010-01-06 | 北京四维图新科技股份有限公司 | 电子地图的检查方法和装置 |
CN102155948A (zh) * | 2010-02-11 | 2011-08-17 | 北京四维图新科技股份有限公司 | 导航电子地图质量的随机检测评估方法及装置 |
US8774970B2 (en) * | 2009-06-11 | 2014-07-08 | S.C. Johnson & Son, Inc. | Trainable multi-mode floor cleaning device |
JP2015142328A (ja) * | 2014-01-30 | 2015-08-03 | シャープ株式会社 | 学習リモコン装置およびこれを備える自走式電子機器ならびにリモコン学習方法 |
CN105167716A (zh) * | 2015-08-21 | 2015-12-23 | 王震渊 | 一种智能扫地机器人 |
US20160062361A1 (en) * | 2013-05-01 | 2016-03-03 | Murata Machinery, Ltd. | Autonomous moving body |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204814A (en) * | 1990-11-13 | 1993-04-20 | Mobot, Inc. | Autonomous lawn mower |
US6718258B1 (en) * | 2000-06-08 | 2004-04-06 | Navigation Technologies Corp | Method and system for obtaining user feedback regarding geographic data |
DE10149115A1 (de) * | 2001-10-05 | 2003-04-17 | Bosch Gmbh Robert | Objekterfassungsvorrichtung |
US8843244B2 (en) * | 2006-10-06 | 2014-09-23 | Irobot Corporation | Autonomous behaviors for a remove vehicle |
US7957900B2 (en) * | 2008-02-08 | 2011-06-07 | Gaurav Chowdhary | Tracking vehicle locations in a parking lot for definitive display on a GUI |
US8447463B1 (en) * | 2008-02-08 | 2013-05-21 | Gaurav Chowdhary | Tracking vehicle locations in a parking lot for definitive display on a GUI |
JP5215740B2 (ja) * | 2008-06-09 | 2013-06-19 | 株式会社日立製作所 | 移動ロボットシステム |
KR101395089B1 (ko) * | 2010-10-01 | 2014-05-16 | 안동대학교 산학협력단 | 장애물 감지 시스템 및 방법 |
DE102012109004A1 (de) * | 2012-09-24 | 2014-03-27 | RobArt GmbH | Roboter und Verfahren zur autonomen Inspektion oder Bearbeitung von Bodenflächen |
US8949016B1 (en) * | 2012-09-28 | 2015-02-03 | Google Inc. | Systems and methods for determining whether a driving environment has changed |
JP6132659B2 (ja) * | 2013-02-27 | 2017-05-24 | シャープ株式会社 | 周囲環境認識装置、それを用いた自律移動システムおよび周囲環境認識方法 |
US9816823B2 (en) * | 2013-03-15 | 2017-11-14 | Hewlett Packard Enterprise Development Lp | Updating road maps |
JP6227948B2 (ja) * | 2013-09-18 | 2017-11-08 | 村田機械株式会社 | 自律走行式床洗浄機、清掃スケジュールのデータ構造、記憶媒体、清掃スケジュールの生成方法、及びプログラム |
US9538702B2 (en) * | 2014-12-22 | 2017-01-10 | Irobot Corporation | Robotic mowing of separated lawn areas |
AU2016348568A1 (en) * | 2015-11-02 | 2018-06-14 | Starship Technologies Oü | Device and method for autonomous localisation |
US10545229B2 (en) * | 2016-04-22 | 2020-01-28 | Huawei Technologies Co., Ltd. | Systems and methods for unified mapping of an environment |
-
2016
- 2016-05-11 US US15/152,425 patent/US20170329347A1/en not_active Abandoned
-
2017
- 2017-05-11 EP EP17796888.0A patent/EP3454705A4/en not_active Withdrawn
- 2017-05-11 WO PCT/US2017/032273 patent/WO2017197190A1/en unknown
- 2017-05-11 CA CA3023552A patent/CA3023552A1/en not_active Abandoned
- 2017-05-11 CN CN201780041655.5A patent/CN109414142B/zh not_active Expired - Fee Related
- 2017-05-11 KR KR1020187035942A patent/KR102355750B1/ko active IP Right Grant
- 2017-05-11 JP JP2019511831A patent/JP6949107B2/ja active Active
-
2018
- 2018-10-23 US US16/168,368 patent/US11467602B2/en active Active
-
2022
- 2022-10-07 US US17/961,926 patent/US20230021778A1/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8774970B2 (en) * | 2009-06-11 | 2014-07-08 | S.C. Johnson & Son, Inc. | Trainable multi-mode floor cleaning device |
CN101620802A (zh) * | 2009-08-05 | 2010-01-06 | 北京四维图新科技股份有限公司 | 电子地图的检查方法和装置 |
CN102155948A (zh) * | 2010-02-11 | 2011-08-17 | 北京四维图新科技股份有限公司 | 导航电子地图质量的随机检测评估方法及装置 |
US20160062361A1 (en) * | 2013-05-01 | 2016-03-03 | Murata Machinery, Ltd. | Autonomous moving body |
JP2015142328A (ja) * | 2014-01-30 | 2015-08-03 | シャープ株式会社 | 学習リモコン装置およびこれを備える自走式電子機器ならびにリモコン学習方法 |
CN105167716A (zh) * | 2015-08-21 | 2015-12-23 | 王震渊 | 一种智能扫地机器人 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109416538A (zh) * | 2016-05-11 | 2019-03-01 | 云海智行股份有限公司 | 用于对机器人进行初始化以沿着训练路线自主行进的系统和方法 |
CN110568848A (zh) * | 2019-09-10 | 2019-12-13 | 东风商用车有限公司 | 清扫车的示教自动驾驶作业系统 |
CN110568848B (zh) * | 2019-09-10 | 2022-09-23 | 东风商用车有限公司 | 清扫车的示教自动驾驶作业系统 |
TWI823581B (zh) * | 2021-09-28 | 2023-11-21 | 中國大陸商深圳市海柔創新科技有限公司 | 機器人及其控制方法 |
CN114794959A (zh) * | 2022-06-28 | 2022-07-29 | 山西嘉世达机器人技术有限公司 | 清洁机的控制方法、装置、清洁机及存储介质 |
CN114794959B (zh) * | 2022-06-28 | 2023-03-03 | 山西嘉世达机器人技术有限公司 | 清洁机的控制方法、装置、清洁机及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11467602B2 (en) | 2022-10-11 |
KR102355750B1 (ko) | 2022-01-26 |
CN109414142B (zh) | 2021-12-28 |
JP6949107B2 (ja) | 2021-10-13 |
WO2017197190A1 (en) | 2017-11-16 |
US20170329347A1 (en) | 2017-11-16 |
US20230021778A1 (en) | 2023-01-26 |
EP3454705A1 (en) | 2019-03-20 |
US20190121365A1 (en) | 2019-04-25 |
EP3454705A4 (en) | 2019-12-11 |
CA3023552A1 (en) | 2017-11-16 |
JP2019522301A (ja) | 2019-08-08 |
KR20190029524A (ko) | 2019-03-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109414142A (zh) | 用于训练机器人沿着路线自主行进的系统和方法 | |
US10823576B2 (en) | Systems and methods for robotic mapping | |
US20210008714A1 (en) | Systems and methods for remote operating and/or monitoring of a robot | |
JP6896077B2 (ja) | 車両自動パーキングシステム及び方法 | |
KR102444658B1 (ko) | 훈련된 경로를 자율주행하도록 로봇을 초기화하기 위한 시스템 및 방법 | |
CN110023866A (zh) | 用于自主导航中的动态路线规划的系统和方法 | |
US20190235512A1 (en) | Systems and methods for precise navigation of autonomous devices | |
US11613016B2 (en) | Systems, apparatuses, and methods for rapid machine learning for floor segmentation for robotic devices | |
JP7462891B2 (ja) | エスカレータを検出するためのシステム、装置、及び方法 | |
TW202102959A (zh) | 用於合併關於自動化機器人之單原點的不連續地圖及路線數據之系統及方法 | |
US11340630B2 (en) | Systems and methods for robust robotic mapping | |
EP4118632A1 (en) | Systems and methods for route synchronization for robotic devices | |
JP2022500763A (ja) | ロボットのための死角を検出するためのシステム及び方法 | |
US20240168487A1 (en) | Systems and methods for detecting and correcting diverged computer readable maps for robotic devices | |
US20240271944A1 (en) | Systems and methods for automatic route generation for robotic devices | |
Farheen | Object Detection, Localization and Navigation Strategy for Obstacle Avoidance Applied to Autonomous Wheelchair Driving |
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: 40005488 Country of ref document: HK |
|
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20211228 |
|
CF01 | Termination of patent right due to non-payment of annual fee |