A robot corner cleaning method, device, robot and storage medium
By acquiring the target wall line information of the obstacle and the robot's current position, the location and type of the target corner are determined, a path is planned, and the robot moves to the target corner point for cleaning. This solves the problem of low safety and efficiency of cleaning robots in corner cleaning, and achieves more intelligent and efficient corner cleaning.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-01-16
- Publication Date
- 2026-03-27
AI Technical Summary
Existing cleaning robots are not safe or efficient enough when cleaning corners, often needing to collide back and forth and change direction multiple times, resulting in incomplete cleaning.
By acquiring the target wall line information of the obstacle and the robot's current position, the location information and corner type of the target corner are determined, a path is planned, and the robot moves to the target corner point for cleaning. Different planning paths are formulated according to different corner types.
It improves the efficiency and safety of robot corner cleaning, making corner cleaning more intelligent and enhancing the user experience.
Smart Images

Figure CN116035490B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of automatic control of cleaning robots, and in particular to a robot corner cleaning method and device, a robot and a storage medium. BACKGROUND
[0002] In daily work, the efficiency and stability of a cleaning robot are important, and the coverage rate of its working area is particularly important, especially in complex working environments. The most likely place to accumulate garbage is various corners. However, due to the shape of the robot or algorithm limitations, the robot often cannot clean the corners, resulting in more and more garbage and dust, which is difficult to clean in the end.
[0003] The traditional cleaning robot mainly uses a random collision control method when cleaning the corners. The robot is equipped with anti-collision strips in front and on the sides. During movement, the robot continuously detects collisions and marks point clouds to continuously depict the shape of the nearby obstacles. This method can indeed clean the corners, but to completely clean the corners, the robot may need to collide and change direction multiple times, which is not safe and efficient. SUMMARY
[0004] The present application provides a robot corner cleaning method and device, a robot and a storage medium to solve the problem of low safety and cleaning efficiency of the existing robot corner cleaning method, improve the efficiency and safety of robot corner cleaning, make the robot corner cleaning more intelligent, and improve the user experience.
[0005] According to a first aspect of the present application, a robot corner cleaning method is provided, comprising:
[0006] Obtaining target wall line information of an obstacle perceived by a robot and a current position of the robot;
[0007] Determining position information and a corner type of a target corner according to the current position of the robot and the target wall line information;
[0008] Determining the position of a target corner point according to the position information and the corner type of the target corner; the target corner point is the closest cleaning position point to the corner point of the target corner under the condition that the robot can freely rotate in the target corner;
[0009] Determining a current planning path according to the position of the target corner point and the current position of the robot, and controlling the robot to move to the target corner point based on the current planning path for corner cleaning.
[0010] Optionally, the method further comprises:
[0011] if the robot perceives two target wall lines at the current position, determining a corner point position of a target corner formed by the two target wall lines according to the target wall line information;
[0012] determining position information of the target corner according to the corner point position and the target wall line information;
[0013] determining a corner type of the target corner according to the position information of the target corner and the current position of the robot.
[0014] In the embodiment, the position information of the target corner and the corner type are determined according to the current position of the robot and the target wall line information, which effectively improves the intelligence of the robot cleaning and ensures the safety and efficiency of the robot cleaning.
[0015] Optionally, the method further comprises:
[0016] determining a distance between two nearest wall line end points between the two target wall lines according to the target wall line information of the two target wall lines;
[0017] if the distance is less than a preset threshold, determining that the two target wall lines form a target corner;
[0018] determining a position of an intersection of the two target wall lines as the corner point position of the target corner.
[0019] In the embodiment, the end points of the target wall lines are determined, and whether the target corner can form a target corner and the position of the target corner are determined, which improves the efficiency and safety of the robot cleaning.
[0020] Optionally, the method further comprises:
[0021] determining a virtual line connecting the current position of the robot and the corner point position;
[0022] obtaining a first included angle between the virtual line and a first target wall line of the two target wall lines and a second included angle between the virtual line and a second target wall line of the two target wall lines;
[0023] if a sum of the first included angle and the second included angle is greater than π, determining that the corner type of the target corner is a convex corner;
[0024] If the sum of the first included angle and the second included angle is less than π, it is determined that the corner type of the target corner is a concave corner.
[0025] The embodiment determines the corner type of the target corner through preset conditions, so that the robot determines the target position according to the corner type.
[0026] Optionally, the determining the position of the target corner point according to the position information and the corner type of the target corner comprises:
[0027] If the corner type of the target corner is a concave corner, a first safety distance between the robot and the two target wall lines is obtained, a first target position of the robot closest to a corner point of the target corner under the condition of ensuring the first safety distance is determined according to the position information of the target corner, and the first target position is determined as the position of the target corner point; the first safety distance is the sum of the self-rotation radius of the robot and a first safety compensation distance.
[0028] If the corner type of the target corner is a convex corner, a second safety distance between the robot and the corner point of the target corner is obtained, and a second target position of the robot closest to the corner point of the target corner under the condition of ensuring the second safety distance is determined according to the position information of the target corner, and the second target position is determined as the position of the target corner point; the second safety distance is the sum of the self-rotation radius of the robot and a second safety compensation distance.
[0029] The embodiment formulates different target corner point determination manners according to different corner types, so that the robot can determine the corresponding target position according to the corner type of the obstacle, and the safety and efficiency of the robot cleaning are ensured.
[0030] Optionally, the determining the target position of the robot closest to the corner point of the target corner under the condition of ensuring the safety distance according to the position information of the target corner comprises:
[0031] The first angle of the first target wall line and the second angle of the second target wall line are determined according to the target wall line information of the target corner.
[0032] The angle of the angle bisector of the target corner and the first target included angle between the angle bisector and any target wall line are determined according to the first angle and the second angle.
[0033] The distance between the first target point on the angle bisector and the corner point of the target corner is determined according to the first target included angle and the safety distance.
[0034] determine the target position of the target point according to the corner point position of the target corner, the angle of the angle bisector, and the distance between the first target point on the angle bisector and the corner point of the target corner;
[0035] wherein, when the corner type of the target corner is a female corner, the safety distance is a first safety distance, and the target position is a first target position; when the corner type of the target corner is a male corner, the safety distance is a second safety distance, and the target position is a second target position.
[0036] The embodiment determines the included angle between the two target wall lines according to the corner type of the target corner when there are two target wall lines, and determines the position information of the target corner according to the included angle between the two target wall lines, so as to facilitate the robot to determine the target position.
[0037] Optionally, the determining of the position information and the corner type of the target corner according to the current position of the robot and the target wall line information comprises:
[0038] If the robot turns on the preset planning path at the current position and perceives one target wall line of the obstacle, the position information and the corner type of the target corner are determined according to the preset planning path and the target wall line information of the target wall line.
[0039] Optionally, the determining of the position information and the corner type of the target corner according to the preset planning path and the target wall line information of the target wall line comprises:
[0040] The wall line endpoint of the target wall line at the distal end of the preset planning path is determined according to the target wall line information.
[0041] A circular region with the wall line endpoint as the center and a preset length as the radius is determined.
[0042] The path points at two ends of the preset planning path in the circular region are acquired, and the angle difference between the path points at the two ends is determined.
[0043] If the angle difference is greater than an angle threshold, it is determined that the target wall line constitutes a target corner with a male corner type.
[0044] The position of the wall line endpoint is determined as a corner point position, and the position information of the target corner is determined according to the corner point position and the target wall line information.
[0045] The embodiment determines the angle difference of the path points of the preset planning path in the circular area around the target wall line in the case that there is a target wall line, and determines the corner type of the target corner and the position information of the target corner according to the angle difference, so as to facilitate the robot to determine the target corner point.
[0046] Optionally, the determining the position of the target corner point according to the position information and the corner type of the target corner comprises:
[0047] determining a third angle of the extension line of the target wall line and a fourth angle of the perpendicular line of the target wall line according to the position information of the target corner;
[0048] determining the angle of the angle bisector of the extension line and the perpendicular line according to the third angle and the fourth angle, and determining a second target included angle between the angle bisector and the extension line of the target wall line;
[0049] determining the distance between the second target point on the angle bisector and the corner point of the target corner according to the second target included angle and a second safety distance; the second safety distance is the sum of the spin radius of the robot and a second safety compensation distance;
[0050] determining the target position of the target point according to the position of the corner point of the target corner, the angle of the angle bisector and the distance between the second target point on the angle bisector and the corner point of the target corner.
[0051] The embodiment sets the extension line of the target wall line and the perpendicular line of the target wall line in the case that there is a target wall line, assists in determining the position of the target corner point by the extension line and the perpendicular line pair, obtains the target position with more accurate position, and enables the robot to clean the target corner to the greatest extent at the target position.
[0052] Optionally, the obtaining the target wall line information of the obstacle perceived by the robot comprises:
[0053] obtaining the obstacle information collected by the sensor arranged on the robot within the sensing range;
[0054] performing wall line fitting according to the obstacle information to obtain the wall line;
[0055] performing length screening on the wall line to obtain the target wall line, and obtaining the target wall line information of the obstacle.
[0056] The embodiment obtains the target wall line information of the obstacle by performing fitting and length screening on the wall line, so that the target wall line and the target wall line information adopted by the embodiment are effective.
[0057] According to a second aspect of the present application, there is provided a robotic corner cleaning device, comprising:
[0058] an information obtaining module configured to obtain target wall line information of an obstacle perceived by the robot and a current position of the robot;
[0059] a corner determining module configured to determine position information and a corner type of a target corner based on the current position of the robot and the target wall line information;
[0060] a target corner point determining module configured to determine a position of a target corner point based on the position information and the corner type of the target corner; the target corner point being a cleaning position point closest to a corner point of the target corner under a condition that the robot is able to rotate freely in the target corner;
[0061] a control module configured to determine a current planned path based on the position of the target corner point and the current position of the robot, and to control the robot to move to the target corner point based on the current planned path for corner cleaning.
[0062] According to a third aspect of the present application, there is provided a robot, comprising:
[0063] at least one sensor and a processor; and
[0064] a memory in communication connection with the at least one processor; wherein,
[0065] the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to perform the robotic corner cleaning method according to any one of the embodiments of the present application.
[0066] According to a fourth aspect of the present application, there is provided a computer readable storage medium storing computer instructions for causing a processor to perform the robotic corner cleaning method according to any one of the embodiments of the present application when executed by the processor.
[0067] The technical scheme of the embodiment of the present application comprises the following steps: obtaining target wall line information of an obstacle perceived by a robot and a current position of the robot; determining position information and a corner type of a target corner according to the current position of the robot and the target wall line information; determining a position of a target corner point according to the position information and the corner type of the target corner; determining a current planning path according to the position of the target corner point and the current position of the robot, and controlling the robot to move to the target corner point based on the current planning path to clean the corner. By using the above technical scheme, the position of the target corner point is determined according to the position information and the corner type of the target corner, and a cleaning path is further planned for cleaning. The above technical scheme formulates different planning paths according to different corner types, so as to solve the problem that the safety and cleaning efficiency are not high due to the determination of the position of the corner point by collision in the existing corner cleaning mode of the robot, effectively improves the efficiency and safety of the robot in cleaning the corner, makes the corner cleaning of the robot more intelligent, and improves the user experience.
[0068] It should be understood that the content described in this part is not intended to identify key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS
[0069] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can also be obtained by those skilled in the art without creative labor.
[0070] Figure 1 is a flowchart of a robot corner cleaning method according to an embodiment of the present application;
[0071] Figure 2 is an example diagram of path planning according to an embodiment of the present application;
[0072] Figure 3 is a flowchart of another robot corner cleaning method according to an embodiment of the present application;
[0073] Figure 4 is an example diagram of an angle between a virtual line and a target wall line according to an embodiment of the present application;
[0074] Figure 5 is an example diagram of target corner point determination when the target corner is a concave corner according to an embodiment of the present application;
[0075] Figure 6is an example diagram of target corner point determination when the target corner is a convex corner according to an embodiment of the present application;
[0076] Figure 7 is a flow chart of still another robot corner cleaning method according to an embodiment of the present application;
[0077] Figure 8 is an example diagram of a robot preset planning path according to an embodiment of the present application;
[0078] Figure 9 is another example diagram of target corner point determination when the target corner is a convex corner according to an embodiment of the present application;
[0079] Figure 10 is a structural schematic diagram of a robot corner cleaning device according to an embodiment of the present application;
[0080] Figure 11 is a structural schematic diagram of a robot for implementing a robot corner cleaning method according to an embodiment of the present application. DETAILED DESCRIPTION
[0081] In order to make the personnel in the art better understand the present application, the technical solutions in the embodiments of the present application will be described clearly and completely below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, but not all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by those skilled in the art without creative labor should belong to the scope of protection of the present application.
[0082] It should be noted that the terms "first", "second", "third", and "fourth" and the like in the specification and claims of the present application and the above-described drawings are used to distinguish similar objects, and do not necessarily have to be used to describe a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device that includes a series of steps or units does not have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.
[0083] Figure 1is a flowchart of a robot corner cleaning method according to an embodiment of the present application. The embodiment can be applied to a robot with a cleaning function for corner cleaning. The method can be executed by a robot corner cleaning device, which can be implemented in the form of hardware and / or software, and can be configured in the robot. As shown in Figure 1 the method includes the following steps.
[0084] S110, obtaining target wall line information of an obstacle perceived by the robot and a current position of the robot.
[0085] In the embodiment of the present application, the robot can be a robot with a cleaning function, such as a sweeping robot and an intelligent cleaning robot. The obstacle refers to an object that causes an obstacle to the movement of the robot. Since the present application mainly aims at the scenario of corner cleaning, the obstacle mainly refers to an object with a corner, such as a wall, a column, a cabinet, a table corner, and a door frame. The target wall line information can be information of an obstacle edge line (target wall line) fitted by the robot after perceiving and filtering the obstacle. The target wall line information can include at least one endpoint information of the target wall line.
[0086] The current position of the robot can be understood as the position coordinate of the center point of the robot, which can be determined according to the coordinate system of the robot itself or the cleaning map. The embodiment does not limit this. The center point of the robot can be determined according to the center, the center of gravity, or the center of the robot. The position of the center point of the robot is determined according to the shape of the robot and the actual demand. The embodiment does not limit this.
[0087] Specifically, during the movement of the robot for cleaning, the surrounding is perceived in real time to determine whether there is an obstacle. If there is an obstacle, the target wall line information of the obstacle perceived by the robot is obtained, and the position of the current center point of the robot is determined.
[0088] S120, determining the position information and the corner type of the target corner according to the current position of the robot and the target wall line information.
[0089] In the embodiment of the present application, the target corner can be understood as a corner corresponding to a target wall line of an obstacle perceived by the robot, formed by the target wall line and a corner point. The corner point can be understood as a vertex of a corner formed by the corner. The position information of the target corner can be understood as position information for describing the configuration of the target corner, and can include the length of the target wall line corresponding to the target corner, the distance and offset angle of the target wall line relative to the current position of the robot, the included angle between the target wall lines, and the position of the corner point. The corner type of the target corner can include acute angle, right angle, obtuse angle, and also can include reentrant angle (also called internal angle) and convex angle (also called external angle). The corner type of the target corner can be determined according to the shape, position and other information of the target corner according to actual needs, and the embodiment does not limit this.
[0090] Specifically, according to the current position of the robot and the target wall line information, the position information of the target corner including the position of the corner point of the target corner, the length of the target wall line, the included angle between the target wall lines, the distance and offset angle of the target wall line relative to the current position of the robot and the like is determined, and the corner type of the target corner is determined based on the above position information of the target corner.
[0091] S130, determining the position of the target corner point according to the position information and the corner type of the target corner.
[0092] The target corner point is the closest cleaning position point to the corner point of the target corner to ensure that the robot can freely rotate in the target corner.
[0093] Specifically, in order to make the robot penetrate as far as possible to the position of the corner point of the corner, according to the position information and the corner type of the target corner, the shape and position of the target corner are determined, and the closest cleaning position point to the corner point of the target corner and the target wall line to ensure that the robot can freely rotate in the target corner is determined in combination with the self-rotation radius of the robot. It can be understood that the position of the target corner point is not the same when the position information and the corner type of the target corner are different.
[0094] S140, determining the current planning path according to the position of the target corner point and the current position of the robot, and controlling the robot to move to the target corner point based on the current planning path for corner cleaning.
[0095] In the embodiment, the current planning path can be understood as a planning path of the robot from the current position to the target corner point of the target corner.
[0096] Specifically, Figure 2 is an example of path planning provided by the embodiment of the present application. As shown in Figure 2As shown, the path planning of the robot is performed by a path planning algorithm, for example, the dijkstra algorithm can be used. The current position of the robot is taken as the starting point, and the position T of the target corner point is taken as the end point. The path planning algorithm is combined to plan the cleaning path of the robot, and the current planning path is determined. The robot is controlled to move to the target corner point based on the current planning path to clean the target corner within the maximum cleaning range.
[0097] It should be noted that after the current planning path is determined, the robot needs to perform real-time safety checking during movement according to the current planning path. If the position of the target corner point is unreachable, the end point position needs to be corrected in real time. The position of the target corner point is moved reversely to a safe freely rotatable point as the real current path planning end point in the current planning path, and the re-planning of the current planning path is triggered.
[0098] The technical scheme of the embodiment of the application determines the position information and the corner type of the target corner according to the current position of the robot and the target wall line information of the obstacles perceived by the robot, determines the position of the target corner point according to the position information and the corner type of the target corner, determines the current planning path according to the position of the target corner point and the current position of the robot, and controls the robot to move to the target corner point based on the current planning path for corner cleaning. By using the above technical scheme, the position of the target corner point is determined by determining the position information and the corner type of the target corner, and the cleaning path is further planned for cleaning. The above technical scheme formulates different planning paths according to different corner types, so as to solve the problem of low safety and cleaning efficiency caused by the determination of the corner point position by collision in the existing corner cleaning mode of the robot, effectively improves the efficiency and safety of the robot cleaning the corner, makes the corner cleaning of the robot more intelligent, and improves the user experience.
[0099] Optionally, the target wall line information of the obstacles perceived by the robot includes:
[0100] S1101, collecting the obstacle information collected by the sensor arranged on the robot within the sensing range.
[0101] In this embodiment, the obstacle information can include the shape, type, edge line position and the like of the obstacle.
[0102] Specifically, the sensor is arranged on the robot, and the sensor performs sensing within its sensing range to determine that there is an obstacle within the sensing range of the sensor, collect information of the obstacle, and determine the shape, type, edge line position and the like of the obstacle.
[0103] S1102, wall line fitting is performed according to the obstacle information to obtain a wall line.
[0104] In the embodiment, the wall line can be understood as an edge line of the corner when the obstacle is the corner, and is a data structure with an end point.
[0105] Specifically, the obstacle information sensed by the sensor is filtered, and the data after the filtering is fitted through a series of algorithms to obtain the wall line after the fitting.
[0106] S1103, length screening is performed on the wall line to obtain a target wall line, and target wall line information of the obstacle is obtained.
[0107] In the embodiment, the wall line obtained after the fitting may not accurately represent the target corner, and therefore, the wall line is screened according to a preset length range, the wall line with a length not in the preset length range is removed, and the wall line with a length in the preset length range is reserved as the target wall line. The preset length range can be a wall line length screening range determined according to actual requirements, and the embodiment does not limit this. After the target wall line is determined, target wall line information corresponding to the target wall line of the obstacle is obtained.
[0108] In the embodiment, the target wall line information of the obstacle is obtained by fitting and length screening on the wall line, so that the target wall line and the target wall line information used in the embodiment are valid.
[0109] Figure 3 A flowchart of another robot corner cleaning method provided by the embodiment is provided, and the steps S120 and S130 of the above embodiment are further limited to the case that the robot senses two target wall lines of the obstacle at the current position. As shown in the flowchart, the method comprises the following steps. Figure 3
[0110] S210, target wall line information of the obstacle sensed by the robot and the current position of the robot are obtained.
[0111] S220, if the robot senses two target wall lines of the obstacle at the current position, the position of the corner point of the target corner formed by the two target wall lines is determined according to the target wall line information.
[0112] In the embodiment, if the robot senses two target wall lines of the obstacle at the current position, and the two target wall lines intersect, the target corner formed by the intersection of the two target wall lines is determined according to the length of the target wall line included in the target wall line information, the distance and the offset angle of the target wall line from the current position of the robot, and the position of the corner point formed by the intersection of the two target wall lines in the target corner is determined.
[0113] Optionally, in S220, if the robot perceives two target wall lines at the current position, the corner point position of the target corner formed by the two target wall lines is determined according to the target wall line information, including:
[0114] In S2201, the distance between the two closest wall line end points of the two target wall lines is determined according to the target wall line information of the two target wall lines.
[0115] In the embodiment, each target wall line has a wall line end point, which can be determined according to the relative position of the target wall line and the current position of the robot. The relative position of the two target wall lines is determined by the relative position between the two target wall lines and the current position of the robot, and the two closest wall line end points of the two target wall lines are determined. The distance between the two closest wall line end points is calculated.
[0116] For example, the robot coordinate system is constructed with the current position of the robot as the coordinate origin. The positions of the two target wall lines in the robot coordinate system are determined by the relative positions between the two target wall lines and the coordinate origin, and the position coordinates of the wall line end points of the target wall lines in the robot coordinate system are determined. The distance between the two closest wall line end points of the two target wall lines is calculated by calculating the distance between the position coordinates of the closest wall line end points of the two target wall lines in the robot coordinate system.
[0117] In S2202, if the distance is less than a preset threshold, it is determined that the two target wall lines form a target corner.
[0118] In the embodiment, the preset threshold can be understood as the closest wall line end point distance between the two target wall lines.
[0119] Specifically, if the distance between the closest wall line end points of the two target wall lines is less than the preset threshold, it can be determined that the two target wall lines have the possibility of intersection, i.e., the two target wall lines can form the target corner corresponding to the two target wall lines by intersection.
[0120] In S2203, the intersection position of the two target wall lines is determined as the corner point position of the target corner.
[0121] In the embodiment, after it is determined that the two target wall lines can form a target corner, the intersection position of the two target wall lines is determined as the corner point position of the target corner.
[0122] In S230, the position information of the target corner is determined according to the corner point position and the target wall line information.
[0123] In the embodiment, the corner point of the target corner, the coordinate position of the two target wall lines in the robot coordinate system, and the relative relationship between the two target wall lines are determined according to the corner point of the intersection position of the two target wall lines, the length of the target wall line, the distance of the two target wall lines relative to the current position of the robot, and the offset angle.
[0124] In S240, the corner type of the target corner is determined according to the position information of the target corner and the current position of the robot.
[0125] In the embodiment, the corner point of the target corner, the coordinate position of the two target wall lines in the robot coordinate system, and the relative relationship between the two target wall lines are determined according to the corner point of the intersection position of the two target wall lines, the length of the target wall line, the distance of the two target wall lines relative to the current position of the robot, and the offset angle.
[0126] Optionally, in S240, the corner type of the target corner is determined according to the position information of the target corner and the current position of the robot, and the method comprises the following steps.
[0127] In S2401, a virtual connection line of the current position of the robot and the corner point position is determined.
[0128] In the embodiment, the virtual connection line can be understood as a virtual auxiliary line constructed for angle calculation, and is not an actual connection line. Specifically, the current position of the robot and the corner point position are connected as end points to obtain the virtual connection line between the current position of the robot and the corner point position.
[0129] In S2402, a first included angle between the virtual connection line and a first target wall line of the two target wall lines and a second included angle between the virtual connection line and a second target wall line of the two target wall lines are obtained.
[0130] In the embodiment, the first target wall line can be understood as one of the two target wall lines constituting the target corner, and the first included angle can be understood as the included angle between the virtual connection line and the first target wall line; the second target wall line can be understood as the other of the two target wall lines constituting the target corner, and the second included angle can be understood as the included angle between the virtual connection line and the second target wall line.
[0131] Exemplarily, Figure 4 is an example diagram of the included angle between the virtual connection line and the target wall line according to the embodiment of the application. As shown in Figure 4 , the virtual connection line between the current position point R of the robot and the corner point position M is RM, the first included angle between the virtual connection line RM and the first target wall line AB is γ, and the second included angle between the virtual connection line RM and the second target wall line CD is θ.
[0132] S2403, if the sum of the first included angle and the second included angle is greater than π, it is determined that the corner type of the target corner is a convex corner.
[0133] In this embodiment, the convex corner can be understood as an angle between two target wall lines of the target corner, which is greater than 180°. The sum of the first included angle and the second included angle is determined by adding the angles of the first included angle and the second included angle, that is, the included angle between the two target wall lines of the target corner. If the included angle between the two target wall lines of the target corner is greater than π, it can be determined that the corner type of the target corner is a convex corner.
[0134] S2404, if the sum of the first included angle and the second included angle is less than π, it is determined that the corner type of the target corner is a concave corner.
[0135] In this embodiment, the concave corner can be understood as an angle between two target wall lines of the target corner, which is less than 180°. The sum of the first included angle and the second included angle is determined by adding the angles of the first included angle and the second included angle, that is, the included angle between the two target wall lines of the target corner. If the included angle between the two target wall lines of the target corner is less than π, it can be determined that the corner type of the target corner is a concave corner.
[0136] S250, if the corner type of the target corner is a concave corner, a first safety distance between the robot and the two target wall lines is obtained, a first target position closest to a corner point of the target corner is determined according to the position information of the target corner under the condition that the first safety distance is guaranteed, and the first target position is determined as the position of the target corner point.
[0137] The first safety distance can be understood as the closest distance between the robot and the target wall line under the condition that the robot can freely rotate at the target corner, which is determined by the sum of the self-rotation radius of the robot and the first safety compensation distance. The self-rotation radius of the robot can be understood as the rotation radius of the robot when rotating for cleaning. The first safety compensation distance can be understood as the closest distance between the edge position of the self-rotation radius of the robot and the target wall line. The first target position can be understood as the position of the target corner that the robot should reach when the corner type of the target corner is a concave corner. It can be understood that the first target position determines the position closest to the corner point of the target corner under the condition that the first safety distance is guaranteed.
[0138] Specifically, if the corner type of the target corner is a concave corner, a first safety distance between the robot and the two target wall lines is obtained. It can be understood that when the robot is in the limit position closest to the corner point position and can freely rotate, the first safety compensation distance between the robot and the two target wall lines is equal, and both are the minimum safety distance, so it can be determined that the first safety distance between the robot and the two target wall lines is equal. According to the first safety distance and the position information of the target corner, the angle of the two target wall lines is determined, and the coordinates of the first target position closest to the corner point of the target corner under the condition of ensuring the first safety distance are further determined, and the first target position is determined as the position of the target corner point.
[0139] S260, if the corner type of the target corner is a convex corner, a second safety distance between the robot and the corner point of the target corner is obtained; and according to the position information of the target corner, a second target position closest to the corner point of the target corner under the condition of ensuring the second safety distance is determined, and the second target position is determined as the position of the target corner point.
[0140] The second safety distance can be understood as the closest distance between the robot and the target wall line under the condition of ensuring that the robot can freely rotate at the target corner. The second safety distance is the sum of the spin radius of the robot and the second safety compensation distance. The spin radius of the robot can be understood as the spin radius of the robot when cleaning by rotating. The second safety compensation distance can be understood as the closest distance between the edge position of the spin radius of the robot and the target wall line. The second target position can be understood as the position of the target corner that the robot should reach under the condition that the corner type of the target corner is a convex corner. It can be understood that the first target position determines the position closest to the corner point of the target corner under the condition of ensuring the first safety distance.
[0141] Specifically, if the corner type of the target corner is a convex corner, a second safety distance between the robot and the corner point position of the target corner is obtained. It can be understood that when the robot is in the limit position closest to the corner point position and can freely rotate, the second safety compensation distance between the robot and the two target wall lines is equal, and both are the minimum safety distance, so it can be determined that the second safety distance between the robot and the two target wall lines is equal. According to the second safety distance and the position information of the target corner, the angle of the two target wall lines is determined, and the coordinates of the second target position closest to the corner point of the target corner under the condition of ensuring the second safety distance are further determined, and the second target position is determined as the position of the target corner point.
[0142] S270, determining a current planning path according to the position of the target corner point and the current position of the robot, and controlling the robot to move to the target corner point based on the current planning path for corner cleaning.
[0143] The technical scheme of the embodiment of the present application comprises the following steps: obtaining target wall line information of an obstacle perceived by a robot and a current position of the robot; if the robot perceives two target wall lines of the obstacle at the current position, determining a corner point position of a target corner constituted by the two target wall lines according to the target wall line information; determining position information of the target corner according to the corner point position and the target wall line information; determining a corner type of the target corner according to the position information of the target corner and the current position of the robot; if the corner type of the target corner is a female corner, obtaining a first safety distance between the robot and the two target wall lines, determining a first target position closest to the corner point of the target corner under the condition of ensuring the first safety distance according to the position information of the target corner, and determining the first target position as the position of the target corner point; if the corner type of the target corner is a male corner, obtaining a second safety distance between the robot and the corner point of the target corner; and determining a second target position closest to the corner point of the target corner under the condition of ensuring the second safety distance according to the position information of the target corner, and determining the second target position as the position of the target corner point; determining a current planning path according to the position of the target corner point and the current position of the robot, and controlling the robot to move to the target corner point based on the current planning path to clean the corner. By using the above technical scheme, in the case of two target wall lines, the safety distance between the robot and the target wall line is determined according to the different corner types of the target corner, and the position of the target corner point of the robot is further determined, so that the robot can clean to the maximum extent according to the actual situation, the efficiency and safety of the robot cleaning the corner are effectively improved, the corner cleaning of the robot is more intelligent, and the user experience is improved.
[0144] Optionally, in the case that the corner type of the target corner is a female corner, the safety distance is the first safety distance, the target position is the first target position, and the target position closest to the corner point of the target corner under the condition of ensuring the safety distance is determined according to the position information of the target corner, comprising the following steps:
[0145] S2501, determining a first angle of the first target wall line and a second angle of the second target wall line according to the target wall line information of the target corner.
[0146] In the embodiment, the target wall line information can be understood as information for describing the position information and attribute information of the target wall line. The first angle can be understood as an offset angle of the first target wall line relative to the robot. The second angle can be understood as an offset angle of the second target wall line relative to the robot.
[0147] Specifically, Figure 5 is an example diagram for determining a target corner point when the target corner is a female corner according to the embodiment of the present application. As shown in Figure 5As shown, the robot spin radius is TP, the first safety compensation distance is PE, and the first safety distance is TE = TP + PE; since the robot is in the limit position closest to the corner point position and can freely rotate, the first safety distance between the robot and the two target wall lines is equal, i.e., TE = TF. According to the theorem of similar triangles and the angle bisector theorem, it can be determined that point T is located on the angle bisector of ∠EMF. There are endpoints A and B on the first target wall line, and endpoints C and D on the second target wall line. The first angle θ ba of the first target wall line AB can be determined by θ ba = atan2(A_y-B_y, A_x-B_x); the second angle θ dc of the second target wall line CD can be determined by θ dc = atan2(C_y-D_y, C_x-D_x).
[0148] S2502, determining the angle of the angle bisector of the target corner and the first target included angle between the angle bisector and any target wall line according to the first angle and the second angle.
[0149] In this embodiment, the first target included angle can be understood as the included angle between the angle bisector and any of the two target wall lines.
[0150] Specifically, according to the first angle θ ba of the first target wall line and the second angle θ dc of the second target wall line, the first target included angle γ can be determined by γ = (θ ba - θ dc ) / 2. According to the angle θ ba of the first target wall line and the angle θ dc of the second target wall line, the angle ρ of the angle bisector MT of the target corner can be calculated by ρ = (θ ba + θ dc ) / 2.
[0151] S2503, determining the distance between the first target point on the angle bisector and the corner point of the target corner according to the first target included angle and the safety distance.
[0152] Specifically, according to the angle of the first target included angle γ and the first safety distance TE, the distance MT between the robot and the corner point position can be determined by MT = TE / sin(γ).
[0153] S2504, determining the target position of the target point according to the corner point position of the target corner, the angle of the angle bisector, and the distance between the first target point on the angle bisector and the corner point of the target corner.
[0154] Specifically, according to the corner point position (M_x, M_y) of the target corner, the angle p of the angle bisector, and the distance MT between the first target point on the angle bisector and the corner point of the target corner, the first target position (T_x, T_y) of the robot is determined as T_x = M_x + MT*cos(p) and T_y = M_y + MT*sin(p), that is, the position (T_x, T_y) of the target corner point.
[0155] Optionally, in the case that the corner type of the target corner is a convex corner, the safety distance is a second safety distance, and the target position is a second target position, the target position closest to the corner point of the target corner while ensuring the safety distance is determined according to the position information of the target corner, comprising
[0156] S2601, determining a first angle of a first target wall line and a second angle of a second target wall line according to the target wall line information of the target corner.
[0157] Specifically, Figure 6 is an example diagram for determining a target corner point when the target corner is a convex corner according to an embodiment of the present application. As shown in Figure 6 , the point T is located on the angle bisector of angle AMC. The first target wall line has endpoints A and B; the second target wall line has endpoints C and D. The first angle θ ba of the first target wall line AB can be determined by θ ba =atan2(A_y-B_y,A_x-B_x); the second angle θ dc of the second target wall line CD can be determined by θ dc =atan2(C_y-D_y,C_x-D_x).
[0158] S2602, determining the angle of the angle bisector of the target corner and the first target included angle between the angle bisector and any target wall line according to the first angle and the second angle.
[0159] Specifically, according to the first angle θ ba of the first target wall line and the second angle θ dc of the second target wall line, the first target included angle γ is determined by γ = (θ ba - θ dc ) / 2. According to the angle θ ba of the first target wall line and the angle θ dc of the second target wall line, the angle p of the angle bisector MT of the target corner is calculated by p = (θ ba + θ dc ) / 2.
[0160] S2603, determining the distance between the first target point on the angle bisector and the corner point of the target corner according to the first target included angle and the safety distance.
[0161] Specifically, according to the angle of the first target included angle γ and the second safety distance TE, the distance MT between the robot and the corner point position is determined by MT = TE / sin(γ).
[0162] S2604, determining the target position of the target point according to the corner point position of the target corner, the angle of the angle bisector and the distance between the first target point on the angle bisector and the corner point of the target corner.
[0163] Specifically, according to the corner point position (M_x, M_y) of the target corner, the angle p of the angle bisector and the distance MT between the first target point on the angle bisector and the corner point of the target corner, the second target position (T_x, T_y) of the robot, i.e. the position (T_x, T_y) of the target corner point, is determined by T_x = M_x + MT*cos(p) and T_y = M_y + MT*sin(p).
[0164] Figure 7 A flowchart of another robot corner cleaning method provided by an embodiment of the present application, which further limits steps S120 and S130 of the above-mentioned embodiment to the scenario that the robot turns on the preset planning path at the current position and perceives a target wall line of the obstacle when the robot travels along the edge of the obstacle. As shown in the figure, the method comprises: Figure 7
[0165] S310, obtaining the target wall line information of the obstacle perceived by the robot and the current position of the robot.
[0166] S320, if the robot turns on the preset planning path at the current position and perceives a target wall line of the obstacle, determining the position information and corner type of the target corner according to the preset planning path and the target wall line information of the target wall line.
[0167] In this embodiment, the preset planning path can be understood as a pre-set motion route of the robot for cleaning.
[0168] Specifically, if the robot travels along the edge of the obstacle, or the distance between the robot and the obstacle is small, and there is a perception blind area, the robot turns on the preset planning path at the current position and perceives a target wall line of the obstacle, which can determine that there is an obstacle at the current position that makes the robot need to change direction. According to the position, endpoint, length and angle of the target wall line, and the target wall line information of the preset planning path and the current position of the robot, the position information and corner type of the target corner are determined.
[0169] For example, the robot has worked on a built cleaning map, and performs edge cleaning along the wall; the preset planning path of the robot is to advance along the wall edge, and when a right-angled corner is encountered, the path is also planned to the right. At this time, since the right-angled corner belongs to the blind area, it can be determined that the current wall line has only one right side.
[0170] Optionally, in S320, if the preset planning path at the current position of the robot is turned and one target wall line of the obstacle is perceived, the position information and the corner type of the target corner are determined according to the preset planning path and the target wall line information of the target wall line, including:
[0171] In S3201, the wall line endpoint of the target wall line at the far end of the preset planning path is determined according to the target wall line information.
[0172] In this embodiment, according to the position of each endpoint of the target wall line contained in the target wall line information, the wall line endpoint of the target wall line far away from the current position of the robot on the preset planning path is determined in combination with the path information of the preset planning path.
[0173] In S3202, a circular region with the wall line endpoint as the center and a preset length as the radius is determined.
[0174] Specifically, Figure 8 is an example of a preset planning path of a robot provided by an embodiment of the present application. As shown in Figure 8 , a circular region is constructed with the wall line endpoint of the target wall line far away from the current position of the robot as the center and a preset length as the radius. The preset length can be determined according to the distance between the path planning and the obstacle, and is generally slightly greater than the distance between the path point of the preset planning path and the obstacle, and the present embodiment does not limit this.
[0175] In S3203, the path points at both ends of the preset planning path in the circular region are obtained, and the angle difference between the path points at both ends is determined.
[0176] In this embodiment, the preset planning path includes a plurality of path points, the path points of the preset planning path in the circular region are obtained, the path points closest to the edge of the circular region in the preset planning path are determined, and the two path points are determined as the path points at both ends of the preset planning path in the circular region. The angle difference between the two path points is determined according to the position coordinates of the path points at both ends of the preset planning path.
[0177] For example, in the circular region with the point wall line endpoint B as the center and a preset length as the radius, all path points on the preset planning path are found. As shown in Figure 8As shown, there are five path points on the preset planning path in the circular region, at this time, the first path point and the fifth path point can be determined as the path points at two ends of the preset planning path in the circular region, and the angle difference between the first path point and the fifth path point is determined.
[0178] S3204, if the angle difference is greater than the angle threshold, it is determined that the target corner formed by the target wall line is a target corner of a square type.
[0179] Specifically, if the angle difference between the path points at two ends of the preset planning path in the circular region is greater than the set threshold, and the angle change direction between the two path points is the same as that of the preset planning path, it can be determined that the target corner formed by the target wall line is a target corner of a square type.
[0180] S3205, the position of the wall line endpoint is determined as the corner point position, and the position information of the target corner is determined according to the corner point position and the target wall line information.
[0181] In this embodiment, the wall line endpoint of the target wall line at a far position on the preset planning path is determined as the corner point of the target corner, the position of the wall line endpoint is determined as the corner point position, and the position information of the target corner is determined according to the combination of the coordinates of the corner point position and the length of the target wall line, the wall line endpoint position and other information contained in the target wall line information.
[0182] S330, the third angle of the extension line of the target wall line and the fourth angle of the perpendicular line of the target wall line are determined according to the position information of the target corner.
[0183] In this embodiment, the third angle can be understood as the offset angle of the extension line of the target wall line and the robot. The fourth angle can be understood as the offset angle of the perpendicular line of the target wall line and the robot.
[0184] Specifically, Figure 9 is another determination example of the target corner point when the target corner is a square type according to an embodiment of the present application. As shown Figure 9 As shown, since there is only one target wall line, an auxiliary line of the target wall line is constructed to assist in determining the target corner point, the extension line MF of the target wall line is constructed from the wall line endpoint M, and the perpendicular line ME of the target wall line is constructed from the wall line endpoint M. According to the corner point position (M_x, M_y), another wall line endpoint A (A_x, A_y) of the target wall line, the third angle θ mf of the extension line MF of the target wall line is determined by θ mf = atan2 (M_y-A_y, M_x-A_x); the fourth angle θ me of the perpendicular line ME of the target wall line is determined by θ mf = θ me .
[0185] S340, determining an angle of the angle bisector of the extension line and the perpendicular line according to the third angle and the fourth angle, and determining a second target included angle between the angle bisector and the extension line of the target wall line.
[0186] In this embodiment, the second target included angle can be understood as the included angle between the angle bisector and any auxiliary line of the extension line and the perpendicular line.
[0187] Specifically, according to the third angle θ mf of the extension line MF of the target wall line and the fourth angle θ me of the perpendicular line ME of the target wall line, the angle ρ of the angle bisector MT of the extension line and the perpendicular line is determined by ρ=(θ mf +θ me ) / 2. And the second target included angle γ between the angle bisector and the extension line of the target wall line can be determined by γ=(θ mf -θ me ) / 2.
[0188] S350, determining the distance between the second target point on the angle bisector and the corner point of the target corner according to the second target included angle and the second safety distance.
[0189] Wherein, the second safety distance is the sum of the spin radius of the robot and the second safety compensation distance. The spin radius of the robot is TP, the second safety compensation distance between the robot and the perpendicular line of the target wall line is PE, and the second safety compensation distance between the robot and the extension line of the target wall line is PF, so the second safety distance is the sum of the spin radius of the robot and the second safety compensation distance, that is, TE=TP+PE, TF=TP=PF. It can be understood that when the robot is in the limit position closest to the corner point position and can freely rotate, the second safety compensation distance between the two target wall lines is equal, which is the minimum safety distance, so it can be determined that the second safety distance between the robot and the perpendicular line of the target wall line and the extension line of the target wall line is equal, that is, TE=TF. According to
[0190] MT=TE / sin(γ) determines the distance MT between the second target point T on the angle bisector and the corner point M of the target corner.
[0191] S360, determining the target position of the target point according to the corner point position of the target corner, the angle of the angle bisector, and the distance between the second target point on the angle bisector and the corner point of the target corner.
[0192] In the embodiment, the second target position of the target point is determined according to T_x=M_x+MT*cos(ρ) and T_y=M_y+MT*sin(ρ) according to the corner point position (M_x, M_y) of the target corner, the angle ρ of the angle bisector, and the distance MT between the second target point T on the angle bisector and the corner point M of the target corner.
[0193] S370, determine a current planning path according to the position of the target corner point and the current position of the robot, and control the robot to move to the target corner point based on the current planning path for corner cleaning.
[0194] The technical scheme of the embodiment of the application comprises the following steps: acquiring target wall line information of an obstacle perceived by a robot and a current position of the robot; if a preset planning path of the robot at the current position is turned and one target wall line of the obstacle is perceived, determining position information of a target corner and a corner type according to the preset planning path and the target wall line information of the target wall line; determining a third angle of an extension line of the target wall line and a fourth angle of a perpendicular line of the target wall line according to the position information of the target corner; determining an angle of an angle bisector of the extension line and the perpendicular line and a second target included angle between the angle bisector and the extension line of the target wall line according to the third angle and the fourth angle; determining a distance between a second target point on the angle bisector and a corner point of the target corner according to the second target included angle and a second safety distance; determining a target position of the target point according to a corner point position of the target corner, the angle of the angle bisector, and the distance between the second target point on the angle bisector and the corner point of the target corner; determining a current planning path according to the position of the target corner point and the current position of the robot, and controlling the robot to move to the target corner point based on the current planning path for corner cleaning. By using the above technical scheme, in the case of one target wall line, the safety distance between the robot and the target wall line is determined according to the corner type of the target corner, and the position of the target corner point of the robot is further determined, so that the robot can clean to the maximum extent according to the actual situation, the efficiency and safety of the robot in cleaning the corner are effectively improved, the corner cleaning of the robot is more intelligent, and the user experience is improved.
[0195] Figure 10 A structural schematic diagram of a robot corner cleaning device provided by the embodiment of the application is shown in FIG. 1. Figure 10 As shown in the figure, the device comprises:
[0196] An information acquisition module 41 is configured to acquire target wall line information of an obstacle perceived by a robot and a current position of the robot.
[0197] A corner determination module 42 is configured to determine position information of a target corner and a corner type according to the current position of the robot and the target wall line information.
[0198] The target corner point determination module 43 is configured to determine a position of a target corner point according to the position information of the target corner and the corner type; the target corner point is a cleaning position point closest to a corner point of the target corner in a case that the robot can rotate freely in the target corner;
[0199] The control module 44 is configured to determine a current planning path according to the position of the target corner point and the current position of the robot, and control the robot to move to the target corner point based on the current planning path for corner cleaning.
[0200] Optionally, the corner determination module 42 comprises:
[0201] The corner point position determination unit is configured to, if the robot perceives two target wall lines of obstacles at a current position, determine a corner point position of a target corner formed by the two target wall lines according to the target wall line information.
[0202] The position information determination unit is configured to determine position information of the target corner according to the corner point position and the target wall line information.
[0203] The first corner determination unit is configured to determine a corner type of the target corner according to the position information of the target corner and the current position of the robot.
[0204] Optionally, the corner point position determination unit is specifically configured to:
[0205] determine a distance between two wall line end points closest to each other between the two target wall lines according to the target wall line information of the two target wall lines.
[0206] if the distance is less than a preset threshold, determine that the two target wall lines form a target corner.
[0207] determine a position of an intersection of the two target wall lines as the corner point position of the target corner.
[0208] Optionally, the first corner determination unit is specifically configured to:
[0209] determine a virtual line connecting the current position of the robot and the corner point position.
[0210] obtain a first included angle between the virtual line and a first target wall line of the two target wall lines, and a second included angle between the virtual line and a second target wall line of the two target wall lines.
[0211] if a sum of the first included angle and the second included angle is greater than π, determine that the corner type of the target corner is a convex corner.
[0212] If the sum of the first included angle and the second included angle is less than π, it is determined that the corner type of the target corner is a concave corner.
[0213] Optionally, the target corner point determination module 43 comprises:
[0214] The first corner point determination unit is configured to, if the corner type of the target corner is a concave corner, acquire a first safety distance between the robot and the two target wall lines, determine a first target position of the robot closest to the corner point of the target corner under the condition that the first safety distance is guaranteed according to the position information of the target corner, and determine the first target position as the position of the target corner point; the first safety distance is the sum of the self-rotation radius of the robot and a first safety compensation distance.
[0215] The second corner point determination unit is configured to, if the corner type of the target corner is a convex corner, acquire a second safety distance between the robot and the corner point of the target corner, and determine a second target position of the robot closest to the corner point of the target corner under the condition that the second safety distance is guaranteed according to the position information of the target corner, and determine the second target position as the position of the target corner point; the second safety distance is the sum of the self-rotation radius of the robot and a second safety compensation distance.
[0216] Optionally, the corner point determination unit is specifically configured to:
[0217] determine a first angle of a first target wall line and a second angle of a second target wall line according to the target wall line information of the target corner;
[0218] determine an angle of a corner bisector of the target corner and a first target included angle between the corner bisector and any target wall line according to the first angle and the second angle;
[0219] determine a distance between a first target point on the corner bisector and the corner point of the target corner according to the first target included angle and the safety distance;
[0220] determine a target position of the target point according to the corner point position of the target corner, the angle of the corner bisector, and the distance between the first target point on the corner bisector and the corner point of the target corner;
[0221] wherein, in the case that the corner type of the target corner is a concave corner, the safety distance is a first safety distance, and the target position is a first target position; in the case that the corner type of the target corner is a convex corner, the safety distance is a second safety distance, and the target position is a second target position.
[0222] Optionally, the corner determining module 42 comprises:
[0223] The second corner determining unit is configured to, if the robot makes a turn on the preset planning path at the current position and a target wall line of the obstacle is perceived, determine the position information and the corner type of the target corner according to the preset planning path and target wall line information of the target wall line.
[0224] Optionally, the second corner determining unit is specifically configured to:
[0225] determine a wall line endpoint of the target wall line at a distal end of the preset planning path according to the target wall line information;
[0226] determine a circular region with the wall line endpoint as the center and a preset length as the radius;
[0227] obtain path points at two ends of the preset planning path in the circular region, and determine an angle difference between the path points at the two ends;
[0228] if the angle difference is greater than an angle threshold, determine that the target wall line constitutes a target corner of a type of external corner;
[0229] determine a corner point position as the position of the wall line endpoint, and determine the position information of the target corner according to the corner point position and the target wall line information.
[0230] Optionally, the target corner point determining module 43 is specifically configured to:
[0231] determine a third angle of an extension line of the target wall line and a fourth angle of a perpendicular line of the target wall line according to the position information of the target corner;
[0232] determine an angle of an angle bisector of the extension line and the perpendicular line according to the third angle and the fourth angle, and determine a second target included angle between the angle bisector and the extension line of the target wall line;
[0233] determine a distance between a second target point on the angle bisector and a corner point of the target corner according to the second target included angle and a second safety distance; the second safety distance is a sum of a self-rotation radius of the robot and a second safety compensation distance;
[0234] determine a target position of the target point according to the corner point position of the target corner, the angle of the angle bisector, and the distance between the second target point on the angle bisector and the corner point of the target corner.
[0235] Optionally, the information obtaining module 41 is specifically configured to:
[0236] Obstacle information collected by a sensor arranged on the robot within a sensing range is acquired;
[0237] A wall line is fitted according to the obstacle information to obtain the wall line;
[0238] The wall line is subjected to length screening to obtain a target wall line, and target wall line information of the obstacle is acquired.
[0239] The robot corner cleaning device provided in the embodiments of the present application can execute the robot corner cleaning method provided in any of the embodiments of the present application, and has the corresponding function modules and beneficial effects of the execution method.
[0240] Figure 11 A structural schematic diagram of a robot 50 that can be used to implement embodiments of the present application is shown. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present application described herein and / or claimed.
[0241] As Figure 11 shown, the robot 50 includes at least one processor 51 and at least one sensor 511, and a memory, such as a read-only memory (ROM) 52, a random access memory (RAM) 53, etc., in communication connection with the at least one processor 51, wherein the memory stores a computer program executable by the at least one processor. The processor 51 can execute various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 52 or loaded from the storage unit 58 into the random access memory (RAM) 53. The sensor 511 can include an image sensor, an infrared sensor, a radar sensor, a laser sensor, etc. Various programs and data required for the operation of the robot 50 can also be stored in the RAM 53. The processor 51, the sensor 511, the ROM 52, and the RAM 53 are connected to each other through a bus 54. An input / output (I / O) interface 55 is also connected to the bus 54.
[0242] A plurality of components in the robot 50 are connected to the I / O interface 55, including an input unit 56, such as a keyboard, a mouse, etc., an output unit 57, such as various types of displays, speakers, etc., a storage unit 58, such as a magnetic disk, an optical disk, etc., and a communication unit 59, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 59 allows the robot 50 to exchange information / data with other devices through a computer network, such as the Internet, and / or various telecommunications networks.
[0243] The processor 51 can be various general and / or special purpose processing components having processing and computing capabilities. Some examples of the processor 51 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various specialized artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. The processor 51 performs various methods and processes described above, such as the robotic corner cleaning method.
[0244] In some embodiments, the robotic corner cleaning method can be implemented as a computer program tangibly embodied in a computer readable storage medium, such as the storage unit 58. In some embodiments, part or all of the computer program can be loaded and / or installed onto the robot 50 via the ROM 52 and / or the communication unit 59. When the computer program is loaded onto the RAM 53 and executed by the processor 51, one or more steps of the robotic corner cleaning method described above can be performed. Alternatively, in other embodiments, the processor 51 can be configured to perform the robotic corner cleaning method by any other suitable means, such as by means of firmware.
[0245] Various implementations of the systems and techniques described above can be realized in digital electronic circuitry, integrated circuitry, a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), a system on a chip (SOC), a programmable logic device (PLD), a computer hardware, firmware, software, and / or combinations thereof. These various implementations can include implementation in one or more computer programs that are executable and / or interpretable on a programmable system including at least one programmable processor, which can be special or general purpose, coupled to receive data and instructions from, and to transmit data and instructions to, a storage system, at least one input device, and at least one output device.
[0246] Computer programs used to implement the methods of the application can be written in any combination of one or more programming languages. These computer programs can be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the computer program, when executed by the processor, implements the functions / acts specified in the flowcharts and / or block diagrams. The computer program can be executed entirely on a machine, partially on a machine, partially on a machine as a stand-alone software package, partially on a machine and partially on a remote machine or entirely on a remote machine or server.
[0247] In the context of the present application, a computer-readable storage medium can be a tangible medium that can contain or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. A computer-readable storage medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium can be a machine-readable signal medium. More specific examples of a machine-readable storage medium will include one or more lines of a program of instructions in a transitory signal, a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0248] To provide for interaction with a user, the systems and techniques described here can be implemented on a robot having a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the robot. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
[0249] The systems and techniques described here can be implemented in a computing system that includes a back end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front end component (e.g., a user computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back end, middleware, or front end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0250] The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system, to solve the defects of large management difficulty and weak business scalability in traditional physical host and VPS service.
[0251] It should be understood that the various forms of flow shown above can be reordered, added to, or have steps deleted. For example, the steps described in the present application can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions of the present application can be achieved, which are not limited herein.
[0252] The above detailed description does not constitute a limitation on the protection scope of the present application. Those skilled in the art should understand that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modifications, equivalent replacements and improvements made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A robot corner cleaning method, characterized by, The method comprises: obtaining target wall line information of an obstacle perceived by a robot and a current position of the robot; determining position information and a corner type of a target corner according to the current position of the robot and the target wall line information; determining a position of a target corner point according to the position information and the corner type of the target corner; the target corner point is a cleaning position point closest to a corner point of the target corner under the condition that the robot can freely rotate in the target corner; determining a current planning path according to the position of the target corner point and the current position of the robot, and controlling the robot to move to the target corner point for corner cleaning based on the current planning path; wherein the determining of the position information and the corner type of the target corner according to the current position of the robot and the target wall line information comprises: if a preset planning path of the robot at the current position is to be turned and one target wall line of the obstacle is perceived, determining the position information and the corner type of the target corner according to the preset planning path and target wall line information of the target wall line.
2. The method of claim 1, wherein, The determining of the position information and the corner type of the target corner according to the current position of the robot and the target wall line information comprises: if two target wall lines of the obstacle are perceived by the robot at the current position, determining a corner point position of a target corner formed by the two target wall lines according to the target wall line information. determining the position information of the target corner according to the corner point position and the target wall line information. determining the corner type of the target corner according to the position information of the target corner and the current position of the robot.
3. The method of claim 2, wherein, The determining of the corner point position of the target corner formed by the two target wall lines according to the target wall line information comprises: determining a distance between two wall line end points closest to each other between the two target wall lines according to the target wall line information of the two target wall lines. if the distance is less than a preset threshold, determining that the two target wall lines form a target corner. determining a position of an intersection of the two target wall lines as the corner point position of the target corner.
4. The method of claim 2, wherein, The determining of the corner type of the target corner according to the position information of the target corner and the current position of the robot comprises: determining a virtual connection line of the current position of the robot and the corner point position; obtaining a first included angle between the virtual connection line and a first target wall line of the two target wall lines, and a second included angle between the virtual connection line and a second target wall line of the two target wall lines; if a sum of the first included angle and the second included angle is greater than 180°, determining that the corner type of the target corner is a convex corner; if the sum of the first included angle and the second included angle is less than 180°, determining that the corner type of the target corner is a concave corner.
5. The method according to any of claims 2-4, characterized by, The determining of the position of the target corner point according to the position information and the corner type of the target corner comprises: If the corner type of the target corner is a concave corner, a first safety distance between the robot and the two target wall lines is obtained, a first target position of the robot closest to a corner point of the target corner under the condition of ensuring the first safety distance is determined according to the position information of the target corner, and the first target position is determined as the position of the target corner point; the first safety distance is the sum of the self-rotation radius of the robot and a first safety compensation distance; If the corner type of the target corner is a convex corner, a second safety distance between the robot and the corner point of the target corner is obtained; and a second target position of the robot closest to the corner point of the target corner under the condition of ensuring the second safety distance is determined according to the position information of the target corner, and the second target position is determined as the position of the target corner point; the second safety distance is the sum of the self-rotation radius of the robot and a second safety compensation distance.
6. The method of claim 5, wherein, Determining a target position of the robot closest to a corner point of a target corner under the condition of ensuring a safety distance according to position information of the target corner, comprising: Determining a first angle of a first target wall line and a second angle of a second target wall line according to target wall line information of the target corner; Determining an angle of a bisector of the target corner and a first target included angle between the bisector and any target wall line according to the first angle and the second angle; Determining a distance between a first target point on the bisector and the corner point of the target corner according to the first target included angle and the safety distance; Determining a target position of the target point according to the corner point position of the target corner, the angle of the bisector and the distance between the first target point on the bisector and the corner point of the target corner; Wherein, in the case that the corner type of the target corner is a concave corner, the safety distance is a first safety distance, and the target position is a first target position; in the case that the corner type of the target corner is a convex corner, the safety distance is a second safety distance, and the target position is a second target position.
7. The method of claim 1, wherein, The determining of the position information and the corner type of the target corner according to the preset planning path and the target wall line information of the target wall line, comprising: Determining a wall line endpoint of the target wall line at a far end of the preset planning path according to the target wall line information; Determining a circular region with the wall line endpoint as the center and a preset length as the radius; Obtaining path points at two ends of the preset planning path in the circular region, and determining an angle difference between the path points at the two ends; If the angle difference is greater than an angle threshold, it is determined that the target wall line constitutes a target corner with a convex corner type; Determining the position of the wall line endpoint as a corner point position, and determining the position information of the target corner according to the corner point position and the target wall line information.
8. The method of any of claims 1 or 7, wherein, The determining of the position of the target corner point according to the position information and the corner type of the target corner, comprising: Determining a third angle of an extension line of the target wall line and a fourth angle of a perpendicular line of the target wall line according to the position information of the target corner; determine an angle between the angle bisector and an extension line of the target wall line according to the third angle and the fourth angle; determine a distance between a second target point on the angle bisector and a corner point of the target corner according to the second target included angle and a second safety distance; the second safety distance is a sum of a self-rotation radius of the robot and a second safety compensation distance; determine a target position of the target point according to the corner point position of the target corner, the angle of the angle bisector, and the distance between the second target point on the angle bisector and the corner point of the target corner.
9. A robotic corner cleaning device, characterized by, comprise: an information acquisition module, configured to acquire target wall line information of an obstacle perceived by a robot and a current position of the robot; a corner determination module, configured to determine position information and a corner type of a target corner according to the current position of the robot and the target wall line information; a target corner point determination module, configured to determine a position of a target corner point according to the position information and the corner type of the target corner; the target corner point is a cleaning position point closest to a corner point of the target corner in a case where the robot is able to freely rotate at the target corner; a control module, configured to determine a current planning path according to the position of the target corner point and the current position of the robot, and control the robot to move to the target corner point for corner cleaning based on the current planning path. The corner determination module comprises: a second corner determination unit, configured to, if a preset planning path of the robot at the current position is turned and a target wall line of the obstacle is perceived, determine the position information and the corner type of the target corner according to the preset planning path and target wall line information of the target wall line.
10. A robot, characterized in that The robot comprises: at least one sensor and at least one processor; and a memory in communication connection with the at least one processor; wherein the memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the robot corner cleaning method in any one of claims 1-8.
11. A computer readable storage medium, characterized in that, The computer readable storage medium stores computer instructions for enabling the processor to execute the robot corner cleaning method in any one of claims 1-8 when executed.
Citation Information
Patent Citations
Corner recognition and cleaning method and device and storage medium
CN111830966A