Cleaning robot positioning method and cleaning robot

By acquiring obstacle location information and obstacle contour features and registering them with the driving environment map, the problem of cumbersome relocation of cleaning robots is solved, improving the execution efficiency and positioning reliability of cleaning tasks.

CN121089698APending Publication Date: 2025-12-09ANKER INNOVATIONS TECH CO LTD
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
CN202410733896.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-06
Publication Date
2025-12-09

AI Technical Summary

Technical Problem

The repositioning process for cleaning robots is cumbersome, which affects the efficiency of cleaning tasks.

Method used

By acquiring obstacle location information during the cleaning robot's cleaning task, the robot's outline features are determined and registered with the driving environment map to determine the robot's pose. Prior information in the driving environment map is used for localization, reducing frequent relocalization.

Benefits of technology

This achieves improved positioning reliability, reduced relocation frequency, and increased cleaning task execution efficiency without affecting cleaning tasks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121089698A_ABST
    Figure CN121089698A_ABST
Patent Text Reader

Abstract

The invention relates to a cleaning robot positioning method and a cleaning robot. The method comprises the steps that multiple pieces of obstacle position information obtained in the cleaning task executing process of the cleaning robot are obtained, obstacle contour features are determined according to the multiple pieces of obstacle position information, and registration is carried out according to the multiple pieces of obstacle position information and the obstacle contour features and a driving environment map of the cleaning robot, and determining the robot pose of the cleaning robot in the driving environment map. According to the method, the position and posture of the cleaning robot can be positioned based on the obstacle position information obtained in the cleaning task execution process of the cleaning robot, the cleaning task being executed is not affected while positioning is achieved, and the prior information in the driving environment map is used for registration to determine the machine position and posture. And the positioning reliability is improved, and frequent repositioning is reduced, so that the execution efficiency of the cleaning task is improved.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of robots, and in particular to a cleaning robot positioning method and a cleaning robot. BACKGROUND

[0002] With the continuous progress of science and technology and society, robots are more and more applied to people's life and production.

[0003] Taking a cleaning robot as an example, the cleaning robot often needs to be repositioned in the process of executing a cleaning task. In the related art, in the case of repositioning, the cleaning robot needs to pause the task and additionally perform a preset action to achieve repositioning.

[0004] Therefore, the repositioning process of the cleaning robot in the related art is cumbersome, which reduces the execution efficiency of the cleaning task. SUMMARY

[0005] Therefore, it is necessary to provide a cleaning robot positioning method and a cleaning robot aiming at the above technical problems.

[0006] In a first aspect, the present application provides a cleaning robot positioning method, comprising:

[0007] obtaining a plurality of obstacle position information obtained by the cleaning robot in the process of executing a cleaning task;

[0008] determining an obstacle contour feature according to the plurality of obstacle position information;

[0009] registering the plurality of obstacle position information and the obstacle contour feature with a driving environment map of the cleaning robot to determine a robot pose of the cleaning robot in the driving environment map.

[0010] In one of the embodiments, the plurality of obstacle position information obtained by the cleaning robot in the process of executing a cleaning task comprises:

[0011] obtaining a plurality of original obstacle position information in the process of executing a cleaning task by the cleaning robot;

[0012] determining the plurality of obstacle position information according to the plurality of original obstacle position information.

[0013] In one of the embodiments, the plurality of obstacle position information is determined according to the plurality of original obstacle position information, comprising:

[0014] obtaining a plurality of robot inclination angles corresponding to the plurality of original obstacle position information;

[0015] determining a plurality of candidate position information satisfying an inclination angle requirement in the plurality of original obstacle position information according to the plurality of robot inclination angles;

[0016] determining a plurality of obstacle position information according to the plurality of candidate position information.

[0017] In one of the embodiments, determining a plurality of obstacle position information according to the plurality of candidate position information comprises:

[0018] converting the plurality of candidate position information into a preset grid map to determine a target grid including the candidate position information;

[0019] determining one candidate position information in each target grid as an obstacle position information to obtain the plurality of obstacle position information.

[0020] In one of the embodiments, the obstacle position information comprises obstacle position coordinates; determining an obstacle contour feature according to the plurality of obstacle position information comprises:

[0021] obtaining reference position coordinates of the plurality of obstacle position coordinates in a reference coordinate system;

[0022] connecting the reference position coordinates according to the collection time sequence of the plurality of obstacle position coordinates to obtain an obstacle contour line;

[0023] determining the obstacle contour feature according to the obstacle contour line.

[0024] In one of the embodiments, the plurality of obstacle position coordinates comprises a last obstacle position coordinate which is the last in the plurality of obstacle position coordinates in the collection time sequence; the reference coordinate system is a robot coordinate system corresponding to the last obstacle position coordinate; and obtaining the reference position coordinates of the plurality of obstacle position coordinates in the reference coordinate system comprises:

[0025] obtaining robot poses of the cleaning robot corresponding to the plurality of obstacle position coordinates;

[0026] determining reference position coordinates of the plurality of obstacle position coordinates in the reference coordinate system according to the robot poses corresponding to the plurality of obstacle position coordinates except the last obstacle position coordinate and the robot pose corresponding to the last obstacle position coordinate;

[0027] taking the last obstacle position coordinate as the reference position coordinate of the last obstacle position coordinate in the reference coordinate system.

[0028] In one of the embodiments, determining a robot pose of the cleaning robot in a driving environment map according to the plurality of obstacle position information and the obstacle contour feature comprises:

[0029] obtaining a target contour feature in the driving environment map matching the obstacle contour feature;

[0030] determining the robot pose according to the plurality of obstacle position information and the target contour feature.

[0031] In one of the embodiments, the plurality of obstacle position information comprises a first set of position information determined by sensor data collected by a first sensor and a second set of position information determined by sensor data collected by a second sensor; the target contour feature comprises a first contour feature corresponding to the first set of position information and a second contour feature corresponding to the second set of position information; and determining the robot pose according to the plurality of obstacle position information and the target contour feature comprises:

[0032] determining a first robot pose according to the first set of position information and the first contour feature;

[0033] determining a second robot pose according to the second set of position information and the second contour feature;

[0034] determining the robot pose according to the first robot pose and the second robot pose.

[0035] In one of the embodiments, determining the robot pose according to the first robot pose and the second robot pose comprises:

[0036] determining a weight of the first robot pose and a weight of the second robot pose;

[0037] determining the robot pose according to the first robot pose, the weight of the first robot pose, the second robot pose and the weight of the second robot pose.

[0038] In one of the embodiments, the first set of position information comprises a plurality of obstacle position coordinates, and the second set of position information also comprises a plurality of obstacle position coordinates; the first contour feature comprises a first target contour line, and the second contour feature comprises a second target contour line; and determining the weight of the first robot pose and the weight of the second robot pose comprises:

[0039] determining the weight of the first robot pose and the weight of the second robot pose according to a first similarity and a second similarity; the first similarity represents a similarity between an obstacle contour line formed by the obstacle position coordinates in the first set of position information and the first target contour line; and the second similarity represents a similarity between an obstacle contour line formed by the obstacle position coordinates in the second set of position information and the second target contour line.

[0040] In a second aspect, the present application also provides a cleaning robot, comprising a sensor, a memory and a processor, the memory storing a computer program, the sensor comprising at least one ranging sensor, the ranging sensor being configured to collect obstacle position information corresponding to an obstacle during execution of a cleaning task by the cleaning robot, and the processor being configured to implement the steps of any of the robot positioning methods described above when executing the computer program.

[0041] The cleaning robot positioning method and the cleaning robot, by obtaining a plurality of obstacle position information obtained by the cleaning robot in the process of performing the cleaning task, determining an obstacle contour feature according to the plurality of obstacle position information, and registering the plurality of obstacle position information and the obstacle contour feature with a driving environment map of the cleaning robot to determine a robot pose of the cleaning robot in the driving environment map. In the above method, the robot pose of the cleaning robot can be positioned based on the obstacle position information obtained by the cleaning robot in the process of performing the cleaning task, the positioning is realized without affecting the cleaning task being performed, the robot pose is determined by registration using prior information in the driving environment map, the positioning reliability is improved, and frequent repositioning is reduced, thereby improving the execution efficiency of the cleaning task. BRIEF DESCRIPTION OF DRAWINGS

[0042] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the description of the embodiments of the present application or the related art will be briefly introduced. Obviously, the drawings in the following description are only some embodiments of the present application, and for those skilled in the art, other related drawings can also be obtained without creative labor.

[0043] Figure 1 An internal structure diagram of a cleaning robot in an embodiment;

[0044] Figure 2 A flowchart of a cleaning robot positioning method in an embodiment;

[0045] Figure 3 A flowchart of obtaining obstacle position information in an embodiment;

[0046] Figure 4 A flowchart of obtaining obstacle position information in another embodiment;

[0047] Figure 5 A flowchart of obtaining obstacle position information in another embodiment;

[0048] Figure 6 A flowchart of determining an obstacle contour feature in an embodiment;

[0049] Figure 7 A flowchart of determining a reference position coordinate in an embodiment;

[0050] Figure 8 A flowchart of determining a robot pose in an embodiment;

[0051] Figure 9 A flowchart of determining a robot pose in another embodiment;

[0052] Figure 10 Flowchart for determining the pose of the robot in another embodiment;

[0053] Figure 11 Block diagram of the cleaning robot positioning device in one embodiment. DETAILED DESCRIPTION

[0054] In order to make the purposes, technical solutions and advantages of the present application clearer, the present application is further described in detail below with reference to the drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and not to limit the present application.

[0055] The cleaning robot positioning method provided by the embodiments of the present application can be applied to a cleaning robot as shown in Figure 1 The cleaning robot includes a sensor, a processor, a memory, an input / output interface, a communication interface, a display unit and an input device. The sensor, the processor, the memory and the input / output interface are connected through a system bus, and the communication interface, the display unit and the input device are connected to the system bus through the input / output interface. The sensor of the cleaning robot is used to collect perception data, the processor is used to provide computing and control capabilities, and the memory includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operating system and the computer program in the non-volatile storage medium to run. The input / output interface of the cleaning robot is used to exchange information between the processor and external devices. The communication interface of the cleaning robot is used to communicate with external terminals in a wired or wireless manner. The wireless manner can be achieved through WIFI, mobile cellular network, Near Field Communication (NFC) or other technologies. The computer program is executed by the processor to implement a cleaning robot positioning method. The display unit of the cleaning robot is used to form a visually visible picture, which can be a display screen, a projection device or a virtual reality imaging device. The display screen can be a liquid crystal display screen or an electronic ink display screen. The input device of the cleaning robot can be a touch layer overlaid on the display screen, or a key, trackball or touchpad arranged on the shell of the cleaning robot, or an external keyboard, touchpad or mouse, etc.

[0056] The sensor in the cleaning robot includes at least one ranging sensor. The ranging sensor is used to collect obstacle position information corresponding to obstacles in the process of the cleaning robot performing a cleaning task.

[0057] The cleaning robot includes but is not limited to different types of cleaning robots such as a sweeping robot, a mopping robot, a scrubbing robot, and the like. The sensor on the cleaning robot includes but is not limited to a time of flight (TOF) sensor, an infrared sensor, a laser ranging sensor, a radar, or an image acquisition device, and the acquired perception data correspondingly includes a distance, a point cloud, or an image. Those skilled in the art can understand that Figure 1 The structure shown in the figure is only a block diagram of part of the structure related to the scheme of the present application, and does not constitute a limitation on the computer device to which the scheme of the present application is applied. The specific computer device can include more or fewer components than those shown in the figure, or combine certain components, or have a different arrangement of components.

[0058] In one embodiment, as shown in Figure 2 A cleaning robot positioning method is provided, and the present embodiment takes the method applied to a cleaning robot as an example, which includes the following S210 to S230. Wherein:

[0059] S210, obtaining a plurality of obstacle position information obtained by the cleaning robot in the process of performing a cleaning task.

[0060] The obstacle position information is used to represent the position of the obstacle. Exemplarily, the obstacle position information can be the distance between the cleaning robot and the obstacle, or the obstacle position coordinates of the obstacle in the robot coordinate system. The obstacle can be any object in the robot driving scene, such as a wall or furniture. The cleaning task is the work task performed by the robot, such as a dry cleaning task, a wet cleaning task, a wall-following cleaning task, or an avoidance cleaning task, etc.

[0061] Optionally, in the process of performing a cleaning task by the cleaning robot, such as performing a wall-following cleaning task, the cleaning robot can obtain the sensor data collected by at least one or one type of ranging sensor carried by the cleaning robot, such as the distance of the obstacle or the obstacle position coordinates, and convert the sensor data according to the external parameters of the ranging sensor relative to the robot coordinate system to obtain the obstacle position information. Wherein, the ranging sensor can continuously collect sensor data with the movement of the cleaning robot, and the cleaning robot can obtain a plurality of sensor data collected by the ranging sensor within a predetermined time of movement to determine a plurality of obstacle position information, or can obtain a plurality of sensor data collected by the ranging sensor within a predetermined distance of movement to determine a plurality of obstacle position information.

[0062] Taking a preset time length T as an example, the cleaning robot obtains sensor data P A of the ranging sensor A from a time Ta, and obtains obstacle position information P RA by conversion according to the external parameter T RA of the robot coordinate system. Wherein, P RA=P A*T RA. The N obstacle position information P RA collected by the ranging sensor in the time period of Ta~Tb is obtained, and a data queue [P RA1, P RA2, P RA3, …, P RAN] is formed.

[0063] Optionally, the ranging sensor can include at least one of a Time of Flight (TOF) sensor, an infrared sensor, a laser ranging sensor, a radar, or a distance perception module including an image acquisition unit.

[0064] S220, determining the obstacle contour feature according to the plurality of obstacle position information.

[0065] Wherein, the obstacle contour feature is used to represent the geometric feature of the obstacle contour. Exemplarily, the obstacle contour feature can be at least part of the contour line of the obstacle, and can be angle information (such as maximum angle and / or minimum angle) of at least part of the contour line of the obstacle.

[0066] Optionally, after obtaining the plurality of obstacle position information, the cleaning robot can determine at least part of the contour line of the obstacle and / or the angle information of at least part of the contour line as the obstacle contour feature based on the plurality of obstacle position information.

[0067] S230, registering the plurality of obstacle position information and the obstacle contour feature with a driving environment map of the cleaning robot to determine a robot pose of the cleaning robot in the driving environment map.

[0068] Wherein, the driving environment map is a pre-stored / constructed map reflecting the driving environment of the cleaning robot. Exemplarily, the driving environment map can be a two-dimensional / three-dimensional grid map, a two-dimensional / three-dimensional cost map, a two-dimensional / three-dimensional point cloud map, or a semantic map, etc.

[0069] Optionally, after obtaining the obstacle contour feature, the cleaning robot can register the plurality of obstacle position information obtained and the obstacle contour feature with the driving environment map to obtain the robot pose of the cleaning robot in the driving environment map. The registration process can be implemented based on a preset registration algorithm. For example, the preset registration algorithm can be an Iterative Closest Points (ICP) algorithm and its variants, a Normal Distribution Transform (NDT) algorithm and its variants, or a Correlative Scan Match (CSM) algorithm and its variants.

[0070] It should be noted that the ranging sensor carried by the cleaning robot of different configurations is different. Generally, the lower configuration cleaning robot carries a non-360° distance sensor (such as a single-point, multi-point, or fan-shaped ranging sensor). The risk of losing or making errors in positioning during the execution of the cleaning task is relatively high, which will frequently trigger repositioning, thereby reducing the execution efficiency of the cleaning task. In addition, the task needs to be paused to perform a preset action to obtain 360° environmental data (including obstacle position information) of the cleaning robot, so as to perform repositioning. For the non-360° distance sensor, the 360° environmental data of the cleaning robot needs to be obtained by rotating multiple times, which makes the repositioning process tedious and time-consuming, and further affects the execution efficiency of the cleaning task.

[0071] Although some higher configuration cleaning robots can carry a 360° distance sensor, the 360° environmental data of the robot can be obtained relatively efficiently, but the task still needs to be paused to perform a preset action to obtain 360° environmental data of the cleaning robot, which also has the problem of tedious repositioning process, thereby reducing the execution efficiency of the cleaning task.

[0072] The cleaning robot implementing the above robot positioning method can carry a 360° distance sensor or a non-360° distance sensor. Both can position the pose of the cleaning robot based on the obstacle position information obtained by the cleaning robot during the execution of the cleaning task, so as to realize repositioning without affecting the cleaning task being executed, and determine the robot pose by registering the prior information in the driving environment map, thereby improving the positioning reliability and reducing the frequent repositioning. The whole process simplifies the repositioning process, and accordingly improves the execution efficiency of the cleaning task.

[0073] Exemplarily, the cleaning task can be a wall-following cleaning task, the plurality of obstacle position information obtained can be position information of the cleaning robot relative to a wall boundary, and the cleaning robot positioning method can reposition the cleaning robot without interfering with the wall-following cleaning task, and keep a relatively stable safety distance between the cleaning robot and the wall boundary, thereby improving the wall-following stability and wall-following cleaning effect while improving the task execution efficiency.

[0074] Optionally, the cleaning robot can output a cleaning report for the cleaning task when the cleaning task is completed. Exemplarily, the cleaning robot can send the cleaning report to a mobile terminal through communication with the mobile terminal for the user to check. The cleaning report can include execution information of the cleaning task, such as a start time, an end time, a duration, a working parameter, and the like, and can also include effect information of the cleaning task, such as a cleaning area diagram, a cleaning area, and the like.

[0075] In the embodiments of the present application, a plurality of obstacle position information obtained by the cleaning robot during execution of a cleaning task is acquired, an obstacle profile feature is determined according to the plurality of obstacle position information, and the plurality of obstacle position information and the obstacle profile feature are registered with a driving environment map of the cleaning robot to determine a robot pose of the cleaning robot in the driving environment map. In the above method, the robot pose of the cleaning robot can be positioned based on the obstacle position information obtained by the cleaning robot during execution of the cleaning task, the positioning is achieved without interfering with the cleaning task being executed, the robot pose is determined by registration using prior information in the driving environment map, the positioning reliability is improved, and frequent repositioning is reduced, thereby improving the execution efficiency of the cleaning task.

[0076] In actual applications, the ranging sensor can collect a large amount of obstacle position information, and in actual calculation, the large amount of data can increase the calculation complexity in addition to improving the accuracy, and noise data can also have a certain influence on the calculation accuracy. Based on this, in one of the embodiments, as shown in Figure 3 S210, the plurality of obstacle position information obtained by the cleaning robot during execution of the cleaning task includes the following S310 to S320. Wherein:

[0077] S310, a plurality of original obstacle position information is acquired by the cleaning robot during execution of the cleaning task.

[0078] The original obstacle position information is position information directly converted from sensor data.

[0079] Optionally, during the process of periodically collecting the obstacle position information by the ranging sensor, the cleaning robot can acquire a plurality of sensor data collected by the ranging sensor within a preset time length of movement, and convert the plurality of sensor data to obtain a plurality of obstacle position information as a plurality of original obstacle position information, or acquire a plurality of sensor data collected by the ranging sensor within a preset distance of movement, and convert the plurality of sensor data to obtain a plurality of original obstacle position information as a plurality of original obstacle position information.

[0080] Optionally, the cleaning robot can execute S310 in the case of a user actively triggering a repositioning instruction, or automatically trigger a repositioning instruction according to a preset triggering period to execute S310.

[0081] S320, determining a plurality of obstacle position information according to a plurality of original obstacle position information.

[0082] Optionally, after obtaining a plurality of original obstacle position information, the cleaning robot can directly use the plurality of original obstacle position information as a plurality of obstacle position information, or can correct and / or screen the plurality of original obstacle position information to obtain a plurality of obstacle position information.

[0083] For example, the cleaning robot can determine abnormal original obstacle position information in the plurality of original obstacle position information, correct the abnormal original obstacle position information, form a plurality of obstacle position information from normal original obstacle position information and corrected original obstacle position information, or directly screen out abnormal original obstacle position information in the plurality of original obstacle position information to form a plurality of obstacle position information from the remaining original obstacle position information. The cleaning robot can also down-sample the plurality of original obstacle position information to obtain a plurality of obstacle position information. When the position information includes position coordinates, the down-sampling method includes but is not limited to clustering a plurality of original obstacle position coordinates according to the distance between the original obstacle position coordinates to divide the plurality of original obstacle position coordinates into a plurality of sets, and obtaining part (such as one or half) of the original obstacle position coordinates in each set to form a plurality of obstacle position information obtained by down-sampling.

[0084] In the embodiments of the present application, the cleaning robot acquires a plurality of original obstacle position information during the execution of a cleaning task, and determines a plurality of obstacle position information according to the plurality of original obstacle position information. In the above method, the obstacle position information is determined based on the original obstacle position information, which improves the reliability of the obtained obstacle position information and accordingly improves the accuracy and reliability of the robot positioning result.

[0085] The obstacle position information obtained by the cleaning robot under a large degree of inclination can affect the positioning accuracy. Therefore, in one of the embodiments, the cleaning robot can determine a plurality of obstacle position information according to a plurality of original obstacle position information, and determine a plurality of obstacle position information according to a plurality of obstacle position information. Figure 4As shown in the above S320, determining the plurality of obstacle position information according to the plurality of original obstacle position information comprises S410-S430. Wherein:

[0086] S410, obtaining a plurality of robot inclination angles corresponding to the plurality of original obstacle position information.

[0087] Wherein, the robot inclination angle is the angle between the Z-axis in the robot coordinate system and the direction of gravity, which is used to represent the inclination degree of the cleaning robot. The greater the robot inclination angle, the greater the inclination degree of the cleaning robot; on the contrary, the smaller the robot inclination angle, the smaller the inclination degree of the cleaning robot.

[0088] Optionally, the cleaning robot can obtain the robot inclination angle collected by the gravity sensor at the same time of obtaining the sensor data collected by the ranging sensor, so as to obtain the robot inclination angle corresponding to each original obstacle position information, i.e. the plurality of robot inclination angles at the same collection time as the plurality of original obstacle position information. Exemplarily, the gravity sensor can be an inertial measurement unit (IMU).

[0089] Optionally, in the case that the collection time of the ranging sensor and the gravity sensor is synchronized, the cleaning robot can obtain the robot inclination angle collected by the gravity sensor at the same time of obtaining the sensor data collected by the ranging sensor, so as to obtain the plurality of robot inclination angles at the same collection time as the plurality of original obstacle position information. In the case that the collection time of the ranging sensor and the gravity sensor is not synchronized, the cleaning robot can interpolate the collected robot inclination angles at different times to obtain the inclination angle corresponding to the collection time of each original obstacle position information, i.e. the plurality of robot inclination angles at the same collection time as the plurality of original obstacle position information.

[0090] S420, determining a plurality of candidate position information satisfying the inclination angle requirement in the plurality of original obstacle position information according to the plurality of robot inclination angles.

[0091] Optionally, after obtaining the plurality of robot inclination angles, the cleaning robot can compare each robot inclination angle with a preset inclination angle threshold, and determine the plurality of candidate position information satisfying the inclination angle requirement in the plurality of original obstacle position information according to the comparison result.

[0092] Exemplarily, in the case that the robot inclination angle is greater than the inclination angle threshold, it is determined that the original obstacle position information corresponding to the collection time does not satisfy the inclination angle requirement; on the contrary, in the case that the robot inclination angle is less than or equal to the inclination angle threshold, it is determined that the original obstacle position information corresponding to the collection time satisfies the inclination angle requirement, and the original obstacle position information satisfying the inclination angle requirement is taken as the candidate position information.

[0093] S430, determine the plurality of obstacle position information according to the plurality of candidate position information.

[0094] Optionally, after the cleaning robot screens the plurality of candidate position information from the plurality of original obstacle position information, the cleaning robot can directly take the candidate position information as the obstacle position information, i.e., obtain the plurality of obstacle position information. The plurality of candidate position information can also be further processed to obtain the plurality of obstacle position information. For example, the cleaning robot can use a new screening standard to screen the plurality of candidate position information again to obtain the plurality of obstacle position information, or the plurality of candidate position information can be modified or expanded to obtain the plurality of obstacle position information.

[0095] In the embodiments of the present application, the plurality of robot tilt angles at the same acquisition time as the plurality of original obstacle position information are obtained, and the plurality of candidate position information satisfying the tilt angle requirement is determined in the plurality of original obstacle position information according to the plurality of robot tilt angles, so as to determine the plurality of obstacle position information according to the plurality of candidate position information. In the above method, the plurality of original obstacle position information is screened by using the robot tilt angle, and the plurality of obstacle position information is determined based on the plurality of candidate position information satisfying the tilt angle requirement, which excludes data with greater positioning interference, thereby improving the accuracy of the robot positioning result.

[0096] To reduce the data processing amount, in one of the embodiments, as shown in Figure 5 S430, determining the plurality of obstacle position information according to the plurality of candidate position information, includes S510 to S520. Wherein:

[0097] S510, convert the plurality of candidate position information into a preset grid map to determine a target grid including the candidate position information.

[0098] Optionally, the preset grid map can be a two-dimensional grid map or a three-dimensional grid map. For example, the preset grid map corresponds to the travel environment map of the cleaning robot.

[0099] Optionally, in the case that the candidate position information is an obstacle position coordinate, the cleaning robot can convert each obstacle position coordinate into the preset grid map, and determine a grid covering the corresponding obstacle position coordinate in the grid map as the target grid including the candidate position information. For example, the plurality of candidate position information includes 10 obstacle position coordinates P1-P10, and after the cleaning robot converts the obstacle position coordinates P1-P10 into the preset grid map, it is determined that the grid A in the preset grid map includes the obstacle position coordinates P1 and P2, the grid B includes the obstacle position coordinates P3-P8, the grid C includes the obstacle position coordinate P9, and the grid D includes the obstacle position coordinate P10, i.e., the grids A, B, C and D are determined as the target grids.

[0100] S520, determine one candidate position information in each target grid as the obstacle position information to obtain a plurality of obstacle position information.

[0101] Optionally, after obtaining the target grid in the preset grid map, the cleaning robot can obtain one candidate position information in the target grid as the obstacle position information for each target grid, and a plurality of target grids correspondingly obtain a plurality of obstacle position information. For example, in the case of including a plurality of candidate position information in the target grid, the cleaning robot can obtain any one candidate position information as the obstacle position information, or select the candidate position information closest to the geometric center of the target grid as the obstacle position information. Continue the above example, for the target grid A, the cleaning robot can obtain the obstacle position coordinate P1 as the obstacle position information; for the target grid B, the cleaning robot can obtain the obstacle position coordinate P3 as the obstacle position information; for the target grid C, the cleaning robot obtains the obstacle position coordinate P9 as the obstacle position information; for the target grid D, the cleaning robot obtains the obstacle position coordinate P10 as the obstacle position information.

[0102] In the embodiment of the application, the plurality of candidate position information is converted into the preset grid map, the target grid including the candidate position information is determined, one candidate position information in each target grid is determined as the obstacle position information, and a plurality of obstacle position information is obtained. In the above method, the plurality of candidate position information is voxel filtered by using the preset grid map, and a plurality of obstacle position information with strong dispersion is screened while reducing the data processing amount by downsampling, and the positioning efficiency and positioning reliability are simultaneously improved.

[0103] The obstacle position information includes the obstacle position coordinate, and based on this, in one of the embodiments, as shown in Figure 6 S220, the obstacle profile feature is determined according to the plurality of obstacle position information, including S610 to S630. Among them,

[0104] S610, obtain the reference position coordinates of the plurality of obstacle position coordinates in the reference coordinate system;

[0105] Among them, the plurality of obstacle position coordinates correspond to different collection time points, the cleaning robot is located at different positions at different collection time points, and the position of the cleaning robot is the coordinate origin of the robot coordinate system, so that the different positions of the cleaning robot at different collection time points result in different robot coordinate systems used by different obstacle position coordinates. When the obstacle profile feature is determined based on the plurality of obstacle position coordinates, the plurality of obstacle position coordinates can be converted to the same coordinate system.

[0106] The reference coordinate system is a same coordinate system used for unifying the plurality of obstacle position coordinates. Exemplarily, the reference coordinate system can be a robot coordinate system corresponding to any of the plurality of obstacle position coordinates, or a world coordinate system.

[0107] Optionally, the cleaning robot can convert each obstacle position coordinate to the reference coordinate system according to a preset conversion relationship, to obtain a reference position coordinate corresponding to each obstacle position coordinate, and the plurality of obstacle position coordinates correspondingly obtain a plurality of reference position coordinates.

[0108] S620, connecting each reference position coordinate according to the collection time sequence of the plurality of obstacle position coordinates to obtain an obstacle contour line.

[0109] Optionally, after obtaining the plurality of reference position coordinates converted from the plurality of obstacle position coordinates, the cleaning robot can sequentially connect each reference position coordinate according to the collection time sequence of the plurality of obstacle position coordinates, and take the obtained connection line as the obstacle contour line, or can perform smoothing processing on the obtained connection line, and take the smoothed connection line as the obstacle contour line.

[0110] S630, determining an obstacle contour feature according to the obstacle contour line.

[0111] Optionally, after obtaining the obstacle contour line, the cleaning robot can take the obstacle contour line as the obstacle contour feature, or can obtain a maximum bending angle of the obstacle contour line, and take the maximum bending angle as the obstacle contour feature.

[0112] In an optional embodiment, the plurality of obstacle position coordinates includes a last obstacle position coordinate collected last in the obstacle coordinate positions in the collection time sequence, and in the case where the reference coordinate system is a robot coordinate system corresponding to the last obstacle position coordinate, as shown in Figure 7 S610, obtaining a reference position coordinate of each obstacle position coordinate in the reference coordinate system, includes S710 to S730. Wherein,

[0113] S710, obtaining a robot pose of the cleaning robot corresponding to each obstacle position coordinate.

[0114] Wherein, the cleaning robot is constantly moving in the case of performing the cleaning task, and the robot pose changes accordingly with the movement of the cleaning robot.

[0115] Optionally, the cleaning robot can update the initial pose based on the actual movement of itself in the process of moving, to obtain and record the robot pose at different time, and the cleaning robot can correspondingly obtain the robot pose corresponding to each obstacle position coordinate. Wherein, the initial pose is a robot pose obtained by repositioning in the case of first use after the cleaning robot is powered on or reset for the first time.

[0116] S720. Based on the coordinates of other obstacles (excluding the final obstacle) and their corresponding robot poses, and the robot pose corresponding to the final obstacle, determine the reference coordinates of the other obstacles in the reference coordinate system.

[0117] Optionally, the cleaning robot can input the coordinates of other obstacles (excluding the final obstacle's position coordinates) and their corresponding robot poses into a preset coordinate transformation relationship to transform the other obstacle position coordinates to a reference coordinate system, thus obtaining the reference position coordinates of the other obstacle position coordinates in the reference coordinate system. For example, P_RAi (i=1, 2, 3, ..., N-1) represents the coordinates of other obstacles, corresponding to the robot pose T_Ri; P_RAN (i=N) represents the coordinates of the final obstacle, corresponding to the robot pose T_RN; and P'_RAi represents the transformed reference position coordinates. The preset coordinate transformation relationship is as follows:

[0118] P'_RAi = (T_RN)^(-1) * T_Ri * P_RAi (i=1, 2, 3,...N-1)

[0119] S730. Use the coordinates of the last obstacle as the reference coordinates of the last obstacle in the reference coordinate system.

[0120] Optionally, for the coordinates of the final obstacle position, since the reference coordinate system is the robot coordinates corresponding to the final obstacle position coordinates, the cleaning robot can directly use the final obstacle position coordinates as the reference position coordinates of the final obstacle position in the reference coordinate system.

[0121] In this embodiment, reference coordinates of multiple obstacle positions are obtained in a reference coordinate system. These reference coordinates are then connected according to the acquisition sequence of the obstacle position coordinates to obtain the obstacle contour line. The obstacle contour features are then determined based on this contour line. Specifically, the robot coordinate system of the last obstacle position coordinate in the corresponding acquisition sequence can be used as the reference coordinate system for coordinate transformation, thereby improving the matching degree between the obtained obstacle contour features and the actual obstacle, and contributing to the accuracy and reliability of the robot positioning results.

[0122] A driving environment map can provide prior information for robot localization, thereby determining the robot's pose. In one embodiment, such as Figure 8 As shown, the above-mentioned S230, which involves registering multiple obstacle location information and obstacle contour features with the driving environment map of the cleaning robot to determine the robot pose in the driving environment map, includes the following S810 to S820; wherein,

[0123] S810, acquire a target contour feature in the travel environment map matching the obstacle contour feature.

[0124] Optionally, the cleaning robot can extract contour features in the travel environment map, register the obstacle contour feature with each contour feature to determine a contour feature matching the obstacle contour feature as the target contour feature. Illustratively, in the case that the obstacle contour feature is an obstacle contour line, the cleaning robot can extract contour lines of different objects in the travel environment map, register the obstacle contour line with each contour line in the travel environment map in shape and size, and determine a contour line matching the obstacle contour line in shape and size as the target contour feature. For example, the cleaning robot can determine the similarity between the obstacle contour line and each contour line in the travel environment map according to the shape and size of the obstacle contour line and each contour line in the travel environment map, and determine the contour line in the travel environment map corresponding to the maximum similarity as the target contour line matching the obstacle contour line, i.e. the target contour feature matching the obstacle contour feature in the travel environment map.

[0125] S820, determine the robot pose according to the plurality of obstacle position information and the target contour feature.

[0126] Optionally, after obtaining the target contour feature in the travel environment map, the cleaning robot can determine the robot pose in the travel environment map by combining the plurality of obstacle position information and using a preset registration algorithm.

[0127] In the embodiments of the present application, the target contour feature matching the obstacle contour feature in the travel environment map is acquired, and the robot pose is determined according to the plurality of obstacle position information and the target contour feature. In the above method, the travel environment map is used to provide prior information for robot positioning, and the robot pose is positioned by combining the plurality of obstacle position information and the target contour feature matching the obstacle contour feature in the travel environment map, which enriches the data information relied on by robot positioning and improves the positioning efficiency and positioning accuracy.

[0128] The cleaning robot can perform robot positioning based on sensor data collected by ranging sensors (such as a first sensor and a second sensor) of at least two ranging principles. In the case that the cleaning robot includes a first sensor and a second sensor, the plurality of obstacle position information obtained includes a first position information group formed by converting a plurality of sensor data collected by the first sensor, and a second position information group formed by converting a plurality of sensor data collected by the second sensor. The target contour feature determined in the travel environment map includes a first contour feature corresponding to the first position information group, and a second contour feature corresponding to the second position information group. In one of the embodiments, the first sensor and the second sensor can be a first ultrasonic sensor and a second ultrasonic sensor, or a first infrared sensor and a second infrared sensor. Figure 9As shown in the above S820, determining the robot pose according to the plurality of obstacle position information and the target contour feature comprises the following S910-S930; wherein:

[0129] S910, determining the first robot pose according to the first position information set and the first contour feature.

[0130] In the case that the obstacle position information is obstacle position coordinates and the contour feature is contour lines, the first position information set comprises a plurality of obstacle position coordinates, and the first contour feature is a contour line in the driving environment map matched with the obstacle contour lines formed by the obstacle position coordinates in the first position information set.

[0131] Optionally, the cleaning robot can determine the robot pose in the driving environment map registration according to the obstacle position coordinates in the first position information set and the first contour feature in the driving environment map by using a preset registration algorithm, as the first robot pose.

[0132] S920, determining the second robot pose according to the second position information set and the second contour feature.

[0133] In the case that the obstacle position information is obstacle position coordinates and the contour feature is contour lines, the second position information set comprises a plurality of obstacle position coordinates, and the second contour feature is a contour line in the driving environment map matched with the obstacle contour lines formed by the obstacle position coordinates in the second position information set.

[0134] Optionally, the cleaning robot can determine the robot pose in the driving environment map registration according to the obstacle position coordinates in the second position information set and the second contour feature in the driving environment map by using a preset registration algorithm, as the second robot pose.

[0135] S930, determining the robot pose according to the first robot pose and the second robot pose.

[0136] Optionally, after the cleaning robot obtains the first robot pose determined based on the first sensor and the second robot pose determined based on the second sensor, the robot pose can be determined comprehensively according to the first robot pose and the second robot pose. For example, the cleaning robot can obtain the average value of the first robot pose and the second robot pose as the robot pose; or the weights corresponding to the first sensor and the second sensor can be determined according to the characteristics of the sensors to perform weighted fusion on the first robot pose and the second robot pose, so as to obtain the robot pose.

[0137] In an optional embodiment, as shown in the above S930, determining the robot pose according to the first robot pose and the second robot pose comprises the following S1010-S1020; wherein: Figure 10 S1010, determining the robot pose according to the first robot pose and the second robot pose by using a preset fusion algorithm.

[0138] S1010, determine the weight of the first robot pose and the weight of the second robot pose.

[0139] The accuracy of the robot poses determined by the sensor data collected by the ranging sensors of different ranging principles is different, and the accuracy of the robot poses determined by the sensor data collected by the ranging sensors of different ranging principles is different. Therefore, the corresponding weight can be determined based on the ranging principle category of the ranging sensor. Alternatively, for the time-of-flight type ranging sensor, the ranging accuracy is high, and a higher weight can be given; for the infrared type ranging sensor, the ranging accuracy is low, and a lower weight can be given.

[0140] Alternatively, after obtaining the first robot pose and the second robot pose, the cleaning robot can determine the weights corresponding to the first robot pose and the second robot pose based on the ranging sensors used to obtain the first robot pose and the second robot pose. For example, the first sensor and the second sensor are mounted on the cleaning robot, the first sensor is a time-of-flight type ranging sensor used to determine the first robot pose, the corresponding weight is 0.6, the second sensor is an infrared type ranging sensor used to determine the second robot pose, the corresponding weight is 0.4, and the cleaning robot can determine the weight of the first robot pose is 0.6 and the weight of the second robot pose is 0.4.

[0141] S1020, determining the robot pose according to the first robot pose, the weight of the first robot pose, the second robot pose and the weight of the second robot pose.

[0142] Alternatively, the cleaning robot can perform weighted fusion on the first robot pose and the second robot pose according to the first robot pose, the weight of the first robot pose, the second robot pose and the weight of the second robot pose to obtain the robot pose.

[0143] It should be noted that the cleaning robot can also be positioned based on sensor data collected by more than two (e.g., three, four, etc.) ranging sensors of different ranging principles. For example, the cleaning robot can include three ranging principle sensors, namely a first sensor, a second sensor, and a third sensor. The plurality of obstacle position information obtained can include a first set of position information obtained by converting the plurality of sensor data collected by the first sensor, a second set of position information obtained by converting the plurality of sensor data collected by the second sensor, and a third set of position information obtained by converting the plurality of sensor data collected by the third sensor. Similar to the foregoing process, the cleaning robot can determine a first robot pose based on the first set of position information, determine a second robot pose based on the first set of position information, and determine a third robot pose based on the third set of position information, to determine the robot pose according to the first robot pose, the second robot pose, and the third robot pose. For example, weights corresponding to the first robot pose, the second robot pose, and the third robot pose are determined respectively, and the robot pose is obtained by weighted fusion.

[0144] In the embodiments of the present application, the plurality of obstacle position information includes a first set of position information determined by sensor data collected by the first sensor and a second set of position information determined by sensor data collected by the second sensor, and the target contour feature includes a first contour feature corresponding to the first set of position information and a second contour feature corresponding to the second set of position information. Thus, the first robot pose can be determined according to the first set of position information and the first contour feature, the second robot pose can be determined according to the second set of position information and the second contour feature, and the robot pose can be determined according to the first robot pose and the second robot pose. In the above method, the robot pose is determined based on the multi-sensor fusion method, which can weaken the influence of a single type of ranging sensor on the positioning result and improve the reliability of the positioning result.

[0145] The first set of position information includes a plurality of obstacle position coordinates, and the second set of position information also includes a plurality of obstacle position coordinates. The first contour feature includes a first contour line, and the second contour feature includes a second contour line. Based on this, in one of the embodiments, the weights of the first robot pose and the second robot pose determined in S1010 include:

[0146] The weights of the first robot pose and the second robot pose are determined according to the first similarity and the second similarity. The first similarity represents the similarity between the obstacle contour line formed by the obstacle position coordinates in the first set of position information and the first contour line. The second similarity represents the similarity between the obstacle contour line formed by the obstacle position coordinates in the second set of position information and the second contour line.

[0147] The first contour line is a contour line with the maximum similarity (i.e., the first similarity) between the obstacle contour lines formed by the obstacle position coordinates in the first position information set in the driving environment map. The second contour line is a contour line with the maximum similarity (i.e., the second similarity) between the obstacle contour lines formed by the obstacle position coordinates in the second position information set in the driving environment map. The weight is positively correlated with the similarity. The higher the similarity is, the greater the corresponding weight is; otherwise, the lower the similarity is, the smaller the corresponding weight is.

[0148] Optionally, the cleaning robot can read the first similarity and the second similarity, and compare the first similarity and the second similarity to determine the weight of the first robot pose and the weight of the second robot pose according to the comparison result. In this case, the cleaning robot can assign a larger weight to the robot pose corresponding to a larger similarity, and assign a smaller weight to the robot pose corresponding to a smaller similarity.

[0149] For example, the sum of the weights is 1. In the case where the first similarity is greater than the second similarity, the cleaning robot determines that the weight of the first robot pose is 0.6 and the weight of the second robot pose is 0.4. Similarly, in the case where the second similarity is greater than the first similarity, the cleaning robot determines that the weight of the second robot pose is 0.6 and the weight of the first robot pose is 0.4. In the case where the first similarity is equal to the second similarity, the cleaning robot can determine that the weights of the first robot pose and the second robot pose are the same, both being 0.5.

[0150] In the embodiments of the present application, the first position information set includes a plurality of obstacle position coordinates, and the second position information set also includes a plurality of obstacle position coordinates; the first contour feature includes a first contour line, and the second contour feature includes a second contour line; the first similarity represents the similarity between the obstacle contour lines formed by the obstacle position coordinates in the first position information set and the first contour line; and the second similarity represents the similarity between the obstacle contour lines formed by the obstacle position coordinates in the second position information set and the second contour line. In this way, the weight of the first robot pose and the weight of the second robot pose are determined according to the first similarity and the second similarity, so that the robot pose is determined according to the first robot pose, the weight of the first robot pose, the second robot pose, and the weight of the second robot pose. In the above method, the corresponding weight is determined based on the actual matching of the contour, which improves the rationality of the weight allocation and the accuracy of the obtained robot pose.

[0151] It should be understood that although the steps in the flowcharts involved in the embodiments described above are shown in sequence according to the arrows, the steps are not necessarily executed in the order indicated by the arrows. Unless otherwise specified herein, the execution of the steps is not strictly limited in sequence, and the steps can be executed in other orders. Moreover, at least some of the steps in the flowcharts involved in the embodiments described above can include multiple steps or multiple stages, which are not necessarily executed at the same time, but can be executed at different times, and the execution order of the steps or stages is not necessarily sequential, but can be alternately executed with other steps or steps or stages in at least part of other steps.

[0152] Based on the same inventive concept, the embodiments of the present application also provide a cleaning robot positioning device for implementing the above-mentioned cleaning robot positioning method. The implementation scheme for solving the problem provided by the device is similar to the implementation scheme described in the above method, so the specific limitations in one or more cleaning robot positioning device embodiments provided below can refer to the limitations of the cleaning robot positioning method described above, which will not be repeated here.

[0153] In one exemplary embodiment, as shown in Figure 11 A cleaning robot positioning device is provided, comprising: an information acquisition module 1101, a feature determination module 1102, and a pose positioning module 1103, wherein:

[0154] The information acquisition module 1101 is configured to acquire a plurality of obstacle position information obtained by the cleaning robot during execution of a cleaning task;

[0155] The feature determination module 1102 is configured to determine an obstacle contour feature according to the plurality of obstacle position information;

[0156] The pose positioning module 1103 is configured to register the plurality of obstacle position information and the obstacle contour feature with a travel environment map of the cleaning robot, and determine a robot pose of the cleaning robot in the travel environment map.

[0157] In one embodiment, the information acquisition module 1101 comprises:

[0158] An original sub-module configured to acquire a plurality of original obstacle position information during execution of a cleaning task by the cleaning robot;

[0159] A screening sub-module configured to determine the plurality of obstacle position information according to the plurality of original obstacle position information.

[0160] In one embodiment, the screening sub-module comprises:

[0161] An inclination angle unit is configured to obtain a plurality of robot inclination angles corresponding to a plurality of original obstacle position information;

[0162] A candidate determining unit is configured to determine a plurality of candidate position information satisfying the inclination angle requirement from the plurality of original obstacle position information according to the plurality of robot inclination angles;

[0163] An information determining unit is configured to determine a plurality of obstacle position information according to the plurality of candidate position information.

[0164] In one of the embodiments, the information determining unit comprises:

[0165] A grid sub-unit is configured to convert the plurality of candidate position information into a preset grid map, and determine a target grid including the candidate position information;

[0166] An information sub-unit is configured to determine one candidate position information in each target grid as an obstacle position information, so as to obtain the plurality of obstacle position information.

[0167] In one of the embodiments, the obstacle position information comprises obstacle position coordinates; and the feature determining module 1102 comprises:

[0168] A coordinate sub-module is configured to obtain reference position coordinates of the plurality of obstacle position coordinates in a reference coordinate system;

[0169] A connection sub-module is configured to connect the reference position coordinates according to the collection time sequence of the plurality of obstacle position coordinates, so as to obtain an obstacle contour line;

[0170] A feature sub-module is configured to determine an obstacle contour feature according to the obstacle contour line.

[0171] In one of the embodiments, the plurality of obstacle position coordinates comprises a last obstacle position coordinate which is the last in the obstacle position coordinates in the collection time sequence; the reference coordinate system is a robot coordinate system corresponding to the last obstacle position coordinate; and the coordinate sub-module comprises:

[0172] A pose obtaining unit is configured to obtain a robot pose of the cleaning robot corresponding to each obstacle position coordinate;

[0173] A coordinate conversion unit is configured to determine reference position coordinates of the obstacle position coordinates other than the last obstacle position coordinate in the reference coordinate system according to the obstacle position coordinates other than the last obstacle position coordinate, the robot pose corresponding to the obstacle position coordinates other than the last obstacle position coordinate, and the robot pose corresponding to the last obstacle position coordinate;

[0174] A reference determining unit is configured to determine the last obstacle position coordinate as the reference position coordinates of the last obstacle position coordinate in the reference coordinate system.

[0175] In one of the embodiments, the pose positioning module 1103 comprises:

[0176] a contour matching sub-module, configured to acquire a target contour feature matched with an obstacle contour feature in the driving environment map;

[0177] a pose determination sub-module, configured to determine a robot pose according to the plurality of obstacle position information and the target contour feature.

[0178] In one of the embodiments, the plurality of obstacle position information comprises a first position information group determined by sensor data collected by a first sensor and a second position information group determined by sensor data collected by a second sensor; the target contour feature comprises a first contour feature corresponding to the first position information group and a second contour feature corresponding to the second position information group; and the pose determination sub-module comprises:

[0179] a first pose unit, configured to determine a first robot pose according to the first position information group and the first contour feature;

[0180] a second pose unit, configured to determine a second robot pose according to the second position information group and the second contour feature;

[0181] a pose fusion unit, configured to determine the robot pose according to the first robot pose and the second robot pose.

[0182] In one of the embodiments, the pose fusion unit comprises:

[0183] a weight sub-unit, configured to determine a weight of the first robot pose and a weight of the second robot pose;

[0184] a pose sub-unit, configured to determine the robot pose according to the first robot pose, the weight of the first robot pose, the second robot pose and the weight of the second robot pose.

[0185] In one of the embodiments, the first position information group comprises a plurality of obstacle position coordinates, and the second position information group also comprises a plurality of obstacle position coordinates; the first contour feature comprises a first contour line, and the second contour feature comprises a second contour line; and the weight sub-unit is configured to:

[0186] determine the weight of the first robot pose and the weight of the second robot pose according to a first similarity and a second similarity; the first similarity represents a similarity between an obstacle contour line formed by the obstacle position coordinates in the first position information group and the first contour line; and the second similarity represents a similarity between an obstacle contour line formed by the obstacle position coordinates in the second position information group and the second contour line.

[0187] The modules in the cleaning robot positioning apparatus can be implemented by software, hardware, or a combination thereof. The modules can be embedded in or independent of a processor in a computer device in hardware form, or stored in a memory in the computer device in software form, so as to be called and executed by the processor to perform the operations corresponding to the modules.

[0188] In one example embodiment, a cleaning robot is provided, comprising a sensor, a memory, and a processor, the memory storing a computer program, the sensor comprising at least one ranging sensor configured to collect obstacle position information corresponding to an obstacle during execution of a cleaning task by the cleaning robot, and the processor configured to implement the steps of any of the cleaning robot positioning methods described above when executing the computer program.

[0189] In one embodiment, a computer readable storage medium is provided, storing a computer program, the computer program being configured to implement the steps of any of the cleaning robot positioning methods described above when executed by a processor.

[0190] In one embodiment, a computer program product is provided, comprising a computer program, the computer program being configured to implement the steps of any of the cleaning robot positioning methods described above when executed by a processor.

[0191] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiment methods can be completed by instructing the relevant hardware through a computer program. The computer program can be stored in a non-volatile computer readable storage medium, and when executed, can include the processes of the above-mentioned embodiment methods. Any reference to memory, database or other medium used in the embodiments provided in the present application can include at least one of non-volatile memory and volatile memory. The non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical storage, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetoresistive random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. The volatile memory can include random access memory (RAM) or external cache memory, etc. As an illustration but not limitation, the RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc. The database involved in the embodiments provided in the present application can include at least one of a relational database and a non-relational database. The non-relational database can include a distributed database based on a block chain, etc., without being limited thereto. The processor involved in the embodiments provided in the present application can be a general-purpose processor, a central processing unit, a graphics processing unit, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., without being limited thereto.

[0192] The technical features of the above embodiments can be combined in any manner. To make the description concise, not all possible combinations of the technical features in the above embodiments are described, but as long as the combinations of the technical features do not exist contradictions, they should be considered as the scope of the present application.

[0193] The above-described embodiments are merely illustrative of several embodiments of the present application, and the description is relatively specific and detailed, but should not be understood as a limitation on the scope of the patent. It should be noted that for those skilled in the art, without departing from the concept of the present application, a number of modifications and improvements can be made, which are all within the scope of the present application. Therefore, the scope of protection of the present application should be subject to the appended claims.

Claims

1. A cleaning robot positioning method characterized by, The method comprises: obtaining a plurality of obstacle position information obtained by the cleaning robot during the execution of the cleaning task; determining an obstacle contour feature according to the plurality of obstacle position information; registering the plurality of obstacle position information and the obstacle contour feature with a driving environment map of the cleaning robot to determine a robot pose of the cleaning robot in the driving environment map.

2. The method of claim 1, wherein, The obtaining of the plurality of obstacle position information obtained by the cleaning robot during the execution of the cleaning task comprises: obtaining a plurality of original obstacle position information during the execution of the cleaning task by the cleaning robot; determining the plurality of obstacle position information according to the plurality of original obstacle position information.

3. The method of claim 2, wherein, The determining of the plurality of obstacle position information according to the plurality of original obstacle position information comprises: obtaining a plurality of robot tilt angles corresponding to the plurality of original obstacle position information; determining a plurality of candidate position information satisfying a tilt angle requirement in the plurality of original obstacle position information according to the plurality of robot tilt angles; determining the plurality of obstacle position information according to the plurality of candidate obstacle position information.

4. The method of claim 3, wherein, The determining of the plurality of obstacle position information according to the plurality of candidate position information comprises: converting the plurality of candidate position information into a preset grid map to determine a target grid including the candidate position information; determining one of the candidate position information in each of the target grids as an obstacle position information to obtain the plurality of obstacle position information.

5. The method according to any one of claims 1-4, characterized in that, The obstacle position information comprises an obstacle position coordinate. The determining of the obstacle contour feature according to the plurality of obstacle position information comprises: obtaining a reference position coordinate of each of the plurality of obstacle position coordinates in a reference coordinate system; connecting each of the reference position coordinates according to a collection time sequence of the plurality of obstacle position coordinates to obtain an obstacle contour line; determining the obstacle contour feature according to the obstacle contour line.

6. The method of claim 5, wherein, The plurality of obstacle position coordinates comprises a last obstacle position coordinate which is last in the plurality of obstacle position coordinates in the collection time sequence; the reference coordinate system is a robot coordinate system corresponding to the last obstacle position coordinate; The obtaining of the reference position coordinate of each of the plurality of obstacle position coordinates in the reference coordinate system comprises: obtaining a robot pose corresponding to each of the obstacle position coordinates by the cleaning robot; determining a reference position coordinate of each of the obstacle position coordinates other than the last obstacle position coordinate in the reference coordinate system according to the robot pose corresponding to the last obstacle position coordinate and the robot pose corresponding to each of the obstacle position coordinates other than the last obstacle position coordinate; taking the last obstacle position coordinate as the reference position coordinate of the last obstacle position coordinate in the reference coordinate system.

7. The method according to any one of claims 1-4, characterized in that, The registration of the plurality of obstacle position information and the obstacle contour feature with the driving environment map of the cleaning robot to determine the robot pose of the cleaning robot in the driving environment map comprises: obtaining a target contour feature matching the obstacle contour feature in the driving environment map; determining the robot pose according to the plurality of obstacle position information and the target contour feature.

8. The method of claim 7, wherein, The plurality of obstacle position information comprises a first position information set determined by sensor data collected by a first sensor and a second position information set determined by sensor data collected by a second sensor; the target contour feature comprises a first contour feature corresponding to the first position information set and a second contour feature corresponding to the second position information set; The method for determining the robot pose according to the plurality of obstacle position information and the target contour feature comprises: determining a first robot pose according to the first position information set and the first contour feature; determining a second robot pose according to the second position information set and the second contour feature; determining the robot pose according to the first robot pose and the second robot pose.

9. The method of claim 8, wherein, The method for determining the robot pose according to the first robot pose and the second robot pose comprises: determining a weight of the first robot pose and a weight of the second robot pose; determining the robot pose according to the first robot pose, the weight of the first robot pose, the second robot pose and the weight of the second robot pose.

10. The method of claim 9, wherein, The first position information set comprises a plurality of obstacle position coordinates, and the second position information set also comprises a plurality of obstacle position coordinates; the first contour feature comprises a first contour line, and the second contour feature comprises a second contour line; The method for determining the weight of the first robot pose and the weight of the second robot pose comprises: determining the weight of the first robot pose and the weight of the second robot pose according to a first similarity and a second similarity; The first similarity represents a similarity between an obstacle contour line formed by each obstacle position coordinate in the first position information set and the first contour line; and the second similarity represents a similarity between an obstacle contour line formed by each obstacle position coordinate in the second position information set and the second contour line.

11. A cleaning robot comprising a sensor, a memory and a processor, the memory storing a computer program, characterized in that, The sensor comprises at least one ranging sensor for collecting obstacle position information corresponding to an obstacle during execution of a cleaning task by the cleaning robot, and the processor, when executing the computer program, implements the steps of the method according to any one of claims 1 to 10.

Citation Information

Patent Citations

  • Robot positioning method and device

    CN110530368A

  • Robot navigation and positioning method and system, equipment and storage medium

    CN112629520A

  • Obstacle avoidance method and device for cleaning robot, electronic equipment and medium

    CN114391777A

  • Method and device for walking along wall, sweeping robot and storage medium

    CN114569011A

  • Mapping method and device, positioning method and device, robot and storage medium

    CN115016507A