Claims
- 1. A method of localizing a mobile device in a multiple-particle autonomous localization and mapping system, the method comprising:
performing autonomous localization and mapping with a plurality of particles, where a particle includes a device pose and a map, where the map includes one or more landmarks; receiving an indication that a landmark has been detected; and updating at least one particle from the plurality of particles at least partly in response to receiving the indication of the detected landmark, wherein updating further comprises:
selectively categorizing a particle as one of a first type of particle and a second type of particle; and calculating an updated device pose estimate for a particle, wherein the technique used to calculate the updated device pose estimate is selected according to the type associated with the particle.
- 2. The method as defined in claim 1, wherein calculating the updated device pose estimate further comprises calculating the updated device pose estimate for a primary particle based at least in part on data from a first sensor, and calculating the updated device pose estimate for a dual particle based at least in part on data from a second sensor, where the second sensor is different from the first sensor.
- 3. The method as defined in claim 1, wherein calculating the updated device pose estimate further comprises calculating the updated device pose for a primary type of particle based at least in part on data from a dead reckoning sensor, and calculating the updated device pose estimate for a dual type of particle based at least in part on data from a visual sensor.
- 4. The method as defined in claim 1, wherein calculating the updated device pose estimate further comprises:
using a prior pose estimate and dead reckoning sensor data to compute a new pose for particles of primary type based on the change in pose estimated from the dead reckoning sensor data; receiving a visually-measured relative pose to the landmark, where the landmark has been matched using visual features from a visual sensor coupled to the mobile device, where the relative pose corresponds to a visually-measured difference in pose between a landmark pose and a pose corresponding to the visual observation; and using the landmark pose estimate and the visually-measured relative pose to compute the new pose estimate for particles of dual type.
- 5. The method as defined in claim 1, further comprising:
using dead reckoning data to estimate a change in pose from a prior update to the particles; wherein receiving the indication that a landmark has been detected further comprises receiving a visual measurement of a relative pose of the device with respect to a landmark, where the landmark forms part of the maps of the multiple particles; and wherein calculating the device pose for the particle further comprises using the change in pose estimated from dead reckoning data and using the relative pose to calculate an updated device pose estimate.
- 6. The method as defined in claim 1, wherein selectively associating the particles is performed each time that the plurality of particles are updated when a landmark is detected.
- 7. The method as defined in claim 1, wherein selectively associating the particle further comprises randomly selecting which type is associated with the particle such that prior to associating, a first particle and a second particle from the plurality of particles have approximately the same probability of being associated as primary particles.
- 8. The method as defined in claim 1, wherein selectively associating further comprises apportioning the multiple particles such that a particle has a probability of being associated with the first type of particle with about a predetermined rate of probability.
- 9. The method as defined in claim 8, wherein the predetermined value is about 0.9 or 90%.
- 10. The method as defined in claim 1, wherein the technique used to calculate the updated device pose estimate for the first type of particle further comprises:
using a prior pose estimate, the dead reckoning sensor data, and simulated random noise to compute a new device pose estimate termed perturbed predicted device pose; using the perturbed predicted device pose and a visually-measured pose of the device relative to the landmark to compute a hypothetical landmark pose; computing an importance factor for the particle, where the importance factor is based at least in part on an uncertainty measure and a comparison between the calculated hypothetical landmark pose and a prior landmark pose estimate; and using the perturbed predicted pose with the importance factor as the updated device pose.
- 11. The method as defined in 10, wherein the simulated random noise exhibits an uncertainty measure for the dead reckoning sensor data.
- 12. The method as defined in claim 11, wherein:
a new device Pose Sm,pred equals Sm,pred=(xl, yl, θl)T=(xm,pred, ym,pred, θm,pred)T; a visually-measured pose Sm,meas equals 16Sm,meas=[Lmk(1)-Δ1viscos(Lmk(3)-Δ2vis)Lmk(2)-Δ1vissin(Lmk(3)-Δ2vis)[(Lmk(3)-Δ3vis+π)mod 2π]-π];a perturbed visually-measured pose {tilde over (S)}m,meas equals 17S~m,meas=(Sm,meas(1)+εx,mSm,meas(2)+εy,m[(Sm,meas(3)+εθ,m+π) mod2 π]-π);a variable Δ equals 18Δ=(Δ1Δ2Δ3)=S~m,meas-Sm,pred;a variable Δ3 equals Δ3=[(Δ3+π)mod2π]−π; and an importance factor wm for a particle m equals: 19wm=(1f)12πdet Cexp(-12ΔTC-1Δ)
- 13. The method as defined in claim 1, wherein the technique used to calculate the updated device pose for the second type of particle termed dual particle further comprises:
using a landmark pose estimate corresponding to the landmark and a visually-measured relative pose to compute a hypothetical device pose; perturbing the hypothetical device pose with simulated random noise; computing an importance factor for the particle, where the importance factor is based at least in part on an uncertainty measure and a comparison between the hypothetical device pose and a predicted device pose from a prior pose estimate and the dead reckoning sensor data; and using the hypothetical device pose with the importance factor as the updated device pose.
- 14. The method as defined in 13, wherein the simulated random noise exhibits an uncertainty measure estimated for a visual sensor.
- 15. The method as defined in 14, where the dead reckoning uncertainty measure corresponds to an odometer covariance matrix Codom.
- 16. The method as defined in claim 1, further comprising resampling selected particles from the plurality of particles.
- 17. A circuit for a mobile device that is configured to localize the mobile device in a multiple-particle autonomous localization and mapping system, the circuit comprising:
a means for performing autonomous localization and mapping with a plurality of particles, where a particle includes a device pose and a map, where the map includes one or more landmarks; a means for receiving an indication that a landmark has been detected; and a means for updating at least one particle from the plurality of particles at least partly in response to receiving the indication of the detected landmark, wherein the means for updating further comprises:
a means for selectively categorizing a particle as one of a first type of particle and a second type of particle; and a means for calculating an updated device pose estimate for a particle, wherein the technique used to calculate the updated device pose estimate is selected according to the type associated with the particle.
- 18. The circuit as defined in claim 17, wherein the means for calculating the updated device pose estimate further comprises a means for calculating the updated device pose estimate for a primary particle based at least in part on data from a first sensor, and a means for calculating the updated device pose estimate for a dual particle based at least in part on data from a second sensor, where the second sensor is different from the first sensor.
- 19. The circuit as defined in claim 17, wherein the circuit is embodied in a robot for navigation of the robot.
- 20. A computer program embodied in a tangible medium for localizing a mobile device in a multiple-particle autonomous localization and mapping system, the computer program comprising:
a module with instructions configured to perform autonomous localization and mapping with a plurality of particles, where a particle includes a device pose and a map, where the map includes one or more landmarks; a module with instructions configured to receive an indication that a landmark has been detected; and a module with instructions configured to update at least one particle from the plurality of particles at least partly in response to receiving the indication of the detected landmark, wherein the module with instructions configured to update further comprises:
instructions configured to selectively categorize a particle as one of a first type of particle and a second type of particle; and instructions configured to calculate an updated device pose estimate for a particle, wherein the technique used to calculate the updated device pose estimate is selected according to the type associated with the particle.
- 21. The computer program as defined in claim 20, wherein the module with instructions configured to calculate the updated device pose estimate further comprises instructions configured to calculate the updated device pose estimate for a primary particle based at least in part on data from a first sensor and instructions configured to calculate the updated device pose estimate for a dual particle based at least in part on data from a second sensor, where the second sensor is different from the first sensor.
- 22. The computer program as defined in claim 20, wherein the module with instructions configured to calculate the updated device pose estimate further comprises instructions configured to calculate the updated device pose for a particle type of based at least impart on data from a dead reckoning sensor and instructions configured to calculate the updated device pose estimate for a particle type of particle based at least in part on data from a visual sensor.
- 23. The computer program as defined in claim 20, further comprising a module with instruction for resampling selected particles from the plurality of particles.
- 24. A circuit for localizing a mobile device in a multiple-particle autonomous localization and mapping system, the circuit comprising:
a circuit configured to perform autonomous localization and mapping with a plurality of particles, where a particle includes a device pose and a map, where the map includes one or more landmarks; a circuit configured to receive an indication that a landmark has been detected; and a circuit configured to update at least one particle from the plurality of particles at least partly in response to receiving the indication of the detected landmark, wherein the circuit configured to update further comprises:
a circuit configured to selectively categorize a particle as one of a first type of particle and a second type of particle; and a circuit configured to calculate an updated device pose estimate for a particle, wherein the technique used to calculate the updated device pose estimate is selected according to the type associated with the particle.
- 25. The circuit as defined in claim 24, wherein the circuit configured to calculate the updated device pose estimate is further configured to calculate the updated device pose estimate for a particle of primary type based at least in part on data from a first sensor and is further configured to calculate the updated device pose estimate for a particle of dual type based at least in part on data from a second sensor, where the second sensor is different from the first sensor.
- 26. The circuit as defined in claim 24, wherein the circuit configured to calculate the updated device pose estimate is further configured to calculate the updated device pose for a primary particle based at least in part on data from a dead reckoning sensor and is further configured to calculate the updated device pose estimate for a dual particle based at least in part on data from a visual sensor.
- 27. The circuit as defined in claim 24, further comprising a circuit configured to resample selected particles from the plurality of particles.
- 28. The circuit as defined in claim 24, wherein the circuit is embodied in a robot for navigation of the robot.
- 29. A method of localizing a mobile device via a multiple-particle autonomous localization and mapping system, the method comprising:
performing autonomous localization and mapping with a plurality of particles, where a particle includes a device pose estimate and a map, where the map includes one or more landmarks; receiving an indication that a landmark has been recognized and a visually-measured relative pose to the landmark has been estimated, where the landmark has been recognized using visual features from a visual sensor coupled to the mobile device, where the relative pose corresponds to a visually-measured difference in pose between a landmark pose and a pose corresponding to the visual observation; and updating at least one of the plurality of particles at least partly in response to receiving the indication of the recognized landmark, wherein updating further comprises:
using a prior pose estimate and dead reckoning sensor data to compute a new pose estimate for particles in a selected group based on the estimated change in pose; and using the landmark pose and the visually-measured relative pose estimate to compute the new pose estimate for particles not in the selected group.
- 30. The method as defined in claim 29, wherein updating at least one of the plurality of particles is performed each time that a landmark is recognized.
- 31. The method as defined in claim 29, wherein particles are grouped to be in the selected group or not in the selected group each time that a landmark is recognized.
- 32. The method as defined in claim 29, wherein particles are independently categorized into the selected group such that a probability of one particle being categorized into the selected group is about the same as the probability of another particle being categorized into the selected group.
- 33. The method as defined in claim 29, wherein using the prior pose estimate and dead reckoning sensor data to compute the new pose estimate for particles in the selected group further comprises:
using the prior pose estimate, the dead reckoning sensor data, and simulated random noise to compute a perturbed predicted pose; using the perturbed predicted pose and the visually-measured relative pose to compute a hypothetical landmark pose; obtaining an uncertainty measure associated with the particle based at least in part on an uncertainty measure associated with the landmark and particle and an uncertainty measure associated with the visual sensor; computing an importance factor for the particle, where the importance factor is based at least in part on the uncertainty measure associated with the particle and a comparison between the calculated hypothetical landmark pose and a prior landmark pose estimate; and using the perturbed predicted pose with the importance factor to calculate the new pose.
- 34. The method as defined in 33, wherein the simulated random noise exhibits an uncertainty measure estimated for the dead reckoning sensor data.
- 35. The method as defined in 33, wherein the prior landmark pose estimate corresponds to a most recent update of landmark pose.
- 36. The method as defined in claim 29, wherein using the landmark pose estimate and the visually-measured relative pose further comprises:
using the landmark pose estimate corresponding to the landmark and the visually-measured relative pose to compute a hypothetical device pose; perturbing the hypothetical device pose with simulated random noise; obtaining an uncertainty measure associated with the particle based at least in part on an uncertainty measure associated with the landmark and particle and an uncertainty measure associated with the dead reckoning measurements; computing an importance factor for the particle, where the importance factor is based at least in part on the uncertainty measure associated with the particle and a comparison between the hypothetical device pose and a prior device pose estimate and the dead reckoning sensor data; and using the perturbed predicted pose with the importance factor to calculate the new pose.
- 37. The method as defined in 36, wherein the simulated random noise exhibits an uncertainty measure estimated for a visual sensor.
- 38. The method as defined in 36, where the uncertainty measure of the dead reckoning measurements corresponds to an odometer covariance matrix Codom.
- 39. The method as defined in claim 29, further comprising resampling selected particles from the plurality of particles.
- 40. A computer program embodied in a tangible medium for localizing a mobile device via a multiple-particle autonomous localization and mapping system, the computer program comprising:
a module with instructions configured to perform autonomous localization and mapping with a plurality of particles, where a particle includes a device pose estimate and a map, where the map includes one or more landmarks; a module with instructions configured to receive an indication that a landmark has been recognized and a visually-measured relative pose to the landmark has been estimated, where the landmark has been recognized using visual features from a visual sensor coupled to the mobile device, where the relative pose corresponds to a visually-measured difference in pose between a landmark pose and a pose corresponding to the visual observation; and a module with instructions configured to update at least one of the plurality of particles at least partly in response to receiving the indication of the recognized landmark, wherein the module with instructions configured to update further comprises:
instructions configured to use a prior pose estimate and dead reckoning sensor data to compute a new pose estimate for particles in a selected group based on the estimated change in pose; and instructions configured to use the landmark pose and the visually-measured relative pose estimate to compute the new pose estimate for particles not in the selected group.
- 41. The computer program as defined in claim 40, wherein particles are independently categorized into the selected group such that a probability of one particle being categorized into the selected group is about the same as the probability of another particle being categorized into the selected group.
- 42. The computer program as defined in claim 40, wherein the module with instructions configured to use the prior pose estimate and dead reckoning sensor data to compute the new pose estimate for particles in the selected group further comprises instructions configured to:
use the prior pose estimate, the dead reckoning sensor data, and simulated random noise to compute a perturbed predicted pose; use the perturbed predicted pose and the visually-measured relative pose to compute a hypothetical landmark pose; obtain an uncertainty measure associated with the particle based at least in part on an uncertainty measure associated with the landmark and particle and an uncertainty measure associated with the visual sensor; compute an importance factor for the particle, where the importance factor is based at least in part on the uncertainty measure associated with the particle and a comparison between the calculated hypothetical landmark pose and a prior landmark pose estimate; and use the perturbed predicted pose with the importance factor to calculate the new pose.
- 43. The computer program as defined in claim 40, wherein module with instructions configured to use the landmark pose estimate and the visually-measured relative pose further comprises instructions configured to:
use the landmark pose estimate corresponding to the landmark and the visually-measured relative pose to compute a hypothetical device pose; perturb the hypothetical device pose with simulated random noise; obtain an uncertainty measure associated with the particle based at least in part on an uncertainty measure associated with the landmark and particle and an uncertainty measure associated with the dead reckoning measurements; compute an importance factor for the particle, where the importance factor is based at least in part on the uncertainty measure associated with the particle and a comparison between the hypothetical device pose and a prior device pose estimate and the dead reckoning sensor data; and use the perturbed predicted pose with the importance factor to calculate the new pose.
- 44. The computer program as defined in claim 40, further comprising a module with instructions configured to resample selected particles from the plurality of particles.
- 45. A circuit for localizing a mobile device in a multiple-particle autonomous localization and mapping system, the circuit comprising:
a circuit configured to perform autonomous localization and mapping with a plurality of particles, where a particle includes a device pose estimate and a map, where the map includes one or more landmarks; a circuit configured to receive an indication that a landmark has been recognized and a visually-measured relative pose to the landmark has been estimated, where the landmark has been recognized using visual features from a visual sensor coupled to the mobile device, where the relative pose corresponds to a visually-measured difference in pose between a landmark pose and a pose corresponding to the visual observation; and a circuit configured to update at least one of the plurality of particles at least partly in response to receiving the indication of the recognized landmark, further comprising:
a circuit configured to use a prior pose estimate and dead reckoning sensor data to compute a new pose estimate for particles in a selected group based on the estimated change in pose; and a circuit configured to use the landmark pose and the visually-measured relative pose estimate to compute the new pose estimate for particles not in the selected group.
- 46. The circuit as defined in claim 45, wherein particles are independently categorized into the selected group such that a probability of one particle being categorized into the selected group is about the same as the probability of another particle being categorized into the selected group.
- 47. The circuit as defined in claim 45, wherein the circuit configured to use the prior pose estimate and dead reckoning sensor data to compute the new pose estimate for particles in the selected group further comprises:
a circuit configured to use the prior pose estimate, the dead reckoning sensor data, and simulated random noise to compute a perturbed predicted pose; a circuit configured to use the perturbed predicted pose and the visually-measured relative pose to compute a hypothetical landmark pose, a circuit configured to obtain an uncertainty measure associated with the particle based at least in part on an uncertainty measure associated with the landmark and particle and an uncertainty measure associated with the visual sensor; a circuit configured to compute an importance factor for the particle, where the importance factor is based at least in part on the uncertainty measure associated with the particle and a comparison between the calculated hypothetical landmark pose and a prior landmark pose estimate; and a circuit configure to use the perturbed predicted pose with the importance factor to calculate the new pose.
- 48. The circuit as defined in claim 45, wherein the circuit configured to use the landmark pose estimate and the visually-measured relative pose further comprises:
a circuit configure to use the landmark pose estimate corresponding to the landmark and the visually-measured relative pose to compute a hypothetical device pose; a circuit configured to perturb the hypothetical device pose with simulated random noise; a circuit configured to obtain an uncertainty measure associated with the particle based at least in part on an uncertainty measure associated with the landmark and particle and an uncertainty measure associated with the dead reckoning measurements; a circuit configured to compute an importance factor for the particle, where the importance factor is based at least in part on the uncertainty measure associated with the particle and a comparison between the hypothetical device pose and a prior device pose estimate and the dead reckoning sensor data; and a circuit configured to use the perturbed predicted pose with the importance factor to calculate the new pose.
- 49. The circuit as defined in claim 45, further comprising a circuit configured to resample selected particles from the plurality of particles.
- 50. The circuit as defined in claim 45, wherein the circuit is embodied in a robot for navigation of the robot.
RELATED APPLICATION
[0001] This application claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 60/434,269, filed Dec. 17, 2002, and U.S. Provisional Application No. 60/439,049, filed Jan. 9, 2003, the entireties of which are hereby incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60434269 |
Dec 2002 |
US |
|
60439049 |
Jan 2003 |
US |