Processing

Please wait...

Settings

Settings

Goto Application

1. WO2021065122 - SYSTEM AND METHOD FOR PROBABILISTIC MULTI-ROBOT SLAM

Note: Text based on automatic Optical Character Recognition processes. Please use the PDF version for legal matters

[ EN ]

[CLAIMS]

[Claim 1]

A robot for performing simultaneous localization and mapping (SLAM), comprising:

a set of sensors for measuring movements of the robot in an environment and sensing occupied locations in the environment to produce sensor measurements;

a processor configured to execute a SLAM module that processes the sensor measurements by a particle filter to produce a set of particles, each particle including a map of the environment and a pose of the robot in the environment to represent a probability that the environment has the map oriented with respect to the pose of the robot;

a receiver configured to receive a set of particles of a neighboring robot, wherein the processor, in response to receiving the set of particles of the neighboring robot, is configured to update maps of probabilistically sampled particles of the robot with maps of probabilistically sampled particles of the neighboring robot, wherein the update includes merging a map of the sampled particle of the robot with a map of the sampled particle of the neighboring robot roto-translated based on a relative pose between the robot and the neighboring robot; and

an output interface configured to output one or combination of a current map of the robot and a current pose of the robot in the current map determined based on the particles of the robot.

[Claim 2]

The robot of claim 1, wherein the updated particles of the robot are probabilistically sampled according to their probabilities maintained by the particle filter.

[Claim 3]

The robot of claim 1, wherein the processor is configured to sample a first particle from the set of particles of the robot based on a weight of the first particle maintained by the robot and sample a second particle from the set of particles of the neighboring robot based on a weight of the second particle maintained by the neighboring robot, rotate and translate the map of the second particle based on the relative pose between the robot and the neighboring robot and merge the map of the first particle with the rotated map of the second particle.

[Claim 4]

The robot of claim 3, wherein the processor merges the map of the first particle of the robot with the map of the second particle of the neighboring robot by computing a log odd ratio of a grid cell in the merged map by summing corresponding log odd ratios from the map of the first particle and the map of the second particle.

[Claim 5]

The robot of claim 3, wherein the particle filter maintains a weight for each particle to represent the probability of the environment to have occupancy grid points of the map of the particle oriented with respect to the pose of the robot of the particle, wherein the processor is configured to pair the first particle and the second particle by sampling the set of particles of the robot and the set of particles of the neighboring robot according to the weights of the particles.

[Claim 6]

The robot of claim 4, wherein the particles have equal weights and the processor uniformly randomly samples the particles of the robot to pair particles.

[Claim 7]

The robot of claim 4, wherein the processor samples the particles of

the robot non-uniformly randomly according to the weights of the particles, such that a particle with a larger weight is more likely to be sampled than a particle with a smaller weight.

[Claim 8]

The robot of claim 1 , wherein the map in a particle of the robot is determined in a first coordinate system aligned with the pose of the robot in the particle, such that the movement of the robot causes the movement of the first coordinate system, wherein the map in a particle of the neighboring robot is determined in a second coordinate system aligned with the pose of the neighboring robot in the particle, such that the movement of the neighboring robot causes the movement of the second coordinate system, wherein the processor roto-translates one or combination of the map in the particle of the robot and the map in the particle of the neighboring robot to align the first and the second coordinate systems.

[Claim 9]

The robot of claim 8, wherein the processor merges a map of a first particle of the robot with a map of a second particle of the neighboring robot using the first coordinate system of the first particle and the second coordinate systems of the second particle.

[Claim 10]

The robot of claim 8, wherein the processor merges a map of a first particle of the robot with a map of a second particle of the neighboring robot using the first coordinate system of a particle of the robot with the largest weight among the particles of the robot and the second coordinate systems of a particle of the neighboring robot with the largest weight among the particles of the neighboring robot.

[Claim 11]

The robot of claim 10, wherein the processor updates the weight of the first particle based on an error between an alignment transformation of the first and the second coordinate systems of the first and the second particles and an alignment transformation of the first and the second coordinate systems of the particles with the largest weights among the particles of the robot and the particles of the neighboring robot.

[Claim 12]

The robot of claim 1 , wherein the processor determines one or combination of the current map and the current pose of the robot as a weighted combination of the maps and the poses of the particles weighted with the corresponding weights of the particles of the robot.

[Claim 13]

The robot of claim 1 , wherein the set of sensors include an odometer to measure a distance travelled by the robot, and a depth sensor to measure a distance between the robot and an occupied location in the environment. [Claim 14]

The robot of claim 1 , wherein the SLAM module uses a grid-based FastSLAM method to estimate the particles.

[Claim 15]

The robot of claim 13, within the grid-based FastSLAM uses a Bayesian inference framework to infer a probability distribution of a map m and robot’ s pose xt in the map at time t, given all ranging and odometry measurements up to time t.

[Claim 16]

The robot of claim 1 , wherein the processor requests the neighboring robot to transmit its particles upon detecting a rendezvous with the neighboring robot when a distance between the rendezvous and a previous rendezvous is above a threshold.

[Claim 17]

The robot of claim 16, wherein the distance is one or combination of a time passed since the previous rendezvous, and a distance covered by the robot since the previous rendezvous.

[Claim 18]

A method for performing simultaneous localization and mapping (SLAM), wherein the method uses a processor coupled with stored instructions implementing the method, wherein the instructions, when executed by the processor carry out steps of the method, comprising:

measuring movements of the robot in an environment and sensing occupied locations in the environment to produce sensor measurements;

processing the sensor measurements by a particle filter to produce a set of particles, each particle including a map of the environment and a pose of the robot in the environment to represent a probability that the environment has the map oriented with respect to the pose of the robot;

receiving a set of particles of a neighboring robot and updating, in response to receiving the set of particles of the neighboring robot, maps of probabilistically sampled particles of the robot with maps of probabilistically sampled particles of the neighboring robot, wherein the updating includes merging a map of the sampled particle of the robot with a map of the sampled particle of the neighboring robot roto-translated based on a relative pose between the robot and the neighboring robot; and

outputting one or combination of a current map of the robot and a current pose of the robot in the current map determined based on the particles of the robot.

[Claim 19]

A non-transitory computer readable storage medium embodied thereon a program executable by a processor for performing a method, the method comprising:

measuring movements of the robot in an environment and sensing occupied locations in the environment to produce sensor measurements;

processing the sensor measurements by a particle filter to produce a set of particles, each particle including a map of the environment and a pose of the robot in the environment to represent a probability that the environment has the map oriented with respect to the pose of the robot;

receiving a set of particles of a neighboring robot and updating, in response to receiving the set of particles of the neighboring robot, maps of probabilistically sampled particles of the robot with maps of probabilistically sampled particles of the neighboring robot, wherein the updating includes merging a map of the sampled particle of the robot with a map of the sampled particle of the neighboring robot roto-translated based on a relative pose between the robot and the neighboring robot; and

outputting one or combination of a current map of the robot and a current pose of the robot in the current map determined based on the particles of the robot.