Method and system for generating virtual boundary of working area of self-moving robot, self-moving robot and readable storage medium
The record points are obtained through the movable positioning module, and the virtual boundary of the mobile robot is automatically generated, solving the problems of high cost and low efficiency of manual assisted planning paths in the prior art, and achieving efficient virtual boundary generation without manual assist.
Patent Information
- Application Number
- CN202010329608.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-04-24
- Publication Date
- 2024-12-31
- Estimated Expiration
- 2040-04-24
AI Technical Summary
In the prior art, the self-mobile robot work path planning requires manual assistance, resulting in high cost and low efficiency and complex equipment.
The movable positioning module surrounds the inspection route and obtains recording points automatically generates virtual boundaries. The UWB positioning module and handheld device automatically generates virtual boundaries without manual assistance input parameters.
No manual auxiliary input parameters are required, which saves labor costs, improves work efficiency, and simplifies the production and use of equipment.
Smart Images

Figure CN113556679B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method and system for generating a virtual boundary of a working area of a self-moving robot, a self-moving robot and a readable storage medium, and in particular to a method and system for generating a virtual boundary of a working area of a self-moving robot, a self-moving robot and a readable storage medium which can improve work efficiency. Background Art
[0002] With the continuous advancement of science and technology, various robots have begun to slowly enter people's lives, such as automatic vacuum cleaning robots, automatic lawn mowing robots, etc. This kind of robot can walk and perform work automatically within a certain range without human operation.
[0003] Full coverage path planning is a hot research direction in robots and is crucial to improving the work efficiency of robots. In the prior art, the commonly used technical solution is to manually assist in planning the work path, and then drive the robot to work according to the planned work path. Specifically, a manual assisted input interface is set up in conjunction with the robot, and the current terrain is collected and output to the input interface in an automatic or assisted manner, and the work path is drawn on the input interface based on the collected terrain in a manually assisted manner. Finally, the work path is converted into instructions to guide the robot to work.
[0004] The above technical solutions usually require the addition of auxiliary equipment such as cameras to obtain data, which increases the production and use costs of the equipment. In addition, manual assistance is required to design the work path, which is relatively cumbersome to use. Summary of the invention
[0005] The present invention provides a method and system for generating a virtual boundary of a working area of a self-moving robot, a self-moving robot and a readable storage medium which can improve working efficiency.
[0006] The present invention provides a method for generating a virtual boundary of a working area of a self-moving robot, the method comprising the following steps:
[0007] Acquire a number of recorded points of a movable positioning module along a line patrol path for a predetermined number of circles, wherein the line patrol path is a loop formed by a boundary of a working area where the mobile robot is located; the predetermined number of circles is greater than or equal to 2;
[0008] The recording points corresponding to the first lap of walking are stored in the first storage linked list, and the remaining recording points are stored in the second storage linked list;
[0009] Each record point in the first storage linked list is sequentially retrieved as a basic coordinate point, and the second storage linked list is queried to sequentially select m record point groups corresponding to each basic coordinate point, each record point group includes a plurality of record points that are closest to the currently selected basic coordinate point in the first storage linked list, and the number of record points in the m record point groups increases sequentially; m is an integer not less than 1;
[0010] According to each basic coordinate point and its corresponding m record point groups, a boundary fitting point corresponding to the basic coordinate point is obtained respectively, and a set of the plurality of boundary fitting points is formed into a boundary fitting point sequence;
[0011] Obtaining boundary points according to the boundary fitting point sequence;
[0012] The boundary points are connected in sequence to generate a virtual boundary of the working area.
[0013] Optionally, the positioning module is a handheld device, the handheld device is detachably equipped with a first UWB positioning module, and the self-moving robot is provided with a second UWB positioning module; wherein,
[0014] In the application scenario of boundary learning by the self-mobile robot, the first UWB positioning module is installed on the handheld device and circles along the patrol path, and the first UWB positioning module is a first UWB positioning tag; the second UWB positioning module is a second UWB positioning base station, and the second UWB positioning base station is located at a preset base station position;
[0015] In the application scenario of a self-moving robot performing positioning and navigation, the first UWB positioning module is separated from the handheld device and located at a preset base station position, the first UWB positioning module is a first UWB positioning base station, and the second UWB positioning module is a second UWB positioning tag and moves with the self-moving robot.
[0016] Optionally, in the application scenario where the self-moving robot performs boundary learning, the first UWB positioning tag detects a sampling confirmation signal, calculates the position coordinates of a recording point based on the sampling confirmation signal, and sends the position coordinates of the recording point to the self-moving robot, wherein the sampling confirmation signal is a first button signal received when the handheld device moves along a line patrol path.
[0017] Optionally, in the application scenario where the self-moving robot performs boundary learning, the generation method further comprises the following steps before sequentially calling each record point in the first storage linked list as a basic coordinate point:
[0018] The self-moving robot detects the sampling completion signal and sequentially retrieves each record point in the first storage linked list as a basic coordinate point according to the sampling completion signal, wherein the sampling completion signal is a second key signal received by the handheld device at the end of the line patrol path.
[0019] Optionally, the positioning module is a UWB positioning plug-in that is detachably mounted on the self-mobile robot. In the application scenario where the self-mobile robot performs boundary learning, the UWB positioning plug-in is used to act as a movable positioning module to orbit along a patrol path; in the application scenario where the self-mobile robot performs positioning navigation, the UWB positioning plug-in is mounted on the self-mobile robot end.
[0020] Optionally, the first UWB positioning tag calculates the position coordinates of the recording point according to a predetermined interval time or according to a predetermined distance, and sends the position coordinates of the recording point to the self-moving robot.
[0021] Optionally, the step of obtaining boundary points according to the boundary fitting point sequence further comprises the following steps:
[0022] Determine whether any boundary fitting point in the boundary fitting point sequence is collinear with its two adjacent boundary fitting points. If so, take the current boundary fitting point as the basis and obtain the corresponding boundary point by equidistant offset on the normal line passing through the current boundary fitting point; generate a circle with the boundary fitting point and its two adjacent boundary fitting points. If not, take the current boundary fitting point as the basis and obtain the corresponding boundary point by equidistant offset on the line connecting the current boundary fitting point and the center of the circle in which it is located.
[0023] The present invention also provides a system for generating a virtual boundary of a working area of a self-moving robot, the system comprising:
[0024] A recording storage module, used for obtaining a number of recording points of a movable positioning module circling a predetermined number of circles along a patrol path, wherein the patrol path is a loop formed by a boundary of a working area where the mobile robot is located; the predetermined number of circles is greater than or equal to 2; and for storing the recording points corresponding to the first walking circle in a first storage linked list, and storing the remaining recording points in a second storage linked list;
[0025] A calling module, used to call each record point in the first storage linked list in turn as a basic coordinate point, and query the second storage linked list to select m record point groups corresponding to each basic coordinate point in turn, each record point group includes a plurality of record points closest to the currently selected basic coordinate point in the first storage linked list, and the number of record points in the m record point groups increases in turn; m is an integer greater than 1;
[0026] A fitting module, used for obtaining a boundary fitting point of each basic coordinate point according to the m recording point groups corresponding to the basic coordinate point, and forming a boundary fitting point sequence by combining a plurality of the boundary fitting points;
[0027] The processing module is used to obtain boundary points according to the boundary fitting point sequence, and to connect the boundary points in sequence to generate a virtual boundary of a working area.
[0028] The present invention also provides a self-moving robot, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of a method for generating a virtual boundary of a working area of the self-moving robot when executing the computer program.
[0029] The present invention further provides a readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method for generating a virtual boundary of a working area of the self-moving robot are implemented.
[0030] Compared with the prior art, in the application scenario of the self-moving robot performing boundary learning, the present invention uses a movable positioning module to circle a predetermined number of times along the patrol path to obtain the position coordinates of each recording point, and automatically corrects the position coordinates of the recording points obtained multiple times to automatically generate the virtual boundary of the self-moving robot; there is no need for manual assistance to input relevant parameters, which saves labor costs and improves work efficiency. BRIEF DESCRIPTION OF THE DRAWINGS
[0031] Figure 1 This is the first application scenario of the self-moving robot of the present invention for boundary learning, wherein the handheld device is manually controlled to obtain recording points, and the positions of the recording points include the turning points of the straight line boundary and the midpoint positions of the non-straight line boundary;
[0032] Figure 2 This is the first application scenario in which the self-moving robot of the present invention performs positioning and navigation according to the virtual boundary of the working area;
[0033] Figure 3 The second application scenario of the self-moving robot of the present invention for boundary learning, wherein the handheld device is controlled to obtain recording points at a timed manner;
[0034] Figure 4 This is the third application scenario of the self-moving robot of the present invention for boundary learning, wherein the UWB positioning plug-in removed from the self-moving robot end is controlled to obtain the recording point at a timing;
[0035] Figure 5 It is a flow chart of a first embodiment of a method for generating a virtual boundary of a working area of a self-moving robot according to the present invention;
[0036] Figure 6is a flow chart of a second embodiment of a method for generating a virtual boundary of a working area of a self-moving robot according to the present invention;
[0037] Figure 7 for Figure 5 The specific flow chart of step S4 in FIG.
[0038] Figure 8 for Figure 5 The specific flow chart of step S5;
[0039] Fig. 9 for Figure 8 An application effect diagram of a specific example;
[0040] Fig.10 It is a principle block diagram of the system for generating the virtual boundary of the working area of the self-moving robot of the present invention. DETAILED DESCRIPTION
[0041] In order to enable those skilled in the art to better understand the technical solutions in the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0042] See also Figure 1-Figure 10 As shown, the self-moving robot 30 of the present invention can be an automatic lawn mower or an automatic vacuum cleaner, etc., which automatically walks in the working area 20 to perform tasks such as mowing and vacuuming. The self-moving robot 30 can obtain the recording points 201 of the working area 20 through a movable positioning module and a positioning base station 10 and automatically generate a virtual boundary of the working area 20. At least three positioning base stations 10 with rechargeable batteries are arranged inside or at the edge of the working area. The positioning base station 10 can be a UWB base station or a Zigbee base station, etc. The movable positioning module can complete the functions of recording and sending coordinate positions independently of the self-moving robot 30. For example, it can be a dedicated handheld device 40, or a UWB positioning plug-in 31 that can be detachably installed on the self-moving robot 30.
[0043] In one embodiment of the present invention, the handheld device 40 has a built-in first UWB positioning module, or a positioning base station 10 is detachably mounted on the handheld device 40 to serve as the first UWB positioning module of the handheld device 40, and the first UWB positioning module is used to record the coordinate position and send the coordinate position to the self-moving robot 30. The present invention sets a second UWB positioning module for the self-moving robot 30. According to different application scenarios, the use status of the first UWB positioning module and the second UWB positioning module is switched.
[0044] See also Figure 1 As shown, in the application scenario of the self-moving robot 30 performing boundary learning, the positioning base station 10 used to act as the first UWB positioning module is installed on the handheld device 40 and surrounds along the patrol path 202, and the first UWB positioning module is a first UWB positioning tag; the second UWB positioning module is a second UWB positioning base station, and the second UWB positioning base station (i.e., the self-moving robot 30) is located at a preset base station position (the base station corresponding to the preset base station position is used to act as the first UWB positioning module of the handheld device 40).
[0045] See also Figure 2 As shown, in the application scenario of positioning and navigation of the self-mobile robot 30, the positioning base station 10 used to act as the first UWB positioning module is separated from the handheld device and is located at a preset base station position, the positioning base station 10 used to act as the first UWB positioning module is restored to the first UWB positioning base station, and the second UWB positioning module is a second UWB positioning tag and moves with the self-mobile robot 30.
[0046] The handheld device 40 carries the first UWB positioning tag and moves as a positioning module. The distance between the current position of the positioning tag and the positioning base station (two positioning base stations 10 and the second UWB positioning module of the self-moving robot 30) can be calculated by manual control or timing control to determine the coordinate position of the positioning tag (i.e., recording point 201).
[0047] There are many ways to obtain the recording point 201, such as: manual control acquisition, acquisition at a predetermined interval, acquisition at a predetermined distance, etc. It is only necessary to ensure that the recording point 201 is located on the patrol path 202 passed by the robot during walking.
[0048] See also Figure 1As shown, the handheld device 40 is manually controlled to obtain the recording point 201, and the position of the recording point 201 includes the turning point of the straight boundary and the middle point of the non-straight boundary. In another embodiment of the present invention, in the application scenario of the self-moving robot performing boundary learning, the first UWB positioning tag detects the sampling confirmation signal, calculates the position coordinates of the recording point 201 according to the sampling confirmation signal, and sends the position coordinates of the recording point 201 to the self-moving robot, wherein the sampling confirmation signal is the first key signal received when the handheld device 40 moves along the line patrol path 202. The first key signal can be generated by the user's handheld device 40 moving along the line patrol path 202 to a preset position (the turning point of the straight boundary and the middle point of the non-straight boundary) and pressing the confirmation key (not shown) on the handheld device 40 once. The user can also generate the first key signal through the mobile phone APP operation.
[0049] See also Figure 3 As shown, the handheld device 40 can automatically obtain the position of the recording point 201 in a manner such as obtaining at a predetermined interval time or obtaining at a predetermined distance. In another embodiment of the present invention, the first UWB positioning tag calculates the position coordinates of the recording point 201 at a predetermined interval time, and sends the position coordinates of the recording point 201 to the self-moving robot 30. For example, the predetermined interval time is 50ms, at which time the recording point 201 is no longer limited to the turning point.
[0050] See also Figure 4 As shown, in another embodiment of the present invention, the positioning module is a UWB positioning plug-in 31 detachably mounted on the self-mobile robot 30. In an application scenario where the self-mobile robot 30 performs boundary learning, the UWB positioning plug-in 31 is separated from the self-mobile robot 30 and used for handheld use; in an application scenario where the self-mobile robot performs positioning and navigation, the UWB positioning plug-in 31 is inserted into the self-mobile robot end.
[0051] See also Figure 5 As shown, the handheld device 40 or the self-propelled robot 30 walks along the patrol path 202, and can obtain the position coordinates of the recording point 201 by patrolling multiple circles. The present invention provides a method for generating a virtual boundary of a working area of a self-propelled robot, which includes the following steps:
[0052] S1. Acquire a number of recorded points of a movable positioning module along a patrol path for a predetermined number of times, wherein the patrol path is a loop formed by a boundary of a working area where the mobile robot is located; the predetermined number of times is greater than or equal to 2;
[0053] S2, storing the recording points corresponding to the first lap of walking in the first storage linked list, and storing the remaining recording points in the second storage linked list;
[0054] S3, sequentially call each record point in the first storage linked list as a basic coordinate point, and query the second storage linked list to sequentially select m record point groups corresponding to each basic coordinate point, each record point group includes multiple record points that are closest to the currently selected basic coordinate point in the first storage linked list, and the number of record points in the m record point groups increases sequentially; m is an integer not less than 1;
[0055] S4, according to each basic coordinate point and its corresponding m recording point groups, respectively obtain the boundary fitting points corresponding to the basic coordinate point, and form a boundary fitting point sequence by combining a plurality of the boundary fitting points;
[0056] S5, obtaining boundary points according to the boundary fitting point sequence;
[0057] S6. Connect the boundary points in sequence to generate a virtual boundary of the working area.
[0058] It should be noted that, depending on the working environment, the virtual boundary may optionally include an outer boundary and / or an inner boundary; the patrol path is usually specified with the assistance of the user, or specified by means of fixed-point marking or an external magnetic field. The patrol path is a loop formed by the boundary of the working area. When the working area is defined within a certain boundary, the boundary is the outer boundary, that is, the outer boundary is the outermost boundary of the working area, which is unique; when the working area is defined outside a certain boundary at the same time, the boundary is the inner boundary, and the inner boundary and the outer boundary cooperate with each other to define the working area. The larger the predetermined number of turns, the more accurate the final result. In a preferred embodiment of the present invention, considering the complexity of the calculation, the predetermined number of turns is usually any value between 2 and 5.
[0059] It is understandable that, for the same working area, when the handheld device 40 or the self-mobile robot 30 walks a predetermined number of circles along the patrol path, the shape of the patrol path for each circle is basically the same but usually not exactly the same, and the number of recording points obtained in each circle may be equal or different.
[0060] See also Figure 6 As shown, in another embodiment of the present invention, the handheld device 40 can generate a sampling completion signal and send it to the self-moving robot 30. In the application scenario where the self-moving robot performs boundary learning, the generation method further includes the following steps between step S2 and step S3:
[0061] S21, the self-moving robot detects a sampling completion signal, and executes step S3 according to the sampling completion signal, wherein the sampling completion signal is a second key signal received by the handheld device at the end of the line patrol path. The second key signal can be generated by the user double-clicking the confirmation key on the handheld device at the turning point of the line patrol path.
[0062] In addition, the self-moving robot can also automatically determine whether the sampling is completed. The following steps are also included between step S2 and step S3: the self-moving robot determines whether the straight-line distance between the first and last recording points is less than the first preset distance threshold. If so, execute step S3; if not, return to execute step S1.
[0063] The first preset distance threshold is a distance constant value, and its value can be set as needed. When the area of the working area is large, its value can be set larger, and when its value is small, its value can be set smaller. Of course, regardless of the size of the working area, when its value is small, the result obtained is more accurate. For example: In a specific example of the present invention, the first distance threshold can be set to 0.3m.
[0064] See also Figure 7 As shown, in another embodiment of the present invention, the step S4 specifically includes the following steps:
[0065] S41. Obtain the centroid of each recording point group respectively; the centroid here refers to the centroid of the particle system after each point in the recording point group is regarded as a particle, that is, the point with the smallest sum of the squares of the distances to each point in the recording point group is the centroid of the recording point group.
[0066] S42, respectively obtaining the tangent and normal of each recording point group corresponding to the center of gravity, wherein the tangent is a straight line obtained by fitting all the recording points included in the current recording point group by the least square method, and the normal is a straight line passing through the center of gravity and perpendicular to the current tangent;
[0067] S43, respectively obtaining m eccentricities corresponding to each basic coordinate point, wherein the eccentricity represents the degree of deviation between the basic coordinate point and each corresponding center of gravity point;
[0068] The eccentricity is expressed as: a and b represent the distance between the current base coordinate point and the tangent and normal respectively;
[0069] S44, obtaining the maximum eccentricity among the m eccentricities corresponding to the current basic coordinate point, and taking the center of gravity corresponding to the maximum eccentricity as the boundary fitting point corresponding to the current basic coordinate point.
[0070] As a special case, when m=1, step S4 only includes: S41', respectively obtaining the centroid point of each recording point group; S42', using the centroid point as the boundary fitting point corresponding to the current basic coordinate point.
[0071] For ease of understanding, a specific example is described for reference; assuming that the predetermined number of laps is 5 laps, and each lap involves 10 recording points, then the recording points stored in the first storage linked list, that is, the basic coordinate points, are 100, which are P1, P2, ..., P100, respectively, and the recording points stored in the second storage linked list are 400; the value of m is 20, and in order to ensure that the number of recording points contained in each recording point group in the m recording point groups corresponding to each basic coordinate point increases in sequence, it is set that the 20 recording point groups include the same number of recording points as the first The record points closest to the currently selected basic coordinate point in the storage linked list are n, n+1, ..., n+(m-1) in sequence. Assuming that n is 15, the record points included in the first record point group are sequentially expressed as P21, P22, ..., P215, the record points included in the second record point group are sequentially expressed as P21, P22, ..., P215, P216, and the record points included in the mth record point group are sequentially expressed as P21, P22, ..., P215, P216, ..., P234.
[0072] From the above content, we can know that: in the first storage linked list, P1 is taken as the basic coordinate point, and in the second storage linked list, the n recording points P21, P22, ..., P2n closest to P1 are taken to form the first recording point group, and n = 15; the centroid coordinates of the first recording point group can be obtained by the centroid calculation formula as P Emp1 (x Emp 1,y Emp1 ), and further obtain through P Emp1 The tangent and normal of P21, P22, ..., P2n are obtained by least squares fitting, and the normal is a straight line passing through the centroid and perpendicular to the current tangent; further, by formula The eccentricity corresponding to the point P1 is obtained, where a and b represent the distances of the current basic coordinate point from the tangent and the normal respectively; further, the above steps are repeated, and for the m recording point groups corresponding to the point P1 respectively, m eccentricities corresponding to P1 are obtained respectively; and the maximum eccentricity among the m eccentricities is obtained, and the center of gravity corresponding to the maximum eccentricity is used as the boundary fitting point corresponding to the current basic coordinate point; further, the boundary fitting point corresponding to each basic coordinate point is obtained according to the m recording point groups corresponding to each basic coordinate point, and the set of the boundary fitting points forms a boundary fitting point sequence.
[0073] See also Figure 8 As shown, in another embodiment of the present invention, the step S5 further includes the following steps:
[0074] S51, determining whether any boundary fitting point in the boundary fitting point sequence and its two adjacent boundary fitting points are collinear, if so, executing step S52; if not, executing step S53;
[0075] S52, taking the current boundary fitting point as a basis, and obtaining the corresponding boundary point by equidistant offset on the normal line passing through the current boundary fitting point; generating a circle with the boundary fitting point and its two adjacent boundary fitting points;
[0076] S53: Based on the current boundary fitting point, the corresponding boundary point is obtained by equidistantly offsetting the line connecting the current boundary fitting point and the center of the circle where the current boundary fitting point is located.
[0077] If the boundary includes an outer boundary and an inner boundary, step S5 specifically includes: based on the boundary fitting point corresponding to the outer boundary, offsetting outward equidistantly to obtain the corresponding outer boundary point; based on the boundary fitting point corresponding to the inner boundary, offsetting inward equidistantly to obtain the corresponding inner boundary point.
[0078] The equidistant offset means that the offset value of each boundary point offset outward or inward is the same. In a preferred embodiment of the present invention, when the robot is a lawn mowing robot, the offset value is usually not greater than the diameter of the cutter disc on the robot.
[0079] It can be understood that in a specific embodiment of the present invention, if the boundary includes an outer boundary and an inner boundary, the above method is used to process the outer boundary and the inner boundary separately; that is, the outer boundary fitting points corresponding to the outer boundary are obtained through the recording points corresponding to the outer boundary, and the required outer boundary points are obtained according to the corresponding outer boundary fitting points; the outer boundary fitting points corresponding to the inner boundary are obtained through the recording points corresponding to the inner boundary, and the required inner boundary points are obtained according to the corresponding inner boundary fitting points; of course, the acquisition of the outer boundary points and the acquisition of the inner boundary points can be performed alternately, which will not be described in detail here. Furthermore, when the boundary includes an outer boundary and an inner boundary, the outer boundary is usually processed first, and then the inner boundary is processed to avoid duplication of work, which will not be described further here.
[0080] For ease of understanding, a specific example is described for reference. Fig. 9 As shown, the three adjacent outer boundary fitting points corresponding to the outer boundary are Q0, Q1, and Q2, respectively, wherein Q1 and Q2 are located on both sides of Q0, and the three outer boundary fitting points are not collinear. Thus, Q0, Q1, and Q2 are three coordinates on the same circle to form a circle, whose center is C, and the direction of the line connecting Q0 and the center C is the offset direction. Furthermore, in this embodiment, since the three boundary fitting points correspond to the outer boundary, the outer boundary points are formed by offsetting outward in the direction of the line connecting Q0 and the center C.
[0081] In another embodiment of the present invention, after step S6, the self-moving robot further optimizes the virtual boundary, wherein the optimization includes replacing the points used on the arc or circle with fitted arcs or circles, and obtaining the optimized virtual boundary.
[0082] See also Fig.10 As shown, the present invention also provides a system for generating a virtual boundary of a working area of a self-moving robot, the system comprising:
[0083] The recording storage module 100 is used to obtain a number of recording points of the movable positioning module along the patrol path for a predetermined number of circles, wherein the patrol path is a loop formed by the boundary of the working area where the mobile robot is located; the predetermined number of circles is greater than or equal to 2; and is used to store the recording points corresponding to the first walking circle in the first storage linked list, and store the remaining recording points in the second storage linked list;
[0084] The calling module 200 is used to call each record point in the first storage linked list in turn as a basic coordinate point, and query the second storage linked list to select m record point groups corresponding to each basic coordinate point in turn, each record point group includes a plurality of record points that are closest to the currently selected basic coordinate point in the first storage linked list, and the number of record points in the m record point groups increases in turn; m is an integer greater than 1;
[0085] A fitting module 300 is used to obtain a boundary fitting point of each basic coordinate point according to the m recording point groups corresponding to the basic coordinate point, and to form a boundary fitting point sequence by combining a plurality of the boundary fitting points;
[0086] The processing module 400 is used to obtain boundary points according to the boundary fitting point sequence, and to connect the boundary points in sequence to generate a virtual boundary of a working area.
[0087] The present invention further provides a self-moving robot, comprising a memory and a processor, wherein the memory stores a computer program, and the processor implements the steps of a method for generating a virtual boundary of a working area of the self-moving robot when executing the computer program.
[0088] The present invention further provides a readable storage medium having a computer program stored thereon, and when the computer program is executed by a processor, the steps of the method for generating a virtual boundary of a working area of the self-moving robot are implemented.
[0089] To summarize, in the application scenario of boundary learning of a self-moving robot, the present invention uses a movable positioning module to circle a predetermined number of times along a patrol path to obtain the position coordinates of each recording point, and automatically corrects the position coordinates of the recording points obtained multiple times to automatically generate a virtual boundary of the self-moving robot; there is no need for manual assistance to input relevant parameters, thus saving labor costs and improving work efficiency.
[0090] In addition, it should be understood that although the present specification is described according to implementation modes, not every implementation mode contains only one independent technical solution. This narrative method of the specification is only for the sake of clarity. Those skilled in the art should regard the specification as a whole. The technical solutions in each implementation mode may also be appropriately combined to form other implementation modes that can be understood by those skilled in the art.
[0091] The series of detailed descriptions listed above are only specific descriptions of feasible implementation methods of the present invention and are not intended to limit the scope of protection of the present invention. All equivalent implementation methods or changes that do not deviate from the technical spirit of the present invention should be included in the scope of protection of the present invention.
Claims
1. A method for generating a virtual boundary of a working area of a self-propelled robot, characterized in that: The method comprises the following steps: Acquire a number of recorded points of a movable positioning module along a line patrol path for a predetermined number of circles, wherein the line patrol path is a loop formed by a boundary of a working area where the mobile robot is located; the predetermined number of circles is greater than or equal to 2; The recording points corresponding to the first lap of walking are stored in the first storage linked list, and the remaining recording points are stored in the second storage linked list; Each record point in the first storage linked list is sequentially retrieved as a basic coordinate point, and the second storage linked list is queried to sequentially select m record point groups corresponding to each basic coordinate point, each record point group includes a plurality of record points that are closest to the currently selected basic coordinate point in the first storage linked list, and the number of record points in the m record point groups increases sequentially; m is an integer not less than 1; According to each basic coordinate point and its corresponding m record point groups, a boundary fitting point corresponding to the basic coordinate point is obtained respectively, and a set of the plurality of boundary fitting points is formed into a boundary fitting point sequence; Obtaining boundary points according to the boundary fitting point sequence; The boundary points are connected in sequence to generate a virtual boundary of the working area.
2. The method for generating a virtual boundary of a working area of a self-propelled robot according to claim 1, characterized in that: The positioning module is a handheld device, the handheld device can be detachably equipped with a first UWB positioning module, and the self-moving robot is provided with a second UWB positioning module; wherein, In the application scenario of boundary learning by the self-mobile robot, the first UWB positioning module is installed on the handheld device and circles along the patrol path, and the first UWB positioning module is a first UWB positioning tag; the second UWB positioning module is a second UWB positioning base station, and the second UWB positioning base station is located at a preset base station position; In the application scenario of a self-moving robot performing positioning and navigation, the first UWB positioning module is separated from the handheld device and located at a preset base station position, the first UWB positioning module is a first UWB positioning base station, and the second UWB positioning module is a second UWB positioning tag and moves with the self-moving robot.
3. The method for generating a virtual boundary of a working area of a self-moving robot according to claim 2, characterized in that: In the application scenario where the self-moving robot performs boundary learning, the first UWB positioning tag detects a sampling confirmation signal, calculates the position coordinates of a recording point based on the sampling confirmation signal, and sends the position coordinates of the recording point to the self-moving robot, wherein the sampling confirmation signal is a first button signal received when the handheld device moves along a patrol path.
4. The method for generating a virtual boundary of a working area of a self-moving robot according to claim 2, characterized in that: In the application scenario of the self-propelled robot performing boundary learning, the generation method further includes the following steps before sequentially calling each record point in the first storage linked list as a basic coordinate point: The self-moving robot detects a sampling completion signal, and sequentially retrieves each record point in the first storage linked list as a basic coordinate point according to the sampling completion signal, wherein the sampling completion signal is a second key signal received by the handheld device at the end of the line patrol path.
5. The method for generating a virtual boundary of a working area of a self-moving robot according to claim 1, characterized in that: The positioning module is a UWB positioning plug-in that is detachably installed on the self-mobile robot. In the application scenario where the self-mobile robot performs boundary learning, the UWB positioning plug-in is used to act as a movable positioning module to circle along the patrol path; in the application scenario where the self-mobile robot performs positioning navigation, the UWB positioning plug-in is installed on the self-mobile robot end.
6. The method for generating a virtual boundary of a working area of a self-moving robot according to claim 2, characterized in that: The first UWB positioning tag calculates the position coordinates of the recording point according to a predetermined interval time or according to a predetermined distance, and sends the position coordinates of the recording point to the self-moving robot.
7. The method for generating a virtual boundary of a working area of a self-propelled robot according to claim 1, characterized in that: The step of obtaining boundary points according to the boundary fitting point sequence further comprises the following steps: Determine whether any boundary fitting point in the boundary fitting point sequence is collinear with its two adjacent boundary fitting points. If so, take the current boundary fitting point as the basis and obtain the corresponding boundary point by equidistant offset on the normal line passing through the current boundary fitting point; generate a circle with the boundary fitting point and its two adjacent boundary fitting points. If not, take the current boundary fitting point as the basis and obtain the corresponding boundary point by equidistant offset on the line connecting the current boundary fitting point and the center of the circle in which it is located.
8. A system for generating a virtual boundary of a working area of a self-propelled robot, characterized in that: The system comprises: A recording storage module, used for obtaining a number of recording points of a movable positioning module circling a predetermined number of circles along a patrol path, wherein the patrol path is a loop formed by a boundary of a working area where the mobile robot is located; the predetermined number of circles is greater than or equal to 2; and for storing the recording points corresponding to the first walking circle in a first storage linked list, and storing the remaining recording points in a second storage linked list; A calling module, used to call each record point in the first storage linked list in turn as a basic coordinate point, and query the second storage linked list to select m record point groups corresponding to each basic coordinate point in turn, each record point group includes a plurality of record points closest to the currently selected basic coordinate point in the first storage linked list, and the number of record points in the m record point groups increases in turn; m is an integer greater than 1; A fitting module, used for obtaining a boundary fitting point of each basic coordinate point according to the m recording point groups corresponding to the basic coordinate point, and forming a boundary fitting point sequence by combining a plurality of the boundary fitting points; The processing module is used to obtain boundary points according to the boundary fitting point sequence, and to connect the boundary points in sequence to generate a virtual boundary of a working area.
9. A self-propelled robot, comprising a memory and a processor, wherein the memory stores a computer program, characterized in that: When the processor executes the computer program, the processor implements the steps of the method for generating a virtual boundary of a working area of a self-moving robot as described in any one of claims 1 to 7.
10. A readable storage medium having a computer program stored thereon, characterized in that: When the computer program is executed by a processor, the steps of the method for generating a virtual boundary of a working area of a self-moving robot as described in any one of claims 1 to 7 are implemented.
Citation Information
Patent Citations
System and method for generation of an inner boundary of a work area
CN101960443A
Object surface sampling point set boundary characteristic identification method based on local sample projective contour shape
CN106127677A
Method for generating robot mower virtual boundary based on satellite positioning signal
CN109032147A
Method for generating virtual boundary of mowing work area
CN109085835A
Self-moving robot movement boundary drawing method
WO2016045617A1