Robotic lawn mower escape method and apparatus, device, and storage medium
By identifying and processing obstacles when the location information of the mowing robot is lost, and using the first vector to control the movement of the mowing robot, the problem of the mowing robot being trapped is solved, and the efficient path following and positioning signal recovery of the mowing robot is achieved.
Patent Information
- Application Number
- PCT/CN2024/131724
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-11-14
- Filing Date
- 2024-11-13
- Publication Date
- 2025-05-22
AI Technical Summary
During the operation, mowing robots often have problems of being trapped in place and unable to move.
By detecting the loss of positioning information of the mowing robot, identify obstacles within the preset range, and control the mowing robot movement according to the first vector between the obstruction and the mowing robot to stay away from the obstacles until the positioning signal is restored.
The problem of mowing robots being trapped is effectively solved, ensuring that mowing robots can continue to follow pre-planned paths, and improving mowing efficiency and cost-effectiveness.
Smart Images

Figure CN2024131724_22052025_PF_FP_ABST
Abstract
Description
Method, device, equipment and storage medium for escaping a lawn mowing robot
[0001] This application claims priority to the Chinese patent application filed with the China Patent Office on November 14, 2023, with application number 2023115160657 and invention name “Method and device, equipment and storage medium for escaping a lawn mowing robot”, the entire contents of which are incorporated by reference into this application. Technical Field
[0002] The present application relates to the technical field of lawn mowing robot control, and in particular to a method and apparatus, equipment, and storage medium for a lawn mowing robot to escape from trouble. Background Art
[0003] As urban greening expands, the area of lawns is also increasing. However, maintaining lawns is challenging, especially during sunny and warm seasons when grass grows rapidly, requiring significant labor and time. To reduce lawn maintenance costs, robotic lawn mowers have emerged.
[0004] Robotic lawn mowers are intelligent devices designed specifically for mowing lawns. They operate without human control and follow a pre-planned path to complete the task. However, robotic lawn mowers often become stuck and unable to move forward. Therefore, finding a way to free robotic lawn mowers from these obstacles is a pressing issue.
[0005] Summary of the Invention
[0006] The present application provides a method and device, equipment, and storage medium for escaping a lawn mowing robot, so as to solve the problem that the lawn mowing robot is trapped in place and unable to move forward during operation.
[0007] In a first aspect, the present application provides a method for a lawn mower robot to escape from an obstacle, comprising: identifying an obstacle within a preset range of the lawn mower robot when it is detected that the positioning information of the lawn mower robot is lost; determining a first vector based on a first projection point of a first reference point of the obstacle on the ground and a second projection point of a second reference point of the lawn mower robot on the ground; wherein the starting point of the first vector is the first projection point, the end point of the first vector is the second projection point, and the length of the first vector is the distance between the first projection point and the second projection point; and controlling the movement of the lawn mower robot based on the posture of the lawn mower robot and the first vector to enable the lawn mower robot to escape from an obstacle.
[0008] In the second aspect, the present application provides a lawn mower robot escape device, comprising: an identification module for identifying obstacles within a preset range of the lawn mower robot when it is detected that the positioning information of the lawn mower robot is lost; a determination module for determining a first vector based on a first projection point of the obstacle on the ground and a second projection point of the second reference point of the lawn mower robot on the ground; wherein the starting point of the first vector is the first projection point, the end point of the first vector is the second projection point, and the length of the first vector is the distance between the first projection point and the second projection point; and a control module for controlling the movement of the lawn mower robot based on the posture of the lawn mower robot and the first vector, so that the lawn mower robot escapes.
[0009] In a third aspect, the present application provides an electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, and wherein the processor implements the method described in the present application when executing the program.
[0010] In a fourth aspect, the present application provides a computer-readable storage medium having a computer program stored thereon, characterized in that the computer program implements the method described in the present application when executed by a processor.
[0011] In the embodiment of the present application, it is analyzed that the reason for the lawn mower robot's loss of positioning information may be due to the presence of a nearby obstacle. When the lawn mower robot loses positioning information, the lawn mower robot is controlled to move based on a first vector between the obstacle and the lawn mower robot, rather than moving randomly. The starting point of the first vector is the obstacle, and the end point of the first vector is the lawn mower robot. That is, the direction of the first vector is from the obstacle to the lawn mower robot. This allows the lawn mower robot to always move in a direction away from the lawn mower robot, which helps the lawn mower robot obtain positioning signals and escape from difficulties. BRIEF DESCRIPTION OF THE DRAWINGS
[0012] FIG1 is a flowchart of a method for escaping a lawn mowing robot according to an embodiment of the present application;
[0013] FIG2 is a flowchart of another method for implementing a lawn mowing robot to escape from trouble according to an embodiment of the present application;
[0014] FIG3 is a flowchart of another method for escaping a lawn mowing robot according to an embodiment of the present application;
[0015] FIG4 is a schematic diagram of an obstacle and a lawn mowing robot from a top-down perspective provided by an embodiment of the present application;
[0016] FIG5 is a schematic diagram of an obstacle and a lawn mowing robot from a top-down perspective provided by an embodiment of the present application;
[0017] FIG6 is a schematic diagram of an obstacle and a lawn mowing robot from a top-down perspective provided by an embodiment of the present application;
[0018] FIG7 is a flowchart of a method for implementing a lawn mowing robot to escape from distress provided by an embodiment of the present application;
[0019] FIG8 is a schematic diagram of an obstacle and a lawn mowing robot from a top-down perspective provided by an embodiment of the present application;
[0020] FIG9 is a schematic diagram of an obstacle and a lawn mowing robot from a top-down perspective provided by an embodiment of the present application;
[0021] FIG10 is a schematic diagram of the structure of a lawn mowing robot escape device provided in an embodiment of the present application;
[0022] FIG11 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0023] In this application, "at least one" refers to one or more, and "plurality" refers to two or more. "And / or" describes the association relationship of associated objects, indicating that three relationships may exist. For example, A and / or B can represent: the existence of A alone, the existence of A and B at the same time, and the existence of B alone, where A and B can be singular or plural. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "At least one of the following" or similar expressions refers to any combination of these items, including any combination of single or plural items. For example, at least one of a alone, b alone, or c alone can represent: a alone, b alone, c alone, a and b in combination, a and c in combination, b and c in combination, or a, b, and c in combination, where a, b, and c can be single or multiple. In addition, the terms "first" and "second" are used for descriptive purposes only and are not to be understood as indicating or implying relative importance.
[0024] The directions or positional relationships indicated by terms such as "center", "longitudinal", "lateral", "up", "down", "left", "right", "front", and "back" are based on the directions or positional relationships shown in the accompanying drawings and are only for the convenience of describing the present application and simplifying the description. They do not indicate or imply that the device or element referred to must have a specific direction, be constructed and operated in a specific direction. Therefore, they should not be understood as limiting the present application.
[0025] The terms "connected" and "connect" should be interpreted broadly. For example, "connected" or "connected" in a circuit structure can refer not only to a physical connection, but also to an electrical connection or a signal connection. For example, it can be a direct connection, i.e., a physical connection, or an indirect connection through at least one intermediate component, as long as the circuit is interconnected. It can also refer to internal connectivity between two components. Signal connection can refer not only to signal connection through circuits but also to signal connection through media, such as radio waves. Those skilled in the art will understand the specific meanings of the above terms in this application on a case-by-case basis.
[0026] As urban greening expands, the area of lawns is also increasing. However, maintaining lawns is challenging, especially during sunny and warm seasons when grass grows rapidly, requiring significant labor and time. To reduce lawn maintenance costs, robotic lawn mowers have emerged.
[0027] Robotic lawn mowers are intelligent devices designed specifically for mowing lawns. They operate without human control and follow a pre-planned path to complete the task. However, robotic lawn mowers often become stuck and unable to move forward. Therefore, finding a way to free robotic lawn mowers from these obstacles is a pressing issue.
[0028] Understandably, a robotic lawn mower must plan its mowing path before it begins operation. As it follows this path, it must constantly locate itself to ensure it stays on track. However, in actual operation, it has been found that if a robotic lawn mower loses its positioning information, it can no longer continue to follow its mowing path, becoming stuck.
[0029] Analysis revealed that a lawn mower robot loses its positioning when it is near an obstacle, or that its positioning information is often lost when the robot is near an obstacle. Based on this, the present application provides a method for escaping a lawn mower robot. When the robot loses its positioning information, the method detects obstacles near the robot. Upon detecting an obstacle, the robot is controlled to move away from the obstacle based on the obstacle's location information until a positioning signal is reestablished. The robot can then continue its mowing operation along the pre-planned path.
[0030] The method for escaping a lawn mower robot provided in the present application is shown in FIG1 . The method is applied to the lawn mower robot and includes the following steps 101 to 103:
[0031] Step 101: When it is detected that the positioning information of the lawn mower robot is lost, obstacles within a preset range of the lawn mower robot are identified.
[0032] Before the mowing robot starts mowing, it pre-builds a lawn map and plans a mowing path based on the lawn map. When the mowing robot is working, it needs to continuously obtain positioning information and move along the mowing path based on its positioning information.
[0033] The lawn mower robot includes a positioning information acquisition module. In some embodiments, the positioning information acquisition module may include a sensor (RTK sensor) that uses real-time kinematic (RTK) positioning technology. The RTK sensor is used to receive positioning signals (GPS signals) from multiple satellites and reference stations of the Global Positioning System (GPS). Based on the received GPS signals and RTK technology, the lawn mower robot's position information is calculated. The lawn mower robot's position information is the coordinate information in a pre-constructed map coordinate system.
[0034] It can be understood that RTK technology is a technology that uses GPS carrier phase observations for real-time dynamic relative positioning. It positions the lawn mower robot based on the base station and satellite, and can obtain centimeter-level positioning accuracy in real time. When using RTK technology to position the lawn mower robot, the base station transmits its carrier observation value and station coordinate information to the lawn mower robot through the data link in real time. The lawn mower robot receives the carrier phase from the GPS satellite and the carrier phase from the base station, and determines the carrier phase difference between the GPS satellite and the base station in real time. Based on the real-time determined carrier phase difference, it determines the centimeter-level positioning result in real time.
[0035] In other embodiments, the positioning information acquisition module may include an image sensor that continuously captures images and matches feature points between adjacent images to obtain positioning information of the lawn mowing robot. Positioning is performed based on the matching of feature points between adjacent images.
[0036] In step 101, it can be determined that the positioning information of the lawn mowing robot is lost based on at least one of the following situations (1) and (2):
[0037] Case (1) is: the RTK sensor does not receive positioning signals from GPS satellites and / or base stations within a preset time.
[0038] It is understandable that if the positioning signal from the GPS and / or the reference station is not received within the preset time, the lawn mowing robot cannot locate itself based on the positioning signal, resulting in loss of its positioning information.
[0039] Case (2) is: there are obvious changes in brightness and darkness between adjacent images captured by the image sensor, and the feature points do not match.
[0040] Exemplarily, if the difference in grayscale values between adjacent images captured by the image sensor is greater than a preset threshold, or the matching degree of feature points is greater than a preset threshold, then condition (2) is satisfied.
[0041] In some embodiments, the preset range can be a circular area with the lawn mowing robot as the center and a preset distance as the radius. A radar sensor is installed in the lawn mowing robot. When the positioning information of the lawn mowing robot is lost, the radar sensor transmits a radar signal to detect whether there are obstacles within the preset range.
[0042] Step 102: Determine a first vector based on a first projection point of a first reference point of the obstacle on the ground and a second projection point of a second reference point of the mowing robot on the ground; wherein the starting point of the first vector is the first projection point and the end point of the first vector is the second projection point.
[0043] The starting point of the first vector is the first projection point of the obstacle, and the end point of the first vector is the second projection point of the mowing robot. That is, the direction of the first vector is from the obstacle to the mowing robot, and the direction of the first vector is always away from the obstacle.
[0044] An analysis of the causes of positioning loss revealed that the robot mower often loses positioning information when it encounters obstacles. Obstacles fall into two categories: first and second. First-category obstacles can be regular-shaped structures, such as tall buildings or walls. Second-category obstacles can be irregular-shaped objects, such as trees.
[0045] When a lawn mower robot moves near an obstacle, its positioning information is often lost. This is because if there are tall buildings around the lawn mower robot, the buildings will block the transmission of the positioning signal, making it impossible for the lawn mower robot to receive the positioning signal; similarly, if there are large trees around the lawn mower robot, such as lush trees with huge canopies, and obstacles are located below the canopy, the leaves in the canopy will also block the transmission of the positioning signal, making it impossible for the lawn mower robot to receive the positioning signal.
[0046] It can be understood that obstacles, whether they are buildings or treetops, are three-dimensional objects, and the lawn mowing robot is also a three-dimensional object. The reference points on the obstacle and the lawn mowing robot may not be on the ground. Therefore, when determining the reference point based on the first vector between the obstacle and the lawn mowing robot, it is necessary to project the reference point to the ground and determine the first vector based on the projection point of the obstacle's reference point on the ground and the projection point of the lawn mowing robot on the ground.
[0047] In some embodiments, the type of the obstacle is the first type, and the first reference point on the obstacle can be the center of the obstacle; for example, the obstacle is a wall, and the first reference point on the wall can be the center of the wall, or the obstacle is a building, and the first reference point on the building can be the center of the building, or the center of the wall of the building close to the obstacle.
[0048] In some embodiments, the obstacle is of the second type, and the first reference point on the obstacle can be any point within a designated portion of the obstacle. For example, if the obstacle is a densely populated tree, the designated portion is the tree's crown, which includes branches and leaves, i.e., the portion above the tree's trunk. The first reference point on the tree's crown can be the center of the crown, or any point within the crown.
[0049] After determining the first reference point, the first reference point is vertically projected onto the ground to obtain a first projection point.
[0050] In some embodiments, the second reference point of the lawn mowing robot may be the center of the lawn mowing robot.
[0051] In some embodiments, the lawn mower robot is equipped with cameras for detecting the surrounding environment or positioning, and the number of cameras can be 1 or 2; further, the second reference point of the lawn mower robot can be the center position of a single camera or the midpoint of the line connecting the two cameras.
[0052] After determining the second reference point, project the second reference point vertically onto the ground to obtain the second projection point.
[0053] During actual operation, the embodiment of the present application does not limit the method for determining the first reference point and the second reference point, and can be adaptively selected according to actual usage.
[0054] Step 103 : Control the lawn mower robot to move based on the posture of the lawn mower robot and the first vector, so that the lawn mower robot escapes from the trouble.
[0055] In this step, the lawn mowing robot is controlled to move based on the posture of the lawn mowing robot and the first vector, that is, the lawn mowing robot moves along the first vector.
[0056] It is understood that the current direction of the mowing robot may be the same as or different from the direction of the first vector determined in step 102. Therefore, when the mowing robot moves along the first vector, it is necessary to first rotate the mowing robot so that the direction of the mowing robot is the same as the direction of the first vector in step 102, and then move along the direction of the first vector so that the mowing robot can obtain the positioning signal and escape.
[0057] In this embodiment, the loss of the mowing robot's positioning information is likely due to a nearby obstacle. When the mowing robot loses its positioning information, it is controlled to move based on a first vector between the obstacle and the mowing robot, rather than randomly moving. The first vector's starting point is the obstacle, and its endpoint is the mowing robot. This means the first vector points from the obstacle toward the mowing robot. This ensures the mowing robot consistently moves away from the obstacle, helping it obtain positioning signals and escape from obstacles.
[0058] The present application further provides a method for a lawn mowing robot to escape from trouble. The method is applied to the lawn mowing robot and specifically explains how the lawn mowing robot escapes from trouble based on its own posture and the first vector.
[0059] The implementation flow diagram of the method for escaping a lawn mower robot according to this embodiment is shown in FIG2 , and includes the following steps 201 to 206:
[0060] Step 201: When it is detected that the positioning information of the lawn mower robot is lost, obstacles within a preset range of the lawn mower robot are identified.
[0061] In some embodiments, the preset range can be a circular area with the mowing robot as the center and a preset distance as the radius. The mowing robot is equipped with a radar sensor, such as a lidar. When the mowing robot loses its positioning information, the radar sensor transmits a radar signal to detect whether there is an obstacle within the preset range.
[0062] Step 202: Determine a first vector based on a first projection point of the obstacle's first reference point on the ground and a second projection point of the lawn mowing robot's second reference point on the ground; wherein the starting point of the first vector is the first projection point, the end point of the first vector is the second projection point, and the length of the first vector is the distance between the first projection point and the second projection point.
[0063] The starting point of the first vector is the first projection point of the obstacle, and the end point of the first vector is the second projection point of the mowing robot. That is, the direction of the first vector is from the obstacle to the mowing robot, and the direction of the first vector is always away from the obstacle.
[0064] Step 203: Determine a first direction based on a first vector of the obstacle.
[0065] In this application, the number of obstacles can be one or more. When the number of obstacles is one, the direction of the first vector corresponding to the obstacle is the first direction. When the number of obstacles is multiple, the specific operation of determining the first direction is as shown in steps 303 to 304 of the following embodiment or steps 703 to 704 of the following embodiment, and is not further described here.
[0066] Step 204 : Determine a first rotation parameter of the lawn mowing robot based on the first direction and the orientation of the lawn mowing robot.
[0067] The direction of the lawn mower robot may be the direction of a main camera installed on the lawn mower robot for detecting the surrounding environment, and may also be referred to as the moving direction of the lawn mower robot. The moving direction of the lawn mower robot is the direction in which the lawn mower robot moves.
[0068] It is understood that the first direction is the direction in which the mowing robot moves. Before the mowing robot moves in the first direction, the current direction of the mowing robot may be the same as or different from the first direction. If the current direction of the mowing robot is different from the first direction, the mowing robot needs to rotate until its direction of movement is the same as the first direction, and then move in the first direction.
[0069] Therefore, before the lawn mower robot moves along the first direction, a first rotation parameter of the lawn mower robot is first determined based on the first direction and the orientation of the lawn mower robot.
[0070] Furthermore, in some embodiments, a camera is installed inside the lawn mower robot, and the lawn mower robot determines the current direction by photographing characteristic objects on the ground; in other embodiments, the lawn mower robot is installed with a wind direction sensor, which can sense the direction and strength of the wind, thereby determining the direction of the lawn mower robot.
[0071] The first rotation parameter includes a rotation direction and a rotation angle; the rotation direction includes clockwise rotation and counterclockwise rotation.
[0072] After determining the orientation of the robotic lawn mower, a first angle for the robotic lawn mower to rotate clockwise from the current orientation to the first orientation and a second angle for the robotic lawn mower to rotate counterclockwise from the current orientation to the first orientation are determined. If the first angle is greater than the second angle, the rotation direction of the first rotation parameter is counterclockwise and the rotation angle is the second angle; if the first angle is less than the second angle, the rotation direction of the first rotation parameter is clockwise and the rotation angle is the first angle.
[0073] Step 205 : Control the lawn mower robot to rotate based on the first rotation parameter until the orientation of the lawn mower robot is the same as the first direction.
[0074] For example, if the rotation direction of the lawn mower robot is counterclockwise and the rotation angle is the second angle, the lawn mower robot rotates counterclockwise, and after rotating the second angle, it can rotate to the same direction as the first direction.
[0075] If the rotation direction of the lawn mower robot is clockwise and the rotation angle is the first angle, the lawn mower robot rotates in the clockwise direction, and after rotating by the first angle, it can rotate until its direction is the same as the first direction.
[0076] Step 206: Control the lawn mowing robot to move linearly along a first direction.
[0077] It can be understood that the first direction is determined based on the first vector, and the direction of the first vector is always the direction away from the obstacle. The lawn mower robot is controlled to move in a straight line along the first direction, that is, the lawn mower robot can always move in the direction away from the obstacle, so that the lawn mower robot can receive the positioning signal, or its current positioning information can be determined based on feature point matching, so that the lawn mower robot can get out of trouble.
[0078] In this embodiment, after determining the first direction, the lawn mower robot determines the rotation direction and rotation angle of the lawn mower robot based on the current orientation and the first direction. After rotating a certain angle along the rotation direction, its orientation coincides with the first direction, and it can move along the first direction away from the obstacle, thereby enabling the lawn mower robot to escape.
[0079] When there are multiple obstacles, the positions of the obstacles relative to the position of the robotic lawn mower may vary, and various positional relationships may exist between the obstacles. For example, in some embodiments, the obstacles may include at least one group of mutually parallel obstacles, or at least one group of obstacles with opposite first vector directions. In other embodiments, the obstacles may not be mutually parallel, and the positional relationships between the obstacles may vary, resulting in different methods for the robotic lawn mower to determine the first direction.
[0080] The present application further provides a method for a lawn mowing robot to escape from trouble, which aims to illustrate how the lawn mowing robot determines the first direction when there is at least one group of obstacles parallel to each other among multiple obstacles, or when there is at least one group of obstacles with opposite first vector directions among multiple obstacles.
[0081] FIG3 is a schematic diagram of a method for escaping a lawn mowing robot according to an embodiment of the present application. As shown in FIG3 , the method includes the following steps 301 to 308:
[0082] Step 301: When it is detected that the positioning information of the lawn mower robot is lost, obstacles within a preset range of the lawn mower robot are identified.
[0083] In some embodiments, the preset range can be a circular area with the lawn mowing robot as the center and a preset distance as the radius. A radar sensor is installed in the lawn mowing robot. When the positioning information of the lawn mowing robot is lost, the radar sensor transmits a radar signal to detect whether there are obstacles within the preset range, and to determine the number of obstacles within the preset range.
[0084] Step 302: Determine a first vector based on a first projection point of the obstacle's first reference point on the ground and a second projection point of the lawn mowing robot's second reference point on the ground; wherein the starting point of the first vector is the first projection point, the end point of the first vector is the second projection point, and the length of the first vector is the distance between the first projection point and the second projection point.
[0085] The starting point of the first vector is the first projection point of the obstacle, and the end point of the first vector is the second projection point of the mowing robot. That is, the direction of the first vector is from the obstacle to the mowing robot, and the direction of the first vector is always away from the obstacle.
[0086] Step 303: Calculate the sum of the first vectors corresponding to the multiple obstacles to obtain a second vector.
[0087] It can be understood that if there are multiple obstacles around the lawn mower robot within a preset range, before determining the second vector, the first projection point of each obstacle and the second projection point of the lawn mower robot can be determined according to the method of step 102, and then the first vector of the corresponding obstacle can be determined based on the first projection point and the second projection point.
[0088] It should be noted that the method for determining the projection point of each obstacle (including the first projection point and the second projection point) can be the same or different, and this application does not limit this.
[0089] In step 303 , if there are multiple obstacles, the mowing robot determines the sum of the first vectors corresponding to each obstacle to obtain a second vector.
[0090] For example, Figure 4 is a schematic diagram of obstacle 1, obstacle 2, and the mowing robot from a top-down perspective. As shown in Figure 4, obstacle 1 and obstacle 2 are both walls. The first projection point of obstacle 1 is point A, the first projection point of obstacle 2 is point B, and the second projection point of the mowing robot is point C. The first vector corresponding to obstacle 1 is The first vector corresponding to obstacle 2 is According to the parallelogram law of vector operations, the sum of the vectors corresponding to obstacle 1 and obstacle 2 is Then the direction of the second vector is from point C to point M.
[0091] Figure 5 is a schematic diagram of another obstacle 1, obstacle 2 and the mowing robot from a top-down perspective. As shown in Figure 5, obstacle 1 is a wall, obstacle 2 is 2, the first projection point of the obstacle is point D, the first projection point of obstacle 2 is point E, the second projection point of the mowing robot is point F, and the first vector corresponding to obstacle 1 is The first vector corresponding to obstacle 2 is According to the parallelogram law of vector operations, the sum of the vectors corresponding to obstacle 1 and obstacle 2 is Then the direction of the second vector is from point F to point N.
[0092] 4 and 5 describe a method for determining the second vector when the number of obstacles is 2. The following uses FIG. 6 as an example to illustrate a method for determining the second vector when the number of obstacles is greater than 2.
[0093] As shown in Figure 6, the number of obstacles is 3. Assume that all three obstacles are walls. As shown in Figure 6, obstacle 1 and obstacle 3 are parallel, and the distance between obstacle 1 and the lawn mower robot is the same as the distance between obstacle 3 and the lawn mower robot. Obstacle 1 is perpendicular to obstacle 2, and obstacle 3 is perpendicular to obstacle 2. The first projection point of obstacle 1 is G, the first projection point of obstacle 2 is H, the first projection point of obstacle 3 is I, and the second projection point of the lawn mower robot is J. The first vector corresponding to obstacle 1 is The first vector corresponding to obstacle 2 is The first vector corresponding to obstacle 3 is and The directions are opposite and the lengths are the same, that is, the distance between point G and point J is the same as the distance between point I and point J. The sum of the vectors of obstacles 1, 2, and 3 is the second vector Then the direction of the second vector is from point J to point K.
[0094] Step 304: Determine the direction of the second vector as the first direction.
[0095] The direction of the lawn mower robot may be the direction of a main camera installed on the lawn mower robot for detecting the surrounding environment, and may also be referred to as the moving direction of the lawn mower robot. The moving direction of the lawn mower robot is the direction in which the lawn mower robot moves.
[0096] For example, in FIG4 , the first direction is from point C to point M; in FIG5 , the first direction is from point F to point N; and in FIG6 , the first direction is from point J to point K.
[0097] Step 305 : Determine a first rotation parameter of the lawn mowing robot based on the first direction and the orientation of the lawn mowing robot.
[0098] The first rotation parameter includes a rotation direction and a rotation angle; the rotation direction includes clockwise rotation and counterclockwise rotation.
[0099] Step 306 : Control the lawn mower robot to rotate based on the first rotation parameter until the orientation of the lawn mower robot is the same as the first direction.
[0100] In some embodiments, the lawn mower robot rotates based on the determined rotation direction and rotation angle, such that the orientation of the lawn mower robot is the same as the first direction.
[0101] Step 307: Control the lawn mowing robot to move linearly along a first direction.
[0102] Step 308: If the lawn mower robot reaches the boundary of the preset range, the process returns to the step of identifying obstacles within the preset range of the lawn mower robot until the lawn mower robot is free.
[0103] In some embodiments, the step of identifying obstacles within a preset range of the lawn mower robot is returned to, and then the step of determining a first vector based on a first projection point of the obstacle on the ground and a second projection point of the second reference point of the lawn mower robot on the ground, and the step of controlling the movement of the lawn mower robot based on the posture of the lawn mower robot and the first vector are also executed, that is, returning to execute step 301.
[0104] It can be understood that no matter in Figure 4, Figure 5 or Figure 6, the lawn mower robot will not touch any obstacles when moving along the first direction. In some embodiments, the lawn mower robot takes the current position as the center and the preset distance as the radius, determines the preset range in real time during the movement, and then identifies obstacles within the preset range in real time, and then determines the first direction in real time, and moves along the currently determined first direction until a positioning signal is obtained or the current positioning information can be determined based on feature point matching; in other embodiments, after determining the first direction based on the obstacles within the preset range, the lawn mower robot moves in a straight line along the first direction until it moves to the boundary of the current preset range, and then at the boundary of the current preset range, with the current position as the center and the preset distance as the radius, determines the preset range again, continues to scan for obstacles within the preset range based on the radar sensor, determines the first direction again, and then moves along the first direction until the positioning information is found.
[0105] An embodiment of the present application further provides a method for a lawn mower robot to escape from an obstacle, which aims to illustrate how the lawn mower robot determines a first direction when multiple obstacles are not parallel to each other.
[0106] FIG7 is a schematic diagram of a method for escaping a lawn mowing robot according to an embodiment of the present application, the method comprising:
[0107] Step 701: When it is detected that the positioning information of the lawn mower robot is lost, obstacles within a preset range of the lawn mower robot are identified.
[0108] In some embodiments, the preset range can be a circular area with the lawn mowing robot as the center and a preset distance as the radius. A radar sensor is installed in the lawn mowing robot. When the positioning information of the lawn mowing robot is lost, the radar sensor transmits a radar signal to detect whether there are obstacles within the preset range.
[0109] Step 702: Determine a first vector based on a first projection point of the obstacle's first reference point on the ground and a second projection point of the lawn mowing robot's second reference point on the ground; wherein the starting point of the first vector is the first projection point, the end point of the first vector is the second projection point, and the length of the first vector is the distance between the first projection point and the second projection point.
[0110] The starting point of the first vector is the first projection point of the obstacle, and the end point of the first vector is the second projection point of the mowing robot. That is, the direction of the first vector is from the obstacle to the mowing robot, and the direction of the first vector is always away from the obstacle.
[0111] Step 703: Determine at least one group of non-target obstacles among the multiple obstacles, wherein the directions of the first vectors corresponding to the group of non-target obstacles are opposite.
[0112] Figure 8 provides a schematic diagram of an obstacle and a lawn mower robot from a top-down perspective. As shown in Figure 8, obstacle 1 and obstacle 3 are parallel, the first vector of obstacle 1 and the first vector of obstacle 3 are in opposite directions, and the distances between obstacle 1 and obstacle 3 and the lawn mower robot are different. In some embodiments, the distance of obstacle 1 relative to the lawn mower robot and the distance of obstacle 3 relative to the lawn mower robot are less than a preset distance threshold.
[0113] In the situation shown in Figure 8, if the first direction is determined based on the sum of the first vectors of each obstacle, as in Example 3, the mowing robot may encounter obstacles while moving in a straight line along the JL direction, and thus still be unable to escape. Therefore, in this embodiment, at least one group of non-target obstacles with opposite first vector directions is first determined, such as obstacles 1 and 3. Then, the first direction is determined based on the first vectors of target obstacles that differ from the non-target obstacles.
[0114] Step 704: Determine a first direction according to a first vector of a target obstacle different from the non-target obstacle.
[0115] As shown in FIG9 , among the three obstacles, obstacle 1 and obstacle 3 are non-target obstacles, and obstacle 2 is a target obstacle. The direction of the first vector corresponding to the target obstacle is the first direction.
[0116] Figure 9 is only an example of this embodiment. In other embodiments, if the number of target obstacles is greater than 1, the first direction is determined based on the sum of the first vectors of the target obstacles. Specifically, the direction corresponding to the vector of the sum of the first vectors of the target obstacles is determined as the first direction.
[0117] Step 705 : Determine a first rotation parameter of the lawn mowing robot based on the first direction and the orientation of the lawn mowing robot.
[0118] The first rotation parameter includes a rotation direction and a rotation angle; the rotation direction includes clockwise rotation and counterclockwise rotation.
[0119] Step 706 : Control the lawn mower robot to rotate based on the first rotation parameter until the orientation of the lawn mower robot is the same as the first direction.
[0120] In some embodiments, the lawn mower robot rotates based on the determined rotation direction and rotation angle, such that the orientation of the lawn mower robot is the same as the first direction.
[0121] Step 707: Control the lawn mowing robot to move linearly along a first direction.
[0122] As can be seen from Figure 9, when moving along the first direction determined by the first vector of the target obstacle, the first direction is from point J to point K, that is, when moving along the first direction, it will never touch the obstacle and will move in the direction away from the obstacle. This is beneficial for the lawn mower robot to escape and find the positioning signal.
[0123] It is understandable that in the embodiments of the present application, when user information and other related data are involved, when the embodiments of the present application are applied to specific products or technologies, user permission or consent is required, and the collection, use and processing of relevant data must comply with relevant laws, regulations and standards of relevant countries and regions.
[0124] It should be noted that although the steps of the method of the present application are described in a specific order in the drawings, this does not require or imply that the steps must be performed in this specific order, or that all steps must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps; or steps in different embodiments may be combined to form a new technical solution.
[0125] Based on the foregoing embodiments, an embodiment of the present application provides a decoding device, which includes the modules included and the units included in each module, and can be implemented by a processor; of course, it can also be implemented by a specific logic circuit; in the implementation process, the processor can be a central processing unit (CPU), a microprocessor (MPU), a digital signal processor (DSP) or a field programmable gate array (FPGA), etc.
[0126] FIG10 is a schematic diagram of the structure of the robot lawn mower escape device according to an embodiment of the present application. As shown in FIG10 , the device 100 includes an identification module 101, a determination module 102, and a control module 103, wherein:
[0127] The identification module 101 is configured to identify obstacles within a preset range of the lawn mower robot when it is detected that the positioning information of the lawn mower robot is lost.
[0128] The determination module 102 is used to determine a first vector based on a first projection point of the first reference point of the obstacle on the ground and a second projection point of the second reference point of the mowing robot on the ground; wherein the starting point of the first vector is the first projection point, the end point of the first vector is the second projection point, and the length of the first vector is the distance between the first projection point and the second projection point.
[0129] The control module 103 is configured to control the movement of the lawn mower robot based on the posture of the lawn mower robot and the first vector, so that the lawn mower robot escapes from trouble.
[0130] In some embodiments, the control module 103 is used to determine a first direction based on a first vector of the obstacle; determine a first rotation parameter of the lawn mower robot based on the first direction and the orientation of the lawn mower robot; control the lawn mower robot to rotate based on the first rotation parameter until the orientation of the lawn mower robot is the same as the first direction; and control the lawn mower robot to move in a straight line along the first direction.
[0131] In some embodiments, the control module 103 is configured to, when there are multiple obstacles, calculate the sum of the first vectors corresponding to the multiple obstacles to obtain a second vector; and determine the direction of the second vector as the first direction.
[0132] In some embodiments, the control module 103 is used to determine, when there are multiple obstacles, at least one group of non-target obstacles among the multiple obstacles, wherein the directions of the first vectors corresponding to the group of non-target obstacles are opposite; and determine the first direction based on the first vector of the target obstacle that is different from the non-target obstacle.
[0133] In some embodiments, the identification module 101 is also used to return to the steps of identifying obstacles within the preset range of the lawn mower robot, determining a first vector based on a first projection point of the obstacle on the ground and a second projection point of the second reference point of the lawn mower robot on the ground, and controlling the movement of the lawn mower robot based on the posture of the lawn mower robot and the first vector, if the lawn mower robot moves to the boundary of the preset range, until the lawn mower robot is out of trouble.
[0134] In some embodiments, the first reference point of the obstacle is related to the type of the obstacle.
[0135] In some embodiments, when the obstacle is of the first type, the first reference point on the obstacle is the center position of the obstacle; when the obstacle is of the second type, the second reference point on the obstacle is any point of a specified part of the obstacle.
[0136] The description of the above device embodiment is similar to the description of the above method embodiment and has similar beneficial effects as the method embodiment. For technical details not disclosed in the device embodiment of this application, please refer to the description of the method embodiment of this application for understanding.
[0137] It should be noted that the module division of the decoding device shown in Figure 10 in the embodiment of the present application is schematic and represents only one logical functional division. In actual implementation, other division methods may be used. Furthermore, the functional units in the various embodiments of the present application may be integrated into a single processing unit, or may exist physically separately, or two or more units may be integrated into a single unit. The aforementioned integrated units may be implemented in the form of hardware or software functional units. Alternatively, a combination of software and hardware may be used.
[0138] It should be noted that, in the embodiment of the present application, if the above method is implemented in the form of a software function module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application is essentially or the part that contributes to the relevant technology can be embodied in the form of a software product, and the computer software product is stored in a storage medium, including a number of instructions for enabling an electronic device to execute all or part of the method described in each embodiment of the present application. The aforementioned storage medium includes various media that can store program codes, such as a U disk, a mobile hard disk, a read-only memory (ROM), a magnetic disk or an optical disk. In this way, the embodiment of the present application is not limited to any specific combination of hardware and software.
[0139] An embodiment of the present application provides an electronic device, which may be a lawn mower robot. FIG11 is a schematic diagram of the hardware entity of the electronic device of the embodiment of the present application. As shown in FIG11 , the electronic device 110 includes a memory 111 and a processor 112. The memory 111 stores a computer program that can be executed on the processor 112. When the processor 112 executes the program, the steps of the method provided in the above embodiment are implemented.
[0140] It should be noted that the memory 111 is configured to store instructions and applications executable by the processor 112, and can also cache data to be processed or processed by the processor 112 and various modules in the electronic device 110 (for example, image data, audio data, voice communication data and video communication data), which can be implemented through flash memory (FLASH) or random access memory (RAM).
[0141] An embodiment of the present application provides a computer-readable storage medium having a computer program stored thereon. When the computer program is executed by a processor, the steps of the method provided in the above embodiment are implemented.
[0142] An embodiment of the present application provides a computer program product comprising instructions, which, when executed on a computer, enables the computer to execute the steps of the method provided in the above method embodiment.
[0143] It should be noted that the description of the above storage medium and device embodiments is similar to the description of the above method embodiments and has similar beneficial effects as the method embodiments. For technical details not disclosed in the storage medium, storage medium, and device embodiments of this application, please refer to the description of the method embodiments of this application for understanding.
[0144] It should be understood that "one embodiment" or "an embodiment" or "some embodiments" mentioned throughout the specification means that the specific features, structures or characteristics related to the embodiment are included in at least one embodiment of the present application. Therefore, "in one embodiment" or "in an embodiment" or "in some embodiments" appearing throughout the specification do not necessarily refer to the same embodiment. In addition, these specific features, structures or characteristics can be combined in one or more embodiments in any suitable manner. It should be understood that in the various embodiments of the present application, the size of the serial numbers of the above-mentioned processes does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present application. The above-mentioned serial numbers of the embodiments of the present application are for description only and do not represent the advantages and disadvantages of the embodiments. The above description of the various embodiments tends to emphasize the differences between the various embodiments. The same or similar aspects can be referenced to each other. For the sake of brevity, they will not be repeated here.
[0145] It should be noted that, in this document, the terms "comprises," "includes," or any other variations thereof are intended to encompass non-exclusive inclusion, such that a process, method, article, or apparatus comprising a series of elements includes not only those elements but also other elements not explicitly listed, or elements inherent to such process, method, article, or apparatus. In the absence of further limitations, an element defined by the phrase "comprising a ..." does not exclude the presence of other identical elements in the process, method, article, or apparatus comprising the element.
[0146] In the several embodiments provided in this application, it should be understood that the disclosed devices and methods can be implemented in other ways. The embodiments described above are merely illustrative. For example, the division of the modules is merely a logical function division. In actual implementation, there may be other division methods, such as: multiple modules or components can be combined, or can be integrated into another system, or some features can be ignored or not executed. In addition, the coupling, direct coupling, or communication connection between the components shown or discussed can be through some interfaces, and the indirect coupling or communication connection of devices or modules can be electrical, mechanical or other forms.
[0147] The modules described above as separate components may or may not be physically separated, and the components displayed as modules may or may not be physical modules; they may be located in one place or distributed across multiple network units; some or all of the modules may be selected according to actual needs to achieve the purpose of this embodiment.
[0148] In addition, all functional modules in the embodiments of the present application can be integrated into one processing unit, or each module can be a separate unit, or two or more modules can be integrated into one unit; the above-mentioned integrated modules can be implemented in the form of hardware or in the form of hardware plus software functional units.
[0149] Those skilled in the art will understand that all or part of the steps of implementing the above-mentioned method embodiment can be completed by hardware related to program instructions, and the aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it executes the steps of the above-mentioned method embodiment; and the aforementioned storage medium includes: mobile storage devices, read-only memories (ROM), magnetic disks or optical disks, and other media that can store program codes.
[0150] Alternatively, if the above-mentioned integrated unit of the present application is implemented in the form of a software functional module and sold or used as an independent product, it can also be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the embodiment of the present application, or the part that contributes to the relevant technology, can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a number of instructions for enabling an electronic device to execute all or part of the methods described in each embodiment of the present application. The aforementioned storage medium includes: various media that can store program codes, such as mobile storage devices, ROMs, magnetic disks or optical disks.
[0151] The methods disclosed in the several method embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments.
[0152] The features disclosed in the several product embodiments provided in this application can be arbitrarily combined without conflict to obtain new product embodiments.
[0153] The features disclosed in the several method or device embodiments provided in this application can be arbitrarily combined without conflict to obtain new method embodiments or device embodiments.
[0154] The above is merely an embodiment of the present application, but the scope of protection of the present application is not limited thereto. Any changes or substitutions that can be easily conceived by a person skilled in the art within the technical scope disclosed in this application should be included in the scope of protection of this application. Therefore, the scope of protection of this application should be based on the scope of protection of the claims.
Claims
1. A method for escaping a lawn mowing robot, characterized in that: The method comprises: When it is detected that the positioning information of the lawn mower robot is lost, identifying obstacles within a preset range of the lawn mower robot; Determine a first vector according to a first projection point of the first reference point of the obstacle on the ground and a second projection point of the second reference point of the mowing robot on the ground; wherein the starting point of the first vector is the first projection point, and the end point of the first vector is the second projection point; The lawn mowing robot is controlled to move based on the posture of the lawn mowing robot and the first vector, so that the lawn mowing robot can escape from trouble.
2. The method according to claim 1, characterized in that The controlling the lawn mower robot to move based on the posture of the lawn mower robot and the first vector so that the lawn mower robot escapes from trouble comprises: determining a first direction based on a first vector of the obstacle; determining a first rotation parameter of the lawn mowing robot based on the first direction and the orientation of the lawn mowing robot; Controlling the lawn mowing robot to rotate based on the first rotation parameter until the orientation of the lawn mowing robot is the same as the first direction; The lawn mowing robot is controlled to move linearly along the first direction.
3. The method according to claim 2, characterized in that There are multiple obstacles, and determining the first direction based on the first vector of the obstacles includes: Calculate the sum of the first vectors corresponding to the multiple obstacles respectively to obtain a second vector; The direction of the second vector is determined to be the first direction.
4. The method according to claim 2, characterized in that: There are multiple obstacles, and determining the first direction based on the first vector of the obstacles includes: Determine at least one group of non-target obstacles among the plurality of obstacles, wherein directions of first vectors corresponding to the group of non-target obstacles are opposite; The first direction is determined according to a first vector of a target obstacle different from the non-target obstacle.
5. The method according to claim 2 or 4, characterized in that: If the lawn mower robot moves to the boundary of the preset range, the process returns to execute the steps of identifying obstacles within the preset range of the lawn mower robot, determining a first vector based on a first projection point of a first reference point of the obstacle on the ground and a second projection point of a second reference point of the lawn mower robot on the ground, and controlling the movement of the lawn mower robot based on the posture of the lawn mower robot and the first vector until the lawn mower robot is out of trouble.
6. The method according to claim 5, characterized in that The first reference point of the obstacle is related to the type of the obstacle.
7. The method according to claim 6, characterized in that When the obstacle is of the first type, the first reference point on the obstacle is the center position of the obstacle; When the obstacle is of the second type, the second reference point on the obstacle is any point of the designated part of the obstacle.
8. A lawn mowing robot escape device, characterized in that: include: An identification module, used for identifying obstacles within a preset range of the lawn mowing robot when it is detected that the positioning information of the lawn mowing robot is lost; A determination module, configured to determine a first vector according to a first projection point of a first reference point of the obstacle on the ground and a second projection point of a second reference point of the mowing robot on the ground; wherein the starting point of the first vector is the first projection point, the end point of the first vector is the second projection point, and the length of the first vector is the distance between the first projection point and the second projection point; The control module is used for controlling the movement of the lawn mower robot based on the posture of the lawn mower robot and the first vector, so that the lawn mower robot can escape from trouble.
9. An electronic device comprising a memory and a processor, wherein the memory stores a computer program that can be run on the processor, characterized in that: When the processor executes the program, the method according to any one of claims 1 to 7 is implemented.
10. A computer-readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the method according to any one of claims 1 to 7 is implemented.
Citation Information
Patent Citations
Robot autonomous obstacle avoidance moving control method based on distance vectors
CN104460666A
Mowing robot vision obstacle avoidance method, mowing robot and readable storage medium
CN109634286A
Robot control method and device, robot and storage medium
CN111984014A
Breaking-out method and device for mowing robot, equipment and storage medium
CN117608285A
Method and apparatus for controlling driving of robot
US20150012164A1