A region division method, device and computer readable storage medium
Patent Information
- Application Number
- CN202310394123.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-13
- Publication Date
- 2026-10-30
- Estimated Expiration
- 2043-04-13
AI Technical Summary
使用此种方式对预设区域范围内进行区域的划分时,需要机器人在预设区域范围内行走,导致机器人的工作量较大,此外,还需要使用雷达或者其它定位装置,而雷达或者其它定位装置容易受到外界干扰,导致得到的区域划分结果不准确
[0039]本申请提供了一种区域划分方法、装置及计算机可读存储介质,涉及机器人控制领域。该方案中,控制机器人沿定位电线行走至少一圈后,确定定位电线上的各个位置点;确定用户基于定位电线上的各个位置点设定的划分点;基于划分点进行预设区域范围的区域划分,确定区域划分后的各个子区域;控制机器人在各个子区域工作。可见,本申请中设置定位电线的方式,使得机器人只需沿着定位电线行走即可,无需在整个预设区域范围内行走,降低了机器人的工作量,提高区域划分的效率;机器人上无需使用雷达或其定位装置,避免受到外界干扰,提高区域划分结果的准确性,此外,本申请还可以根据用户需求实现对多种子区域的划分,满足用户的多种需求。
Smart Images

Figure CN118848951B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of robot control, and in particular to a method, apparatus and computer-readable storage medium for region division. Background Technology
[0002] In existing technologies, when a robot moves within a preset area, it needs to operate in different modes depending on the road conditions or environment in different areas. For example, if the robot is an outdoor lawnmower and the grass varieties differ in different areas within the preset area, the robot needs to perform lawnmowing tasks in each area according to different working modes.
[0003] However, in existing technologies, dividing a preset area requires the installation of radar or other positioning devices on the robot. As the robot moves within the preset area, the radar or other positioning devices acquire its pose information, and the area is then divided based on this pose information. This method of dividing the preset area necessitates the robot's movement within that area, resulting in a significant workload. Furthermore, the use of radar or other positioning devices is susceptible to external interference, leading to inaccurate area division results. Summary of the Invention
[0004] The purpose of this application is to provide a method, apparatus, and computer-readable storage medium for area division. By setting positioning wires, the robot only needs to walk along the positioning wires, without having to walk within the entire preset area, thus reducing the robot's workload and improving the efficiency of area division. The robot does not need to use radar or its positioning device, avoiding external interference and improving the accuracy of the area division results. In addition, this application can also divide multiple sub-regions according to user needs, meeting various user requirements.
[0005] To address the aforementioned technical problems, this application provides a method for dividing a region, wherein positioning wires are set within a preset area for robot movement, and the method includes:
[0006] After controlling the robot to walk along the positioning wire at least one lap, determine each position point on the positioning wire;
[0007] Determine the division points set by the user based on each of the location points on the positioning wire;
[0008] Based on the dividing points, the preset area is divided into regions, and each sub-region after the region is divided is determined.
[0009] Control the robot to work in each of the sub-regions.
[0010] Preferably, the step of dividing the preset area based on the dividing point and determining the sub-regions after the area division includes:
[0011] The division points are connected according to their generation order to determine the sub-regions within the preset area after the division points are connected.
[0012] Preferably, determining the division points set by the user based on each of the location points on the positioning wire includes:
[0013] Receive the user's line drawing trajectory and determine whether the line drawing trajectory passes through the positioning wire;
[0014] If the result of the judgment is negative, the line trajectory is automatically extended until it intersects with the positioning wire, and the intersection of the line trajectory and the positioning wire is determined as the dividing point.
[0015] Preferably, the line trajectory includes straight lines, broken lines, curves, and any combination of the three.
[0016] The automatic extension of the marked trajectory until it intersects with the positioning wire includes:
[0017] If the trajectories are straight lines, then extend both ends of the straight line segment directly until it intersects with the positioning wire;
[0018] If the drawn trajectory is a curve, then determine whether the maximum curvature of the curve is greater than a preset curvature threshold.
[0019] If the maximum curvature is determined to be greater than the preset curvature threshold, then the two endpoints of the curve are obtained, and a straight line passing through the two endpoints is generated, and the straight line is further extended to intersect with the positioning wire;
[0020] If the maximum curvature is determined to be less than or equal to the preset curvature threshold, a straight line tangent to the position of the maximum curvature is generated, and the straight line is further extended to intersect with the positioning wire.
[0021] Preferably, the process of dividing the preset region based on the dividing point includes:
[0022] The system receives the user's movement of the division point and prompts the user to confirm the movement position after the movement.
[0023] The preset area is divided based on the confirmed movement location.
[0024] Preferably, the method further includes:
[0025] The system receives the user's selection of the division point, displays the selected division point in a preset manner, and provides a delete option;
[0026] If the user selects the deletion option, the line trajectory where the dividing point is located will be deleted.
[0027] Preferably, there is at least a positioning wire of a preset length on the boundary of each of the sub-regions.
[0028] Preferably, after dividing the preset area based on the dividing points and determining the sub-regions after the area division, the method further includes:
[0029] Set corresponding working attributes for each sub-region.
[0030] Preferably, after dividing the preset area based on the dividing point and determining the sub-regions after the area division, the method further includes:
[0031] Determine whether the working attributes of two adjacent sub-regions are the same and whether the area of one of the sub-regions is less than a preset threshold;
[0032] If the working attributes are the same and the area of one of the sub-regions is less than the preset threshold, then the two adjacent sub-regions are merged into the same region.
[0033] Preferably, the method further includes:
[0034] If further subdivision is required in the sub-region, the user's selection of the sub-region to be subdivided is first received, and then the division points set by the user based on each of the location points on the positioning wire are determined in the subdivided sub-region.
[0035] To address the aforementioned technical problems, this application also provides a region division device, comprising:
[0036] Memory, used to store computer programs;
[0037] A processor is provided for executing the computer program to implement the steps of the robot in the region division method to solve the above-mentioned technical problems.
[0038] To address the aforementioned technical problems, this application also provides a computer-readable storage medium storing a computer program, which, when executed by a processor, implements the steps of the region partitioning method described in any of the preceding claims.
[0039] This application provides a method, apparatus, and computer-readable storage medium for region division, relating to the field of robot control. In this scheme, after controlling the robot to walk at least one lap along a positioning wire, the various position points on the positioning wire are determined; division points set by the user based on these position points are determined; a preset area is divided based on the division points, and the resulting sub-regions are determined; the robot is then controlled to work in each sub-region. As can be seen, the method of setting the positioning wire in this application allows the robot to simply walk along the positioning wire, eliminating the need to traverse the entire preset area, thus reducing the robot's workload and improving the efficiency of region division. Furthermore, the robot does not require radar or its positioning device, avoiding external interference and improving the accuracy of the region division results. In addition, this application can also divide multiple sub-regions according to user needs, satisfying various user requirements. Attached Figure Description
[0040] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the prior art and embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0041] Figure 1 A flowchart illustrating a region division method provided in this application;
[0042] Figure 2 A structural block diagram of a region division device provided in this application;
[0043] Figure 3 A structural block diagram of a computer-readable storage medium provided in this application. Detailed Implementation
[0044] The core of this application is to provide a region division method, apparatus, and computer-readable storage medium. By setting positioning wires, the robot only needs to walk along the positioning wires, without having to walk within the entire preset area, thus reducing the robot's workload and improving the efficiency of region division. The robot does not need to use radar or its positioning device, avoiding external interference and improving the accuracy of the region division results. In addition, this application can also divide multiple sub-regions according to user needs, satisfying various user requirements.
[0045] To make the objectives, technical solutions, and advantages of the embodiments of this application clearer, the technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0046] Specifically, the robot in this application can be applied to lawn mowing scenarios. The following embodiments are described using a lawn mowing robot as an example, but it is not limited to lawn mowing robots. For example, it can also be a sweeping robot or a watering robot or other mobile robots. This application does not limit it here.
[0047] Before describing the area division method for the robot provided in this application, the structure and principle of the lawnmowing robot involved in the embodiments of this application are first described as follows:
[0048] Structurally, a lawnmower robot includes at least a mowing module, a sensing module, and a locomotion module. The mowing module includes at least components for mowing, such as a blade disc. The sensing module includes at least a positioning sensor for positioning the robot on a positioning wire, a boundary sensor for detecting magnetic field signals within a preset area so that the processor can analyze and determine boundary information based on the magnetic field signals, a collision sensor for detecting whether the robot body has been hit, a lifting sensor for detecting whether the robot is off the ground, a blade disc lifting sensor for determining whether the blade disc is off the ground, and a blade disc positioning sensor for detecting whether the blade disc has moved to a preset position. The locomotion module includes at least a drive motor and wheels (drive wheels and driven wheels).
[0049] In principle, the processor in the lawnmower analyzes the sensor information collected by each sensor module to generate control signals corresponding to the sensor information, so as to turn the drive module in the lawnmower on or off. When the drive module is turned on, it drives the mowing module and / or the walking module to enable the lawnmower to perform mowing operations.
[0050] Please refer to Figure 1 , Figure 1This is a flowchart illustrating a region division method provided in this application. Positioning wires are set within a preset area for robot movement. Specifically, considering that existing technologies use radar or other positioning devices to obtain robot pose information and then divide the preset area based on this pose information, the robot's workload is large, and the accuracy of the division result is low. To solve the above technical problems, this application sets positioning wires within the preset area for robot movement. During movement, the robot senses boundary signals and / or positioning signals on the positioning wires to achieve robot positioning, and then divides the preset area based on the robot's positioning information. In one specific embodiment, the positioning wires can be set at the boundary of the preset area as boundary wires, or they can be set at a certain distance from the boundary line of the preset area. The positioning wires can be buried underground. When the robot walks on the positioning wires, it can sense the boundary signals on the positioning wires, thereby achieving robot positioning and preventing the robot from walking outside the preset area.
[0051] As can be seen, by setting positioning wires within a preset area, the working range of the robot can be limited. When the robot walks along the positioning wires, precise positioning of the robot can be achieved. Thus, when dividing the preset area into regions, accurate region division results can be obtained, which facilitates the robot's operation.
[0052] Based on the positioning wires set within the aforementioned preset area, the area division method of this application can be applied to a terminal device, which can be a mobile phone, tablet, computer, or other mobile terminal device. This terminal device must have at least one user-operable APP, and the terminal device establishes a wireless communication connection with the robot (e.g., the wireless communication device is a WIFI module / 4G communication module / 5G communication module / Bluetooth, etc., installed in the robot). The method includes:
[0053] S11: After controlling the robot to walk along the positioning wire at least once, determine the various position points on the positioning wire;
[0054] First, when a positioning wire is set in the preset area, control the robot to walk along the positioning wire. For example, control the robot to walk along the positioning wire at least one circle, and during the walking process, determine multiple position points of the robot on the positioning wire. These multiple position points correspond to multiple position information of the robot on the positioning wire, such as the position information indicating the distance between the robot and the charging station.
[0055] Specifically, if signal processors for transmitting test signals are connected to both ends of the positioning wire, the method for determining multiple position points on the positioning wire can be as follows: control the robot to start from the signal processor, and the robot walks at least one circle along the direction of the starting point and ending point of the signal processor. That is, the robot moves from the starting point of the positioning wire (signal processor starting point) to the ending point of the positioning wire (signal processor ending point) in the positive direction, and moves from the ending point of the positioning wire to the starting point of the positioning wire in the opposite direction. During the movement, the robot obtains multiple position points of the robot through its own sensing module, and draws a map of the area enclosed only by the positioning wire using multiple position points. The robot does not need to walk or identify the area inside the positioning wire. Finally, the robot can send the successfully drawn area map to the terminal device through the communication module. The APP on the terminal device can at least display the positioning wire area map containing the outline of the positioning wire.
[0056] As can be seen, this step only identifies the individual points within the positioning wire, while other points within the positioning wire do not need to be identified. This not only reduces the workload of the robot but also eliminates the need to rely on too many sensors and positioning devices to assist in obtaining the position of the lawnmower robot.
[0057] As a preferred embodiment, the method for determining the robot's current position on the positioning wire is as follows: the control signal processor outputs test signals to both sides of the positioning wire, acquires the time difference or phase difference between the test signals from different sides as they travel along the positioning wire to the endpoint, and determines the robot's current position based on the time difference or phase difference. The endpoint can be the robot's current location, and the signal processor is a device independent of the robot and can be placed at any location, such as a charging station. This method of determining the robot's current position on the positioning wire by acquiring the time difference or phase difference of the test signals sent by the signal processor through the positioning wires on both sides is simple to implement, less susceptible to external environmental influences, and offers high positioning accuracy.
[0058] The number of location points can be related to the step length of the robot during its movement and the signal frequency of the test signal emitted by the charging station, or it can be related to the length of the positioning wire.
[0059] S12: Determine the division points set by the user based on the various location points on the positioning wire;
[0060] After determining multiple location points, the user selects from these points and sets corresponding division points to facilitate the subsequent division of a preset area. The user can set these division points by selecting several location points through an app on their terminal device, and then using these selected points as division points.
[0061] It should be noted that the division points determined in this step are used to divide the preset area, therefore, the number of division points determined in this step is at least two.
[0062] It should also be noted that the set of dividing points can be a subset of the set of location points; that is, the dividing points are a subset of location points selected by the user.
[0063] S13: Divide the region into a preset area based on the dividing points, and determine the sub-regions after the region is divided;
[0064] S14: Control the robot to work in each sub-area.
[0065] After determining the user-defined division points, the preset area is divided according to the division points to obtain various sub-areas within the preset area range. When the robot needs to perform the lawn mowing task, it is controlled to work in the sub-area corresponding to the lawn mowing task to perform the lawn mowing task.
[0066] In a preferred embodiment, there is a positioning wire of at least a preset length on the boundary of each sub-region.
[0067] Considering that when dividing the preset area into sub-regions, if there are sub-regions without positioning wires on their boundaries, the robot will not be able to sense the boundary signals and / or positioning signals on the positioning wires when working in these sub-regions, thus failing to locate the robot and monitor its operation within these sub-regions.
[0068] Therefore, the principle to be followed when dividing the sub-regions in this application is to ensure that there are at least a preset length of positioning wires on the boundary of each sub-region after division, so as to ensure that when the robot works in each sub-region, it can sense the boundary signal and / or positioning signal of the positioning wires on the boundary of the sub-region, and then realize the positioning and monitoring of the robot based on the sensing results.
[0069] As a preferred embodiment, the method to ensure that there is at least a preset length of positioning wire on the boundary of each sub-region can be as follows: generate dividing lines according to each dividing point, obtain each sub-region according to each dividing line, determine whether there is a preset length of positioning wire on the boundary of each sub-region, if there is, no processing is required for this sub-region, if there is no positioning wire or the length of the positioning wire is less than the preset length, then merge this sub-region with the adjacent sub-region, thereby determining that the boundary of each of the finally divided sub-regions includes at least a preset length of positioning wire.
[0070] As can be seen, by limiting each sub-region to include at least a preset length of positioning wire in this embodiment, it can be ensured that the robot can sense the boundary signal and / or positioning signal on the positioning wire when working in each sub-region.
[0071] It should be noted that when dividing the preset area based on the dividing point, the dividing line / trajectory must pass through the dividing point at least. In addition, the dividing line / trajectory must pass through the preset area at least once, and the number of each sub-region must be at least one.
[0072] In summary, the region division method in this application uses positioning wires, allowing the robot to simply walk along these wires without having to traverse the entire preset area, thus reducing the robot's workload and improving the efficiency of region division. Furthermore, the robot does not require radar or its positioning device, avoiding external interference and improving the accuracy of the region division results. In addition, this application can also divide multiple sub-regions according to user needs, satisfying various user requirements.
[0073] Based on the above embodiments: as a preferred embodiment, a region is divided based on a predetermined area boundary using dividing points, and each sub-region after the region division is determined, including:
[0074] The division points are connected according to their generation order to determine the sub-regions within the preset area after the division points are connected.
[0075] Specifically, when there are multiple dividing points, this step can connect the dividing points according to the generation order of each dividing point to generate the corresponding dividing line (the line connecting the dividing points is the dividing line), so as to divide the preset area range according to the dividing line and obtain each sub-region.
[0076] For example, if a user draws three dividing points within a preset time threshold on the terminal device app, and the gesture is drawn continuously from A to B to C, the connection of the dividing points is ABC. If the gesture is drawn continuously from A to B, and then continuously from A to C, the connection of the dividing points is AB and AC. Other cases can be deduced similarly. In addition, when there are multiple pairs of dividing points, the connection can be directly established after the user draws the points. This avoids the problem of incorrect connection of dividing points when other dividing points exist. For example, if the user draws from A to B, AB is directly connected.
[0077] It should be noted that after determining the dividing points, this step can form dividing lines by connecting the dividing points to form straight lines, broken lines, curves, or any combination of the three. These dividing lines can then be used to divide the area map (within a preset area) to obtain the divided sub-regions. The more dividing points there are, the more sub-regions will be created.
[0078] As can be seen, in this embodiment, the preset area is divided by connecting the division points in sequence, resulting in sub-regions. The connection rules of the division points are clear, thus enabling accurate division of the preset area.
[0079] As a preferred embodiment, determining the division points set by the user based on various location points on the positioning wire includes:
[0080] Receive the user's line drawing trajectory and determine whether the line drawing trajectory passes through the positioning wire;
[0081] If the result of the judgment is negative, the scribing trajectory will be automatically extended until it intersects with the positioning wire, and the intersection of the scribing trajectory and the positioning wire will be determined as the dividing point.
[0082] If a user draws a line on a map of a preset area displayed on a terminal device app and uses the intersection of the line and the positioning wires on the map as the dividing point, there may be cases where the user's line is within the area enclosed by the positioning wires and there is no intersection with the positioning wires. In such cases, dividing points cannot be generated based on the user's line, and the preset area cannot be divided.
[0083] To address the aforementioned technical issues, after receiving the user's line drawing trajectory, this application further determines whether the user-input line drawing trajectory intersects with the positioning wire. If so, the intersection point of the line drawing trajectory and the positioning wire is determined as a dividing point, and the process proceeds to connect the dividing points based on their generation order to determine the sub-regions within a preset area after the dividing points are connected. Otherwise, it is determined that the dividing point cannot be directly determined based on the line drawing trajectory. In this case, the user-input line drawing trajectory is automatically extended, specifically, both ends of the line drawing trajectory are automatically extended outwards until they intersect with the positioning wire, and the intersection point is determined as the dividing point.
[0084] It should be noted that if the user's line trajectory is a straight line or a broken line, the two ends of the straight line or broken line can be directly extended to intersect with the positioning wire; if the user's line trajectory is a curve, the two ends of the line trajectory can be automatically extended (generating a straight line tangent to the two ends of the line trajectory, and the line trajectory can be extended along this tangent straight line until it intersects with the positioning wire).
[0085] It should also be noted that, considering the possibility that the user-inputted line trajectory may intersect with the positioning wire, but there might only be one intersection point, at least two division points are needed to divide the preset area. Therefore, when determining whether the user-inputted line trajectory intersects with the positioning wire, it could mean checking if the number of intersection points is less than two. If it is, the process can proceed to automatically extend the line trajectory until it intersects with the positioning wire, and then determine the intersection point as the division point. Alternatively, a prompt message can be output indicating that only one intersection point exists, making it impossible to divide the preset area.
[0086] In summary, the method provided in this embodiment for automatically extending the drawn trajectory that does not intersect with the positioning wire until it intersects with the positioning wire can avoid the situation where there is no intersection between the drawn trajectory and the positioning wire, thus making it impossible to generate division points based on the user's drawn trajectory and complete the division of the preset area.
[0087] As a preferred embodiment, the line trajectory includes straight lines, polylines, curves, and any combination of the three;
[0088] Automatically extend the marking trajectory until it intersects with the positioning wire, including:
[0089] If the marked trajectory is a straight line, then extend both ends of the straight line segment directly until it intersects with the positioning wire;
[0090] If the drawn trajectory is a curve, then determine whether the maximum curvature of the curve is greater than the preset curvature threshold.
[0091] If the maximum curvature is determined to be greater than the preset curvature threshold, the two endpoints of the curve are obtained, and a straight line passing through the two endpoints is generated. The straight line is then extended to intersect with the positioning wire.
[0092] If the maximum curvature is determined to be less than or equal to the preset curvature threshold, a straight line tangent to the position of the maximum curvature is generated, and the line is further extended to intersect with the positioning wire.
[0093] Specifically, the line trajectory input by the user can be a straight line, a polyline, a curve, or any combination of the above three; this application does not limit this further. If the user's line trajectory is a straight line or a polyline, then the two ends of the straight line or polyline can be directly extended to intersect with the positioning wire.
[0094] If the user's drawn trajectory is a curve, the curvature of the trajectory may exceed the preset curvature threshold. This could lead to the inability to locate the intersection of the positioning wire when the two ends of the drawn trajectory are automatically extended outward. Alternatively, when the dividing line generated by the automatic extension of the two ends of the drawn trajectory to intersect with the positioning wire divides the preset area, it may result in a sub-region that does not include the positioning wire. When the robot works in this sub-region, whether or not it includes the positioning wire, it cannot sense the boundary signal on the positioning wire, thus failing to achieve robot positioning detection.
[0095] Therefore, in this embodiment, when the drawn trajectory is determined to be a curve and does not intersect with the positioning wire, a method for dividing a preset area is provided. Specifically, the maximum curvature of the curve is obtained, and it is determined whether the maximum curvature of the curve is greater than a preset curvature threshold. If it is not greater, a straight line tangent to the position of the maximum curvature is generated, and the straight line is further extended to intersect with the positioning wire. This straight line tangent to the position of the maximum curvature is used as the dividing line of the preset area to achieve the division of the preset area. If the maximum curvature is greater than the preset curvature threshold, the two endpoints of the curve are obtained, and a straight line passing through the two endpoints is directly generated. The straight line is further extended to intersect with the positioning wire, and this straight line passing through the two endpoints is used as the dividing line of the preset area to achieve the division of the preset area.
[0096] In the above method, when the line trajectory is a curve, a straight line corresponding to the line trajectory is generated according to the maximum curvature of the line trajectory, and this straight line is used as the dividing line. The intersection of this straight line and the positioning wire is determined as the dividing point, thus converting the curved line trajectory into a straight line dividing line. This method can also avoid the situation where the dividing trajectory is bent due to the error of the user manually inputting the line trajectory when the user inputs the straight line trajectory on the APP.
[0097] In summary, the method provided in this application can automatically generate a straight line (a new dividing line) corresponding to the drawn line trajectory when the drawn line trajectory is a curve, thereby realizing the division of the preset area.
[0098] As a preferred embodiment, dividing a region into a preset area based on a dividing point includes:
[0099] Receive the user's movement of the division point and prompt the user to confirm the moved position after the movement;
[0100] The preset area is divided based on the confirmed movement location.
[0101] Furthermore, after the user determines the division points, if the user's target requirements change, or if the original division points deviate from the target location, the positions of the division points need to be adjusted so that the adjusted division points are in the target location, or when the preset area is divided according to the adjusted division points, the changed target requirements are met.
[0102] Therefore, in this application, when dividing the preset area, if the user's movement of the division point is received (for example, the user operates the APP interface to realize the user's instruction to move the division point), it is determined that the user needs to move the division point, and the division point movement operation corresponding to the user's input movement instruction is executed. After the division point is moved, the user is prompted to confirm the movement position. If the user confirms, the preset area division is performed based on the position of the moved division point.
[0103] One method for prompting the user to confirm their new location is to display a prompt message (such as a pop-up window or text) to remind the user to confirm their new location. Another method for the user to confirm their new location is to provide a confirmation option and determine whether the user's selection of the confirmation option has been received. If received, it is determined that the user has confirmed their new location, and the process proceeds to the step of dividing the area into a preset range based on the new location.
[0104] Users can move the dividing point in several ways: First, they can select the dividing point to be moved within the app. The selected dividing point will then be displayed in a preset manner, providing movement options such as several movement directions and distances. Second, users can drag the dividing point displayed in the preset manner to move it.
[0105] In summary, the method in this embodiment allows the division points to be moved after the user determines them, in order to meet various user needs. The division points are highly operable and facilitate the adjustment of the area division within the preset range.
[0106] In a preferred embodiment, the method further includes:
[0107] It receives the user's selection of division points, displays the selected division points in a preset manner, and provides a delete option;
[0108] If the user selects the delete option, the line trajectory containing the dividing point will be deleted.
[0109] Furthermore, after the user determines each division point, if the user's target requirements change and it is necessary to delete some of the division points, then the user's selection of division points is received, and the selected division points are displayed in a preset manner, while providing deletion options. When the user selects this deletion option, it is determined that the user needs to delete the selected division. At this time, the division point and the line trajectory where the division point is located are deleted, and the preset area is divided based on the other division points that have not been deleted.
[0110] The user can select a division point by operating the APP's display interface to select a division point or a corresponding identifier, such as a serial number.
[0111] The preset display method for the selected division point can be: highlighting the selected division point / the sequence number corresponding to the selected division point, or magnifying the selected division point / the sequence number corresponding to the selected division point by a preset magnification factor, or setting the selected division point / the sequence number corresponding to the selected division point to a preset color. This application does not limit this further.
[0112] The drawn line trajectory may or may not be displayed on the app interface. It's important to understand that the trajectory exists regardless of whether it's displayed or not. In one specific embodiment, the trajectory may not be displayed by default except when the user first inputs it. When the user selects a division point corresponding to the trajectory, in addition to displaying this division point in a preset manner, the corresponding trajectory can also be displayed in another preset manner for easier user observation.
[0113] In summary, the method in this embodiment allows for the deletion of division points after the user has determined them, thus meeting various user needs. The division points are highly operable and facilitate the adjustment of the regional division of the preset area.
[0114] As a preferred embodiment, after dividing the region into sub-regions based on the dividing points and determining the sub-regions after the region division, the method further includes:
[0115] Set corresponding working attributes for each sub-region.
[0116] Furthermore, due to differences in environment or road conditions in each sub-region, the working mode of the robot may differ in each sub-region, requiring it to perform its tasks in each sub-region using a working mode corresponding to that sub-region.
[0117] Therefore, in this embodiment, each sub-region is assigned a corresponding working attribute. For example, the working attributes include the type of each sub-region and the working parameters of the robot when working in each sub-region. For instance, the sub-region type includes both working areas and non-working areas. When the robot is a lawnmower, the working parameters may include, but are not limited to, mowing parameters, such as mowing speed, mowing height, number of mowing passes per area, and mowing speed. The working area may also include attributes corresponding to the mowing parameters. Furthermore, attribute settings can be configured through tag association, where each tag is associated with a specific sub-region.
[0118] Based on the work attributes set for each sub-region, when the robot is working, a region map containing the preset region range of work attributes is sent to the robot. The robot then performs work tasks in the work area according to the region map and the work attributes of each sub-region, using the corresponding work parameters.
[0119] In this embodiment, the main purpose is to enable the robot to perform work tasks in the corresponding area according to the pre-set work attributes. The control method of the robot is simple and clear.
[0120] As a preferred embodiment, after dividing the region into sub-regions based on the dividing points and determining the sub-regions after the region division, the method further includes:
[0121] Determine whether two adjacent sub-regions have the same working attributes and whether the area of one of the sub-regions is less than a preset threshold;
[0122] If the working attributes are the same and the area of one of the sub-regions is less than the preset threshold, then the two adjacent sub-regions will be merged into the same region.
[0123] Furthermore, given that the working attributes of each of the aforementioned sub-regions have been set and the user has already divided the preset area into sub-regions, there may be two adjacent sub-regions with the same working attributes. For example, sub-region A and sub-region B are adjacent and are both working areas, with the same planting time and variety of grass. In this case, if the robot performs the mowing task in sub-region A and then performs the mowing task in sub-region B, the robot needs to travel a longer route, resulting in lower mowing efficiency and greater damage to the lawn.
[0124] In addition, it is also considered that if two adjacent sub-regions have the same working attributes, but the area of the two sub-regions is greater than the preset threshold, then if the area after merging the two sub-regions is at least twice the preset threshold, the robot's working area is too large, which is not conducive to the robot's work.
[0125] Therefore, in this embodiment, it is also determined whether two adjacent sub-regions have the same working attributes, and whether there are sub-regions with the same working attributes whose areas are less than a preset threshold. If there are sub-regions with the same working attributes and one of their areas is less than the preset threshold, then these two adjacent sub-regions are merged into one region. Then, when controlling the robot to work in each sub-region, the robot can work in this merged region.
[0126] In a preferred embodiment, the method further includes:
[0127] If further subdivision is required within a sub-region, the system first receives the user's selection of the sub-region to be subdivided, and then determines the division points set by the user based on various location points on the positioning wire within the subdivided sub-region.
[0128] Furthermore, after the user has completed the division of the preset area range to obtain various sub-regions, if the user's target needs change and the divided sub-regions need to be further divided, the system first receives the user's selection of the sub-regions to be subdivided, then determines the division points set by the user on the selected sub-regions, and divides the sub-regions based on the division points on the sub-regions to obtain the subdivided sub-regions.
[0129] The user can select the sub-regions to be further subdivided by selecting a sub-region on the APP interface, which can then be displayed in grayscale to allow the user to visually determine whether the selected sub-region is the target sub-region. Furthermore, the method for determining the division points set by the user based on various locations on the positioning wire within the subdivided sub-regions is the same as the method for determining division points in the above embodiments, and will not be repeated here.
[0130] In this embodiment, after the user determines each sub-region, the sub-regions can be further divided to meet various user needs, and the region division is highly operable.
[0131] As a preferred embodiment, controlling the robot to work in various sub-regions includes:
[0132] The robot is controlled to walk in the work area according to a preset walking strategy to perform lawn mowing tasks.
[0133] Specifically, the robot's walking process may include: the robot first moves to the position of the positioning wire, then moves a certain distance along the direction of movement of the positioning wire to another position point of the positioning wire, and then moves from the other position point of the positioning wire to a position point in the opposite direction of that position point, and so on, until the preset walking strategy is completed.
[0134] The process of moving a certain distance along the direction of the positioning wire to another location point of the positioning wire may include: after the robot touches the positioning wire, it directly rotates a certain angle and walks a preset distance to reach another location point, and then moves in a bow shape until the robot has completed its work in all work areas.
[0135] In a preferred embodiment, when controlling the robot to walk in the work area according to a preset walking strategy, the method further includes: determining whether the robot has reached the preset desired location point in the preset walking strategy; if the robot has not reached the desired location point, the robot triggers a supplementary cutting command and performs supplementary cutting processing on the desired location point and related areas according to the supplementary cutting command. It can be seen that, through this method, in addition to accurately controlling the robot to walk according to the preset work path, it is also possible to determine whether the robot deviates from the path during walking, thereby improving the accuracy of the robot's movement.
[0136] The method for performing supplementary cutting on the desired location and related areas according to the supplementary cutting command can be as follows: control the robot to move from the current deviated position to the desired location; control the robot to move from the desired location to the previous location according to the working path; or control the robot to move directly from the current deviated position to the previous location.
[0137] During the re-mowing process, the robot may also perform the following: real-time determination of whether it is currently mowing; if not, control the robot to move to the desired location or the previous location, and then control the robot to move along the work path. In one specific embodiment, sensors or other detection elements can be installed on the bottom shell of the lawnmower or on the mowing tool. The detection elements detect whether the mowing tool is still mowing. If the mowing tool is still mowing, it means that the current area needs to be re-mown; if the mowing tool can no longer cut grass, it means that the current area has been mowed, and the re-mowing is considered complete. In another embodiment, if the lawnmower is equipped with a grass collection box to collect the cut grass, it can detect whether the grass collection box is continuously collecting grass (e.g., by detecting whether the weight of the grass collection box is continuously increasing through a weight sensor). If so, it means that the current area of the lawnmower is a missed area; if not, it means that the current area of the lawnmower has been re-mown.
[0138] As can be seen, the method in this embodiment can detect in real time whether the missing area has been recut, and when it is determined that the recutting is completed, the recutting operation ends and the robot continues to execute the relevant steps of walking according to the work path, thus avoiding the robot from executing steps related to the recutting operation after the recutting is completed.
[0139] To address the aforementioned technical problems, this application also provides a region division device, please refer to... Figure 2 , Figure 2 A structural block diagram of a region division device provided in this application, the device comprising:
[0140] Memory 21 is used to store computer programs;
[0141] The processor 22, used to execute computer programs, implements the steps of the robot in the region division method to solve the above-mentioned technical problems. For a description of the region division device, please refer to the above embodiments; further details will not be repeated here.
[0142] To address the aforementioned technical problems, this application also provides a computer-readable storage medium 30, please refer to... Figure 3 , Figure 3 This application provides a structural block diagram of a computer-readable storage medium 30. The computer-readable storage medium 30 stores a computer program 31, which, when executed by a processor, implements the steps of any of the aforementioned region partitioning methods. For a description of the computer-readable storage medium 30, please refer to the above embodiments; further details will not be repeated here.
[0143] It should be noted that in this specification, 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. Unless otherwise specified, 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.
[0144] The above description of the disclosed embodiments enables those skilled in the art to make or use this application. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this application. Therefore, this application is not to be limited to the embodiments shown herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for dividing regions, characterized in that, The method involves setting positioning wires within a preset area where the robot can move, and includes: After controlling the robot to walk along the positioning wire at least one lap, determine each position point on the positioning wire; Determining the division points set by the user based on each of the location points on the positioning wire includes: Receive the user's line drawing trajectory and determine whether the line drawing trajectory passes through the positioning wire; If the result of the judgment is yes, the intersection of the scribed trajectory and the positioning wire is determined as the dividing point; If the result of the judgment is negative, and the line trajectory is a straight line or a broken line, then the two ends of the straight line or the broken line are directly extended until they intersect with the positioning wire, and the intersection of the extended straight line or the broken line with the positioning wire is determined as the dividing point; If the result of the judgment is negative, and the line trajectory is a curve, then determine whether the maximum curvature of the curve is greater than a preset curvature threshold. If the maximum curvature is determined to be greater than the preset curvature threshold, then the two endpoints of the curve are obtained, and a straight line passing through the two endpoints is generated. The straight line is then extended to intersect with the positioning wire, and the intersection of the straight line and the positioning wire is determined as the dividing point. If the maximum curvature is determined to be less than or equal to the preset curvature threshold, a straight line tangent to the position of the maximum curvature is generated, and the straight line is further extended to intersect with the positioning wire, and the intersection of the straight line and the positioning wire is determined as the dividing point; Based on the dividing points, the preset area is divided into regions, and each sub-region after the region is divided is determined. Control the robot to work in each of the sub-regions.
2. The region division method as described in claim 1, characterized in that, The process of dividing the preset region based on the dividing point, and determining the sub-regions after the region division, includes: The division points are connected according to their generation order to determine the sub-regions within the preset area after the division points are connected.
3. The region division method as described in claim 1, characterized in that, The process of dividing the preset region based on the dividing points includes: The system receives the user's movement of the division point and prompts the user to confirm the moved position after the movement. The preset area is divided based on the confirmed movement location.
4. The region division method as described in claim 1, characterized in that, The method further includes: The system receives the user's selection of the division point, displays the selected division point in a preset manner, and provides a delete option; If the user selects the deletion option, the line trajectory where the dividing point is located will be deleted.
5. The region division method as described in claim 1, characterized in that, Each of the sub-regions has a positioning wire of at least a preset length on its boundary.
6. The region division method as described in claim 1, characterized in that, After dividing the preset area based on the dividing points and determining the various sub-regions after the area division, the process further includes: Set corresponding working attributes for each sub-region.
7. The region division method according to any one of claims 1-6, characterized in that, After dividing the preset area based on the dividing point and determining the various sub-regions after the area division, the method further includes: Determine whether the working attributes of two adjacent sub-regions are the same and whether the area of one of the sub-regions is less than a preset threshold; If the working attributes are the same and the area of one of the sub-regions is less than the preset threshold, then the two adjacent sub-regions are merged into the same region.
8. The region division method as described in claim 1, characterized in that, The method further includes: If further subdivision is required in the sub-region, the user's selection of the sub-region to be subdivided is first received, and then the division points set by the user based on each of the location points on the positioning wire are determined in the subdivided sub-region.
9. A region division device, characterized in that, include: Memory, used to store computer programs; A processor, configured to execute the computer program to implement the steps of the robot in the region division method as described in any one of claims 1 to 8.
10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program that, when executed by a processor, implements the steps of the region division method as described in any one of claims 1 to 8.
Citation Information
Patent Citations
Walking robot, method for controlling walking robot and walking robot system
CN111113364A
Sweeper map segmentation method, device and equipment and storage medium
CN115797369A
