A mowing robot navigation method, device, equipment and storage medium

By calculating the Manhattan distance and preset boundary data, the microcontroller-based lawnmower robot can bypass obstacles, solving the problems of insufficient flexibility and reliability in the lawnmower process and achieving efficient lawnmower path planning.

CN118525660BActive Publication Date: 2026-08-04ZHEJIANG YAT ELECTRICAL APPLIANCE CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ZHEJIANG YAT ELECTRICAL APPLIANCE CO LTD
Filing Date
2024-05-16
Publication Date
2026-08-04

AI Technical Summary

Technical Problem

When encountering obstacles during the mowing process, single-chip microcomputer-controlled lawnmowers lack flexibility and reliability, and cannot effectively bypass obstacles to continue mowing.

Method used

By calculating the Manhattan distance and preset boundary data, the initial boundary points and target points are determined. The mowing path is then replanned by bypassing obstacles along the boundary points of the preset boundary data.

Benefits of technology

This improves the reliability of the microcontroller-based lawnmower robot during the mowing process, enabling it to flexibly change paths to bypass obstacles and complete the mowing task.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118525660B_ABST
    Figure CN118525660B_ABST
Patent Text Reader

Abstract

This application discloses a navigation method, apparatus, device, and storage medium for a lawnmower robot, relating to the field of data processing technology and applied to a microcontroller-based lawnmower robot. The method includes: mowing lawns according to a preset mowing path; if the preset mowing path at the current position is blocked by an obstacle, determining the locations of already mowed areas and unmowed areas to be mowed based on map data of the target lawn, and determining the initial boundary point closest to the current position from preset boundary data; calculating the Manhattan distance between the initial boundary point and the point to be mowed to obtain a first distance, and calculating the walking distance from the initial boundary point along the boundary points of the preset boundary data to the point to be mowed to obtain a second distance; calculating the first and second distances to determine a target point; and continuing mowing from the initial boundary point along the boundary points of the preset boundary data to the target point. In this way, the microcontroller-based lawnmower robot can adjust its path automatically, improving reliability.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of data processing technology, and in particular to a navigation method, apparatus, device, and storage medium for a lawnmower robot. Background Technology

[0002] Currently, many manufacturers' lawnmowers use Linux (an operating system) as the main control unit, essentially making them small computers. They boast high processing speeds, multi-process and multi-threaded operation, tens of gigabytes of storage, and the ability to run many existing algorithm libraries. They are often equipped with multiple cameras and even LiDAR, making the overall cost very high. In contrast, microcontroller-based lawnmowers primarily consist of a microcontroller, ultrasonic sensors, cameras, collision sensors, motors, and a high-precision GNSS (Global Navigation Satellite System) positioning module. Compared to Linux-based lawnmowers, they have lower processing speeds, less storage (typically only tens of megabytes), and cannot run complex algorithms or image recognition libraries like OpenCV (a cross-platform computer vision library). Therefore, their functionality is significantly limited, but they offer a substantial price advantage. Furthermore, during the mowing process, due to the limited computing power of microcontroller-based lawnmowers, if an obstacle is encountered while mowing along a pre-set route, an alarm is usually triggered directly to remind the staff to remove the obstacle. Thus, although microcontroller-based lawnmowers have a cost advantage, there is still considerable room for improvement in the reliability and flexibility of the mowing process.

[0003] Therefore, improving the flexibility of microcontroller-based lawnmowers when facing obstacles during lawnmowing is a problem that needs to be solved in this field. Summary of the Invention

[0004] In view of this, the purpose of this invention is to provide a navigation method, device, equipment, and storage medium for a lawnmower robot. The path of the microcontroller-based lawnmower robot can be flexibly adjusted according to obstacles during lawnmowing, thus improving the reliability of the robot during the mowing process. The specific solution is as follows:

[0005] In a first aspect, this application provides a navigation method for a lawnmower robot, applicable to a microcontroller-based lawnmower robot, comprising:

[0006] The robot mows the target lawn according to a preset mowing path. If it determines that the preset mowing path corresponding to its current position is blocked by an obstacle and cannot be passed, it determines the points corresponding to the mowed area and several points to be mowed corresponding to the unmowed area based on the map data of the target lawn, and determines the initial boundary point closest to the current position from the preset boundary data. The preset boundary data is used to limit the activity boundary of the mowing robot in the target lawn.

[0007] Calculate the Manhattan distance between the initial boundary point and the plurality of grass-to-move points to obtain a first distance, and calculate the walking distance from the initial boundary point along the boundary point of the preset boundary data to the plurality of grass-to-move points to obtain a second distance;

[0008] The first distance and the second distance are calculated using a preset target point calculation formula, so as to determine the target point from the grass-to-move points based on the corresponding calculation results;

[0009] From the initial boundary point, follow the boundary point corresponding to the preset boundary data to the target point, so as to continue mowing the target lawn.

[0010] Optionally, the step of mowing the target lawn according to a preset mowing path includes:

[0011] After mowing the lawn at a point on the map data corresponding to the target lawn according to the preset mowing path, mark that point on the map data as the mowed area.

[0012] Based on the mowed areas and corresponding unmowed areas in the map data, a preset mowing path is regenerated to mow the target lawn.

[0013] Optionally, determining that the preset mowing path corresponding to one's current position is blocked by an obstacle and cannot be passed includes:

[0014] The system acquires real-time feedback data from its own collision sensors while traveling along the preset mowing path.

[0015] If the feedback data indicates a collision, it is determined that the preset mowing path corresponding to the user's current position is blocked by an obstacle and cannot be passed.

[0016] Optionally, the calculation of the walking distance from the initial boundary point to several of the grass-to-move points along the boundary points of the preset boundary data to obtain the second distance includes:

[0017] Calculate the clockwise and counterclockwise walking distances from the initial boundary point to the grass-cutting point along the boundary points of the preset boundary data in clockwise and counterclockwise directions, respectively;

[0018] The shorter of the clockwise and counterclockwise walking distances is determined as the second distance from the initial boundary point to the mowing point.

[0019] Optionally, the step of moving from the initial boundary point along the boundary point corresponding to the preset boundary data to the target point to continue mowing the target lawn includes:

[0020] From the initial boundary point, proceed clockwise or counterclockwise along the boundary point corresponding to the preset boundary data to the target point, and determine whether the movement is blocked by the obstacle and cannot pass through during the movement;

[0021] If so, proceed counterclockwise or clockwise along the boundary points corresponding to the preset boundary data to the target point in order to continue mowing the target lawn.

[0022] Optionally, the step of moving from the initial boundary point along the boundary point corresponding to the preset boundary data to the target point includes:

[0023] If, during the process of moving from the initial boundary point to the target point along the boundary points corresponding to the preset boundary data in a clockwise or counterclockwise direction, the route is blocked by the obstacle and cannot be passed, an alarm operation is triggered to remind relevant personnel to handle the situation.

[0024] Optionally, the method further includes:

[0025] During the mowing process, it is determined whether the proportion of points marked as mowed areas in the map data to all points in the map data is greater than a preset threshold.

[0026] If so, the operation of mowing the target lawn according to the preset mowing path will be terminated.

[0027] Secondly, this application provides a navigation device for a lawnmower robot, applied to a microcontroller-based lawnmower robot, comprising:

[0028] The point statistics module is used to mow the target lawn according to a preset mowing path. If it is determined that the preset mowing path corresponding to its current position is blocked by an obstacle and cannot be passed, it determines the points corresponding to the mowed area and several points to be mowed corresponding to the unmowed area based on the map data of the target lawn, and determines the initial boundary point closest to the current position from the preset boundary data; the preset boundary data is used to limit the activity boundary of the mowing robot in the target lawn.

[0029] The distance calculation module is used to calculate the Manhattan distance between the initial boundary point and the plurality of grass-to-move points to obtain a first distance, and to calculate the walking distance from the initial boundary point along the boundary point of the preset boundary data to the plurality of grass-to-move points to obtain a second distance;

[0030] The point determination module is used to calculate the first distance and the second distance using a preset target point calculation formula, so as to determine the target point from the grass-to-move points according to the corresponding calculation results;

[0031] The moving module is used to move from the initial boundary point to the boundary point corresponding to the preset boundary data to the target point so as to continue mowing the target lawn.

[0032] Thirdly, this application provides an electronic device, comprising:

[0033] Memory, used to store computer programs;

[0034] A processor for executing the computer program to implement the lawnmower robot navigation method described above.

[0035] Fourthly, this application provides a computer-readable storage medium for storing a computer program that, when executed by a processor, implements the lawnmower robot navigation method described above.

[0036] Therefore, the microcontroller-based lawnmower robot in this application can mow a target lawn according to a preset mowing path. If it determines that the preset mowing path corresponding to its current position is blocked by an obstacle and cannot be passed, it determines the points corresponding to the mowed area and several points to be mowed corresponding to the unmowed area based on the map data of the target lawn, and determines the initial boundary point closest to the current position from the preset boundary data. The preset boundary data is used to limit the activity boundary of the lawnmower robot in the target lawn. Then, it calculates the Manhattan distance between the initial boundary point and several points to be mowed to obtain a first distance, and calculates the walking distance from the initial boundary point along the boundary points of the preset boundary data to the several points to be mowed to obtain a second distance. Then, it calculates the first distance and the second distance using a preset target point calculation formula to determine the target point from the points to be mowed based on the corresponding calculation results. After that, it can walk from the initial boundary point along the boundary points corresponding to the preset boundary data to the target point to continue mowing the target lawn. In this way, when a microcontroller-based lawnmower encounters an obstacle during the mowing process that prevents it from following the pre-set mowing path, it can identify the unmowed areas in the lawn and obtain a suitable target point through a pre-set calculation formula. It can then attempt to bypass the obstacle and reach the calculated target point by following the boundary points corresponding to the pre-set boundary data. This allows it to bypass obstacles, and the mowing path can be flexibly adjusted according to obstacles, improving the reliability of the microcontroller-based lawnmower during the mowing process. Attached Figure Description

[0037] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.

[0038] Figure 1 This is a flowchart of a navigation method for a lawnmower robot disclosed in this application;

[0039] Figure 2 This application discloses a specific navigation method for a lawnmower robot.

[0040] Figure 3 This is a schematic diagram of a specific bow-shaped path disclosed in this application;

[0041] Figure 4 This is a schematic diagram illustrating a specific Manhattan distance calculation method disclosed in this application;

[0042] Figure 5This is a specific travel distance diagram disclosed in this application;

[0043] Figure 6 This is a schematic diagram of map elements corresponding to a specific lawn mowing task disclosed in this application;

[0044] Figure 7 This is a schematic diagram of the structure of a navigation device for a lawnmower robot disclosed in this application;

[0045] Figure 8 This is a structural diagram of an electronic device disclosed in this application. Detailed Implementation

[0046] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0047] See Figure 1 As shown, this invention discloses a navigation method for a lawnmower robot, applied to a microcontroller-based lawnmower robot, comprising:

[0048] Step S11: Mow the target lawn according to the preset mowing path. If it is determined that the preset mowing path corresponding to the current position is blocked by an obstacle and cannot be passed, then determine the points corresponding to the mowed area and the several points to be mowed corresponding to the unmowed area according to the map data of the target lawn, and determine the initial boundary point closest to the current position from the preset boundary data; the preset boundary data is used to limit the activity boundary of the mowing robot in the target lawn.

[0049] In this embodiment, the microcontroller-based lawnmower robot first mows the target lawn according to a preset mowing path. If there are no obstacles in the path, the mowing task can be completed directly. If there are obstacles in the path and the robot cannot proceed according to the preset mowing path, the microcontroller-based lawnmower robot can attempt to bypass the obstacle. Of course, if it is ultimately determined that it cannot bypass the obstacle, it can then prompt the operator for assistance. Specifically, because the microcontroller-based lawnmower robot cannot run an image recognition library, it cannot determine whether it can bypass the obstacle through an image. If it is determined that the next mowing path corresponding to the current position is blocked by an obstacle, the microcontroller-based lawnmower robot can mark the points of the mowed area and the points of the unmowed area to be mowed in the map data corresponding to the target lawn based on the already traveled mowing path. Furthermore, the preset boundary data is used to limit the activity boundary of the microcontroller-based lawnmower robot on the target lawn. It can be understood that the microcontroller-based lawnmower robot has a certain width, so the actual mowing range is wider than its own center point; while the preset boundary data is constructed based on the center point of the microcontroller-based lawnmower robot, so the boundary points corresponding to the preset boundary data are completely within the map data of the target lawn.

[0050] In one specific embodiment, mowing the target lawn according to a preset mowing path may include: after mowing at a point in the map data corresponding to the target lawn according to the preset mowing path, marking that point in the map data as a mowed area; regenerating the preset mowing path based on the mowed area and the corresponding unmowed area in the map data, and mowing the target lawn based on the regenerated preset mowing path. Specifically, when the microcontroller-controlled lawnmower mower mows the target lawn according to a preset mowing path, it travels along the preset path and marks the already traveled path in the map data of the target lawn during its movement, that is, marking the points in the map data where the lawn has been mowed as mowed areas. Furthermore, the microcontroller-controlled lawnmower mows the target lawn based on the mowed areas and corresponding unmowed areas in the map data, so that it can mow the lawn according to the generated mowing path in the future. For example, the microcontroller-controlled lawnmower mows the target lawn according to a preset bow-shaped mowing path or a square-shaped mowing path. During the mowing process, the distance and angle of travel can be controlled at the corners of the path to maintain the mowing path in real time.

[0051] In one specific embodiment, determining that the preset mowing path corresponding to the robot's current position is blocked by an obstacle can include: acquiring feedback data from its own collision sensors in real time while moving along the preset mowing path; if the feedback data indicates a collision, then determining that the preset mowing path corresponding to the robot's current position is blocked by an obstacle. Specifically, when the microcontroller-based mowing robot is moving along the preset mowing path, if a collision is detected by its own collision sensors, it can determine that the next preset mowing path corresponding to its current position is blocked by an obstacle. In a specific embodiment, the microcontroller-based mowing robot can also combine ultrasonic waves and a camera to determine whether it has encountered an obstacle.

[0052] Step S12: Calculate the Manhattan distance between the initial boundary point and the plurality of grass-to-move points to obtain the first distance, and calculate the walking distance from the initial boundary point along the boundary point of the preset boundary data to the plurality of grass-to-move points to obtain the second distance.

[0053] In this embodiment, when the microcontroller-controlled lawnmower robot cannot proceed along the preset mowing path due to obstacles, it can determine the initial boundary point closest to its current position. Then, it can calculate the Manhattan distance between the initial boundary point and the unmowed area's unmowed grass point, thus obtaining the first distance. Correspondingly, it can also calculate the walking distance from the initial boundary point along the boundary point to the unmowed grass point, thus obtaining the second distance.

[0054] In one specific embodiment, calculating the walking distance from the initial boundary point to several mowing points along the boundary points of the preset boundary data to obtain the second distance may include: calculating the clockwise and counterclockwise walking distances from the initial boundary point to the mowing points along the boundary points of the preset boundary data in clockwise and counterclockwise directions, respectively; and determining the minimum walking distance between the clockwise and counterclockwise walking distances as the second distance from the initial boundary point to the mowing points. Specifically, since the lawn is enclosed, the boundary points corresponding to the preset boundary data are also enclosed areas. The walking distance along the initial boundary point to another point may include both clockwise and counterclockwise paths. In this application, only the shorter distance of these two paths is calculated to obtain the second distance.

[0055] Step S13: Calculate the first distance and the second distance using a preset target point calculation formula, and determine the target point from the grass-to-be-cutted points based on the corresponding calculation results.

[0056] Furthermore, through the above steps, the first distance and the second distance between the microcontroller-controlled lawnmower robot and the lawn mowing point can be obtained. Then, the first distance and the second distance can be calculated using a preset target point calculation formula to obtain the calculation result. This calculation result can represent a comprehensive evaluation of the distance between the current position and the lawn mowing point. Based on this calculation result, a target point can be determined.

[0057] In one specific embodiment, the method may further include: during the mowing process, determining whether the proportion of points marked as mowed areas in the map data to all points in the map data is greater than a preset threshold; if so, terminating the mowing operation of the target lawn according to the preset mowing path. Specifically, it can be understood that during the mowing process, the mowed and unmowed areas in the map data are updated in real time, so that mowing can be determined to be completed in a timely manner when the proportion of mowed areas to all points in the map data is greater than the preset threshold; in this way, even if obstacles are encountered during the mowing process, the microcontroller-based mowing robot can choose to directly terminate mowing when the mowing is determined to be completed by judging the proportion of mowed areas, and obstacles do not affect the completion of the mowing task.

[0058] Step S14: From the initial boundary point, follow the boundary point corresponding to the preset boundary data to the target point, so as to continue mowing the target lawn.

[0059] Furthermore, the above steps can determine the current position of the microcontroller-based lawnmower robot when it encounters an obstacle, the nearest initial boundary point, and the corresponding target point. The robot can then move from its current position to the initial boundary point, and then along the boundary points of the preset boundary data to reach the target point to continue mowing. In a specific embodiment, the step of moving from the initial boundary point along the boundary points corresponding to the preset boundary data to the target point to continue mowing the target lawn can include: moving from the initial boundary point in a clockwise or counterclockwise direction along the boundary points corresponding to the preset boundary data to the target point, and determining whether the movement is blocked by an obstacle; if so, moving in a counterclockwise or clockwise direction along the boundary points corresponding to the preset boundary data to the target point to continue mowing the target lawn. Specifically, during actual movement, the microcontroller robot can travel along the path corresponding to the calculated target point, that is, from the initial boundary point, it can move clockwise or counterclockwise along the boundary points of the preset boundary data to the target point; furthermore, if it still cannot avoid obstacles, it can try to move in another direction, that is, move counterclockwise or clockwise along the boundary points to the target point.

[0060] In another specific embodiment, the process of moving from the initial boundary point to the target point along the boundary points corresponding to the preset boundary data can include: if the robot is blocked by an obstacle and cannot pass through while moving from the initial boundary point to the target point in a clockwise or counterclockwise direction along the boundary points corresponding to the preset boundary data, an alarm operation is triggered to remind relevant personnel to handle the situation. Specifically, if the microcontroller-based lawnmower robot is also blocked by an obstacle while moving from the initial boundary point to the target point in a clockwise or counterclockwise direction along the boundary points corresponding to the preset boundary data, it indicates that the obstacle cannot be avoided, and relevant personnel need to be notified to handle the situation, thus triggering the corresponding alarm operation. In a specific embodiment, when an obstacle in the target lawn blocks the next mowing path of the microcontroller-based lawnmower robot, there is a discrepancy between the obstacle's position in the target lawn and its position in the preset boundary data. For example, if the microcontroller robot is 50 centimeters wide and a rectangular area in the lawn is one meter wide (denoted as 0 to 100 centimeters), the corresponding boundary data for the microcontroller-based lawnmower robot should be 25 centimeters and 75 centimeters. However, if there is an obstacle in this rectangular area that is 30 to 50 centimeters wide, the microcontroller robot has only one way to pass through this rectangular area. In a real-world scenario, the microcontroller-based lawnmower robot cannot determine whether it can bypass the obstacle based on the image. When it encounters an obstacle, it can first determine the nearest boundary point to its current position based on the preset boundary data, thus identifying a mowing point. Then, it moves along the boundary point to that mowing point. In this way, when the microcontroller-based lawnmower robot is blocked by an obstacle during the mowing process, it can try to avoid the obstacle based on the boundary point.

[0061] It should be noted that the microcontroller-based lawn mowing robot can mow the target lawn according to the preset mowing path. The preset mowing path can be a complete mowing path for the target lawn that is input by the staff. During the subsequent mowing process, the mowed and unmowed areas in the map data of the target lawn are updated and maintained in real time.

[0062] Therefore, when the microcontroller-based lawnmower robot in this application encounters obstacles during the mowing process, preventing it from following the pre-set mowing path, it can determine the un-mowed areas in the lawn and obtain suitable target points through a pre-set calculation formula. It then attempts to bypass the obstacle and reach the calculated target point by following the boundary points corresponding to the pre-set boundary data. This allows it to bypass obstacles, and the mowing path can be flexibly changed according to obstacles. Even if it does not support graphics libraries such as OpenCV, it can still try to solve the problem of the mowing path being blocked by obstacles, thus improving the reliability of the microcontroller-based lawnmower robot during the mowing process.

[0063] like Figure 2 As shown in the figure, this application discloses a navigation method for a lawnmower robot, applied to a microcontroller-based lawnmower robot, including:

[0064] In this embodiment, the microcontroller-based lawnmower robot can mow the target lawn according to a pre-set bow-shaped mowing path. During mowing, given the current position and the historical trajectory, it can backtrack from the current position along the historical trajectory to check if there are any adjacent unmowed areas. If unmowed points exist, they can be stored in the target point list. Subsequently, the point closest to the current position can be selected as the target point. Then, A* (a pathfinding and graph traversal algorithm) is used to plan the path from the current position to the target point, and the bow-shaped search is repeated to continue mowing. Figure 3 The diagram shown is a schematic of an arc-shaped path.

[0065] Furthermore, during the mowing process, if the pre-planned path is blocked by an obstacle, indicating a failure to proceed along the planned path as indicated by the collision sensor signal, the robot can first determine the proportion of the currently mowed area to the total lawn area. If this proportion is greater than a preset threshold (e.g., 95%), mowing can be considered complete, and the mowing process can be terminated. After mowing, the robot can enter trimming mode. Conversely, if the proportion of the currently mowed area to the total lawn area is less than a preset threshold, the robot can determine the set of points corresponding to the currently unmowed area based on the map data corresponding to the target lawn, i.e., the candidate target point set. If this target point set is not empty, each candidate point can be scored to determine a target point. The microcontroller-controlled mowing robot can then proceed to this target point along the boundary points of the preset boundary data to avoid obstacles and continue mowing. After avoiding obstacles, it can continue mowing according to the pre-set mowing path.

[0066] In a specific embodiment, when the pre-planned path is blocked by an obstacle, if there are unmowed points in the map data of the target lawn, the Manhattan distance between all unmowed points p(x,y) and the robot's current position r(x0,y0) can be calculated and normalized to obtain the first score S1. Figure 4 As shown, the Manhattan distance is calculated using d1 and d2; correspondingly, the lawnmower robot can calculate the nearest boundary point pt to its current position, and then calculate the distance to the unmowed areas within pt. In actual operation, the robot first plans to go to the nearest boundary point, and then moves along this nearest boundary point (clockwise / counterclockwise) to the target boundary point, calculating the total distance of the waypoints along the way, as shown. Figure 5 As shown, the total distance traveled is then normalized to obtain the second score S2; as... Figure 5The figure shows a schematic diagram of the path waypoints. Further, the total score y = -k*logx {x=(s1+s2) / 2); 0<x<1.0} can be calculated; to improve the calculation resolution, k = 100 is taken. Then the target point with the largest score is selected. Table 1 below shows the common values of -k*logx {x; 0<x<1.0}.

[0067] Table 1

[0068]

[0069] Further, after determining the final target point according to the total score y, A* can be used to search for the nearest initial boundary point from the current position to obtain the first segment of the path; then from the initial boundary point to the nearest target boundary point of the target point, along the boundary is the second segment of the path; then the two segments of the path are spliced to obtain the final path. The single-chip mower robot can try to avoid obstacles based on this final path, go to the target point, and continue mowing after reaching the target point.

[0070] In a specific embodiment, as Figure 6 The figure shows the map elements corresponding to the mowing task of the mower robot. Before the mower officially works, relevant personnel can first remotely control the machine to go around the lawn once to generate boundary data and store it in the memory; and the charging pile coordinates, connection paths, return charging paths, etc. can be set. After that, the mower robot comes out of the charging pile, obtains the current positioning of the machine by acquiring high-precision GNSS data to generate a grid map, that is, map data; then it can reach the lawn map along the return charging path. After completing one lawn map, it reaches another lawn map along the connection path. After all are completed, it returns to the charging pile along the connection path and the return charging path. The behaviors such as bow-shaped path planning and obstacle avoidance are only executed during mowing. During mowing, ultrasonic, camera, and collision sensor data can be obtained in real time. After being triggered, the current walking will end, the grid value of the grid map will be updated, and the obstacle avoidance strategy will be used to avoid obstacles, and then the bow-shaped planning or supplementary mowing planning will start again from the current position of the machine.

[0071] Therefore, when the microcontroller-based lawnmower robot in this application encounters obstacles during the mowing process, preventing it from following the pre-set mowing path, it can determine the areas of the lawn that have not yet been mowed. By combining the areas of the mowed and unmowed areas, it can determine whether to stop mowing or try to avoid the obstacle to continue mowing. If it continues mowing, it can calculate the points of the unmowed areas using a pre-set calculation formula to obtain suitable target points. It can then attempt to bypass the obstacle and reach the calculated target points by following the boundary points corresponding to the pre-set boundary data. This allows it to bypass obstacles, and the mowing path can be flexibly changed according to obstacles. Even if it does not support graphics libraries such as OpenCV, it can still try to solve the problem of the mowing path being blocked by obstacles, thus improving the reliability of the microcontroller-based lawnmower robot during the mowing process.

[0072] like Figure 7 As shown in the figure, this application discloses a lawnmower robot navigation device, applied to a microcontroller-based lawnmower robot, comprising:

[0073] The point statistics module 11 is used to mow the target lawn according to a preset mowing path. If it is determined that the preset mowing path corresponding to its current position is blocked by an obstacle and cannot be passed, it determines the points corresponding to the mowed area and several points to be mowed corresponding to the unmowed area based on the map data of the target lawn, and determines the initial boundary point closest to the current position from the preset boundary data. The preset boundary data is used to limit the activity boundary of the mowing robot in the target lawn.

[0074] The distance calculation module 12 is used to calculate the Manhattan distance between the initial boundary point and the plurality of grass-to-move points to obtain a first distance, and to calculate the walking distance from the initial boundary point along the boundary point of the preset boundary data to the plurality of grass-to-move points to obtain a second distance;

[0075] The point determination module 13 is used to calculate the first distance and the second distance using a preset target point calculation formula, so as to determine the target point from the grass-to-move points according to the corresponding calculation results;

[0076] The moving module 14 is used to move from the initial boundary point to the boundary point corresponding to the preset boundary data to the target point so as to continue mowing the target lawn.

[0077] Therefore, when the microcontroller-based lawnmower robot in this application encounters obstacles during the mowing process and is unable to proceed along the pre-set mowing path, it can determine the area of ​​the lawn that has not yet been mowed, and obtain a suitable target point through a pre-set calculation formula. It then attempts to bypass the obstacle and reach the calculated target point by following the boundary points corresponding to the pre-set boundary data. In this way, it can bypass obstacles, and the mowing path can be flexibly changed according to obstacles, thereby improving the reliability of the microcontroller-based lawnmower robot during the mowing process.

[0078] In one specific embodiment, the location statistics module 11 may include:

[0079] The point marking unit is used to mark the point in the map data as a mowed area after mowing at a point in the map data corresponding to the target lawn according to the preset mowing path.

[0080] The path generation unit is used to regenerate a preset mowing path based on the mowed area and the corresponding unmowed area in the map data, so as to mow the target lawn based on the regenerated preset mowing path.

[0081] In another specific embodiment, the point counting module 11 may include:

[0082] The feedback data acquisition unit is used to acquire feedback data from its own collision sensor in real time while traveling along the preset mowing path.

[0083] An obstacle determination unit is used to determine that the preset mowing path corresponding to its current position is blocked by an obstacle and cannot be passed when the feedback data indicates a collision.

[0084] In one specific embodiment, the distance calculation module 12 may include:

[0085] The walking distance calculation unit is used to calculate the clockwise walking distance and the counterclockwise walking distance from the initial boundary point to the grass-cutting point along the boundary point of the preset boundary data in a clockwise and counterclockwise direction, respectively.

[0086] The second distance determination unit is used to determine the minimum walking distance between the clockwise walking distance and the counterclockwise walking distance as the second distance from the initial boundary point to the grass-cutting point.

[0087] In one specific embodiment, the moving module 14 may include:

[0088] The first moving unit is used to move from the initial boundary point to the target point along the boundary point corresponding to the preset boundary data in a clockwise or counterclockwise direction, and to determine whether it is blocked by the obstacle and cannot pass through during the movement.

[0089] The second moving unit is used to move to the target point in a counterclockwise or clockwise direction along the boundary point corresponding to the preset boundary data when it is blocked by the obstacle during the movement, so as to continue mowing the target lawn.

[0090] In another specific embodiment, the moving module 14 may include:

[0091] The alarm unit is used to trigger an alarm operation when the person is blocked by an obstacle and cannot pass through while moving from the initial boundary point to the target point along the boundary point corresponding to the preset boundary data in a clockwise or counterclockwise direction. This is to remind relevant personnel to handle the situation.

[0092] In one specific embodiment, the device may further include:

[0093] The point ratio judgment module is used to determine, during the lawn mowing process, whether the ratio of points marked as mowed areas in the map data to all points in the map data is greater than a preset threshold.

[0094] The lawn mowing termination module is used to terminate the lawn mowing operation according to the preset mowing path when the proportion of points marked as mowed areas in the map data to all points in the map data is greater than a preset threshold.

[0095] Furthermore, embodiments of this application also disclose an electronic device, Figure 8 This is a structural diagram of an electronic device 20 according to an exemplary embodiment. The content of the diagram should not be construed as limiting the scope of this application.

[0096] Figure 8 This is a schematic diagram of the structure of an electronic device 20 provided in an embodiment of this application. Specifically, the electronic device 20 may include: at least one processor 21, at least one memory 22, a power supply 23, a communication interface 24, an input / output interface 25, and a communication bus 26. The memory 22 stores a computer program, which is loaded and executed by the processor 21 to implement the relevant steps in the lawnmower robot navigation method disclosed in any of the foregoing embodiments. Alternatively, the electronic device 20 in this embodiment may specifically be an electronic computer.

[0097] In this embodiment, the power supply 23 is used to provide operating voltage for each hardware device on the electronic device 20; the communication interface 24 can create a data transmission channel between the electronic device 20 and external devices, and the communication protocol it follows can be any communication protocol applicable to the technical solution of this application, and is not specifically limited here; the input / output interface 25 is used to acquire external input data or output data to the outside world, and its specific interface type can be selected according to specific application needs, and is not specifically limited here.

[0098] In addition, the memory 22, as a carrier for resource storage, can be a read-only memory, random access memory, disk or optical disk, etc. The resources stored thereon can include operating system 221, computer program 222, etc., and the storage method can be temporary storage or permanent storage.

[0099] The operating system 221 is used to manage and control the various hardware devices on the electronic device 20 and the computer program 222, which may be Windows Server, Netware, Unix, Linux, etc. In addition to including a computer program capable of performing the lawnmower navigation method executed by the electronic device 20 as disclosed in any of the foregoing embodiments, the computer program 222 may further include a computer program capable of performing other specific tasks.

[0100] Furthermore, this application also discloses a computer-readable storage medium for storing a computer program; wherein, when the computer program is executed by a processor, it implements the aforementioned disclosed lawnmower robot navigation method. Specific steps of this method can be found in the corresponding content disclosed in the foregoing embodiments, and will not be repeated here.

[0101] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the apparatus disclosed in the embodiments, since it corresponds to the method disclosed in the embodiments, the description is relatively simple; relevant parts can be referred to in the method section.

[0102] Those skilled in the art will further recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both. To clearly illustrate the interchangeability of hardware and software, the components and steps of the various examples have been generally described in terms of functionality in the foregoing description. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0103] The steps of the methods or algorithms described in conjunction with the embodiments disclosed herein can be implemented directly by hardware, a software module executed by a processor, or a combination of both. The software module can be located in random access memory (RAM), main memory, read-only memory (ROM), electrically programmable ROM, electrically erasable programmable ROM, registers, hard disk, removable disk, CD-ROM, or any other form of storage medium known in the art.

[0104] Finally, it should be noted that in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0105] The technical solutions provided in this application have been described in detail above. Specific examples have been used to illustrate the principles and implementation methods of this application. The descriptions of the above embodiments are only for the purpose of helping to understand the methods and core ideas of this application. At the same time, for those skilled in the art, there will be changes in the specific implementation methods and application scope based on the ideas of this application. Therefore, the content of this specification should not be construed as a limitation of this application.

Claims

1. A navigation method for a lawnmower robot, characterized in that, Applications include microcontroller-based lawnmower robots, including: The robot mows the target lawn according to a preset mowing path. If it determines that the preset mowing path corresponding to its current position is blocked by an obstacle and cannot be passed, it determines the points corresponding to the mowed area and several points to be mowed corresponding to the unmowed area based on the map data of the target lawn, and determines the initial boundary point closest to the current position from the preset boundary data. The preset boundary data is used to limit the activity boundary of the mowing robot in the target lawn. Calculate the Manhattan distance between the initial boundary point and the plurality of grass-to-move points to obtain a first distance, and calculate the walking distance from the initial boundary point along the boundary point of the preset boundary data to the plurality of grass-to-move points to obtain a second distance; The first distance and the second distance are calculated using a preset target point calculation formula, so as to determine the target point from the grass-to-move points based on the corresponding calculation results; From the initial boundary point along the boundary point corresponding to the preset boundary data to the target point, so as to continue mowing the target lawn; The calculation of the walking distance from the initial boundary point to several of the grass-to-move points along the boundary points of the preset boundary data, to obtain the second distance, includes: Calculate the clockwise and counterclockwise walking distances from the initial boundary point to the grass-cutting point along the boundary points of the preset boundary data in clockwise and counterclockwise directions, respectively; The shorter of the clockwise and counterclockwise walking distances is determined as the second distance from the initial boundary point to the mowing point.

2. The lawnmower robot navigation method according to claim 1, characterized in that, The step of mowing the target lawn according to a preset mowing path includes: After mowing the lawn at a point on the map data corresponding to the target lawn according to the preset mowing path, mark that point on the map data as the mowed area. Based on the mowed areas and corresponding unmowed areas in the map data, a preset mowing path is regenerated to mow the target lawn.

3. The lawnmower robot navigation method according to claim 1, characterized in that, The determination that the preset mowing path corresponding to one's current position is blocked by an obstacle and cannot be passed includes: The system acquires real-time feedback data from its own collision sensors while traveling along the preset mowing path. If the feedback data indicates a collision, it is determined that the preset mowing path corresponding to the user's current position is blocked by an obstacle and cannot be passed.

4. The lawnmower robot navigation method according to claim 1, characterized in that, The step of moving from the initial boundary point along the boundary point corresponding to the preset boundary data to the target point, so as to continue mowing the target lawn, includes: From the initial boundary point, proceed clockwise or counterclockwise along the boundary point corresponding to the preset boundary data to the target point, and determine whether the movement is blocked by the obstacle and cannot pass through during the movement; If so, proceed counterclockwise or clockwise along the boundary points corresponding to the preset boundary data to the target point in order to continue mowing the target lawn.

5. The lawnmower robot navigation method according to claim 4, characterized in that, The process of moving from the initial boundary point along the boundary point corresponding to the preset boundary data to the target point includes: If, during the process of moving from the initial boundary point to the target point along the boundary points corresponding to the preset boundary data in a clockwise or counterclockwise direction, the route is blocked by the obstacle and cannot be passed, an alarm operation is triggered to remind relevant personnel to handle the situation.

6. The lawnmower robot navigation method according to any one of claims 1 to 5, characterized in that, Also includes: During the mowing process, it is determined whether the proportion of points marked as mowed areas in the map data to all points in the map data is greater than a preset threshold. If so, the operation of mowing the target lawn according to the preset mowing path will be terminated.

7. A navigation device for a lawnmower robot, characterized in that, Applications include microcontroller-based lawnmower robots, including: The point statistics module is used to mow the target lawn according to a preset mowing path. If it is determined that the preset mowing path corresponding to its current position is blocked by an obstacle and cannot be passed, it determines the points corresponding to the mowed area and several points to be mowed corresponding to the unmowed area based on the map data of the target lawn, and determines the initial boundary point closest to the current position from the preset boundary data; the preset boundary data is used to limit the activity boundary of the mowing robot in the target lawn. The distance calculation module is used to calculate the Manhattan distance between the initial boundary point and the plurality of grass-to-move points to obtain a first distance, and to calculate the walking distance from the initial boundary point along the boundary point of the preset boundary data to the plurality of grass-to-move points to obtain a second distance; The point determination module is used to calculate the first distance and the second distance using a preset target point calculation formula, so as to determine the target point from the grass-to-move points according to the corresponding calculation results; The moving module is used to move from the initial boundary point to the boundary point corresponding to the preset boundary data to the target point so as to continue mowing the target lawn; The distance calculation module includes: The walking distance calculation unit is used to calculate the clockwise walking distance and the counterclockwise walking distance from the initial boundary point to the grass-cutting point along the boundary point of the preset boundary data in a clockwise and counterclockwise direction, respectively. The second distance determination unit is used to determine the minimum walking distance between the clockwise walking distance and the counterclockwise walking distance as the second distance from the initial boundary point to the grass-cutting point.

8. An electronic device, characterized in that, include: Memory, used to store computer programs; A processor for executing the computer program to implement the lawnmower robot navigation method as described in any one of claims 1 to 6.

9. A computer-readable storage medium, characterized in that, Used to store a computer program, which, when executed by a processor, implements the lawnmower robot navigation method as described in any one of claims 1 to 6.