Patent application title:

TRAVEL CONTROL METHOD FOR ROBOT CLEANER AND ROBOT CLEANER

Publication number:

US20250241498A1

Publication date:
Application number:

19/010,709

Filed date:

2025-01-06

Smart Summary: A robot cleaner uses a special method to move around a room. First, it gathers information about the floor where it needs to clean. Then, it figures out the shape and edges of any carpets or floor coverings. After that, it creates a map to help it navigate around these areas. Finally, the robot follows this map to clean along the edges of the floor coverings without bumping into them. πŸš€ TL;DR

Abstract:

This application relates to a travel control method for a robot cleaner and a robot cleaner. The method comprises: obtaining sensing information of a ground region where a floor covering is located; determining contour position information of an edge of the floor covering based on the sensing information; generating a navigation map for the robot cleaner based on the contour position information; and controlling the robot cleaner to travel along the edge of the floor covering on a floor based on the navigation map.

Inventors:

Applicant:

Interested in similar patents?

Get notified when new applications in this technology area are published.

Classification:

A47L11/4011 »  CPC main

Machines for cleaning floors, carpets, furniture, walls, or wall coverings; Parts or details of machines not groups Β -Β , , e.g. handles, arrangements of switches, skirts, buffers, levers Regulation of the cleaning machine by electric means; Control systems and remote control systems therefor

A47L11/28 »  CPC further

Machines for cleaning floors, carpets, furniture, walls, or wall coverings Floor-scrubbing machines, motor-driven

A47L2201/04 »  CPC further

Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation Automatic control of the travelling movement; Automatic obstacle detection

A47L2201/06 »  CPC further

Robotic cleaning machines, i.e. with automatic control of the travelling movement or the cleaning operation Control of the cleaning action for autonomous devices; Automatic detection of the surface condition before, during or after cleaning

A47L11/40 IPC

Machines for cleaning floors, carpets, furniture, walls, or wall coverings Parts or details of machines not groups Β -Β , , e.g. handles, arrangements of switches, skirts, buffers, levers

Description

CROSS REFERENCE TO RELATED APPLICATION

This application claims priority to Chinese Patent Application No. 2024101185668, filed on Jan. 26, 2024, the content of which is hereby incorporated by reference in its entirety.

TECHNICAL FIELD

This application relates to the field of robot cleaner technology.

BACKGROUND

With the development of robot cleaner technology, robot cleaners have gradually become one of commonly used smart home devices. Cleaning strategies of robot cleaners for floor pavements such as carpets and hard floors are usually different. Dry cleaning and increased dust suction are required for the floor pavements, while indefinite cleaning strategies are required for hard floors. Therefore, the robot cleaners need to clean floor pavement regions and hard floor regions separately. When cleaning the hard floors, the robot cleaners inevitably need to travel around edges of the floor pavements.

SUMMARY

In a first aspect, this application provides a travel control method for a robot cleaner (e.g., a robotic cleaner). The method comprises: obtaining sensing information of a ground region where a floor covering is located; determining contour position information of an edge of the floor covering based on the sensing information; generating a navigation map for the robot cleaner based on the contour position information; and controlling the robot cleaner to travel along the edge of the floor covering based on the navigation map.

In a second aspect, this application further provides a robot cleaner. The robot cleaner includes a body, a driving component, a cleaning component, a sensing component, a memory, and a processor, where the memory stores a computer program, and the processor executes the computer program to implement the methods above.

BRIEF DESCRIPTION OF THE DRAWINGS

In order to explain technical solutions in this application more clearly, the accompanying drawings required for use in the description will be introduced below. Apparently, the accompanying drawings described below show the examples of this application, and those of ordinary skill in the art can further derive other drawings according to the disclosed drawings without any creative efforts.

FIG. 1 is a schematic flowchart of a travel control method for a robot cleaner;

FIG. 2 is a schematic diagram of a process of controlling a robot cleaner to travel along a first edge of a floor covering;

FIG. 3 is a schematic diagram of a process of controlling the robot cleaner to travel along a second edge of the floor covering; and

FIG. 4 is an internal structural diagram of a robot cleaner.

DETAILED DESCRIPTION

The following clearly and completely describes the technical solutions in this application with reference to the accompanying drawings in this application. Apparently, the described examples are some but not all of the examples of this application. Based on the examples of this application, all other examples obtained by those of ordinary skill in the art without any creative efforts shall fall within the scope of protection of this application.

The applicant found, in related technologies, the travel direction of a robot cleaner is usually continuously adjusted according to whether the robot cleaner touches a ground pavement (e.g., floor covering), so as to control the robot cleaner to travel along the ground pavement. The travel direction of the robot cleaner may be adjusted after the robot cleaner touches the ground pavement. In the process of controlling the robot cleaner to travel along the ground pavement, the robot cleaner constantly moves up and down the ground pavement, which not only affects the cleaning efficiency of the robot cleaner, but also pollutes the ground pavement, resulting in low cleaning efficiency and poor cleaning effect.

As an example, the ground pavement may be a carpet, a floor mat such as a cat litter mat, tiles, or the like. The ground pavement may be a raised floor covering on a floor. A shape of the ground pavement may be circle, triangle, rectangle, rhombus, square, or trapezoid. In an example, if the ground pavement is a rectangular cat litter mat, the contour position information of an edge of the rectangular cat litter mat may be determined and the robot cleaner may be controlled to travel along the edge of the rectangular cat litter without touching the rectangular cat litter.

In one example, as shown in FIG. 1, a travel (e.g., navigation) control method for a robot cleaner is provided. The method may be performed by a computing device in the robot cleaner. The computing device may comprise a controller. The method comprises the following steps:

Step 202: Control the robot cleaner to obtain first sensing information of a ground region where a ground pavement (e.g., floor covering) is located.

The ground region where the ground pavement is located may be a ground region near the ground pavement, including at least a portion of the ground pavement and some hard material ground regions that are adjacent to the ground pavement and are not covered by the ground pavement. Here, the hard material may be porcelain tiles, marble, boards, etc. The first sensing information may be one of a first region image, a first infrared image, or first laser feedback information of the ground region where the ground pavement is located. The first region image may be an RGB image captured by a camera. The first infrared image may be an image generated based on infrared information sensed by an infrared detector. The first laser feedback information may be a reflected signal of an external environment on a laser signal sent by a laser emitter, and the laser signal may be a line laser signal.

As an example, the camera may be arranged on a body of the robot cleaner, usually arranged on a front side of a head of the body, and the camera may be a monocular, binocular, or trinocular camera. The first region image captured by the camera may be an image captured before the robot cleaner travels to the ground region where the ground pavement is located, or an image captured after the robot cleaner definitely travels to the ground region where the ground pavement is located.

As an example, the infrared detector may be arranged on the body of the robot cleaner, usually arranged on the front side of the head of the body. The first infrared image detected by the infrared detector may be an infrared image detected before the robot cleaner travels to the ground region where the ground pavement is located, or an infrared image detected after the robot cleaner definitely travels to the ground region where the ground pavement is located.

As an example, one or more laser detectors may be arranged on the body of the robot cleaner, usually arranged on the front side of the head of the body. The first laser feedback information obtained by the laser detector may be a laser reflected signal detected before the robot cleaner travels to the ground region where the ground pavement is located, or a laser reflected signal detected after the robot cleaner definitely travels to the ground region where the ground pavement is located.

As an example, one or more ultrasonic sensors (e.g., environmental sensors) may be further arranged on the body of the robot cleaner. If an ultrasonic sensor detects the ground pavement, it indicates that the robot cleaner has traveled to the ground region where the ground pavement is located by, for example, sending a message to a controller of the robot cleaner, and the controller may control the robot cleaner to immediately brake (e.g., stop). For example, the ultrasonic sensor may be arranged on a chassis (e.g., frame) of the robot cleaner and close to the head of the robot cleaner, where ultrasonic is emitted downwards. If the ultrasonic sensor detects the material of the ground pavement, it indicates that at least a portion of the body of the robot cleaner is located above the ground pavement, and the robot cleaner has traveled to the nearby ground region of the ground pavement. The ultrasonic sensor detects the ground pavement, which can improve the detection accuracy of the ground pavement, avoid false detection, reduce the response time of the robot cleaner, and enable the robot cleaner to brake immediately based on the detection result of the ultrasonic sensor, thereby improving cleaning efficiency.

As an example, the robot cleaner can also detect a driving current value of a driving wheel or roller brush to detect whether the robot cleaner has traveled to the ground region where the ground pavement is located. For example, when the driving current value changes from a normal value (e.g., above or below a set value by a threshold), it indicates that the driving wheel or roller brush of the robot cleaner has touched the ground pavement and the robot cleaner has traveled to the nearby ground region of the ground pavement. When the driving current value restores to the normal value, it indicates that the robot cleaner has left the ground pavement. As another example, the robot cleaner can also detect through the camera whether the robot cleaner has traveled to the ground region where the ground pavement is located.

After detecting that the robot cleaner has traveled to the ground region where the ground pavement is located, the robot cleaner can be controlled to stop moving forward and reverse (e.g., retreat) a preset target distance. For example, a controller can control the robot cleaner to leave the ground pavement and prepare for subsequent control on the robot cleaner to travel along the ground pavement.

As an example, if the first sensing information is a first region image, the first region image may include a partial edge or all detour edges of the ground pavement, which may be determined according to a cleaning strategy (e.g., rule) of the robot cleaner. When the cleaning strategy adopted by the robot cleaner is to travel and explore along the edge of the ground pavement, the first region image may include the partial edge of the ground pavement, and the first region image may be an image captured by the robot cleaner in an orientation relative to the ground pavement. If the cleaning strategy adopted by the robot cleaner is to first obtain all detour edges of the ground pavement and then clean along the edge of the ground pavement, the first region image may include all the detour edges of the ground pavement, and the first region image may be a collection of a plurality of images captured by the robot cleaner in a plurality of directions relative to the ground pavement, or an image formed by stitching the plurality of images. It should be noted that the edge may refer to an outer contour of the ground pavement (e.g., a boundary such as junction edge between the ground pavement and the hard material ground). The outer contour of the ground pavement may be a boundary where the boundary meets the hard-surface floor. The detour edges (e.g., navigable edges) may represent a space near the edge of the ground pavement that allows the robot cleaner to pass through. In addition, the edge of the ground pavement may be straight, broken, curved, or the like, which is not limited here.

Step 204: Detect first contour position information of a first edge of the ground pavement according to the first sensing information.

As an example, the first sensing information is the first region image for illustration. Step 204 comprises: detecting a contour position of the first edge of the ground pavement by target detection on the first region image to obtain the first contour position information. The first contour position information may be position coordinates of the first edge of the ground pavement in a world coordinate system.

As an example, the detecting a contour position of the first edge of the ground pavement by target detection on the first region image to obtain the first contour position information comprises: performing ground segmentation on the first region image to obtain ground contour information, where the ground contour information may be position coordinates of a series of ground points; performing target detection on the first region image to obtain pavement contour information of the ground pavement, where the pavement contour information may be position coordinates of a series of contour points of the ground pavement; and calculating an intersection between the ground contour information and the pavement contour information to obtain the first contour position information of the first edge of the ground pavement in the world coordinate system.

Step 206: Generate a work navigation map for the robot cleaner according to the first contour position information. The first contour position information may be first contour position coordinates (e.g., the position coordinates of the first edge of the ground pavement in the world coordinate system).

As an example, step 206 comprises: converting the first contour position coordinates from the world coordinate system to a map coordinate system, to obtain first map position coordinates of the first edge of the ground pavement in the map coordinate system, where an origin of the map coordinate system is the body of the robot cleaner; and generating the work navigation map with the body of the robot cleaner as a center of the map according to the first map position coordinates.

As an example, after the first map position coordinates are obtained, a fixed designated point may be used as the center of the map to generate the work navigation map in conjunction with the first map position coordinates. For example, the fixed designated point may be a starting point of the first edge.

In one example, the generating a work navigation map for the robot cleaner according to the first contour position information comprises: determining body position information of the robot cleaner; and generating the work navigation map with the robot cleaner as a center of the map according to the first contour position information and the body position information. The body position information may be body position coordinates, and the first contour position information may be the first contour position coordinates.

Specifically, the body position coordinates of the robot cleaner in the world coordinate system are determined. A current spacing distance between the first edge and the robot cleaner is calculated according to second contour position coordinates of the first edge of the ground pavement in the world coordinate system and the body position coordinates. And the work navigation map is generated with the robot cleaner as the center of the map according to the current spacing distance.

In one example, the first contour position information comprises the first contour position coordinates, and the body position information comprises the body position coordinates. The generating the work navigation map with the robot cleaner as the center of the map according to the first contour position information and the body position information comprises: determining the current spacing distance between the robot cleaner and the first edge of the ground pavement according to the first contour position coordinates and the body position coordinates; converting the first contour position coordinates into target contour position coordinates in the map coordinate system according to the current spacing distance, where origin coordinates of the map coordinate system are the same as the body position coordinates of the robot cleaner; and generating the work navigation map for the robot cleaner with the origin of the map coordinate system as the center of the map according to the target contour position coordinates.

The map coordinate system is a coordinate system used for constructing the work navigation map. Compared with the world coordinate system, the accuracy of the map coordinate system is higher. Therefore, the accuracy of the work navigation map generated based on the map coordinate system is also higher, and the accuracy of controlling the robot cleaner to travel along the ground pavement based on the work navigation map is also higher.

Specifically, the body position coordinates of the robot cleaner in the world coordinate system are determined. The current spacing distance between the first edge and the robot cleaner is calculated according to the second contour position coordinates of the first edge of the ground pavement in the world coordinate system and the body position coordinates, where the current spacing distance is a shortest distance between the body of the robot cleaner and the first edge of the ground pavement. The first contour position coordinates of the first edge of the ground pavement in the world coordinate system are converted into the target position coordinates in the map coordinate system according to the current spacing distance and the body position coordinates of the robot cleaner in the map coordinate system. The work navigation map is generated with the origin of the map coordinate system as the center of the map according to the target position coordinates.

As an example, the work navigation map is a grid map, and the generating the work navigation map with the robot cleaner as a coordinate system origin according to the target position coordinates comprises: dividing a preset size region centered on the coordinate system origin into grids, and positioning grid position coordinates of each grid in the preset size region according to the second position coordinates; and generating the grid map with the preset size as the work navigation map according to the grid position coordinates and the divided grids.

In the above example, the current spacing distance between the robot cleaner and the first edge of the ground pavement is detected according to the first contour position coordinates and the body position coordinates of the robot cleaner. The first position coordinates are converted into the second position coordinates in the map coordinate system according to the current spacing distance. Position coordinates of each position in the map coordinate system can be positioned according to the second position coordinates, and the work navigation map can be accurately built according to the accurate position coordinates, thereby laying a foundation for efficient and accurate control on the robot cleaner to travel along the first edge of the ground pavement.

As an example, the work navigation map may be a grid map, the grid map is centered on the robot cleaner and composed of a plurality of grids, and the grid map can be updated based on movement of the robot cleaner. In the grid map, with the robot cleaner as the origin of the grid map coordinate system, the grid position coordinates of each grid in the grid map coordinate system can be known. The grid position coordinates of each grid in the map coordinate system can be positioned based on the first map position coordinates. For example, the distance between a grid and the first edge of the ground pavement detected by the camera is L, and the grid position coordinates of the grid in the map coordinate system can be positioned based on the distance L and the first map position coordinates.

Notably, in addition to the grid map, the foregoing work navigation map may be a semantic map, a point cloud map, or the like, which is not limited here. In addition, when the work navigation map is built, the coordinate origin can also be fixed, for example, the starting point of the first edge is selected as the coordinate origin. The starting point here can be understood as a point from which the robot cleaner starts traveling along the first edge.

Step 208: Control the robot cleaner to travel along the first edge of the ground pavement according to the work navigation map.

As an example, step 208 comprises: controlling the robot cleaner to travel along the first edge of the ground pavement in a target travel direction according to the work navigation map.

As an example, the target travel direction may be a direction parallel to the first edge of the ground pavement. As another example, the target travel direction may be a direction parallel to a tangent of the first edge of the ground pavement, where the tangent may be a tangent of an edge point closest to the robot cleaner on the first edge, or a tangent of a target point on the first edge. The target point may be selected at fixed intervals based on the starting point of the first edge.

In this example, if the current travel direction of the robot cleaner along the first edge is the same as the target travel direction, the robot cleaner may be controlled to continue traveling along the first edge of the ground pavement in the current travel direction according to the work navigation map. If the current travel direction of the robot cleaner is different from the target travel direction, the robot cleaner may be adjusted to the target travel direction, and the robot cleaner may be controlled to travel along the first edge of the ground pavement in the target travel direction, where the travel of the robot cleaner is mainly adjusted by controlling the speeds of a left driving wheel and/or a right driving wheel of the robot cleaner. For example, when the robot cleaner needs to turn left, the speed of the right driving wheel may be controlled to be greater than that of the left driving wheel. When the robot cleaner needs to turn right, the speed of the left driving wheel may be controlled to be greater than that of the right driving wheel.

In one example, the controlling the robot cleaner to travel along the first edge of the ground pavement according to the work navigation map comprises: controlling the robot cleaner to travel along the first edge of the ground pavement according to a distance between the first edge in the work navigation map and the robot cleaner.

Specifically, the distance between the first edge and the robot cleaner may be calculated in the work navigation map according to the first map position coordinates of the first edge in the work navigation map and the body position coordinates of the robot cleaner in the work navigation map. The robot cleaner may be controlled to travel along the first edge of the ground pavement in the target travel direction by controlling the distance between the first edge and the robot cleaner to be stable near a first preset target distance. In this case, when the robot cleaner travels along the first edge, the robot cleaner may be always maintained at a distance from the first edge, and the driving wheels of the robot cleaner are less likely to touch the first edge when traveling along the first edge.

In one example, the travel control method for the robot cleaner further comprises: determining a column of occupied region occupied by the ground pavement in the work navigation map according to the first edge of the ground pavement; determining a slope of the column of occupied region in the map coordinate system according to regional position information of the column of occupied region; and determining the target travel direction according to the slope.

Specifically, a column of occupied region parallel to an extension direction of the first edge of the ground pavement is selected from the work navigation map. The column of occupied region may be an occupied region of the ground pavement. The slope of the column of occupied region in the map coordinate system is calculated according to the regional position information of the column of occupied region. And the target travel direction may be determined according to the slope (e.g., the travel direction with the slope in the map coordinate system is the target travel direction).

As an example, a column of occupied region occupied by the first edge of the ground pavement in the work navigation map may be selected as the column of occupied region of the ground pavement. As an example, if the work navigation map is the grid map, the column of occupied region is a column of occupied grids, and the regional position information is the grid position information.

In the above example, a column of occupied region occupied by the ground pavement is first selected in the work navigation map, where the column of occupied region is parallel to the first edge or parallel to the tangent of the first edge. The slope of the column of occupied region in the map coordinate system is determined according to the regional position information of the column of occupied region; and the target travel direction is determined according to the slope, so that even if the first edge is not a straight line and has a slightly irregular shape or a radian, the target travel direction of the robot cleaner can be accurately positioned, which helps to improve the accuracy of positioning the target travel direction of the robot cleaner.

As an example, the slope of the column of occupied region in the map coordinate system may be determined based on a least squares method according to the regional position information of the column of occupied region.

In one example, the controlling the robot cleaner to travel along the first edge of the ground pavement according to the work navigation map comprises: controlling the robot cleaner to travel along the first edge of the ground pavement according to a distance between an occupied region of the ground pavement in the work navigation map and the robot cleaner.

Specifically, a column of occupied region occupied by the ground pavement may be selected in the work navigation map, where the column of occupied region is parallel to the first edge of the ground pavement or parallel to the tangent of the first edge of the ground pavement. The distance between the column of occupied region and the robot cleaner may be calculated in the work navigation map according to second map position coordinates of the column of occupied region in the work navigation map and the body position coordinates of the robot cleaner in the work navigation map. The robot cleaner may be controlled to travel along the first edge of the ground pavement in the target travel direction by controlling the distance between the column of occupied region and the robot cleaner to be stable near a second preset target distance. In this case, when the robot cleaner travels along the first edge, the robot cleaner may be always maintained at a distance from the first edge, and the robot cleaner is less likely to touch the first edge when traveling along the first edge. As an example, if the work navigation map is a grid map, the column of occupied region is a column of grids in the grid map.

It should be noted that the column of occupied region mentioned in this example may be the column of occupied region used for positioning the target travel direction, or re-selected, which is not limited here.

In the above travel control method for the robot cleaner, the robot cleaner is controlled to obtain the first sensing information of the ground region where the ground pavement is located, and the first contour position information of the ground region where the ground pavement is located is detected according to the first sensing information. The work navigation map for the robot cleaner is generated according to the first contour position information. When the robot cleaner is controlled to travel along the first edge of the ground pavement according to the work navigation map generated according to the first contour position information, the driving wheels of the robot cleaner are less likely to touch the ground pavement, which can avoid redundant processes that the robot cleaner constantly moves up and down the ground pavement, and improve the cleaning efficiency and effect of the robot cleaner.

In one example, as shown in FIG. 2, the controlling the robot cleaner to travel along the first edge of the ground pavement according to a distance between an occupied region of the ground pavement in the work navigation map and the robot cleaner comprises:

Step 302: Determine a spacing distance between the robot cleaner and a target occupied region of the ground pavement in the work navigation map.

As an example, step 302 comprises: determining the target occupied region closest to the robot cleaner among all occupied regions, where the determination of the target occupied region may be based on the body position coordinates of the robot cleaner; and calculating the spacing distance between the robot cleaner and the target occupied region according to regional position coordinates of the target occupied region and the body position coordinates of the robot cleaner in the work navigation map. The determination of the target occupied region may alternatively be based on a designated part on the robot cleaner, and a spacing distance between the designated part and the target occupied region is used as the spacing distance between the robot cleaner and the target occupied region. The designated part here may be a TOF sensor, an infrared sensor, or the like installed on a front right side of the body.

Step 304: Control the robot cleaner to travel along the first edge of the ground pavement using a difference between the spacing distance and a preset target distance as a control parameter.

The robot cleaner may be equipped with a proportional-integral-derivative (PID) controller, the input of the PID controller is the difference between the spacing distance and the preset target distance, and the output is an angular velocity of the robot cleaner. When the robot cleaner is controlled to travel using the angular velocity, the spacing distance between the robot cleaner and the target occupied region can be controlled to approach the preset target distance.

As an example, step 304 comprises: calculating the difference between the spacing distance and the preset target distance, and inputting the difference as a control parameter into the PID controller to obtain an angular velocity of the robot cleaner; and controlling the robot cleaner to travel along the first edge of the ground pavement in the target direction at the angular velocity.

In one example, the controlling the robot cleaner to travel along the first edge of the ground pavement using a difference between the spacing distance and a preset target distance as a control parameter comprises: determining an angular velocity of the robot cleaner according to the difference between the spacing distance and the preset target distance; calculating left and right wheel velocities of the robot cleaner according to the angular velocity and a linear velocity corresponding to the angular velocity; and controlling the robot cleaner to travel along the first edge of the ground pavement according to the left and right wheel velocities.

Specifically, the difference between the spacing distance and the preset target distance is calculated. The difference is input as a control parameter into the PID controller to output the angular velocity of the robot cleaner; the linear velocity corresponding to the angular velocity is determined according to a corresponding relationship between the angular velocity and the linear velocity; the left and right wheel velocities of the robot cleaner are calculated according to the angular velocity and the linear velocity. The robot cleaner may be controlled to travel along the first edge of the ground pavement in the target travel direction according to the left and right wheel velocities.

As an example, there is a negative feedback relationship between the angular velocity and linear velocity of the robot cleaner, as follows:

v = 0 . 2 - w ∧ ⁒ 2

Here, v is the linear velocity and w is the angular velocity.

In this example, the difference between the preset target distance and the spacing distance between the target occupied region closest to the robot cleaner and the robot cleaner is used as the control parameter, to control the robot cleaner to travel along the first edge of the ground pavement in the target travel direction, which can ensure that the spacing distance between the robot cleaner and the target occupied region may always remain close to the preset target distance (e.g., 2 inches) during traveling, and ensure that the driving wheels of the robot cleaner do not touch the ground pavement in the process of traveling along the ground pavement. This can avoid redundant processes that the robot cleaner constantly moves up and down the ground pavement, improving the cleaning efficiency and effect of the robot cleaner, ensuring that the robot cleaner can travel as close as possible to the edge of the ground pavement and clean the edge, and reducing missed areas near the edge of the ground pavement.

In one example, with reference to FIG. 3, the travel control method for the robot cleaner further comprises:

Step 402: Detect second contour position information of a second edge of the ground pavement if the robot cleaner travels to a boundary (e.g., junction region) between the first edge and second edge of the ground pavement.

Both the first edge and the second edge may be partial edges of the ground pavement in this example. The cleaning strategy adopted by the robot cleaner is about traveling and exploring along the edge of the ground pavement.

It should be noted that the junction region between the first edge and the second edge does not strictly refer to an intersection point of the first edge and the second edge, but can generally refer to a region near the intersection point. In addition, an extension direction of the second edge may be the same as or different from that of the first edge. When the extension direction of the second edge is different from that of the first edge, it means that there may be a corner between the first edge and the second edge.

As an example, step 402 comprises: controlling the robot cleaner to capture a second region image including the second edge if it is detected that the robot cleaner has traveled to the junction region between the first edge and second edge of the ground pavement; and detecting (e.g., determining) the second contour position information of the second edge of the ground pavement by target detection on the second region image.

As an example, a target distance that the robot cleaner needs to travel from a current position to the junction region can be determined according to the first contour position information, and a preset travel distance can be determined according to the target distance, where the difference between the preset travel distance and the target travel distance is less than a preset distance difference threshold. Therefore, if it is detected that the robot cleaner has traveled the preset travel distance along the first edge, it indicates that the robot cleaner has traveled to the junction region between the first edge and second edge of the ground pavement.

As an example, a preset target position can be directly determined in the work navigation map according to the first contour position information. The preset target position can be in the junction region between the first edge and second edge of the ground pavement. If the robot cleaner travels to the preset target position, it can be considered that the robot cleaner has traveled to the junction region between the first edge and second edge of the ground pavement.

As an example, because the first edge may be an edge having an angle change, when the robot cleaner travels along the first edge, the pose of the robot cleaner changes. The pose change may include a distance change and an angle change, where the distance change is used for representing a distance traveled by the robot cleaner, and the angle change is used for representing a changing angle in the travel direction of the robot cleaner. Therefore, if it is detected that the pose change of the robot cleaner reaches a preset pose change, it can be considered that the robot cleaner has traveled to the junction region between the first edge and second edge of the ground pavement.

In one example, the travel control method for the robot cleaner further comprises: determining that the robot cleaner has traveled to the junction region between the first edge and second edge of the ground pavement in the travel direction of the robot cleaner along the first edge, namely, the target travel direction described above, when the area of the occupied region of the ground pavement in a target map region of the work navigation map is less than a preset threshold.

Specifically, the target map region is a local region selected from the work navigation map according to the target travel direction of the robot cleaner, on the side close to the robot cleaner, and located in front of the robot cleaner. For example, when the robot cleaner travels along the first edge, if the right side of the body of the robot cleaner is close to the first edge, the target map region is the local region located in right front of the robot cleaner in the work navigation map. Or when the robot cleaner travels along the first edge, if the left side of the body of the robot cleaner is close to the first edge, the target map region is the local region located in left front of the robot cleaner in the work navigation map. If the area of the occupied region of the ground pavement in the target map region is less than the preset threshold, it indicates that the robot cleaner has traveled to a region near a corner of the ground pavement (e.g., the robot cleaner has traveled to the junction region between the first edge and second edge of the ground pavement).

As an example, if the work navigation map is the grid map, the area of the occupied region may be represented by the quantity of grids occupied by the ground pavement in the target map region. If the quantity of grids occupied by the ground pavement in the target map region is less than a preset quantity threshold, it indicates that the robot cleaner has traveled to the region near the corner of the ground pavement (e.g., the robot cleaner has traveled to the junction region between the first edge and second edge of the ground pavement).

Step 404: Update the work navigation map according to the second contour position information, and control the robot cleaner to travel along the second edge of the ground pavement according to the updated work navigation map.

The second contour position information comprises second contour position coordinates of the second edge.

As an example, step 404 comprises: converting the second contour position coordinates from the world coordinate system to the map coordinate system, to obtain second map position coordinates of a contour of the second edge of the ground pavement in the map coordinate system, where the origin of the map coordinate system is the body of the robot cleaner; newly generating a work navigation map with the body of the robot cleaner as the center of the map according to the second map position coordinates, and updating the original work navigation map with the newly generated work navigation map; and controlling the robot cleaner to travel along the second edge of the ground pavement according to the updated work navigation map. The newly generated work navigation map still includes the previously obtained first edge.

It should be noted that the travel control strategy for the robot cleaner along the second edge may be the same as that along the first edge, and will not be repeated here.

In the above example, the robot cleaner can automatically detect whether it has traveled to the junction region between the first edge and second edge of the ground pavement. If so, the second contour position information of the second edge of the ground pavement is detected, the work navigation map may be updated according to the second contour position information, and the robot cleaner is controlled to travel along the second edge of the ground pavement according to the updated work navigation map. In this way, the robot cleaner can travel along the known edge of the ground pavement for cleaning and explore unknown edges, thereby avoiding repeated traveling along the same edge of the ground pavement, and improving the cleaning efficiency of the robot cleaner.

Notably, when the origin of the work navigation map is the robot cleaner and the map moves with the robot cleaner, there are at least 2 map update strategies for the work navigation map in this example: i) the work navigation map is updated every a preset time interval (e.g., the work navigation map is updated regularly); and ii) when it is detected that the robot cleaner has traveled to a junction region between a current edge (such as the first edge) and a new edge (such as the second edge) of the ground pavement, the robot cleaner detects contour position information of the new edge of the ground pavement, and the work navigation map is updated according to the contour position information of the new edge.

The update of the work navigation map indicates that the robot cleaner generates a new work navigation map based on the currently detected edge contour position information of the ground pavement, and the previous work navigation map is covered with the new work navigation map, which can improve the accuracy of the work navigation map.

In one example, the detecting second contour position information of a second edge of the ground pavement comprises: controlling the robot cleaner to obtain second sensing information of the ground region where the ground pavement is located; and detecting the second contour position information of the second edge of the ground pavement according to the second sensing information.

When the extension direction of the second edge is different from that of the first edge, after the robot cleaner travels to the junction region between the first edge and second edge of the ground pavement, because the travel direction of the robot cleaner is still along the first edge, the sensing field of view of the second edge of the ground pavement is narrow, and the pose of the robot cleaner needs to be adjusted to obtain the second sensing information.

The second sensing information includes at least one of a second region image, a second infrared image, and second laser feedback information of the ground region where the ground pavement is located, where the second region image may be an RGB image captured by the camera; the second infrared image may be an image generated based on infrared information sensed by the infrared detector; the second laser feedback information may be a reflected signal of the external environment on a laser signal sent by the laser emitter, and the laser signal may be a line laser signal.

For example, the second sensing information is the second region image. After the robot cleaner is controlled to move to a target capture position, the robot cleaner is controlled to capture the second region image, where the second region image includes the second edge; a contour position of the second edge of the ground pavement is detected by target detection on the second image, to obtain the second contour position information.

In one example, the second sensing information includes the second region image; the controlling the robot cleaner to obtain second sensing information of the ground region where the ground pavement is located comprises: controlling the robot cleaner to perform a turning motion, where the turning motion includes at least one of the following: the robot cleaner rotates and reverses (e.g., retreats), and the robot cleaner first rotates in place and then reverses; and controlling the robot cleaner to capture the second region image of the ground region where the ground pavement is located after the robot cleaner completes the turning motion.

Notably, the robot cleaner can rotate and reverse. Compared to the robot cleaner before the turning motion, the robot cleaner that has completed the turning motion has changed its rotation angle by a first preset angle and changed its distance by a first preset distance. The robot cleaner can also rotate a second preset angle in place first, and then reverse a second preset distance. The first preset angle and the second preset angle may be equal or unequal, and the first preset distance and the second preset distance may also be equal or unequal, which are not limited here.

Further, the rotation direction of the robot cleaner may be the same as the direction in which the robot cleaner detours the ground pavement. For example, when the robot cleaner detours the ground pavement clockwise (e.g., when the right side of the body of the robot cleaner is close to the ground pavement), the rotation direction of the robot cleaner when performing the turning motion is also clockwise. When the robot cleaner detours the ground pavement counterclockwise (e.g., when the left side of the body of the robot cleaner is close to the ground pavement), the rotation direction of the robot cleaner when performing the turning motion is also counterclockwise.

In the above example, by controlling the robot cleaner to perform the turning motion, the field of view of the camera can be widened, and the captured second region image includes more sufficient image information about the second edge. Therefore, the accuracy of detecting the second contour position information of the second edge of the ground pavement using the second region image of the second edge is higher. The number of times edge information is extracted based on images can be reduced, and the work efficiency of the robot cleaner can be improved.

In one example, the travel control method for the robot cleaner further comprises: returning to the process of generating the work navigation map if the ultrasonic sensor detects the ground pavement when the robot cleaner travels along the ground pavement.

Specifically, when the robot cleaner travels along the ground pavement, if the ultrasonic sensor detects the ground pavement, it indicates that some parts of the body of the robot cleaner are located above the ground pavement, the accuracy of current travel of the robot cleaner along the ground pavement is insufficient, and the robot cleaner is about to enter the ground region where the ground pavement is located due to missed detection by the camera. In this case, the process of generating the work navigation map is returned, to re-control the robot cleaner to travel along the ground pavement, which can prevent the robot cleaner from entering the ground region where the ground pavement is located due to the missed detection by the camera.

In one example, the travel control method for the robot cleaner further comprises: returning to the process of generating the work navigation map if it is detected through a motor driving current signal of the robot cleaner that the robot cleaner touches the ground pavement when the robot cleaner travels along the ground pavement.

When the robot cleaner travels along the ground pavement, whether the robot cleaner touches the ground pavement can be further detected by detecting the motor driving current signal of the robot cleaner. When the motor driving current signal suddenly changes, the roller brush or driving wheel of the robot cleaner may touch the ground pavement, which obstructs the motion of the robot cleaner. If so, it indicates that the robot cleaner is about to enter the ground region where the ground pavement is located due to missed detection by the camera. In this case, the process of generating the work navigation map is returned, to re-control the robot cleaner to travel along the ground pavement, which can prevent the robot cleaner from entering the ground region where the ground pavement is located due to the missed detection by the camera.

In one example, if the robot cleaner travels to the ground region where the ground pavement is located, the robot cleaner is controlled to obtain the first sensing information of the ground region where the ground pavement is located, where the first sensing information includes the first region image. Ground segmentation is performed on the first region image to obtain ground contour information, where the ground contour information may be position coordinates of a series of ground points. Target detection is performed on the first region image to obtain pavement contour information of the ground pavement, where the pavement contour information may be position coordinates of a series of contour points of the ground pavement; and an intersection between the ground contour information and the pavement contour information is calculated to obtain first contour position information of the first edge of the ground pavement in the world coordinate system.

After the first contour position information is obtained, the body position coordinates of the robot cleaner in the world coordinate system are determined. The current spacing distance between the first edge and the robot cleaner is calculated according to the second contour position coordinates of the first edge of the ground pavement in the world coordinate system and the body position coordinates, where the current spacing distance is a shortest distance between the body of the robot cleaner and the first edge of the ground pavement. The first contour position coordinates of the first edge of the ground pavement in the world coordinate system are converted into the target position coordinates in the map coordinate system according to the current spacing distance and the body position coordinates of the robot cleaner in the map coordinate system. The work navigation map is generated with the robot cleaner as the coordinate system origin according to the target position coordinates.

Further, a column of occupied region parallel to the extension direction of the first edge of the ground pavement may be selected from the work navigation map, where the column of occupied region is an occupied region of the ground pavement; the slope of the column of occupied region in the map coordinate system is calculated according to the regional position information of the column of occupied region. The target travel direction may be determined according to the slope (e.g., the travel direction with the slope in the map coordinate system is the target travel direction, and the robot cleaner is adjusted to the target travel direction).

Further, the target occupied region closest to the robot cleaner is determined among all occupied regions, where the determination of the target occupied region may be based on the body position coordinates of the robot cleaner; and the spacing distance between the robot cleaner and the target occupied region is calculated according to the regional position coordinates of the target occupied region and the body position coordinates of the robot cleaner in the work navigation map. The determination of the target occupied region may alternatively be based on a designated part on the robot cleaner, and a spacing distance between the designated part and the target occupied region is used as the spacing distance between the robot cleaner and the target occupied region, where the designated part may be a time-of-flight (TOF) sensor, an infrared sensor, or the like installed on the front right side of the body; the difference between the spacing distance and the preset target distance is calculated, and the difference is input as a control parameter into the PID controller to obtain an angular velocity of the robot cleaner; and the robot cleaner is controlled to travel along the first edge of the ground pavement in the target direction at the angular velocity.

In the above examples, the robot cleaner can be controlled to travel stably in the target travel direction, thereby controlling the robot cleaner to travel along the ground pavement, and maintaining a distance between the edge of the ground pavement and the robot cleaner during traveling, which can avoid redundant processes that the robot cleaner constantly moves up and down the ground pavement, and improve the cleaning efficiency and effect of the robot cleaner.

It is to be understood that, although the steps are displayed sequentially according to the instructions of arrows in the flowcharts of the examples described above, these steps are not necessarily performed sequentially according to the sequence instructed by the arrows. Unless otherwise explicitly specified in this application, execution of the steps is not strictly limited, and the steps may be performed in other sequences. Moreover, at least some of the steps in the flowchart of each example may include a plurality of steps or a plurality of stages. The steps or stages are not necessarily performed at the same time, but may be performed at different time. Execution of the steps or stages is not necessarily sequentially performed, but may be performed alternately with other steps or at least some of steps or stages of other steps.

Based on the same inventive concept, an example of this application further provides a travel control apparatus for a robot cleaner for implementing the aforementioned travel control method for the robot cleaner. The implementation solution provided by the apparatus to solve the problems is similar to that described in the above method. Therefore, the specific definitions in one or more examples of the travel control apparatus for the robot cleaner provided below can refer to the definitions in the travel control method for the robot cleaner above, and will not be repeated here.

In one example, a robot cleaner is provided. The robot cleaner may be a robot vacuum cleaner, a mopping robot, a cleaning and mopping integrated robot, etc. Its internal structure can be shown in FIG. 4. The robot cleaner comprises a body, a driving component, a cleaning component, a sensing component, a memory, and a processor. The driving component, the cleaning component, and the sensing component are all installed on the body. The driving component may comprise a driving motor, a driving wheel, etc. The driving component is configured to drive the body to travel on a work surface. The cleaning component may comprise a cleaning brush, a vacuum suction head, etc. The cleaning component is configured to clean the work surface. The sensing component is configured to sense environmental information in a workspace. The sensing component may be a camera, an infrared detector, a laser detector, etc. The processor of the robot cleaner is used for providing computing and control capabilities. The memory of the robot cleaner includes a non-volatile storage medium or an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for running of the operating system and the computer program in the non-volatile storage medium. A communication interface of the robot cleaner is used for wired or wireless communication with an external terminal. The wireless communication may be implemented by WIFI, a mobile cellular network, NFC (Near Field Communication), or other technologies. The computer program is executed by the processor to implement the travel control method for the robot cleaner.

The robot cleaner may further comprise an ultrasonic sensor, which may be arranged on a chassis of the robot cleaner and close to a head of the robot cleaner, where ultrasonic is emitted downwards. The ultrasonic sensor can detect the material of the ground region where the robot cleaner is located, such as whether the ground region is a floor or a carpet.

Those skilled in the art can understand that the structure shown in FIG. 4 is a block diagram of a part of the structure related to the solution of this application, and does not constitute a limitation on the robot cleaner applied to by the solution of this application. The specific robot cleaner may include more or fewer components than shown in the figure, or combine some components, or have different component arrangements.

In one example, a robot cleaner is further provided, including a body, a driving component, a cleaning component, a sensing component, a memory, and a processor, where the memory stores a computer program, and the processor executes the computer program to implement the steps in the methods described herein.

In one example, a non-volatile non-transitory computer-readable storage medium is provided, storing a computer program that, when executed by a processor, implements the steps in the methods described herein.

A person of ordinary skill in the art can understand that all or part of the processes in the methods of the foregoing examples can be implemented by a computer program instructing relevant hardware. The computer program may be stored in a non-volatile computer-readable storage medium. The computer program, when executed, may include the processes of the examples of the above methods. Any reference to the memory, the database, or other medium used in the examples provided in this application may all include a non-volatile or volatile memory. The non-volatile memory may include a read-only memory (ROM), a magnetic tape, a floppy disk, a flash memory, an optical memory, a high-density embedded non-volatile memory, a resistive random access memory (ReRAM), a magnetoresistive random access memory (MRAM), a ferroelectric random access memory (FRAM), a phase change memory (PCM), a graphene memory, and the like. The volatile memory may be a random access memory (RAM), an external cache, or the like. As an illustration and not a limitation, the RAM can be in many forms, such as a static random access memory (SRAM) or a dynamic random access memory (DRAM). The database involved in each example provided in this application may include at least one of a relational database and a non-relational database. The non-relational database may include, but is not limited to, a blockchain-based distributed database and the like. The processor involved in each example provided in this application may 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, and the like, but is not limited to this.

The technical features of the above examples can be combined. For the purpose of simplicity in description, not all possible combinations of the technical features in the above examples are described. However, as long as the combinations of these technical features do not have contradictions, they may fall within the scope of the description.

The above examples express several implementations of this application, and their descriptions are specific and detailed, but cannot therefore be understood as limitations to the patent scope of this application. It should be noted that those of ordinary skill in the art can make some variations and improvements without departing from the concept of this application, and these variations and improvements all fall into the protection scope of this application. Therefore, the patent protection scope of this application should be subject to the appended claims

Claims

What is claimed is:

1. A method comprising:

obtaining, by a robot cleaner, sensing information of a ground region associated with a floor covering, wherein the floor covering is on a floor;

determining contour position information of an edge of the floor covering based on the sensing information;

generating a navigation map for the robot cleaner based on the contour position information; and

controlling the robot cleaner to travel along the edge of the floor covering on the floor based on the navigation map.

2. The method according to claim 1, wherein the controlling comprises:

controlling the robot cleaner to travel along the edge of the floor covering in a travel direction parallel to the edge or parallel to a tangent of the edge.

3. The method according to claim 1, wherein the controlling comprises:

controlling the robot cleaner to travel along the edge of the floor covering based on a distance between the edge in the navigation map and the robot cleaner.

4. The method according to claim 1, wherein the controlling comprises:

controlling the robot cleaner to travel along the edge of the floor covering based on a distance between an occupied region of the floor covering in the navigation map and the robot cleaner.

5. The method according to claim 4, wherein the controlling the robot cleaner to travel along the edge of the floor covering based on the distance between the occupied region of the floor covering in the navigation map and the robot cleaner comprises:

determining a spacing distance between the robot cleaner and a target occupied region of the floor covering in the navigation map; and

controlling the robot cleaner to travel along the edge of the floor covering using a difference between the spacing distance and a preset target distance as a control parameter.

6. The method according to claim 5, wherein the controlling the robot cleaner to travel along the edge of the floor covering using the difference between the spacing distance and the preset target distance as the control parameter comprises:

determining an angular velocity of the robot cleaner based on the difference between the spacing distance and the preset target distance;

calculating left and right wheel velocities of the robot cleaner based on the angular velocity and a linear velocity corresponding to the angular velocity; and

controlling the robot cleaner to travel along the edge of the floor covering based on the left and right wheel velocities.

7. The method according to claim 2, further comprising:

determining the travel direction based on a region occupied by the floor covering in the navigation map.

8. The method according to claim 1, wherein the sensing information comprises at least one of a region image, an infrared image, and laser feedback information of the ground region.

9. The method according to claim 1, further comprising:

determining second contour position information of a second edge of the floor covering in response to the robot cleaner traveling to a boundary where the edge meets the second edge;

updating the navigation map based on the second contour position information; and

controlling the robot cleaner to travel along the second edge of the floor covering based on the updated navigation map.

10. The method according to claim 9, further comprising:

determining that the robot cleaner has traveled to the boundary in a travel direction of the robot cleaner along the edge when an area of an occupied region of the floor covering in a target map region of the navigation map is less than a threshold.

11. The method according to claim 9, further comprising:

determining that the robot cleaner has traveled to the boundary based on at least one of the following:

a travel distance of the robot cleaner along the edge reaching a preset travel distance;

the robot cleaner traveling to a preset target position; and

a pose change of the robot cleaner matches a preset pose change.

12. The method according to claim 9, wherein the determining the second contour position information comprises:

controlling the robot cleaner to obtain second sensing information of the ground region; and

detecting the second contour position information of the second edge based on the second sensing information.

13. The method according to claim 12, wherein the second sensing information comprises a second region image, and wherein the controlling the robot cleaner to obtain the second sensing information comprises:

controlling the robot cleaner to perform a turning motion, wherein the turning motion comprises at least one of the following:

the robot cleaner rotates and reverses at the same time, and

the robot cleaner first rotates in place and then reverses; and

controlling the robot cleaner to capture the second region image after the robot cleaner completes the turning motion.

14. The method according to claim 12, wherein the floor covering comprises at least one of a carpet or a floor mat.

15. The method according to claim 1, wherein the generating the navigation map comprises:

determining body position information of the robot cleaner; and

generating the navigation map with the robot cleaner as a center in the navigation map based on the contour position information and the body position information.

16. The method according to claim 15, wherein:

the contour position information comprises first contour position coordinates,

the body position information comprises body position coordinates, and

the generating the navigation map with the robot cleaner in the center of the navigation map comprises:

determining a current spacing distance between the robot cleaner and the edge of the floor covering based on the first contour position coordinates and the body position coordinates;

converting the first contour position coordinates into target contour position coordinates in a map coordinate system based on the current spacing distance; and

generating the navigation map for the robot cleaner with an origin of the map coordinate system as the center of the map based on the target contour position coordinates.

17. The method according to claim 1, further comprising:

controlling the robot cleaner to reverse a preset target distance based on determining that the robot cleaner has traveled to the ground region.

18. The method according to claim 1, further comprising:

repeat the generating the navigation map based on detecting the floor covering when the robot cleaner travels along the floor covering.

19. A robot cleaner comprising:

one or more processors; and

memory storing instructions, when executed by the one or more processors, cause the robot cleaner to:

obtain sensing information of associated with a floor covering on a floor;

determine contour position information of an edge of the floor covering based on the sensing information;

general a navigation map for the robot cleaner based on the contour position information; and

travel along the edge of the floor covering on the floor based on the navigation map.

20. One or more non-transitory computer-readable media, when executed, cause:

obtaining sensing information of a ground region associated with a floor covering;

determining contour position information of an edge of the floor covering based on the sensing information;

generating a navigation map for a robot cleaner based on the contour position information; and

controlling the robot cleaner to travel along the edge of the floor covering based on the navigation map.