EP2776216A1

Scaling vector field slam to large environments

Abstract

This record has no abstract on file.

Term

6.1 yearsto projected expiry

Projected expiry 9 November 2032, counted from filing; an application has no term until it is granted.

  1. Priority and filed
  2. Published
  3. Today
  4. Projected expiry

75 claims: 9 independent, 66 dependent

  1. 1
    Claims of equivalent WO 2013071190 A1 WHAT IS CLAIMED IS:1. A method of estimating a pose of a robot, the method comprising: computing the pose of the robot through simultaneous localization and mapping as the robot moves along a surface to generate one or more maps, wherein the pose comprises position and orientation of the robot;navigating the robot such that the robot treats the surface in a methodical manner;determining that operation of the robot has been paused, and after resuming operation of the robot: re-localizing the robot within a map of the one or more maps without erasing the one or more maps;and resuming treatment of the surface in the methodical manner.
  2. 2
    The method of Claim 1, further comprising after re-localizing, returning the robot to a previous pose prior to resuming treatment, wherein the previous prior pose is from a time prior to the pausing event, wherein the prior pose comprises a prior position and a prior orientation.
  3. 3
    The method of Claim 1, further comprising resuming treatment of the surface substantially without re-treating areas of the surface already treated prior to the pausing event.
  4. 4
    The method of Claim 1, wherein simultaneous localization and mapping is performed for learning the spatial distribution of one or more continuous signals in an environment in which the robot is navigating, and wherein each of the one or more maps is defined over a vector field of expected measurement values of the one or more continuous signals for various positions along the surface.
  5. 5
    The method of Claim 1, wherein simultaneous localization and mapping is performed via analysis of two or more light patterns projected onto a ceiling, and wherein each of the one or more maps is defined over a vector field of light sensor measurement values expected for various positions along the surface.
  6. 6
    The method of Claim 5, wherein re-localizing further comprises:obtaining a current set of actually-observed light sensor measurements;comparing the actually-observed light sensor measurements to a plurality of light sensor measurements of the one or more maps corresponding to different positions within the one or more maps;and identifying a pose from among the plurality of positions of the one or more maps, wherein the pose comprises a position and orientation of the robot.
  7. 7
    The method of Claim 5, wherein re-localizing further comprises:obtaining a current set of actually-observed light sensor measurements;converting the current set of actually-observed light sensor measurements to converted light sensor measurements, wherein the converted light sensor measurements are independent of the orientation of the robot;comparing the converted light sensor measurements to a plurality of light sensor measurements of the one or more maps corresponding to different positions within the one or more maps;and identifying a pose from among the plurality of positions of the one or more maps, wherein the pose comprises a position and orientation of the robot.
  8. 8
    The method of Claim 7, wherein comparing further comprises:calculating closeness between the converted light sensor measurements and the plurality of light sensor measurements for nodes of the map;selecting a cell based on the closeness calculated for its nodes;interpolating within the cell to generate the position of the pose;and analyzing the current set of actually-observed light sensor measurements to generate an orientation of the pose.
  9. 9
    The method of Claim 8, wherein calculating closeness comprises calculating Mahalanobis distances.
  10. 10
    The method of Claim 8, wherein the identified cell corresponds to the cell with the lowest average closeness for its nodes.
  11. 11
    The method of Claim 8, further comprising performing a significance test associated with signal strength on the actually-observed light sensor measurements, and rejecting those measurements failing the significance test.
  12. 12
    The method of Claim 8, further comprising confirming the identified pose by further tracking of the pose of the robot and comparing a count of measurement outliers to a value to confirm or reject the identified pose.
  13. 13
    The method of Claim 8, wherein the actually-observed light sensor measurements and the plurality of light sensor measurements are based on photodiode current measurements.
  14. 14
    The method of Claim 7, wherein comparing further comprises:calculating closeness between the converted light sensor measurements and the plurality of light sensor measurements for nodes of the map;selecting a node based on the closeness;for a cell adjacent to the selected node, interpolating with the cell to generate the position of the pose;and analyzing the current set of actually-observed light sensor measurements to generate an orientation of the pose.
  15. 15
    The method of Claim 14, wherein for a cell adjacent to the selected node comprises for each cell adjacent to the selected node, and further comprising selecting a position from within one or more cells based on least squared error.
  16. 16
    The method of Claim 1, wherein the robot comprises an autonomous robotic cleaner, wherein treatment comprises cleaning, the method further comprising cleaning the surface while performing SLAM.
  17. 17
    The method of Claim 1, wherein navigating further comprises navigating using an occupancy grid map to determine where the robot should go next.
  18. 18
    The method of Claim 1, wherein determining that operation of the robot has been paused further comprises determining that the robot has been lifted off of the surface, controlling the robot so that it should not be moving, and detecting motion with a gyroscope.
  19. 19
    The method of Claim 1, wherein determining that operation of the robot has been paused further comprises detecting user interaction with a pause function of the robot.
  20. 20
    An apparatus comprising:a robot;and a controller of the robot configured to: compute a pose of the robot through simultaneous localization and mapping as the robot moves along a surface to generate one or more maps, wherein the pose comprises a position and orientation of the robot;navigate the robot such that the robot treats the surface in a methodical manner;determine that operation of the robot has been paused, and after resumption of operation of the robot: re-localize the robot within a map of the one or more maps without erasing the one or more maps;and resume treatment of the surface in the methodical manner.
  21. 21
    The apparatus of Claim 20, wherein the controller is further configured to return the robot to a previous pose prior to resumption of treatment, wherein the previous prior pose is from a time prior to the pausing event, wherein the prior pose comprises a prior position and a prior orientation.
  22. 22
    The apparatus of Claim 20, wherein the controller is further configured to resume treatment of the surface substantially without re-treating areas of the surface already treated prior to the pausing event.
  23. 23
    The apparatus of Claim 20, wherein the controller is further configured to perform simultaneous localization and mapping for learning the spatial distribution of one or more continuous signals in an environment in which the robot is navigating, and wherein each of the one or more maps is defined over a vector field of expected measurement values of the one or more continuous signals for various positions along the surface.
  24. 24
    The apparatus of Claim 20, wherein the controller is further configured to perform simultaneous localization and mapping via analysis of two or more light patterns projected onto a ceiling, and wherein each of the one or more maps is defined over a vector field of light sensor measurement values expected for various positions along the surface.
  25. 25
    The apparatus of Claim 24, wherein to re-localize the robot, the controller is further configured to:obtain a current set of actually-observed light sensor measurements;compare the actually-observed light sensor measurements to a plurality of light sensor measurements of the one or more maps corresponding to different positions within the one or more maps;and identify a pose from among the plurality of positions of the one or more maps, wherein the pose comprises a position and orientation of the robot.
  26. 26
    The apparatus of Claim 24, wherein to re-localize the robot, the controller is further configured to:obtain a current set of actually-observed light sensor measurements;convert the current set of actually-observed light sensor measurements to converted light sensor measurements, wherein the converted light sensor measurements are independent of the orientation of the robot;compare the converted light sensor measurements to a plurality of light sensor measurements of the one or more maps corresponding to different positions within the one or more maps;and identify a pose from among the plurality of positions of the one or more maps, wherein the pose comprises a position and orientation of the robot.
  27. 27
    The apparatus of Claim 26, wherein to compare, the controller is further configured to:calculate closeness between the converted light sensor measurements and the plurality of light sensor measurements for nodes of the map;select a cell based on the closeness calculated for its nodes;interpolate within the cell to generate the position of the pose;and analyze the current set of actually-observed light sensor measurements to generate an orientation of the pose.
  28. 28
    The apparatus of Claim 27, wherein to calculate closeness, the controller is further configured to calculate Mahalanobis distances.
  29. 29
    The apparatus of Claim 27, wherein the identified cell corresponds to the cell with the lowest average closeness for its nodes.
  30. 30
    The apparatus of Claim 27, wherein the controller is further configured to perform a significance test associated with signal strength on the actually-observed light sensor measurements, and to reject those measurements failing the significance test.
  31. 31
    The apparatus of Claim 27, wherein the controller is further configured to confirm the identified pose by further tracking of the pose of the robot and to compare a count of measurement outliers to a value to confirm or reject the identified pose.
  32. 32
    The apparatus of Claim 27, wherein the actually-observed light sensor measurements and the plurality of light sensor measurements are based on photodiode current measurements.
  33. 33
    The apparatus of Claim 26, wherein to compare, the controller is further configured to:calculate closeness between the converted light sensor measurements and the plurality of light sensor measurements for nodes of the map;select a node based on the closeness;for a cell adjacent to the selected node, interpolate with the cell to generate the position of the pose;and analyze the current set of actually-observed light sensor measurements to generate an orientation of the pose.
  34. 34
    The apparatus of Claim 33, wherein for a cell adjacent to the selected node comprises for each cell adjacent to the selected node, and wherein the controller is further configured to select a position from within one or more cells based on least squared error.
  35. 35
    The apparatus of Claim 20, wherein the robot comprises an autonomous robotic cleaner, wherein treatment comprises cleaning, and wherein the controller is further configured to have the robot clean a surface while the controller performs SLAM.
  36. 36
    The apparatus of Claim 20, wherein to navigate, the controller is further configured to navigate using an occupancy grid map to determine where the robot should go next.
  37. 37
    The apparatus of Claim 20, wherein to determine that operation of the robot has been paused, the controller is further configured to determine that the robot has been lifted off of the surface, to control the robot so that it should not be moving, and to detect motion with a gyroscope.
  38. 38
    The apparatus of Claim 20, wherein to determine that operation of the robot has been paused, the controller is further configured to detect user interaction with a pause function of the robot.
  39. 39
    An apparatus for estimating a pose of a robot, the apparatus comprising:a means for computing the pose of the robot through simultaneous localization and mapping as the robot moves along a surface to generate one or more maps, wherein the pose comprises position and orientation of the robot;a means for navigating the robot such that the robot treats the surface in a methodical manner;a means for determining that operation of the robot has been paused, and after resuming operation of the robot: a means for re-localizing the robot within a map of the one or more maps without erasing the one or more maps;and a means for resuming treatment of the surface in the methodical manner.
  40. 40
    A method of performing simultaneous localization and mapping (SLAM) for a robot, the method comprising:performing SLAM in a first area associated with a first map;performing SLAM in a second area associated with a second map;and performing position estimation in a third area outside of and between the first area and the second area, wherein in the third area, position estimation is performed with dead reckoning.
  41. 41
    The method of Claim 40, wherein dead reckoning is performed using odometry and a gyroscope.
  42. 42
    The method of Claim 40, further comprising:resetting a timer upon entry of the robot into the third area;tracking time spent in the third area with the timer;and returning to at least one of the first area or the second area after a predetermined elapsed time in the third area.
  43. 43
    The method of Claim 40, further comprising:resetting a timer upon entry of the robot into the third area from the first area or the second area;remembering which one of the first area or the second area the robot was in prior to entry to the third area;tracking time spent in the third area with the timer;and returning to the one of the first area or the second area from which the robot was in prior to entry to the third area after elapsing of a predetermined time in the third area unless the robot enters an area in which SLAM can be performed at least with positioning information based on observations of a set of one or more continuous signals.
  44. 44
    The method of Claim 40, further comprising:estimating a position uncertainty of the robot while operating in the third area;and if the position uncertainty is larger than a predetermined threshold, returning to at least one of the first area or the second area.
  45. 45
    The method of Claim 40, further comprising:estimating a position uncertainty of the robot while operating in the third area;remembering which one of the first area or the second area the robot was in prior to entry to the third area;and if the position uncertainty is larger than a predetermined threshold, returning to the one of the first area or the second area from which the robot was in prior to entry to the third area.
  46. 46
    The method of Claim 40, wherein in the first area, SLAM is performed at least with positioning information based on observations of a first set of one or more continuous signals, wherein in the second area, SLAM is performed at least with positioning information based on observations of a second set of one or more continuous signals.
  47. 47
    The method of Claim 46, wherein the first set of one or more continuous signals and the second set of one or more continuous signals comprise reflections of spots of infrared light.
  48. 48
    The method of Claim 47, further comprising distinguishing among the different reflections of spots of infrared light based on frequency.
  49. 49
    The method of Claim 40, wherein the robot comprises an autonomous robotic cleaner, further comprising performing SLAM while cleaning a surface.
  50. 50
    An apparatus comprising:a robot;a controller of the robot configured to: perform SLAM in a first area associated with a first map;perform SLAM in a second area associated with a second map;and perform position estimation in a third area outside of and between the first area and the second area, wherein in the third area, position estimation is performed with dead reckoning.
  51. 51
    The apparatus of Claim 50, wherein the controller is configured to perform dead reckoning using odometry and a gyroscope.
  52. 52
    The apparatus of Claim 50, wherein the controller is further configured to:reset a timer upon entry of the robot into the third area;track time spent in the third area with the timer;and return to at least one of the first area or the second area after a predetermined elapsed time in the third area.
  53. 53
    The apparatus of Claim 50, wherein the controller is further configured to:reset a timer upon entry of the robot into the third area from the first area or the second area;remember which one of the first area or the second area the robot was in prior to entry to the third area;track time spent in the third area with the timer;and return to the one of the first area or the second area from which the robot was in prior to entry to the third area after elapsing of a predetermined time in the third area unless the robot enters an area in which SLAM can be performed at least with positioning information based on observations of a set of one or more continuous signals.
  54. 54
    The apparatus of Claim 50, wherein the controller is further configured to:estimate a position uncertainty of the robot while operating in the third area;and if the position uncertainty is larger than a predetermined threshold, return to at least one of the first area or the second area.
  55. 55
    The apparatus of Claim 50, wherein the controller is further configured to:estimate a position uncertainty of the robot while operating in the third area;remember which one of the first area or the second area the robot was in prior to entry to the third area;and if the position uncertainty is larger than a predetermined threshold, return to the one of the first area or the second area from which the robot was in prior to entry to the third area.
  56. 56
    The apparatus of Claim 50, wherein in the first area, the controller is configured to perform SLAM at least with positioning information based on observations of a first set of one or more continuous signals, and wherein in the second area, the controller is configured to perform SLAM at least with positioning information based on observations of a second set of one or more continuous signals.
  57. 57
    The apparatus of Claim 56, wherein the first set of one or more continuous signals and the second set of one or more continuous signals comprise reflections of spots of infrared light.
  58. 58
    The apparatus of Claim 57, wherein the controller is further configured to distinguish among the different reflections of spots of infrared light based on frequency.
  59. 59
    The apparatus of Claim 50, wherein the robot comprises an autonomous robotic cleaner, wherein the controller is configured to perform SLAM while cleaning a surface.
  60. 60
    An apparatus for performing simultaneous localization and mapping (SLAM) for a robot, the apparatus comprising:a means for performing SLAM in a first area associated with a first map and in a second area associated with a second map;and a means for performing position estimation in a third area outside of and between the first area and the second area, wherein in the third area, position estimation is performed with dead reckoning.
  61. 61
    A method of managing resources for a robot, the method comprising:associating observations of a first set of one or more continuous signals with a first map;associating observations of a second set of one or more continuous signals with a second map, wherein the second map is maintained independently the first map;and switching between performing simultaneous localization and mapping (SLAM) with the first map or performing SLAM with the second map based at least partly on an observed signal strength of the first set or the second set.
  62. 62
    The method of Claim 61, further comprising:observing a plurality of sets of one or more continuous signals including the first set and the second set, wherein each of the plurality of observed sets is associated with a separate map;determining that a largest observed signal strength of the plurality of observed sets is larger in magnitude than a signal strength of a set currently being used for performing SLAM;and switching to performing SLAM with the set with the largest observed signal strength.
  63. 63
    The method of Claim 61, further comprising:observing a plurality of sets of one or more continuous signals including the first set and the second set, wherein each of the plurality of observed sets is associated with a separate map;determining that a largest observed signal strength of the plurality of observed sets is at least a predetermined factor larger in magnitude than a signal strength of a set currently being used for performing SLAM;and switching to performing SLAM with the set with the largest observed signal strength.
  64. 64
    The method of Claim 63, wherein the predetermined factor is a factor of 2.
  65. 65
    The method of Claim 61, wherein the first set of one or more continuous signals and the second set of one or more continuous signals comprise reflections of spots of infrared light.
  66. 66
    The method of Claim 61, further comprising distinguishing among the different reflections of spots of infrared light based on frequency.
  67. 67
    The method of Claim 61, wherein the robot comprises an autonomous robotic cleaner, the method further comprising performing SLAM while cleaning a surface.
  68. 68
    An apparatus comprising:a robot;a controller of the robot configured to: associate observations of a first set of one or more continuous signals with a first map;associate observations of a second set of one or more continuous signals with a second map, wherein the second map is maintained independently the first map;and switch between performing simultaneous localization and mapping (SLAM) with the first map or performing SLAM with the second map based at least partly on an observed signal strength of the first set or the second set.
  69. 69
    The apparatus of Claim 68, wherein the controller is further configured to:observe a plurality of sets of one or more continuous signals including the first set and the second set, wherein each of the plurality of observed sets is associated with a separate map;determine that a largest observed signal strength of the plurality of observed sets is larger in magnitude than a signal strength of a set currently being used for performing SLAM;and switch to performing SLAM with the set with the largest observed signal strength.
  70. 70
    The apparatus of Claim 68, wherein the controller is further configured to:observe a plurality of sets of one or more continuous signals including the first set and the second set, wherein each of the plurality of observed sets is associated with a separate map;determine that a largest observed signal strength of the plurality of observed sets is at least a predetermined factor larger in magnitude than a signal strength of a set currently being used for performing SLAM;and switch to performing SLAM with the set with the largest observed signal strength.
  71. 71
    The apparatus of Claim 70, wherein the predetermined factor is a factor of 2.
  72. 72
    The apparatus of Claim 68, wherein the first set of one or more continuous signals and the second set of one or more continuous signals comprise reflections of spots of infrared light.
  73. 73
    The apparatus of Claim 68, wherein the controller is further configured to distinguish among the different reflections of spots of infrared light based on frequency.
  74. 74
    The apparatus of Claim 68, wherein the robot comprises an autonomous robotic cleaner, wherein the controller is further configured to perform SLAM while the robot is cleaning a surface.
  75. 75
    An apparatus for managing resources for a robot, the apparatus comprising:a means for associating observations of a first set of one or more continuous signals with a first map;a means for associating observations of a second set of one or more continuous signals with a second map, wherein the second map is maintained independently the first map;and a means for switching between performing simultaneous localization and mapping (SLAM) with the first map or performing SLAM with the second map based at least partly on an observed signal strength of the first set or the second set.
Independent claims75