Method and system for localizing a mobile robot
A method and system of localizing a mobile robot with respect to a target object using an initial map of a reference object which is a representation of the target object are disclosed. In a specific embodiment, the method comprises obtaining LiDAR data including respective point cloud representations of the target object and the environment in various sampling instances; iteratively updating pose data representing estimated pose of the mobile robot; extracting a subset of LiDAR data points in the point cloud representation of a previous sampling instance that correspond to features of the target object; obtaining desired LiDAR data points in the point cloud representation in a current sampling instance, and determining a localization pose of the mobile robot with respect to the target object in the current sampling instance based on the desired LiDAR data points.
1 . A method of localizing a mobile robot with respect to a target object using an initial map of a reference object which is a representation of the target object, the mobile robot comprising a pose data update module, a motion controller, a LiDAR device and a localization controller communicatively coupled to the pose data update module, the motion controller and the LiDAR device, the method comprising
(i) obtaining LiDAR data, by the localization controller, of the target object captured by the LiDAR device of the mobile robot as the mobile robot traverses in an environment associated with the target object, the LiDAR data including respective point cloud representations of the target object and the environment in various sampling instances;
(ii) as the mobile robot traverses the environment, iteratively updating, by the pose data update module, pose data representing an estimated pose of the mobile robot with respect to a known reference location of the target object in corresponding sampling instances;
(iii) extracting, by the localization controller, a subset of LiDAR data points in the point cloud representation of a previous sampling instance, the subset of LiDAR data points corresponding only to features of the target object in the initial map based on the estimated pose of the mobile robot associated with the previous sampling instance, the subset of LiDAR data points excluding information that corresponds to other objects in the environment;
(iv) obtaining, by the localization controller, desired LiDAR data points in the point cloud representation in a current sampling instance, the desired LiDAR data points including current LiDAR data points which correspond to the extracted subset of LiDAR data points in the previous sampling instance, the desired LiDAR data points excluding information that corresponds to other objects in the environment;
(v) filtering, by the localization controller, the desired LiDAR data points based on a probability of retaining each desired LiDAR data point to generate filtered desired LiDAR data points, the retaining probability being directly proportional to respective distances of the LiDAR device to the desired LiDAR data points, wherein the retaining probability equals 1 when the distance equals a maximum distance recorded in the point cloud representation in the current sampling instance whereby the desired LiDAR data points associated with a retaining probability of 1 are retained in the filtered desired LiDAR data points;
(vi) determining, by the localization controller, a localization pose of the mobile robot with respect to the target object in the current sampling instance based on the filtered desired LiDAR data points; and
(vii) controlling, by the localization controller, the motion controller to cause movement of the mobile robot in the environment based on the determined localization pose.
2 . The method of claim 1 , wherein (iv) further comprises:
generating an improved map having a higher density of information than the initial map;
determining correspondence between the filtered desired LiDAR data points and the improved map of the reference object to produce a confidence value of each correspondence; and
obtaining the localization pose based on the confidence values.
3 . The method according to claim 2 , further comprising updating the pose data representing estimated pose of the mobile robot based on the confidence values.
4 . The method according to claim 1 , wherein updating the pose data includes using odometry data of the mobile robot.
5 . The method according to claim 1 , further including random filtering the filtered desired LiDAR data points to produce a reduced number of data points as the filtered desired LiDAR data points.
6 . The method according to claim 1 , further comprising repeating (ii) to (v) in the next sampling instance.
7 . A method according to claim 1 , wherein the reference object for creating the initial map is not exactly the same as the target object.
8 . A non-transitory computer readable medium storing instructions which, when executed by a processor, cause the processor to perform the method of claim 1 .
9 . A system for localizing a mobile robot with respect to a target object using an initial map of a reference object which is a representation of the target object, the system comprising
(i) a LiDAR device mounted to the mobile robot and arranged to capture LiDAR data of the target object when the mobile robot is arranged to traverse in an environment associated with the target object; the LiDAR data including respective point cloud representations of the target object and the environment in various sampling instances;
(ii) a pose data update module arranged to iteratively update pose data representing estimated pose of the mobile robot with respect to a known reference location of the target object in corresponding sampling instances when the mobile robot is arranged to traverse the environment;
(iii) a motion controller configured to control movement of the mobile robot;
(iv) a localization controller communicatively coupled to the LiDAR device, the pose data update module and the motion controller, the localization controller configured to:
a. extract a subset of LiDAR data points in the point cloud representation of a previous sampling instance, the subset of LiDAR data points corresponding only to features of the target object in the initial map based on the estimated pose of the mobile robot associated with the previous sampling instance, wherein the subset of LiDAR data points excludes information that corresponds to other objects in the environment;
b. obtain desired LiDAR data points in the point cloud representation in a current sampling instance, the desired LiDAR data points including current LiDAR data points which correspond to the extracted subset of LiDAR data points in the previous sampling instance, wherein the desired LiDAR data points excludes information that corresponds to other objects in the environment;
c. filter the desired LiDAR data points based on a probability of retaining each desired LiDAR data point to generate filtered desired LiDAR data points, the retaining probability being directly proportional to respective distances of the LiDAR device to the desired LiDAR data points, wherein the retaining probability equals 1 when the distance equals a maximum distance recorded in the point cloud representation in the current sampling instance whereby the desired LiDAR data points associated with a retaining probability of 1 are retained in the filtered desired LiDAR data points;
d. determine a localization pose of the mobile robot with respect to the target object in the current sampling instance based on the filtered desired LiDAR data points, and
e. control the motion controller to cause movement of the mobile robot in the environment based on the determined localization pose of the mobile robot.
10 . The system according to claim 9 , wherein the localization controller is further configured to: generate an improved map having a higher density of information than the initial map; determine correspondence between the filtered desired LiDAR data points and the improved map of the reference object to produce a confidence value of each correspondence; and obtain the localization pose based on the confidence values.
11 . The system according to claim 10 , wherein the localization controller is further configured to update the pose data representing estimated pose of the mobile robot based on the confidence values.
12 . The system according to claim 9 , further comprising an odometer, and wherein updating the pose data includes using odometry data of the mobile robot.
13 . The system according to claim 9 , further comprising a random filter to filter the filtered desired LiDAR data points to produce a reduced number of data points as the filtered desired LiDAR data points.
14 . The system according to claim 9 , wherein the reference object for creating the initial map is not exactly the same as the target object.
15 . A mobile robot comprising the system of claim 9 .