The invention discloses a Kinect-based
robot self-positioning method. The method includes the following steps that: the
RGB image and depth image of an environment are acquired through the Kinect, and the
relative motion of a
robot is estimated through the information of visual fusion and a physical
speedometer, and
pose tracking can be realized according to the
pose of the
robot at a last time point; depth information is converted into three-dimensional
point cloud, and a ground surface is extracted from the
point cloud, and the height and
pitch angle of the Kinect relative to the ground surface are automatically calibrated according to the ground surface, so that the three-dimensional
point cloud can be projected to the ground surface, and therefore, two-dimensional point cloud similar to
laser data can be obtained, and the two-dimensional point cloud is matched with pre-constructed environment raster map, and thus, accumulated errors in a robot tracking process can be corrected, and the
pose of the robot can be estimated accurately. According to the Kinect-based robot self-positioning method of the invention, the Kinect is adopted to replace
laser to perform positioning, and therefore, cost is low; image and depth information is fused, so that the method can have high precision; and the method is compatible with a
laser map, and the mounting height and pose of the Kinect are not required to be calibrated in advance, and therefore, the method is convenient to use, and requirements for autonomous positioning and navigation of the robot can be satisfied.