Full coverage path generation method and device, terminal equipment and storage medium

文档序号:1963341 发布日期:2021-12-14 浏览:21次 中文

阅读说明:本技术 全覆盖路径生成方法、装置、终端设备及存储介质 (Full coverage path generation method and device, terminal equipment and storage medium ) 是由 王涛 毕占甲 黄明强 全王飞 赵勇胜 于 2021-09-30 设计创作,主要内容包括:本申请适用于路径规划技术领域,提供一种全覆盖路径生成方法、装置、终端设备及存储介质,通过将栅格地图边缘和目标物未占据的所有第一栅格赋值为第一数值,将栅格地图边缘和目标物边缘占据的所有第二栅格赋值为第二数值;以每个第二栅格为中心将周围预设半径范围内的所有第一栅格重新赋值为目标数值;若第一栅格包括多个目标数值,仅保留第一栅格的最大目标数值;选取目标数值等于预设值的第一栅格生成环形路径;将环形路径占据的每个第一栅格赋值为第二数值,作为新的第二栅格;以新的每个第二栅格为中心,将周围预设半径范围内的所有第一栅格重新赋值为目标数值,直到生成全覆盖路径时为止,效率和覆盖率高、重复率低。(The application is applicable to the technical field of path planning, and provides a full coverage path generation method, a device, terminal equipment and a storage medium, wherein all first grids which are not occupied by edges of a grid map and target objects are assigned as first numerical values, and all second grids which are occupied by the edges of the grid map and the edges of the target objects are assigned as second numerical values; reassigning all first grids in the surrounding preset radius range to be target numerical values by taking each second grid as a center; if the first grid comprises a plurality of target values, only keeping the maximum target value of the first grid; selecting a first grid with a target value equal to a preset value to generate a circular path; assigning each first grid occupied by the circular path to a second value as a new second grid; and with each new second grid as the center, reassigning all the first grids in the peripheral preset radius range as target numerical values until a full-coverage path is generated, wherein the efficiency and the coverage rate are high, and the repetition rate is low.)

1. A full coverage path generation method, comprising:

traversing the grid map, assigning all first grids which are not occupied by the edges of the grid map and the edges of the target object as first numerical values, assigning all second grids which are occupied by the edges of the grid map and the edges of the target object as second numerical values, wherein the target object comprises an obstacle, and the first numerical value is smaller than the second numerical value;

with each second grid as a center, reassigning all first grids in a preset radius range around as a target numerical value, wherein the target numerical value is positively correlated with the grid distance, is greater than the first numerical value and is less than the second numerical value, and the grid distance is the distance between the first grid and the second grid;

if the first grid comprises a plurality of target values, only keeping the maximum target value of the first grid;

selecting a first grid with a target value equal to a preset value to generate an annular path, wherein the preset value is larger than the first value and smaller than a second value;

assigning each first grid occupied by the circular path to a second value as a new second grid;

and returning to execute the step of reassigning all the first grids in the surrounding preset radius range to be target numerical values by taking each second grid as the center until a full-coverage path is generated, wherein the full-coverage path comprises a plurality of annular paths which cover the grid map and are mutually nested.

2. The method for generating a full coverage path according to claim 1, wherein the functional expression for reassigning all first grids within the surrounding preset radius range to the target value with each second grid as a center is:

wherein m is0Representing objectsValue, m1Denotes a first value, m2Represents a second value, ρ represents a grid distance, 2r represents a predetermined radius, (0,2 r)]Representing a preset radius range.

3. The full-coverage path generation method of claim 1, wherein the target object further comprises a mobile robot, a distance between any two adjacent circular paths is smaller than or equal to a traversal distance of the mobile robot, and the preset radius is twice the traversal distance;

the circular path is a circular ring path or a square ring path, and the first value, the second value and the target value represent the gray level of the grid or the probability of the grid being occupied.

4. The full-coverage path generation method of any one of claims 1 to 3, wherein after generating the full-coverage path, comprising:

and in the to-be-operated environment corresponding to the grid map, controlling the mobile robot to traverse the full-coverage path so as to realize full-coverage operation of the to-be-operated environment.

5. The full-coverage path generation method of claim 4, wherein controlling the mobile robot to traverse the full-coverage path comprises:

controlling the mobile robot to move from an initial position to the inner ring, and traversing a full coverage path from the inner ring to the outer ring;

or, the mobile robot is controlled to move from the initial position to the outer ring, and then the full coverage path is traversed from the outer ring to the inner ring.

6. The full-coverage path generation method of claim 4, wherein controlling the mobile robot to traverse the full-coverage path comprises:

respectively acquiring the number of annular paths on two sides of the mobile robot;

controlling the mobile robot to traverse one side with smaller number of the annular paths from the initial position;

if the mobile robot finishes traversing the side with the smaller number of the annular paths, controlling the mobile robot to return to the initial position;

and controlling the mobile robot to traverse the side with the larger number of the circular paths from the initial position.

7. The full-coverage path generation method of claim 5 or 6, wherein controlling the mobile robot to traverse the full-coverage path further comprises:

if the mobile robot finishes traversing one annular path, generating a switching path from the end point of one annular path to the adjacent other annular path, wherein the switching path is a third-order Bezier curve which is positioned between the two adjacent annular paths and is tangent to the two adjacent annular paths;

and controlling the mobile robot to move from the end point of one circular path to the start point of the other circular path along the switching path.

8. A full coverage path generation apparatus, comprising:

the first assignment unit is used for traversing the grid map, assigning all first grids which are not occupied by the edges of the grid map and the edges of the target object as first numerical values, assigning all second grids which are occupied by the edges of the grid map and the edges of the target object as second numerical values, wherein the target object comprises an obstacle, and the first numerical values are smaller than the second numerical values;

the second assignment unit is used for reassigning all the first grids in the surrounding preset radius range to be target numerical values by taking each second grid as a center, wherein the target numerical values are positively correlated with the grid distance, are larger than the first numerical values and are smaller than the second numerical values, and the grid distance is the distance between the first grids and the second grids;

a value screening unit, configured to retain only a maximum target value of the first grid if the first grid includes a plurality of target values;

the path generation unit is used for selecting a first grid with a target value equal to a preset value to generate an annular path, wherein the preset value is larger than the first value and smaller than the second value;

a third assigning unit, configured to assign each first grid occupied by the circular path to a second numerical value as a new second grid;

and the returning unit is used for returning and executing the step of reassigning all the first grids in the surrounding preset radius range to be target numerical values by taking each second grid as the center until a full-coverage path is generated, wherein the full-coverage path comprises a plurality of annular paths which cover the grid map and are mutually nested.

9. A terminal device comprising a processor and a computer program stored in the memory and executable on the processor, the processor implementing the steps of the full coverage path generation method according to any one of claims 1 to 7 when executing the computer program.

10. A computer-readable storage medium, characterized in that the computer-readable storage medium stores a computer program which, when executed by a processor, implements the steps of the full coverage path generation method of any one of claims 1 to 7.

Technical Field

The present application belongs to the technical field of path planning, and in particular, to a method and an apparatus for generating a full coverage path, a terminal device, and a storage medium.

Background

The traditional full Coverage Path algorithm (CCPP) requires a long calculation time, and most of full Coverage paths are difficult to achieve with a high Coverage rate and a low repetition rate while ensuring real-time performance. The random collision method has low working efficiency, and can reach 100 percent of coverage rate under the condition of not counting time. The spiral programming method is easy to fall into local dead zones. The bow-type search method can well cover a map in a full manner, but in an environment with more obstacles, more repeated paths exist, so that the mobile robot is frequently braked or turned in the operation process, and the efficiency is low.

Disclosure of Invention

The embodiment of the application provides a full coverage path generation method, a full coverage path generation device, terminal equipment and a storage medium, and aims to solve the problems of low efficiency and coverage rate and high repetition rate of a traditional full coverage path algorithm.

A first aspect of an embodiment of the present application provides a full coverage path generation method, including:

traversing the grid map, assigning all first grids which are not occupied by the edges of the grid map and the edges of the target object as first numerical values, assigning all second grids which are occupied by the edges of the grid map and the edges of the target object as second numerical values, wherein the target object comprises an obstacle, and the first numerical value is smaller than the second numerical value;

with each second grid as a center, reassigning all first grids in a preset radius range around as a target numerical value, wherein the target numerical value is positively correlated with the grid distance, is greater than the first numerical value and is less than the second numerical value, and the grid distance is the distance between the first grid and the second grid;

if the first grid comprises a plurality of target values, only keeping the maximum target value of the first grid;

selecting a first grid with a target value equal to a preset value to generate an annular path, wherein the preset value is larger than the first value and smaller than a second value;

assigning each first grid occupied by the circular path to a second value as a new second grid;

and returning to execute the step of reassigning all the first grids in the surrounding preset radius range to be target numerical values by taking each second grid as the center until a full-coverage path is generated, wherein the full-coverage path comprises a plurality of annular paths which cover the grid map and are mutually nested.

A second aspect of the embodiments of the present application provides a full coverage path generating apparatus, including:

the first assignment unit is used for traversing the grid map, assigning all first grids which are not occupied by the edges of the grid map and the edges of the target object as first numerical values, assigning all second grids which are occupied by the edges of the grid map and the edges of the target object as second numerical values, wherein the target object comprises an obstacle, and the first numerical values are smaller than the second numerical values;

the second assignment unit is used for reassigning all the first grids in the surrounding preset radius range to be target numerical values by taking each second grid as a center, wherein the target numerical values are positively correlated with the grid distance, are larger than the first numerical values and are smaller than the second numerical values, and the grid distance is the distance between the first grids and the second grids;

a value screening unit, configured to retain only a maximum target value of the first grid if the first grid includes a plurality of target values;

the path generation unit is used for selecting a first grid with a target value equal to a preset value to generate an annular path, wherein the preset value is larger than the first value and smaller than the second value;

a third assigning unit, configured to assign each first grid occupied by the circular path to a second numerical value as a new second grid;

and the returning unit is used for returning and executing the step of reassigning all the first grids in the surrounding preset radius range to be target numerical values by taking each second grid as the center until a full-coverage path is generated, wherein the full-coverage path comprises a plurality of annular paths which cover the grid map and are mutually nested.

A third aspect of the embodiments of the present application provides a robot, including a processor and a computer program stored in the memory and executable on the processor, where the processor, when executing the computer program, implements the steps of the full coverage path generation method according to the first aspect of the embodiments of the present application.

A fourth aspect of the embodiments of the present application provides a computer-readable storage medium, which stores a computer program, and the computer program, when executed by a processor, implements the steps of the full coverage path generation method according to the first aspect of the embodiments of the present application.

In the full coverage path generating method provided in the first aspect of the embodiment of the present application, all first grids that are not occupied by the edges of the grid map and the target object are assigned as first numerical values, and all second grids that are occupied by the edges of the grid map and the target object are assigned as second numerical values; with each second grid as a center, reassigning all first grids within a preset radius range around as a target numerical value; if the first grid comprises a plurality of target values, only keeping the maximum target value of the first grid; selecting a first grid with a target value equal to a preset value to generate a circular path; assigning each first grid occupied by the circular path to a second value as a new second grid; and returning to the step of executing the step of reassigning all the first grids in the surrounding preset radius range to be target values by taking each second grid as the center until the full coverage path is generated, wherein the efficiency and the coverage rate are high, and the repetition rate is low.

It is understood that the beneficial effects of the second to fourth aspects can be seen from the description of the first aspect, and are not described herein again.

Drawings

In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed to be used in the embodiments or the prior art descriptions will be briefly described below, and it is obvious that the drawings in the following description are only some embodiments of the present application, and it is obvious for those skilled in the art to obtain other drawings without creative efforts.

Fig. 1 is a first flowchart of a full coverage path generation method provided in an embodiment of the present application;

fig. 2 is a grid map after assigning values to all grids when the numerical values provided by the embodiment of the present application represent the gray levels of the grids;

fig. 3 is a grid map after all first grids within a preset radius range are reassigned to target values with each second grid of the edge of the grid map as a center according to an embodiment of the present application;

fig. 4 is a grid map after a circular path is generated by centering on each second grid of the edge of the grid map according to the embodiment of the present application;

FIG. 5 is a grid map after generating a full coverage path as provided by embodiments of the present application;

FIG. 6 is a full coverage path provided by an embodiment of the present application;

fig. 7 is a second flowchart of a full coverage path generating method according to an embodiment of the present application;

fig. 8 is a third flowchart illustrating a full coverage path generating method according to an embodiment of the present application;

fig. 9 is a fourth flowchart illustrating a full coverage path generating method according to an embodiment of the present application;

fig. 10 is a fifth flowchart illustrating a full coverage path generating method according to an embodiment of the present application;

fig. 11 is a switching path between two adjacent circular paths provided by an embodiment of the present application;

fig. 12 is a schematic structural diagram of a full coverage path generating apparatus provided in an embodiment of the present application;

fig. 13 is a schematic structural diagram of a terminal device according to an embodiment of the present application.

Detailed Description

In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.

It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

It should also be understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.

As used in this specification and the appended claims, the term "if" may be interpreted contextually as "when", "upon" or "in response to" determining "or" in response to detecting ". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".

Furthermore, in the description of the present application and the appended claims, the terms "first," "second," "third," and the like are used for distinguishing between descriptions and not necessarily for describing or implying relative importance.

Reference throughout this specification to "one embodiment" or "some embodiments," or the like, means that a particular feature, structure, or characteristic described in connection with the embodiment is included in one or more embodiments of the present application. Thus, appearances of the phrases "in one embodiment," "in some embodiments," "in other embodiments," or the like, in various places throughout this specification are not necessarily all referring to the same embodiment, but rather "one or more but not all embodiments" unless specifically stated otherwise. The terms "comprising," "including," "having," and variations thereof mean "including, but not limited to," unless expressly specified otherwise.

The embodiment of the application provides a full coverage path generation method, which can be executed by a processor of a terminal device when a corresponding computer program is run, and a full coverage path is generated in a mode of acquiring potential field contour lines by using edges of a Grid Map (Grid Map) or edges of obstacles, so that the efficiency and coverage rate are high, the repetition rate is low, and the method can be suitable for various working environments with high requirements on the efficiency and coverage rate.

In application, the terminal device may be a Mobile robot, or may be a computing device capable of controlling the Mobile robot, such as a (cloud) server, a Mobile phone, a tablet Computer, a wearable device, an Augmented Reality (AR)/Virtual Reality (VR) device, a notebook Computer, a super-Mobile Personal Computer (UMPC), a netbook, and a Personal Digital Assistant (PDA). The mobile robot may be any type of robot with working and moving functions, such as a sweeping robot, a killing robot, a plant protection drone, etc.

As shown in fig. 1, the method for generating a full coverage path according to the embodiment of the present application includes the following steps S101 to S106:

step S101, traversing the grid map, assigning all first grids which are not occupied by the edges of the grid map and the target object as first numerical values, and assigning all second grids which are occupied by the edges of the grid map and the target object as second numerical values.

In application, before traversing the grid map, the electronic map of the environment to be operated can be subjected to rasterization processing so as to generate the grid map of the environment to be operated; and traversing the grid map, respectively assigning all first grids which are not occupied by the edges of the grid map and all first grids which are not occupied by the target object as first numerical values, and respectively assigning all second grids which are occupied by the edges of the grid map and all second grids which are occupied by the edges of the target object as second numerical values.

In application, the first numerical value and the second numerical value may represent the gray scale of the grid corresponding to the numerical value in the electronic map, or the probability that the grid is occupied by the map edge or the object edge; when the numerical value represents the gray scale of the grid, the gray scales of different types of grids in the grid map after assignment are made different, so that the annular path and the edge of the object in the grid map can be clearly distinguished. The first value and the second value can be set by a user according to actual needs through a human-computer interaction device of the terminal device, for example, the first value is 0% gray and the second value is 100% gray, or the first value is 0% probability and the second value is 100% probability.

In application, since the circular path is subsequently generated only from the second grid of the grid map edge and the second grid of the object edge, all the second grids occupied by the object edge may be assigned with the second numerical value only, and other grids located in the object edge may not be assigned. Of course, it is also possible to assign the second numerical value to all second grids occupied by the object, thus enabling the circular path and the object in the grid map to be clearly distinguished when the numerical value represents the gray level of the grid.

As shown in fig. 2, an exemplary grid map is shown after assigning values to all grids when the numerical values represent the gray levels of the grids; where 1 denotes a grid map edge and 2 denotes an object.

Step S102, with each second grid as a center, reassigning all first grids in a preset radius range around as a target numerical value, wherein the target numerical value is positively correlated with a grid distance, is greater than the first numerical value and is less than a second numerical value, and the grid distance is the distance between the first grid and the second grid;

step S103, if the first grid comprises a plurality of target values, only keeping the maximum target value of the first grid;

step S104, selecting a first grid with a target value equal to a preset value to generate a circular path, wherein the preset value is larger than the first value and smaller than the second value.

In application, after all the grids are subjected to preliminary assignment, all the first grids which are located in a preset radius range around each second grid are reassigned by taking each second grid as a center. Because the finally generated full-coverage path requires that the mobile robot can completely cover the environment to be operated when operating the real environment to be operated corresponding to the grid map according to the full-coverage path, in the grid map, the distance between any two adjacent circular paths should be less than or equal to the traversal distance of the mobile robot, and the traversal distance is the distance after the real operation distance of the mobile robot is zoomed according to the zoom scale of the grid map. Further, since it is known from steps S102 to S104 that each circular path is actually generated from one circle of the first grid within the preset radius range around one circle of the second grid at the edge of the grid map or the edge of the obstacle, in order to enable the working area of the mobile robot to completely cover the environment to be worked, the preset radius should be set to twice the traversal pitch, and the preset radius range should be set to 0 to twice the traversal pitch. The grid map area corresponding to the preset radius range can be a circular area with the radius being twice of the traversal distance, and correspondingly, the annular path is a circular path; the grid map region corresponding to the preset radius range may also be a square ring region with a traversal pitch with a radius of two times (i.e., a traversal pitch with a diameter of four times), and correspondingly, the ring path is a square ring path.

In one embodiment, the functional expression of step S102 is:

wherein m is0Denotes the target value, m1Denotes a first value, m2Represents a second value, ρ represents a grid distance, 2r represents a predetermined radius, (0,2 r)]Representing a preset radius range.

In application, when the grid map includes a plurality of objects, the same first grid may be located within a predetermined radius range centered on a second grid at an edge of the grid map and a second grid at an edge of at least one object, and the first grid is assigned with a plurality of object values, and a largest one of the plurality of object values needs to be selected for reservation.

As shown in fig. 3, the grid map after all the first grids within the surrounding preset radius range are reassigned as the target values with each second grid of the grid map edge as the center is exemplarily shown; where 1 denotes a grid map edge and 2 denotes an object.

As shown in fig. 4, the exemplary embodiment shows the grid map after generating a circular path centered on each second grid of the grid map edges; where 1 denotes a grid map edge, 2 denotes an object, and 3 denotes a circular path.

Step S105, assigning a second numerical value to each first grid occupied by the annular path to serve as a new second grid;

and step S106, for each new second grid, returning to execute the step S102 until a full-coverage path is generated, wherein the full-coverage path comprises a plurality of annular paths which cover the grid map and are nested with one another.

In application, after each ring path is generated, the first grid occupied by the ring path is assigned to the second numerical value, so that the ring path is regarded as a new grid map edge or an object edge, and steps S102 to S104 are repeatedly executed to generate the next ring path, and the steps are repeated until a full coverage path covering the whole grid map is generated.

As shown in FIG. 5, a grid map is illustratively shown after a full coverage path has been generated; where 1 denotes a grid map edge, 2 denotes an object, and 3 denotes a circular path.

As shown in fig. 6, a full coverage path is illustratively shown; where 1 denotes a grid map edge, 2 denotes a target object, 3 denotes a circular path, and 4 denotes a mobile robot.

In application, the target object may include an obstacle in a grid map, so that the full coverage path method provided by the embodiment of the present application may be applied to an environment in which the obstacle exists, and an obstacle avoidance path is generated. The target object can also comprise the mobile robot in the grid map, so that the generated full-coverage path can surround the mobile robot and avoid the current position of the mobile robot, and the mobile robot is prevented from performing repeated operation on the current position of the mobile robot.

In application, the numerical values of all the grids in the grid map after being assigned may be stored in the memory, for example, a data storage list may be preset in the memory, and the numerical values of all the grids in the grid map after being assigned may be stored in the data storage list. The corresponding relation between the full-coverage path and the to-be-operated environment corresponding to the grid map can be established in the memory, so that when the mobile robot needs to be controlled to operate the to-be-operated environment in the follow-up process, the corresponding full-coverage path can be quickly found, the mobile robot is controlled to traverse the full-coverage path in the to-be-operated ring, full-coverage operation of the to-be-operated environment is achieved, and computing resources and execution time of the processor are effectively saved. The corresponding relationship may be a mapping relationship, and may exist in the form of a corresponding relationship Table, and the corresponding relationship Table may be a Look-Up-Table (LUT), and may also exist in the form of looking Up and outputting a corresponding lookup result through other input data.

As shown in fig. 7, in an embodiment, after step S106, the following step S107 is further included:

and S107, controlling the mobile robot to traverse the full-coverage path in the environment to be operated corresponding to the grid map so as to realize full-coverage operation of the environment to be operated.

In application, after the full-coverage path in the grid map is generated, when the operation needs to be performed on the environment to be operated corresponding to the grid map, the full-coverage path in the grid map can be mapped into the real environment to be operated according to the scaling scale, the mobile robot is controlled to traverse the full-coverage path in the environment to be operated, so that the full-coverage operation of the environment to be operated is realized, and meanwhile, the real-time position of the mobile robot is marked in the grid map.

As shown in fig. 8, in one embodiment, step S107 includes the following steps S201 or S202:

step S201, in an environment to be operated corresponding to a grid map, controlling a mobile robot to move from an initial position to an inner ring, and traversing a full-coverage path from the inner ring to an outer ring so as to realize full-coverage operation of the environment to be operated;

step S202, in the environment to be operated corresponding to the grid map, the mobile robot is controlled to move from the initial position to the outer ring, and then the full-coverage path is traversed from the outer ring to the inner ring, so that full-coverage operation of the environment to be operated is achieved.

In application, when the mobile robot is controlled to perform full-coverage operation on an environment to be operated, the robot can be controlled to move from an initial position (namely the current position of the mobile robot in the environment to be operated) to an inner ring (namely a mapping path of a circular path with the shortest length in a grid map in the environment to be operated), and then the robot can be traversed from the inner ring to an outer ring (namely a mapping path of a circular path with the longest length in the grid map in the environment to be operated) ring by ring until the traversal of a full-coverage path is completed; or the robot can be controlled to move from the initial position to the outer ring and then traverse from the outer ring to the inner ring by ring until the traversal of the full coverage path is completed.

As shown in fig. 9, in one embodiment, step S107 includes the following steps S301 to S304:

s301, respectively acquiring the number of annular paths on two sides of the mobile robot in an environment to be operated corresponding to a grid map;

step S302, controlling the mobile robot to traverse one side with smaller number of annular paths from the initial position;

step S303, if the mobile robot finishes traversing the side with the smaller number of the annular paths, controlling the mobile robot to return to the initial position;

and S304, controlling the mobile robot to traverse the side with the larger number of the annular paths from the initial position so as to realize full-coverage operation of the environment to be operated.

In application, when the mobile robot is controlled to perform full-coverage operation on the environment to be operated, the grid map and the real environment to be operated are mapped with each other, so that the number of the circular paths on the two sides of the mobile robot in the grid map can be equivalent to the number of the circular paths on the two sides of the mobile robot in the environment to be operated. After the number of the annular paths on the two sides of the mobile robot is obtained, the number of the annular paths on the two sides is compared, the mobile robot is controlled to traverse the smaller side of the annular path from the initial position, after the smaller side of the annular path is traversed, the mobile robot is controlled to return to the initial position, and then the larger side of the annular path is traversed, so that the full-coverage operation of the environment to be operated is completed.

As shown in fig. 10, in an embodiment, step S107 further includes the following steps S401 and S402:

step S401, if the mobile robot completes traversing one annular path, generating a switching path from the end point of one annular path to the adjacent other annular path, wherein the switching path is a third-order Bezier curve which is positioned between the two adjacent annular paths and is tangent to the two adjacent annular paths;

and S402, controlling the mobile robot to move from the end point of one annular path to the start point of the other annular path along the switching path.

In application, when the mobile robot traverses one annular path and needs to move to the next annular path, a switching path based on a third-order bezier curve can be adopted for switching paths, and the third-order bezier curve is located between two adjacent annular paths and is tangent to the two adjacent annular paths. Since the paths are circular, the start point and the end point of each circular path are actually the same location point.

As shown in fig. 11, a switching path between two adjacent circular paths is exemplarily shown; where 5 denotes a switching path.

In application, a user can input an operation starting control instruction through a human-computer interaction device of the terminal device to control the mobile robot to traverse the full-coverage path according to the operation starting control instruction and according to any one of the traversal modes in the embodiments corresponding to fig. 8 or fig. 9, so as to realize all coverage operations of the environment to be operated; the user can also input a work stopping control instruction through a human-computer interaction device of the terminal equipment so as to control the mobile robot to stop working on the environment to be worked according to the work stopping control instruction.

In application, the human-computer interaction device of the terminal device may include at least one of an entity key, a touch sensor, a gesture recognition sensor, and a voice recognition unit, so that a user may input a movement control instruction in a corresponding touch manner, gesture control manner, or voice control manner. The physical keys and the touch sensor can be arranged at any position of the terminal device, such as a control panel. The touch manner of the physical key may be pressing or toggling. The touch manner of the touch sensor may be pressing or touching. The gesture recognition sensor may be disposed at any position outside the housing of the terminal device. The gesture for controlling the terminal device can be set by a user according to actual needs in a user-defined mode or default setting of the user when the user leaves a factory. The voice recognition unit may include a microphone and a voice recognition chip, or may include only a microphone and implement a voice recognition function by a processor of the terminal device. The voice for controlling the terminal device can be set by the user according to actual needs in a user-defined mode or default setting of the user when the user leaves a factory.

It should be understood that, the sequence numbers of the steps in the foregoing embodiments do not imply an execution sequence, and the execution sequence of each process should be determined by its function and inherent logic, and should not constitute any limitation to the implementation process of the embodiments of the present application.

The embodiment of the present application further provides a full coverage path generating device, which is used for executing the method steps in the foregoing method embodiment. The device may be a virtual appliance (virtual application) in the terminal device, which is executed by a processor of the terminal device, or may be the terminal device itself.

As shown in fig. 12, a full coverage path generating apparatus 100 provided in the embodiment of the present application includes:

the first assignment unit 101 is configured to traverse a grid map, assign all first grids that are not occupied by edges of the grid map and target objects to first numerical values, and assign all second grids that are occupied by edges of the grid map and target objects to second numerical values, where the target objects include obstacles, and the first numerical values are smaller than the second numerical values;

the second assignment unit 102 is configured to reassign all first grids within the preset radius range around each second grid as a target value, where the target value is in positive correlation with a grid distance, and is greater than the first value and smaller than the second value, and the grid distance is a distance between the first grid and the second grid;

a value screening unit 103, configured to, if the first grid includes a plurality of target values, only retain a maximum target value of the first grid;

a path generating unit 104, configured to select a first grid with a target value equal to a preset value, and generate an annular path, where the preset value is greater than the first value and smaller than a second value;

a third assigning unit 105 for assigning each first grid occupied by the circular path to a second value as a new second grid;

and a returning unit 106, configured to return the second assigning unit 102 for each new second grid until a full-coverage path is generated, where the full-coverage path includes multiple annular paths that cover the grid map and are nested with each other.

In application, each unit in the above apparatus may be a software program module, may be implemented by different logic circuits integrated in a processor or by a separate physical component connected to the processor, and may also be implemented by a plurality of distributed processors.

As shown in fig. 13, an embodiment of the present application further provides a terminal device 200, including: at least one processor 201 (only one processor is shown in fig. 13), a memory 202, and a computer program 203 stored in the memory 202 and executable on the at least one processor 201, the steps in the various embodiments of the full coverage path generation method described above being implemented when the computer program 203 is executed by the processor 201.

In applications where the terminal device may include, but is not limited to, a processor and a memory, fig. 13 is merely an example of a terminal device and is not intended to be limiting, and may include more or less components than those shown, or may combine some components, or different components, such as input output devices, network access devices, etc., and may also include mobile components when the terminal device is a mobile robot. The input and output device may include the human-computer interaction device, and may further include a display screen for displaying the operating parameters of the terminal device. The network access device may include a communication module for the terminal device to communicate with the user terminal. The moving part can comprise a steering engine, a motor, a driver and the like for driving the joints of the mobile robot to move.

In an Application, the Processor may be a Central Processing Unit (CPU), and the Processor may also be other general purpose processors, Digital Signal Processors (DSPs), Application Specific Integrated Circuits (ASICs), Field Programmable Gate Arrays (FPGAs) or other Programmable logic devices, discrete Gate or transistor logic devices, discrete hardware components, and the like. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.

In some embodiments, the storage may be an internal storage unit of the terminal device, such as a hard disk or a memory of the terminal device. The memory may also be an external storage device of the terminal device in other embodiments, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), and the like provided on the terminal device. The memory may also include both internal and external storage units of the terminal device. The memory is used for storing an operating system, an application program, a Boot Loader (Boot Loader), data, and other programs, such as program codes of computer programs. The memory may also be used to temporarily store data that has been output or is to be output.

In application, the Display screen may be a Thin Film Transistor Liquid Crystal Display (TFT-LCD), a Liquid Crystal Display (LCD), an Organic electroluminescent Display (OLED), a Quantum Dot Light Emitting diode (QLED) Display screen, a seven-segment or eight-segment digital tube, and the like.

In application, the Communication module may be configured as any device capable of performing wired or Wireless Communication with a client directly or indirectly according to actual needs, for example, the Communication module may provide a solution for Communication applied to a network device, including Wireless Local Area Network (WLAN) (e.g., Wi-Fi network), bluetooth, Zigbee, mobile Communication network, Global Navigation Satellite System (GNSS), Frequency Modulation (FM), Near Field Communication (NFC), Infrared (Infrared, IR), and the like. The communication module may include an antenna, and the antenna may have only one array element, or may be an antenna array including a plurality of array elements. The communication module can receive electromagnetic waves through the antenna, frequency-modulate and filter electromagnetic wave signals, and send the processed signals to the processor. The communication module can also receive a signal to be sent from the processor, frequency-modulate and amplify the signal, and convert the signal into electromagnetic waves through the antenna to radiate the electromagnetic waves.

It should be noted that, for the information interaction, execution process, and other contents between the above-mentioned devices/modules, the specific functions and technical effects thereof are based on the same concept as those of the embodiment of the method of the present application, and reference may be made to the part of the embodiment of the method specifically, and details are not described here.

It will be clear to those skilled in the art that, for convenience and simplicity of description, the foregoing division of the functional modules is merely illustrated, and in practical applications, the above function distribution may be performed by different functional modules according to needs, that is, the internal structure of the apparatus is divided into different functional modules to perform all or part of the above described functions. Each functional module in the embodiments may be integrated into one processing module, or each module may exist alone physically, or two or more modules are integrated into one module, and the integrated module may be implemented in a form of hardware, or in a form of software functional module. In addition, specific names of the functional modules are only used for distinguishing one functional module from another, and are not used for limiting the protection scope of the application. The specific working process of the modules in the system may refer to the corresponding process in the foregoing method embodiment, and is not described herein again.

The embodiments of the present application further provide a computer-readable storage medium, in which a computer program is stored, and when the computer program is executed by a processor, the steps in the above-mentioned method embodiments can be implemented.

Embodiments of the present application provide a computer program product, which, when running on a terminal device, enables the terminal device to implement the steps in the above method embodiments.

The integrated module, if implemented in the form of a software functional module and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, all or part of the processes in the methods of the embodiments described above can be implemented by a computer program, which can be stored in a computer-readable storage medium and can implement the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer readable medium may include at least: any entity or apparatus capable of carrying computer program code to a terminal device, recording medium, computer Memory, Read-Only Memory (ROM), Random-Access Memory (RAM), electrical carrier wave signals, telecommunications signals, and software distribution medium. Such as a usb-disk, a removable hard disk, a magnetic or optical disk, etc.

In the above embodiments, the descriptions of the respective embodiments have respective emphasis, and reference may be made to the related descriptions of other embodiments for parts that are not described or illustrated in a certain embodiment.

Those of ordinary skill in the art will appreciate that the various illustrative modules and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.

In the embodiments provided in the present application, it should be understood that the disclosed apparatus and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the modules is merely a logical division, and in actual implementation, there may be other divisions, for example, multiple modules or components may be combined or integrated into another system, or some features may be omitted, or not implemented. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or modules, and may be in an electrical, mechanical or other form.

The modules described as separate parts may or may not be physically separate, and parts displayed as modules may or may not be physical modules, may be located in one place, or may be distributed on a plurality of network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of the present embodiment.

The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not substantially depart from the spirit and scope of the embodiments of the present application and are intended to be included within the scope of the present application.

21页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:电力巡检方法、装置、四足机器人、系统和存储介质

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类