Simultaneous Localization And Mapping For A Mobile Robot
First Claim
1. A method of simultaneous localization and mapping executed on a controller of an autonomous mobile robot, the method comprising:
- initializing a robot pose;
initializing a particle model of a particle filter executing on the controller, the particle model having particles, each particle having an associated map, robot pose, and weight;
receiving sparse sensor data from a sensor system of the robot;
synchronizing the received sensor data with a change in robot pose;
accumulating the synchronized sensor data over time in non-transitory memory;
determining a localization quality of the robot;
when the accumulated sensor data exceeds a threshold accumulation and the robot localization quality is greater than a threshold localization quality, updating particles of the particle model with accumulated synchronized sensor data;
determining a weight for each updated particle of the particle model; and
setting a robot pose belief to the robot pose of the particle having the highest weight when a mean weight of the particles is greater than a threshold particle weight.
4 Assignments
0 Petitions
Accused Products
Abstract
A method of simultaneous localization and mapping includes initializing a robot pose and a particle model of a particle filter. The particle model includes particles, each having an associated map, robot pose, and weight. The method includes receiving sparse sensor data from a sensor system of the robot, synchronizing the received sensor data with a change in robot pose, accumulating the synchronized sensor data over time, and determining a robot localization quality. When the accumulated sensor data exceeds a threshold accumulation and the robot localization quality is greater than a threshold localization quality, the method includes updating particles with accumulated synchronized sensor data. The method includes determining a weight for each updated particle of the particle model and setting a robot pose belief to the robot pose of the particle having the highest weight when a mean weight of the particles is greater than a threshold particle weight.
106 Citations
55 Claims
-
1. A method of simultaneous localization and mapping executed on a controller of an autonomous mobile robot, the method comprising:
-
initializing a robot pose; initializing a particle model of a particle filter executing on the controller, the particle model having particles, each particle having an associated map, robot pose, and weight; receiving sparse sensor data from a sensor system of the robot; synchronizing the received sensor data with a change in robot pose; accumulating the synchronized sensor data over time in non-transitory memory; determining a localization quality of the robot; when the accumulated sensor data exceeds a threshold accumulation and the robot localization quality is greater than a threshold localization quality, updating particles of the particle model with accumulated synchronized sensor data; determining a weight for each updated particle of the particle model; and setting a robot pose belief to the robot pose of the particle having the highest weight when a mean weight of the particles is greater than a threshold particle weight. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. An autonomous mobile robot comprising:
-
a drive system configured to maneuver the robot over a floor surface; a sensor system comprising at least one infrared range finding sensor producing range data of a scene about the robot; a controller in communication with the drive system and the sensor system, the controller executing a simultaneous localization and mapping routine comprising; initializing a robot pose; initializing a particle model of a particle filter executing on the controller, the particle model having particles, each particle having an associated map, robot pose, and weight; receiving sparse sensor data from a sensor system; synchronizing the received sensor data with a change in robot pose; accumulating the synchronized sensor data over time in non-transitory memory; determining a localization quality of the robot; when the accumulated sensor data exceeds a threshold accumulation and the robot localization quality is greater than a threshold localization quality, updating particles of the particle model with accumulated synchronized sensor data; determining a weight for each updated particle of the particle model; and setting a robot pose belief to the robot pose of the particle having the highest weight when a mean weight of the particles is greater than a threshold particle weight. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30)
-
-
31. A computer program product encoded on a non-transitory computer readable storage medium comprising instructions that when executed by a data processing apparatus cause the data processing apparatus to perform operations of a method comprising:
-
initializing a robot pose of a mobile robot; initializing a particle model of a particle filter executing on the data processing apparatus, the particle model having particles, each particle having an associated map, robot pose, and weight; receiving sparse sensor data from a sensor system of the robot; synchronizing the received sensor data with a change in robot pose; accumulating the synchronized sensor data over time in non-transitory memory; determining a localization quality of the robot; when the accumulated sensor data exceeds a threshold accumulation and the robot localization quality is greater than a threshold localization quality, updating particles of the particle model with accumulated synchronized sensor data; determining a weight for each updated particle of the particle model; and setting a robot pose belief to the robot pose of the particle having the highest weight when a mean weight of the particles is greater than a threshold particle weight. - View Dependent Claims (32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44)
-
-
45. A method executed on a controller of an autonomous mobile robot, the method comprising:
-
determining a localization quality of the robot; when the localization quality is below a threshold quality; accessing a good particle from a particle model of a particle filter executing on the controller, the particle model having particles, each particle having an associated map, robot pose, and weight, wherein the good particle has weight greater than a threshold weight; generating new particles based on the last known good particle; and re-populating at least a portion of the particle model with the new particles. - View Dependent Claims (46, 47, 48, 49, 50, 51, 52, 53, 54, 55)
-
Specification