WO2023160698A1 - Dynamic full-coverage path planning method and apparatus, cleaning device, and storage medium - Google Patents

Dynamic full-coverage path planning method and apparatus, cleaning device, and storage medium Download PDF

Info

Publication number
WO2023160698A1
WO2023160698A1 PCT/CN2023/078401 CN2023078401W WO2023160698A1 WO 2023160698 A1 WO2023160698 A1 WO 2023160698A1 CN 2023078401 W CN2023078401 W CN 2023078401W WO 2023160698 A1 WO2023160698 A1 WO 2023160698A1
Authority
WO
WIPO (PCT)
Prior art keywords
area
path
cleaning
coverage
contour
Prior art date
Application number
PCT/CN2023/078401
Other languages
French (fr)
Chinese (zh)
Inventor
徐伟雄
刘苗
徐成
张放
王肖
张德兆
李晓飞
霍舒豪
Original Assignee
北京智行者科技股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 北京智行者科技股份有限公司 filed Critical 北京智行者科技股份有限公司
Publication of WO2023160698A1 publication Critical patent/WO2023160698A1/en

Links

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
    • G05D1/02Control of position or course in two dimensions

Definitions

  • the present application relates to the technical field of automatic driving, and in particular to a dynamic full-coverage path planning method, a dynamic full-coverage path planning device, a cleaning device and a storage medium.
  • the embodiment of the present application provides a dynamic full-coverage path planning solution to solve the problem in the prior art that the cleaning path is often generated once and cannot adapt to environmental changes, resulting in unusable cleaning paths or low cleaning efficiency.
  • the embodiment of the present application provides a dynamic full-coverage path planning method, which includes
  • the embodiment of the present application provides a dynamic full-coverage path planning device, which includes
  • a processor configured to execute executable instructions stored in the memory, and when the executable instructions are executed by the processor, the processor executes the dynamic full-coverage path planning method as described in the first aspect.
  • the embodiment of the present application provides a dynamic full-coverage path planning device, which includes:
  • a state update module configured to dynamically update the coverage state map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area ;
  • the dynamic scheduling module is used to detect the trigger conditions in real time, and when the preset trigger conditions occur, according to the coverage status
  • the state map selects the area to be routed from the uncovered area and calls the route planning module for full coverage route planning;
  • the path planning module is used for performing full-coverage path planning on the selected area to be path planned.
  • the embodiment of the present application provides a cleaning device, which includes:
  • the above-mentioned dynamic full-coverage path planning device is arranged on the fuselage.
  • the present application provides a storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of the above method are implemented.
  • the present application provides a computer program product containing instructions.
  • the computer program product When the computer program product is run on a computer, it causes the computer to execute the above-mentioned dynamic full-coverage path planning method.
  • the method provided by the embodiment of the present application can dynamically maintain the coverage state map according to the environmental change information, and dynamically trigger the full coverage path planning according to the updated coverage state map, so that the current path planning can be dynamically adjusted according to the environmental change to better Adapt to changes in the environment, thereby improving the flexibility of cleaning tasks, and more in line with people's cleaning habits to ensure cleaning efficiency.
  • FIG. 1 is a flowchart of a dynamic full-coverage path planning method according to an embodiment of the present application
  • FIG. 2 is a flowchart of a dynamic full-coverage path planning method according to another embodiment of the present application.
  • FIG. 3 is a flowchart of a method for full-coverage path planning in an embodiment of the present application
  • Figure 4 schematically shows the effect display diagram of the outermost circle path before and after optimization
  • Fig. 5 schematically shows a display diagram of simulating the coverage effect of the outer contour of the cleaning device on the optimized outermost circle path
  • Fig. 6 schematically shows the schematic diagram of the effect of the outer contour and the inner contour before and after optimization
  • FIG. 7 is a flow chart of a method for full-coverage path planning in an embodiment of the present application.
  • Figure 8 schematically shows the effect of the target area map before and after the transformation process, where Figure 8A shows a grid map with contour boundaries mapped, and Figure 8B shows the distance transformation of the grid map shown in Figure 8A The obtained distance transformation map;
  • Fig. 9 schematically shows a schematic diagram of the result of the contour path formed according to the method of the embodiment of the present application, which Among them, Fig. 9A is the contour line cluster generated according to the distance of the distance transformation map, and Fig. 9B shows the drivable contour line path obtained after processing the contour line cluster of Fig. 9A;
  • FIG. 10 is a flowchart of a method for connecting generated contour paths according to an embodiment of the present application.
  • Fig. 11 is a flow chart of a method for performing connection processing on the traversed current road section according to an embodiment of the present application
  • Fig. 12 schematically shows the connection processing effect display diagram obtained after performing a round of traversal
  • Figure 13 schematically shows a display effect diagram of a complete cleaning path obtained after connection
  • FIG. 14 is a flow chart of a method for full-coverage path planning processing in another embodiment of the present application.
  • Figure 15 schematically shows the effect of determining a contour line with a small area as a contour line to be deleted that does not meet the preset requirements, wherein Figure 15 is an example of a grid map;
  • Figure 16 schematically shows a schematic diagram of the effect of bow-shaped filling in the area where the contour lines are deleted, wherein Figure 16 is an example of a grid map;
  • FIG. 17 is a flow chart of a method for full-coverage path planning processing in another embodiment of the present application.
  • Figure 18 schematically shows the relationship between the Voronoi skeleton line and the leaky coverage area, wherein, Figure 18A shows the relationship between the leaky coverage area and the Voronoi skeleton line obtained after simulating the covering movement, and Figure 18B shows the generated Voronoi The corresponding relationship between the skeleton line and the leakage coverage area on the map;
  • Figure 19 schematically shows the coverage effect diagram of the optimized Voronoi skeleton line on the map
  • Figure 20 shows the effect diagram of the small broken and missing areas generated during the actual cleaning process
  • Figure 21 schematically shows another display effect diagram of a complete cleaning path obtained after connection
  • FIG. 22 is a functional block diagram of a dynamic full-coverage path planning device according to an embodiment of the present application.
  • FIG. 23 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application.
  • FIG. 24 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application.
  • FIG. 25 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application.
  • FIG. 26 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application.
  • FIG. 27 is a functional block diagram of a dynamic full-coverage path planning device in another embodiment of the present application.
  • FIG. 28 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application.
  • Fig. 29 is a functional block diagram of a cleaning device according to an embodiment of the present application.
  • FIG. 30 is a schematic structural diagram of an embodiment of the electronic device of the present application.
  • Fig. 31 schematically shows a method flow chart of the first optimization process in an embodiment of the present application
  • Fig. 32 schematically shows a method flowchart of the first optimization process in another embodiment of the present application.
  • Fig. 33 schematically shows a method flowchart of the second optimization process in an embodiment of the present application
  • Fig. 34 schematically shows a flow chart of a method for full-coverage path planning processing in yet another embodiment of the present application.
  • program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types.
  • the application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network.
  • program modules may be located in both local and remote computer storage media including storage devices.
  • module refers to related entities applied to computers, such as hardware, a combination of hardware and software, software or software in execution, and the like.
  • an element may be, but is not limited to being, a process running on a processor, a processor, an object, an executable element, a thread of execution, a program and/or a computer.
  • an application program or a script program running on a server, and the server may both be components.
  • One or more elements can be within a process and/or thread of execution and an element can be localized on one computer and/or distributed between two or more computers and executed by various computer-readable media .
  • Components may also communicate via a signal having one or more packets of data, for example, from one interacting with a local system, another component in a distributed system, and/or interacting with other systems via a network over the Internet. local and/or remote procedures to communicate.
  • the dynamic full-coverage path planning method in the embodiment of the present application can be applied in a dynamic full-coverage path planning device, so that users can use the dynamic full-coverage path planning device to dynamically execute path planning and improve cleaning tasks.
  • these dynamic full-coverage path planning devices include, but are not limited to, smart phones, smart tablets, personal PCs, computers, cloud servers, and the like.
  • the dynamic full-coverage path planning method in the embodiment of the present application can also be applied to smart devices with cleaning functions (or mobile platforms with automatic cleaning functions), such as unmanned cleaning vehicles, sweeping robots or automatic Driving a cleaning vehicle, etc., the application is not limited to this.
  • Figure 1 schematically shows a method for dynamic full-coverage path planning according to an embodiment of the present application, which can be applied to dynamic full-coverage path planning devices such as smart phones, personal computers, and cloud servers, so that these devices can
  • the received environmental change information is used for dynamic cleaning path analysis, and a cleaning path that is dynamically updated with the environmental change information is planned; it is also applicable to cleaning equipment that performs cleaning tasks to dynamically perform path planning and cleaning tasks according to environmental change information, such as Unmanned sanitation vehicles, unmanned cleaning vehicles, unmanned sweeping vehicles, sweeping robots, unmanned washing machines, etc.
  • the method of the embodiment of the present application includes
  • Operation S10 dynamically update the coverage state map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area; and operation S11.
  • a preset trigger condition occurs, select an area to be routed from the uncovered area according to the coverage state map, and perform full-coverage route planning on the selected area to be routed.
  • the embodiment of the present application maintains a dynamically updated coverage state map to dynamically execute full-coverage path planning according to environmental changes, so as to dynamically generate and re-plan the current cleaning path, so that real-time cleaning can be maintained in the face of complex dynamic environments
  • the effectiveness of the route improves the applicable scenarios and scope of the full-coverage route planning algorithm, and avoids problems such as low efficiency, cleaning failures, and unclean cleaning caused by the failure of the one-time generated cleaning path. It is more in line with human cleaning and processing ideas and is more intelligent. , which is more feasible.
  • the environment change information refers to real-time information for indicating the current environment change, which may be obtained from other modules or other devices or passively received.
  • the environment change information may refer to a real-time environment map, which may be obtained from a camera device that captures the current environment map in real time.
  • the environmental change information may also refer to the real-time driving trajectory of the equipment used to perform the current cleaning task or the driving trajectory within a specified time period, such as the driving trajectory of the sweeping robot, unmanned sweeping vehicle, etc.
  • the real-time driving trajectory passed or the driving trajectory traveled within a specified time period, at this time, the environmental change information can be obtained from the navigation module.
  • the environmental change information may also be input by the user through the user interface provided by the dynamic full-coverage path planning device or the cleaning equipment, so as to obtain the environmental change information.
  • the coverage status map is a map corresponding to the target cleaning area targeted by the current cleaning task that marks the covered area, uncovered area, and leaked coverage area.
  • the map can be a grid map or a real-time Environment map, can also be a grid map
  • the distance transformation map obtained after performing distance transformation on the map is not limited in this embodiment of the present application, as long as a coverage state map that dynamically marks the coverage state can be maintained, so that it can be performed according to the dynamically changing coverage state marks on the coverage state map. Dynamic path planning is sufficient.
  • the coverage state map in the embodiment of the present application refers to a map obtained by marking the coverage state on the grid map corresponding to the target cleaning area, and the coverage state marking specifically includes marking the cleaned area in the target area as a covered area, Uncleaned areas are marked as uncovered areas.
  • the trigger condition is a preset condition for triggering the determination of the area to be route planned and the planning of the full-coverage route, which can be set according to requirements, or can be set as the default condition of the system, so that according to the preset scenario or User-defined requirements are combined with the dynamic coverage state map to perform dynamic path planning, wherein, the full coverage path planning is carried out for the selected area to be path planning.
  • the cleaning path based on the execution of the cleaning task can be dynamically replaced with a newly planned cleaning path that is more in line with the actual environmental information, so as to realize the dynamic update of the cleaning path based on the execution of the task , to achieve the effect of performing cleaning tasks flexibly.
  • the embodiment of the present application can flexibly set the trigger conditions according to the needs, that is, determine the situation and area where full-coverage path planning needs to be performed according to the needs and actual conditions, and execute correspondingly according to the preset trigger conditions and the selected area to be planned. Full coverage path planning is sufficient.
  • the environmental change information can be implemented as including a real-time environmental map
  • dynamically updating the coverage state map corresponding to the target area according to the environmental change information may specifically include: detecting obstacles according to the real-time environment map, determining whether there is a newly added first obstacle, and according to the detected real-time Obstacle information, when there is a newly added first obstacle, add the newly added first obstacle to a corresponding position of the coverage state map.
  • the obstacle detection according to the real-time environment map can refer to the prior art implementation, the embodiment of the present application will not repeat it here.
  • the embodiment of the present application will also convert the real-time environment map into a grid map according to the implementation method of the prior art, and add new information based on the converted grid map.
  • the marking and coverage state update of the first obstacle of thus generating an updated coverage state map.
  • determining whether there is a new obstacle based on the acquired environmental change information may be based on the comparison result of the obstacle detection result and the obstacle position in the original non-updated coverage state map to determine whether there is a new obstacle .
  • adding the newly added first obstacle to the corresponding position of the coverage state map can also be implemented as including further judging the position of the newly added first obstacle in the target area, When the newly added first obstacle is located in the uncovered area, the newly added first obstacle is added to a corresponding position in the uncovered area of the coverage state map.
  • the environment change information may not be limited to a real-time environment map, but directly newly added first obstacle information.
  • the newly added first obstacle can be directly added according to the environment change information including the newly added first obstacle Add to the corresponding position of the coverage state map, or add the newly added first obstacle to the corresponding position in the non-coverage area of the coverage state map when it is judged that the newly added first obstacle is located in the uncovered area.
  • the preset trigger condition can be flexibly set according to the user's path planning requirements.
  • the preset trigger condition can be Including that there is a newly added first obstacle in the acquired environment change information and the newly added first obstacle is located in the non-covered area, correspondingly, the selected area to be routed can be the target area containing the first obstacle uncleaned areas.
  • the global path planning taking the global path planning as an example, since the overall path planning will be performed on the uncleaned area of the entire target area during the global path planning, the first obstacles, there will be a demand for path planning in the target area.
  • the preset trigger conditions at this time can be set to include the presence of a newly added first obstacle in the acquired environment change information and the new The first obstacle added is located in the uncovered area.
  • the area to be route planned selected from the uncovered area according to the coverage state map may specifically be an uncleaned area of the target area.
  • the path planning is generally only for the current cleaning area. Therefore, only when the newly added first obstacle falls into the uncleaned area of the current cleaning area, will the dynamics of the current cleaning area be generated.
  • the preset trigger conditions include the presence of a newly added first obstacle in the acquired environment change information and the newly added first obstacle position
  • the area to be route planned selected from the uncovered area according to the coverage state map at this time is the uncleaned area of the current cleaned sub-area.
  • the preset trigger condition may also be set to include that there is a newly added first obstacle in the acquired environmental change information and the newly added first obstacle is located in an uncleaned area in the current cleaning sub-area, correspondingly, At this time, the area to be route planned selected from the uncovered area according to the coverage state map is the uncleaned area of the current cleaned sub-area.
  • full-coverage path planning using cloud servers for global path planning or local path planning, when there are multiple clean sub-areas in the target area, if the newly added first obstacle is located in other uncleaned sub-areas When it is in the cleaning sub-area, there will also be a need for re-path planning to update the cleaning path stored in the cloud or sent to the cleaning device.
  • the preset trigger condition can be set to include the acquired environmental change information There is a newly added first obstacle in , and the newly added first obstacle is located in the uncovered area.
  • the area to be route planned according to the coverage state map selected from the uncovered area is the The uncleaned area of the cleaned sub-area where the first obstacle is located.
  • Operation S10 is further implemented to include real-time
  • the real-time obstacle information in the environment map updates the coverage state map.
  • the area occupied by the removed second obstacle is correspondingly updated as not covered area.
  • the embodiment of the present application determines the real-time obstacle information in the real-time environment map by detecting the obstacles in the acquired real-time environment map, and based on the real-time obstacle information and the original unupdated coverage Compared with the obstacle information in the status map, for example, through the obstacle grid status or position or coordinates, etc., to determine whether there is an obstacle removed in the currently acquired real-time environment map, and if so, move The area where the removed second obstacle is located is marked as an uncovered area, so as to update the coverage state map.
  • the environment change information may not be limited to the real-time environment map, but directly is the removed second obstacle information.
  • the removed second obstacle can be directly based on the environment change information including the removed second obstacle
  • the occupied area is correspondingly updated to the uncovered area.
  • the preset trigger condition can also be flexibly set according to the user's route planning requirements.
  • the preset trigger condition can be It is set to include that there is a removed second obstacle in the acquired environment change information; correspondingly, the selected area to be route planned may be an uncleaned area including the second obstacle in the target area.
  • the second obstacle is removed in the target area When there is an object, the removed second obstacle area will become a new uncovered area, so there will be a need for path planning for the target area.
  • the preset trigger condition at this time can be set
  • the removed second obstacle exists in the acquired environment change information.
  • the area to be route planned selected from the uncovered area according to the coverage state map may specifically be an uncleaned area of the target area.
  • the path planning is generally only for the current cleaning area.
  • the second obstacle to be removed is an existing obstacle located in the current cleaning area.
  • the cleaned area, or the removed second obstacle is located in an uncleaned area of the current cleaned area.
  • the preset trigger condition includes that there is a removed second obstacle in the acquired environmental change information and the second obstacle is located in an uncleaned area of the current cleaned sub-area, correspondingly, At this time, the area to be route planned selected from the uncovered area according to the coverage state map is the uncleaned area of the current cleaned sub-area.
  • the preset trigger condition includes that there is a removed second obstacle in the acquired environmental change information and the second obstacle is located in an uncleaned area of the current cleaned sub-area, correspondingly, At this time, the area to be route planned selected from the uncovered area according to the coverage state map is the uncleaned area of the current cleaned sub-area.
  • the preset trigger condition includes the presence of a removed second obstacle in the acquired environmental change information.
  • select The area to be route planned is an uncleaned area of the cleaned sub-area where the second obstacle is located.
  • the preset trigger conditions are It can be set to include that there is a removed second obstacle in the obtained environmental change information.
  • the area to be route planned selected from the uncovered area according to the coverage state map is the second obstacle The uncleaned area of the cleaned sub-area.
  • the execution of the cleaning task may have preset rules, for example, it is performed in a specified order, that is, after one cleaning sub-area is performed, another cleaning sub-area is performed in a preset order; for example It can also be performed according to a specified cycle or time, that is, when the preset time arrives or when the specified cycle arrives, the corresponding cleaning task of cleaning the sub-area is performed.
  • the preset trigger conditions in this embodiment of the present application can also be set to include the completion of the current cleaning sub-area, and/or the arrival of the preset execution cycle, and/or the arrival of the preset execution time, which
  • the selected area to be routed can be an uncovered area in the coverage state map that meets the preset cleaning rules.
  • the preset cleaning rules can be set by the system by default, or can be customized by the user.
  • the preset cleaning rules can be to perform cleaning tasks on the cleaning sub-areas in a specified order.
  • select The to-be-path planning area of can be the uncovered area corresponding to the next to-be-cleaned sub-area in the specified order.
  • the preset cleaning rule can also be to perform the cleaning task according to the distance of the cleaning sub-area. An uncovered area corresponding to a sub-area to be cleaned. In yet another embodiment, the preset cleaning rule can also be to perform cleaning tasks according to the area size of the cleaning sub-area in descending order. At this time, correspondingly, the selected area to be routed can be the same as The uncovered area corresponding to the next sub-area to be cleaned that is closest to the area area of the cleaning sub-area that currently ends the cleaning task.
  • the new cleaning sub-area may be inconsistent with the current driving direction or driving trajectory, and it cannot be effectively moved to this area for cleaning immediately. Therefore, for this In this case, in the embodiment of the present application, it is preferable to plan the path and execute the cleaning task for the cleaning sub-area generated in this case according to the preset cleaning execution time or the preset cleaning time period (for example, after one hour).
  • the preset cleaning execution time as an example, when the uncovered area corresponding to the second obstacle area is marked for removal, the execution time for path planning and/or cleaning tasks that need to be executed for the uncovered area can be set at the same time , such as setting to 5:00 pm on October 31, 2021, etc.
  • path planning will be executed according to the set cleaning execution time, and then the cleaning task for cleaning the sub-area will be executed according to the set cleaning execution time.
  • the embodiment of the present application can realize that after the original obstacle is detected and has been removed, the uncleaned area is updated in the coverage status map, and then the area is replenished and scanned at an appropriate time, so as to achieve Dynamic adaptation to environmental changes and the effect of ensuring cleaning efficiency and coverage.
  • FIG. 2 also takes the environment change information including real-time driving trajectory as an example, and shows the implementation method of performing dynamic planning of the cleaning route according to the real-time driving route.
  • the operation S10 shown in Figure 1 is also implemented as including
  • Operation S101 determine the coverage state of the cleaning path based on the current driving according to the real-time driving trajectory, and The coverage state map is updated based on the determined coverage state.
  • the coverage state map is dynamically updated according to the actual driving trajectory of the cleaning equipment, such as an unmanned sweeping vehicle, so as to plan and update the cleaning route in real time.
  • the specific implementation method of determining the coverage state of the cleaning path based on the current driving can be to determine the cleaning path that has been traversed as the covered state according to the cleaning path traveled by the real-time driving trajectory, and correspondingly in the coverage state.
  • On the state map mark the swept path as covered area.
  • it may be to determine the newly added cleaned area according to the preset cleaning width and the actual cleaning track, and mark the newly added cleaned area as the covered area, for example, the preset cleaning width and the actual cleaning track
  • the calculated path length traveled is multiplied to obtain the actual cleaning area, and the covered area is determined according to the actual cleaning area.
  • the preset trigger conditions can be set to include the completion of the current cleaning sub-area, and/or the arrival of the preset execution cycle, and/or the arrival of the preset execution time,
  • the selected area to be routed may be an uncovered area in the coverage state map that meets the preset cleaning rules.
  • contour line path below as an example, you can get a real-time cleaning track only after one lap is executed, and according to the real-time cleaning track, the currently executed A circle of paths is marked as a covered area on the coverage status map, and a path planning is triggered.
  • the selected path planning area can be the uncleaned area of the current cleaning sub-area, that is, the trigger condition can be set as every execution
  • the cleaning route based on the current driving is updated once.
  • the cycle of obtaining the real-time cleaning trajectory can also be set as the cycle of obtaining the cleaning trajectory in real time after a cleaning sub-area is completed according to requirements, and the trigger condition is set as when the current cleaning sub-area is completed, that is, When a subdivided cleaning sub-area is completed, the real-time cleaning trajectory is obtained to update the coverage status and perform a dynamic planning of the cleaning path.
  • the specific implementation manner of selecting the area to be route planned from the uncovered area according to the coverage state map may be implemented based on pixels.
  • different pixel values can be used to distinguish uncovered areas of different cleaning sub-areas, for example, a pixel value of 225 is used to identify the uncovered area of the current cleaning sub-area, and a pixel value of 200-225 is used to identify In the uncovered area of the cleaned sub-area formed by removing the second obstacle, a pixel value of 160 is used to identify the uncovered area of some other uncleaned sub-area.
  • the required map area can be extracted according to the pixel value as the area to be route planned, so as to perform full-coverage route planning processing on the extracted area to be route planned.
  • FIG. 7 schematically shows a full-coverage path planning method in an embodiment of the present application.
  • the dynamically extracted area to be planned is used as input
  • the execution subject of this method embodiment can be the same as that shown in Figure 1, or it can be executed by a processor of a special full-coverage path planning device, as shown in Figure 7, which is implemented as including
  • Operation S80 extracting the contour boundary of the area to be path planning, and smoothing the acquired contour boundary
  • Operation S81 mapping the outline boundary to a grid map corresponding to the area to be route planned, and performing distance transformation on the grid map mapped with the outline boundary to obtain a distance transformation map of the grid map;
  • Operation S82 in the distance transformation map, using the contour boundary as a reference, generating contour paths parallel to the contour boundary, and smoothing each contour path;
  • a cleaning path corresponding to the area to be planned is formed according to the smoothed contour path.
  • the area to be routed is preferably formed based on a grid map.
  • the passable area and the impassable area are identified in the grid map, for example, the passable area is represented by a white grid, and the impassable area is represented by a black grid.
  • the grid map of the area identification is used for full-coverage route planning; or, other methods can be used to identify the passable area and the impassable area in the grid map, such as filling the grid with 0 to indicate passable, and filling the grid with 1 to indicate Impassable, those skilled in the art can flexibly set it according to actual needs, and this application does not make a strict limitation.
  • the contour extraction is first performed on the grid map corresponding to the area to be route planned, wherein the contour extraction is realized by using the identification of the impassable area, for example, it may be the identification of the impassable area Identification, such as identifying the black grid, to form a contour boundary based on the identification range of the impassable area, that is, the contour boundary in this embodiment of the application refers to the contour boundary of the impassable area formed by the peripheral edges of the impassable area.
  • the target cleaning area includes three impassable areas (areas represented by black grids), namely area A, area B, and area C, and thus the contour boundary formed corresponds to area A.
  • the embodiment of the present application extracts the contour boundary Finally, the outline boundary needs to be smoothed, so that the full coverage path constructed later is smoother, and unnecessary branches of the subsequently generated Voronoi skeleton can be reduced. After smoothing, the smoothness of the outline boundary can be improved, which can further make the contour line clusters and connected paths constructed in the subsequent operations smoother, thereby constructing a smooth full-coverage cleaning path.
  • the way of smoothing in the embodiment of the present application may be to use filtering, or to use path smoothing algorithms in the prior art, for example, including but not limited to using Floyd path smoothing Algorithms, or multiple curve simulation methods, etc.
  • the independent and connected passable areas formed by the division of the impassable area in the target cleaning area are called cleaning sub-areas.
  • It can be a separate local path planning for a current cleaning sub-area, or a global path planning for the entire target cleaning area.
  • the trigger conditions of the dynamic path planning adapted to it and the corresponding extracted path planning area can be referred to in the previous section. The description is applicable according to requirements, which is not limited in this embodiment of the application.
  • the embodiment of the present application will first map the contour boundary extracted in operation S80 back to the grid map, and then perform distance transformation on the grid map mapped with the contour boundary, thereby obtaining the entire grid
  • the distance transformation map of the map so that the subsequent path planning analysis is based on the entire grid map, that is, focusing on the entire complete target area for cleaning strategy analysis. In this way, compared with the strategy of focusing on the local area after region division In terms of analysis, it can effectively guarantee the smoothness of the planned cleaning path and the coverage of the cleaning path.
  • Figure 8 schematically shows the rendering of the grid map mapped with contour boundaries before and after the transformation process, as shown in Figure 8A is the grid map mapped with contour boundaries, including three impassable in the target clean area Areas (areas represented by black grids), that is, area A, area B, and area C, so the contour boundaries formed correspond to the contour boundary 1 corresponding to area A, the contour boundary 2 corresponding to area B, and the contour boundary corresponding to area C
  • Figure 8B shows the distance transformation map obtained after performing distance transformation on the grid map shown in Figure 8A. skeleton.
  • a contour line path refers to a line cluster set including at least one contour line, wherein a contour line refers to adjacent paths with equal elevations on the distance transformation map.
  • Equal elevation in the embodiment of the present application refers to the same distance to the contour boundary.
  • the gray value of each point in the passable area in the distance transformation map is preferably used to characterize the point distance The distance of the contour boundary of the impassable area is combined by points with the same gray value to form a contour line.
  • each contour line in the contour line cluster has a set distance interval from the contour boundary, that is, the embodiment of the present application searches for the contour line according to the set distance interval and gray value and form clusters of contour lines.
  • the present application uses the contour boundary as a reference to generate contour line clusters, for example, the contour boundary can be used as the initial position and the first preset width as the interval Distances parallel to silhouette boundaries to generate clusters of contour lines.
  • the method for generating contour line clusters in the embodiment of the present application may be: take the outer contour boundary or inner contour boundary in the area shown in the entire distance transformation map as the initial position, and parallel to the outer contour boundary or inner contour boundary respectively To generate each contour line, wherein, the interval distance between two adjacent contour lines is set to be equal, such as can be equal to the first preset width, thus, the selected contour boundary is Starting point, multiple contour lines can be gradually generated in the passable area by iterative method, thus forming a contour line cluster.
  • the distance between two adjacent contour lines is set as the width d of a cleaning device (such as the cleaning width of the cleaning device), and iteratively moves toward Generating multiple contour lines in the passable area refers to: starting from the outer contour boundary, shrinking inward by a distance of d to get the first contour line; then using the first contour line as the boundary, and then moving toward The second contour line is obtained after shrinking the distance of d; and so on, thus forming a contour line cluster.
  • the contour lines in these contour line clusters generated are basically curves parallel to the inner contour or outer contour, and the distance between adjacent line clusters is the distance of the first preset width, thus A basic full-coverage line cluster (also referred to as a loop path in the embodiment of the present application) can be established to realize full coverage of the line cluster in the entire area shown in the distance transformation diagram.
  • the first preset width is set as a vehicle width, so as to ensure that the distance between the generated contour lines is exactly one vehicle width, so that in the process of cleaning according to the contour lines, each cleaning line There are no leaks between them to ensure the coverage of the cleaning path.
  • Fig. 9 schematically shows a schematic diagram of the result of the contour line cluster formed according to the method of the embodiment of the present application.
  • the contour obtained after the processing of step S82 is performed on the distance transformation map shown in Fig. 8 Cluster of wires.
  • it is also possible to continue to generate waypoints based on these contour line clusters, and smooth these waypoints to reduce the curvature of the path at the turn, and generate a contour path that the unmanned vehicle can drive as shown in the figure 9B is an effect diagram of a drivable contour path (also referred to as a loop path in the embodiment of the present invention) obtained after waypoint generation and smoothing processing of the contour line cluster in FIG. 9A .
  • the loop path generated according to the distance transformation map can basically complete more than 90% of the area coverage.
  • a contour line path covering the entire area can be formed.
  • each contour line is independent of each other, that is, there is no connection between the contour line paths. Therefore, in order to obtain a complete cleaning path, in operation S83, The contour path generated in operation S82 will be connected.
  • the method of connecting the contour paths in operation S83 can be realized as follows: starting from a certain point of the outermost contour path (that is, the outermost contour path), find the distance from it in the next path.
  • the forward screening refers to taking the traveling direction of the traveling path as the advancing direction, and proceeding along the advancing direction, so as to filter out the positions of the required points.
  • FIG. 10 shows a method for connecting the generated contour paths according to an embodiment. As shown in FIG. 10 , the method includes
  • Operation S132 using the outermost contour boundary as the starting road segment to traverse, traversing all the road segments corresponding to the contour path, and performing connection processing on the traversed current road segment.
  • each contour line in the contour path may be regarded as a road segment and marked and recorded, thereby forming n road segments L1, L2...Ln, where n is a contour
  • L1 refers to the outermost contour boundary, that is, the road section corresponding to the outer contour boundary
  • the identification records are sequentially carried out from the outer contour boundary inward, that is, the sub-outer layer adjacent to the outer contour boundary, etc.
  • the section corresponding to the high line is L2, and so on. It should be noted that this operation is not necessary in the specific implementation, and the section marking of the contour path is only for the convenience of the traversal processing of operation S132 and the convenience of recording and storing the contour path. In other embodiments It is also possible to directly perform the traversal process of operation S132 on the contour path without this operation, so as to realize the connection of the contour paths, that is, to connect all the road sections to be formed.
  • the outer contour boundary may be used as the current road segment, and all road segments corresponding to the contour path are traversed sequentially, so as to connect all the contour paths.
  • the road segment Lk closest to the current road segment L1 can be searched from the outer contour boundary, and the point closest to the end position of the current road segment L1 can be found on the road segment Lk (for example, the projection point of the end position of the current road segment L1 on the road segment Lk ), and then take this point as the starting point, screen the distance of the second preset width to the preset direction, take the position far away from the second preset width of the starting point as the starting position of the road segment Lk, and compare the end position of the road segment L1 with the distance of the road segment Lk
  • the starting positions of the two points are connected, so as to realize the connection of two adjacent road sections, and so on, so as to obtain a whole interconnected cleaning path.
  • the end position of the current road segment refers to the end position reached when cleaning is performed on the current road segment, that is, the cleaning position of the current road segment.
  • the end position and the start position refer to the starting position when performing cleaning on this road segment, that is, the cleaning start position of the current road segment.
  • the same road section that is, the starting position and the end position on the same contour line can be set to the same position
  • the road segment L1 that is, the starting position and the end position on the outer contour boundary can be set according to specific road conditions or experience, etc. to set.
  • FIG. 11 shows the specific content of the connection processing performed on the traversed current road section in operation S132. As shown in FIG. 11 , it specifically includes
  • Operation S132A among the remaining road sections that have not yet been traversed, select the road section closest to the current road section as the next current road section;
  • Operation S132B select an end position on the current road segment, and determine the point closest to the selected end position on the current road segment as the starting point;
  • Operation S132C based on the starting point, filter and determine the starting point in the preset direction of the sub-current road segment;
  • Operation S132D connect the end position selected on the current road segment with the starting position determined on the next current road segment.
  • the remaining road section refers to a road section that has not yet been connected to the cleaning route, that is, a road section that has not been traversed, which is relative to the current road section. Since in a traversal process, the next to-be-executed, ie, to-be-connected, road segment is searched for the current road segment, therefore, relative to the current road segment, the remaining road segments are not yet connected to the current road segment.
  • the next current road segment is relative to the current road segment, and refers to the next road segment to be executed, that is, the next road segment that the current road segment will go to after the cleaning process is completed.
  • the road section closest to the current road section is selected, which is actually implemented as selecting the contour line closest to the current contour line from the unconnected contour line paths.
  • the selection of the end position on the current road segment can be implemented exemplarily as comprising: judging the current road segment, if the current road segment is the road segment L1, that is, the outer contour boundary, then selecting the end position according to a preset or default rule, Otherwise, the starting position of the road segment determined in the last round of traversal, that is, in the traversal of the previous road segment of the current road segment (in the previous round of traversal, the current road segment of this round is the second current road segment of the last round of traversal) as its end position.
  • a point closest to the end position is selected from the sub-current road segment determined in operation S132A as the starting point.
  • the distance of the determined distance may be judged by methods such as the coordinate ranging method in the prior art in specific implementation, which is not limited in the embodiment of the present invention.
  • the starting point determined in operation S132B is used as the basis for determining the starting point on the next current road segment.
  • the starting point can be used as the reference to filter the starting point in a preset direction.
  • the preset direction can be determined as the direction of travel of self-driving cleaning equipment such as unmanned vehicles or robots, that is, based on the starting point, in the direction of travel of unmanned cleaning equipment, from the second The starting position is filtered out by the current road segment.
  • the screening of the starting position on the sub-current road segment is to use the position of a point with a second preset width away from the starting point in the preset direction as the starting position.
  • the second preset width can be determined according to the size, volume, steering ability, etc. of the cleaning equipment. Taking relatively large automatic driving cleaning equipment as an example, the second preset width can be set to a distance of two vehicle widths.
  • Fig. 12 schematically shows the connection processing effect diagram obtained by performing a round of traversal. As shown in Fig.
  • the current road segment as the road segment L1 as an example, and shows the end position on the road segment L1, the determined sub-current road segment Lk, the starting point and the starting position determined on Lk, simultaneously show the connection relationship between the current road segment L1 and the second current road segment Lk, that is, the current road segment and the second current road segment are connected through the end position of the current road segment and the starting position of the second current road segment,
  • the resulting connecting path is not a straight turn, but has a smooth transition, which facilitates the turning of the cleaning equipment.
  • a Bezier curve can also be used to connect the current position of the cleaning equipment such as the unmanned sweeping vehicle to the contour path formed above to form a more complete cleaning path. Its specific implementation is to use the current position of the cleaning equipment as the starting point of the Bezier curve, and use the points on the contour path closest to the current position to filter forward the points at the position of 2 car widths as the Bezier curve. The end point of the curve, connecting the two.
  • Figure 13 schematically shows the resulting complete cleaning path display diagram. , are connected to form a complete path.
  • the complete cleaning path thus formed can not only cover the entire map area and achieve high coverage, but also, since the contour lines are connected by the determined end position and starting point, the distance between the end point and the starting point There is a smooth transition, such as the distance of two car widths, so the transition between the two road sections can be realized without sharp steering.
  • the entire cleaning path has a smooth continuity, which greatly reduces the number of times the cleaning mobile platform turns in situ. Improve the cleaning efficiency and the fluency of the cleaning process.
  • the method of the present application may further include on the basis of the method shown in Figure 7
  • Operation S12A according to the size of the area surrounded by the generated contour line clusters, delete the contour line clusters that do not meet the preset requirements;
  • the "bow" cleaning strategy is also combined. Slightly optimize the generated cleaning path. Specifically, before connecting the contour line clusters, the embodiment of the present application also judges the area surrounded by each contour line. Since contour lines are closed curves, each contour line encloses a corresponding area in the cleaning strategy that forms contour line clusters. In step S12A, the embodiment of the present application calculates the area of all the generated contour line clusters, calculates the area of the area surrounded by each contour line, and judges the area of the area. Among them, for a certain contour line, the area enclosed by it refers to the area of the entire area within the closed area surrounded by the contour line.
  • the area enclosed by a contour line is actually includes the area surrounded by other inner circle contour lines in the closed area surrounded by this contour line.
  • the calculation of the area surrounded by the generated contour lines can be done by painting the inner region surrounded by the contour lines with a specific color, and then calculating the number of points of the specific color, because in the image each Each point is a pixel, and each point has a corresponding area value according to the size of the pixel point. Therefore, the contour line circumference can be obtained by multiplying the calculated number of pixels of a specific color by the area value corresponding to the pixel point The area of the formed area.
  • the method of calculating the area of all the generated contour line clusters can also be realized by referring to other calculation methods in the prior art, and will not be repeated here.
  • the embodiment of the present application preferably sets a preset standard, and judging the area area can be realized by comparing the area surrounded by the calculated contour lines with the preset standard, so as to determine the contour line deletion strategy .
  • the deletion strategy may be to delete contour lines whose area area is smaller than a preset area threshold from the contour line cluster. Due to the characteristics of the cleaning equipment itself, such as volume, size, and steering angle, when the area of the contour line is small, the tracking effect of the cleaning equipment will be poor if the area of the contour line is too small due to the large curvature of the route.
  • the "bow” type cleaning strategy can be combined to perform "bow" type filling in these smaller areas where the contour lines have been deleted, This can not only avoid missed scanning, but also improve the disadvantages of difficult cleaning in too small areas in the contour line coverage path, and because the bow-shaped filling is performed in a small area, the cleaning path itself in these areas is Relatively short, so the impact on cleaning efficiency is relatively small.
  • Contour 1 Contour Because the area enclosed by line 2 and contour line 3 is small, it is determined to be a contour line that needs to be deleted, and it will be deleted.
  • Figure 16 schematically shows the effect of bow-shaped filling in the area where the contour line is deleted with the grid map as the background.
  • the contour line 1 and the contour line 2 are deleted in the figure
  • the area surrounded by the contour line 1 and the contour line 3 is filled with a "bow" shape respectively in the area surrounded by the contour line 1 and the contour line 3 to form two bow-shaped paths 4, and due to the
  • the height line 2 is the contour line located in the inner circle of the contour line 1, and the area surrounded by it is included in the area of the contour line 1, so there is no need to repeat the process in the area surrounded by the contour line 2 "Bow" font fill.
  • the bow-shaped paths formed are relatively short, and there are relatively few (or even none) turning points, so the cleaning efficiency will not be greatly affected.
  • Figure 15 and Figure 16 can also be used to show the corresponding effect with the background of the distance transformation map.
  • the embodiment of the present application uses a grid map The effect is shown, but this is not considered as a limitation to the method of the embodiment of the present application.
  • the cleaning strategy for the target cleaning area can be determined according to specific application requirements.
  • the cleaning path obtained through the above-mentioned contour path planning and the cleaning path obtained through "bow” filling can be stored separately, and the cleaning paths corresponding to the generated cleaning paths corresponding to the two strategies can be executed according to requirements.
  • it is also possible to connect the cleaning path obtained through the above-mentioned contour line path planning with the cleaning path obtained through "bow” filling that is, the cleaning path obtained through "bow” filling is also connected.
  • connecting the cleaning path obtained through the "bow" filling to the cleaning path obtained through the above-mentioned contour path planning can be specifically implemented as: determining the bow-shaped cleaning path obtained through the bow-shaped filling and the enclosing The intersection of the original contours for this filled area, connecting the intersection to the end of the cleaning path formed by the contour cluster or to the end position on the contour closest to the current intersection.
  • the original contour lines enclosing the filling area refer to the contour lines enclosing the area for bow-shaped filling that have not been deleted, that is, the contour lines whose area is smaller than the preset area threshold before deletion
  • the enclosed area is filled, and the intersection of the filling route and the contour line is recorded, and the intersection point is connected with the clean path of the contour line cluster.
  • the selected intersection point for communicating with the cleaning path of the contour line cluster may be the intersection point closest to the end of the cleaning path formed by the contour line cluster or the closest intersection point to the contour line enclosing the filling area The closest intersection point of the end position on the contour line of .
  • the complete cleaning path formed by the connection of the contour line clusters is called the first cleaning path
  • the bow-shaped cleaning path obtained by filling the "bow" shape is called the first cleaning path.
  • Fig. 3 shows a dynamic full-coverage path planning method according to another embodiment of the present application. Taking the full-coverage planning process as an example of a loop path planning process, as shown in Fig. 3, the method of the embodiment of the present application is shown in Fig. 7 Based on the method shown, it also includes
  • Operation S84 performing a first optimization process on the outermost circle path in the cleaning path corresponding to the path planning area
  • a second optimization process is performed on the sub-outer circle path in the cleaning path corresponding to the path planning area.
  • the cleaning path generated by the full-coverage planning process is a loop path (that is, a contour path).
  • the disadvantage of the loop path generated by directly using the distance transformation is that the outer contour of the car is not considered.
  • the welt effect of the generated outermost path is not good, it is easy to miss scans, and the probability of collision is relatively high, and if the inner path is generated based on the outermost path Otherwise, the inner circle path will also produce some unnecessary swinging of the head back and forth, which will affect the cleaning efficiency.
  • the distance transformation is used to generate the path based on the uneven outer circle path, it is easy to generate fragmented areas. Therefore, this application
  • the generated cleaning path will be optimized for the outermost circle path and the inner circle path, so as to improve the coverage efficiency of the cleaning path.
  • the first optimization process is specifically realized by including operation S841, using the outermost circle path before optimization in the cleaning path as a reference line, performing dynamic programming sampling on the outermost circle path, and Operation S843 concatenates all the sampled results to form an optimized outermost circle path.
  • performing dynamic programming sampling on the outermost circle path may be to use dynamic programming to sample a Bezier curve, and to perform sampling at every other small interval.
  • the small spacing of the interval can be set according to the requirements, for example, according to the size and volume of the equipment performing the cleaning task, and the sampling interval is set to be positively correlated with the equipment size, that is, when the equipment size is relatively small, the sampling interval is also set to be relatively small.
  • sampling interval of a device with a smaller size may be set to 0.3-0.5m, and the sampling interval of a device with a larger size may be set to 0.5-0.8m. More preferably, as shown in FIG.
  • the first optimization process also includes operation S842, during the sampling process, performing collision detection on the sampling results, such as performing collision detection on each Bezier curve sampled, and identifying the collision
  • the sampling curve is filtered out to obtain a sampling result without collision
  • operation S843' uses the sampling result obtained through collision detection and filtering as a basis for splicing to form an optimized outermost circle path. Since the collision detection takes into account the outer contour of the car, the final result has a more Good welt effect, not easy to produce collision.
  • Figure 4 schematically shows the display effect of the outermost circle path before and after optimization. As shown in Figure 4, the green curve a is the outermost circle before optimization, and the blue curve b is the result after optimization.
  • Figure 5 shows shows the coverage effect of the simulated cleaning equipment's outer contour on the optimized outermost circle path, as can be seen from Figure 5, on the boundary with obstacles, the blue curve b has early obstacle avoidance There is almost no collision if there is no trend of objects; and on the boundary without obstacles, basically the same fit before and after optimization.
  • the second optimization process is realized by using smooth optimization, for example, by using a quadratic programming method with constraints, as shown in FIG. 33 , which specifically includes: operation S851, calculating the Curvature; operation S852, judge the concavo-convexity of the outermost path according to the positive or negative of the curvature of the outermost path, wherein, the vicinity of the concave contour is generally an obstacle, and the convex contour generally has no obstacle, so the embodiment of the present application will Points with positive curvature are determined as convex points, and points with negative curvature are determined as concave points; and operation S853 is to perform smooth optimization processing on the sub-inner circle path by setting the size of the quadratic programming constraint, so that the sub-inner circle path is in The offset optimization at the concave point of the outermost circuit path is minimized, while the offset optimization is increased at the convex point of the outermost circuit path.
  • a quadratic programming method with constraints as shown in FIG. 33 , which specifically includes:
  • the smooth optimization of the sub-inner circle path by setting the size of the quadratic programming constraint can be implemented as follows: first, shrink the outermost circle path inward by half the vehicle width to a distance of about one vehicle width as the sub-inner The reference line of the circle path; then the cost item of the quadratic programming is set, preferably, the cost item of the quadratic programming is set to include that the curvature of the optimization result is as small as possible, the path of the optimization result is as short as possible, and the distance between the optimization result and the reference line The deviation of the three cost items is as small as possible; finally, by using the maximum offset value of each discrete point on the sub-outer loop path as the constraint condition of the discrete point, a quadratic function is used to optimize the sub-inner loop path.
  • the maximum offset value constraint can be set to about half the width of the car to ensure that no obstacles will be encountered; while the curvature of the outermost path is positive, which means that the shape of the place is convex, and there are generally no obstacles outside the convex side.
  • the maximum offset value constraint of the point is set to a small value (such as 0-0.2m), which can make the optimization result fill out the convex hull, and simplify and smooth the inner contour at the same time.
  • Fig. 6 schematically shows the effect diagram of the outer contour c (i.e. the outermost circle path) after the first optimization process and the inner contour d (i.e. the second outer circle path) after the second optimization process, as shown in Fig.
  • the distance between the outer contour c and the inner contour d is less than one car width, so when performing the cleaning task, the execution of these two circles of paths can overlap and cover well, improve the coverage efficiency, and avoid the occurrence of Debris areas covered by leaks.
  • the embodiment of the present application can also perform dynamic path planning based on the execution period of the cleaning task, that is, the embodiment of the present application can set the trigger condition as when the cleaning of the sub-outer ring path in the cleaning path is completed, this , the environmental change information acquired in operation S10 can be the corresponding real-time cleaning trajectory acquired when the second outer circle path in the cleaning path is executed, thus, the real-time cleaning trajectory acquired in the embodiment of the present application actually includes The driving trajectories of the outermost circle path and the sub-outer circle path, that is, the driving trajectory obtained at this time is covered once successively on the outermost circle path and the sub-outer circle path.
  • the embodiment of the present application will optimize the outermost circle and the second outer circle path when performing path planning.
  • the distance between the outermost circle path and the second outer circle path is less than One car wide, so they overlap nicely. Therefore, after the two laps are covered, since the coverage state map is dynamically updated, when the area to be planned is extracted from the coverage state map to generate the next coverage route, the optimization results of the previous lap can be reflected. Go to the path planned by the next circle to realize real dynamic path planning and updating based on environmental changes, and improve cleaning efficiency and coverage.
  • the embodiment of the present application is not limited to performing the above optimization process on the outermost circle path and the second outer circle path at the same time, and may also only perform the above first optimization process or only execute The above second optimization process is not limited in this embodiment of the present application.
  • FIG. 17 also shows a full-coverage path planning processing method according to another embodiment of the present application. As shown in FIG. 17 , it also includes on the basis of the method shown in FIG. 7
  • Operation S86 performing simulated coverage movement on the cleaning path corresponding to the path planning area to determine the missed scan area, and generating the Voronoi line coverage path of the grid map according to the determined missed scan area, and the generated Voronoi line coverage path Added to the cleaning path of the area to be path planning.
  • the inventor found in the research and development process that although the path of the ferrule can achieve a path coverage rate of more than 90%, according to the experience summary of practical applications, it is found that there are still some areas in this path planning method, which are unavoidable and will cause leakage. swept.
  • the inventor has summarized the main reasons for the missed scanning, and found that the main reasons have the following points:
  • loop path will generate a driving path with a large curvature in a narrow space, although it does not need to turn in situ after the path is smooth, it is more convenient for the driving of the unmanned vehicle, but it is easy to miss the sweep at the turning;
  • the innermost circle of the loop path is often a small area, and the generated small circle path is not convenient for unmanned vehicles to drive;
  • the inventor thought of finding a solution by using a rectangular frame to approximate the coverage area of the cleaning vehicle. Specifically, let the rectangular frame move along the coverage path to simulate the corresponding cleaning vehicle in the target area Covering movement on the map of the map, the inventor finds the area that is not covered by the rectangular box by blacking out The blackened white area, and the white area revealed after the covering movement is completed is the area of missing coverage (ie, the area of missing scanning), as shown in FIG. 18A .
  • the inventor unexpectedly found that the missed scan area is basically distributed on the Voronoi skeleton of the map (that is, the skeleton line shown in the distance transformation map), so the inventor thought that only the Voronoi skeleton line of the map needs to be generated as The supplementary cleaning path (that is, the Voronoi line coverage path) can cover the missed scanning area, and the generated Voronoi skeleton line is shown in FIG. 18B .
  • the Voronoi skeleton line refers to a line on a Voronoi diagram, that is, a side of a Thiessen polygon. It consists of a set of continuous polygons consisting of perpendicular bisectors connecting straight lines between two adjacent points.
  • the characteristic of the Voronoi skeleton line is that it bisects the area vertically, and also has a generator in each V polygon, and the distance from the points in each V polygon to the generator is shorter than the distance to other generators, and the polygon boundary The distances between the points on the graph and the generator generating this boundary are equal, and the Voronoi polygon boundaries of adjacent graphs use the original adjacent boundaries as a subset.
  • the above-mentioned Voronoi skeleton line can be generated by existing methods such as divide and conquer, scan line algorithm, and Delaunay triangulation algorithm.
  • the embodiment of the present application uses the existing open source algorithm to generate the grid of the target area Map of the Voronoi skeleton lines.
  • the generated Voronoi skeleton lines may also be further optimized to remove unnecessary Voronoi skeleton lines to form a final Voronoi line coverage path.
  • the optimization of the Voronoi skeleton line can be implemented as follows: mapping the Voronoi skeleton line to a map showing a leaky coverage area by simulating the coverage movement, and judging whether the Voronoi skeleton line can correspond to the leaky coverage area presented in the matching map.
  • the leaky coverage area map can be constructed offline according to the generated cleaning path, and then the point coordinates on the generated Voronoi skeleton line can be obtained, converted and overlaid into the pixel coordinate system of the leaky coverage area map, and determined by determining the dimension How many points on the line segment of the Nuo skeleton line fall on the leaked coverage area of the map to judge the corresponding matching degree between the line segment and the leaked coverage area, and determine the line segment whose matching degree with the leaked coverage area exceeds a certain threshold as the corresponding matching The missing coverage area is identified, and the line segment whose matching degree does not meet a certain threshold is determined as the line segment that needs to be eliminated.
  • FIG. 19 schematically shows the optimized Voronoi skeleton line.
  • the optimized Voronoi skeleton line can better cover the leakage coverage area.
  • generating the Voronoi skeleton line of the map may be obtained by extracting the outline of the map skeleton based on the distance transformation graph, which may be implemented with reference to the prior art, which will not be described in this embodiment of the present application.
  • the inventor further found that: for some large uncovered areas, the loop path can be generated according to the above-mentioned full-coverage path planning method, and with the supplementary scanning of the Voronoi line coverage path, hundreds of loop paths can be realized.
  • the actual cleaning path is not executed exactly according to the planned cleaning path due to positioning and control errors. Therefore, some small blocks will inevitably occur.
  • the fragmented uncovered area shows the effect diagram of the small fragmented and missing area E generated during the actual cleaning process.
  • the embodiment of the present application is based on the above method, such as taking the method shown in Figure 7 as an example, as shown in Figure 34, and further includes operation S8 Judging whether the areas of the cleaning sub-areas in the area to be planned are less than or equal to the preset area threshold; if so, perform operation S80' to generate the circumscribed rectangles with the smallest area of each cleaned sub-area, which will be generated based on each circumscribed rectangle
  • the straight line section is determined as the cleaning path of each cleaning sub-area, and the cleaning paths of each cleaning sub-area are connected according to a preset connection strategy to form a cleaning path corresponding to the path planning area.
  • the preset connectivity strategy may be a strategy of nearest connectivity.
  • a clean sub-area that is, a debris area
  • the threshold area threshold in the path planning area
  • FIG. 21 schematically shows the determined fragment area E, the outer rectangle F for coverage and the determined line segment coverage path G.
  • the possible uncovered debris area can be determined by performing a simulated coverage movement on the generated loop path, or the possible uncovered debris area can be directly marked on the target cleaning area map based on experience etc., the specific implementation manners are not limited in this embodiment of the application.
  • Fig. 22 schematically shows a dynamic full-coverage path planning device according to an embodiment of the present application. As shown in Fig. 22, the device includes:
  • memory 60 for storing executable instructions
  • the processor 61 is configured to execute executable instructions stored in the memory.
  • the executable instructions stored in the memory 60 when executed by the processor, the executable instructions stored in the memory 60 cause the processor to execute the dynamic full-coverage path planning method described in any embodiment of the present application.
  • Fig. 23 schematically shows a dynamic full-coverage path planning device according to an embodiment of the present application. As shown in Fig. 23, the device includes:
  • the status update module 100 is configured to dynamically update the coverage status map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area area;
  • the dynamic scheduling module 200 is used to detect trigger conditions in real time, and when a preset trigger condition occurs, Cover the state map to select the area to be route planned from the uncovered area and call the route planning module to plan the full coverage route;
  • the path planning module 300 is configured to perform full-coverage path planning on the selected area to be path planned.
  • the acquired environment change information includes a newly added first obstacle
  • the state update module may be specifically configured to update the first obstacle when the first obstacle is located in an uncovered area. An obstacle is added to the corresponding location in the uncovered area.
  • the preset trigger condition may include that there is a newly added first obstacle in the acquired environment change information and the newly added first obstacle is located in an uncovered area; in the dynamic scheduling module The selected area to be route planned is an uncleaned area of the cleaned sub-area where the first obstacle is located or an uncleaned area of the target area.
  • the preset trigger condition may also include that there is a newly added first obstacle in the acquired environmental change information and the newly added first obstacle is located in the current cleaning sub-area.
  • Cleaning area; the area to be planned in the dynamic scheduling module is the uncleaned area of the current cleaning sub-area.
  • the preset trigger condition may also include that there is a newly added first obstacle in the acquired environment change information and the newly added first obstacle is located in an uncovered area, correspondingly, The selected area to be route planned may be an uncleaned area including the first obstacle in the target area.
  • the acquired environment change information includes the removed second obstacle
  • the status update module may be specifically configured to correspondingly update the area occupied by the second obstacle to an uncovered area .
  • the preset trigger condition may include that there is a removed second obstacle in the acquired environmental change information; the selected area to be route planning is where the second obstacle is located The uncleaned area of the cleaned sub-area of , or the uncleaned area of the target area.
  • the preset trigger condition may also include that there is a removed second obstacle in the acquired environmental change information and the second obstacle is located in an uncleaned area of the current cleaning sub-area ;
  • the selected area to be routed is an uncleaned area in the current cleaning sub-area, or an uncleaned area in the target area.
  • the preset trigger condition can also be set to include that there is a second obstacle removed in the acquired environmental change information; correspondingly, the selected area to be routed can be Uncleaned area containing said second obstacle
  • the acquired environmental change information may include the actual cleaning trajectory
  • the status update module may also be specifically used to determine newly added cleaned areas according to the preset cleaning width and the actual cleaning trajectory, And mark the newly added cleaned area as covered area.
  • the preset trigger conditions also include the completion of the current cleaning sub-area, and/or the arrival of the preset execution cycle, and/or the arrival of the preset execution time; Areas are uncovered areas in the coverage status map that meet preset cleaning rules.
  • Fig. 24 schematically shows a dynamic full-coverage path planning device according to an embodiment of the present application.
  • the path planning module 300 specifically includes:
  • a boundary extraction unit 301 configured to extract the contour boundary of the area to be route planned, and perform smoothing processing on the contour boundary;
  • a distance transformation unit 302 configured to map the contour boundary to a grid map corresponding to the area to be route planned, and obtain a distance transformation map of the grid map by performing distance transformation on the grid map mapped with the contour boundary;
  • a contour generating unit 303 configured to generate a contour path parallel to the contour boundary, using the contour boundary as a reference in the distance transformation map;
  • a smoothing processing unit 304 configured to perform smoothing processing on each contour line path
  • the cleaning path generation unit 305 is configured to form a cleaning path corresponding to the area to be path planned according to the smoothed contour line path.
  • the cleaning path generating unit 305 can be implemented specifically for taking the outermost contour boundary as the starting road section of the traversal, traversing all the road sections corresponding to the contour line cluster, and traversing the current Road segments are processed as follows:
  • Fig. 25 schematically shows a dynamic full-coverage path planning device according to another embodiment of the present application.
  • the path planning module 300 is implemented on the basis of the device shown in Fig. 24 For also includes:
  • a contour filtering unit 306 configured to delete contour paths that do not meet preset requirements according to the size of the area surrounded by the generated contour paths;
  • the second cleaning path generation unit 307 is configured to fill the area surrounded by the deleted contour path in a "bow" shape to form a “bow” shape cleaning path.
  • the cleaning path generation unit when executed to connect the contour path paths or in the smoothing processing unit Before smoothing, that is, after the contour generating unit generates the contour path or before the smoothing processing unit smooths the contour path, it will first call the contour filtering unit to correct the contour path The contour lines that do not meet the preset conditions are deleted, and after the deletion, the second cleaning path generation unit is called to fill the corresponding area in a "bow" shape to form a "bow" shape cleaning path.
  • those skilled in the art can execute the cleaning paths generated by the cleaning path generation unit and the second cleaning path generation unit according to the predetermined strategy according to the requirements, for example, the cleaning path generation unit and the second cleaning path can be respectively executed according to the preset time.
  • the cleaning path generated by the path generation unit can also be configured by setting an integration unit for integrating and connecting the cleaning paths generated by the cleaning path generation unit and the second cleaning path generation unit.
  • the specific implementation process can be referred to the previous description and will not be repeated here. .
  • Fig. 26 schematically shows a dynamic full-coverage path planning device in another embodiment of the present application.
  • the path planning module 300 is implemented on the basis of the device shown in Fig. 24 For also includes:
  • a first optimization processing unit 308, configured to perform a first optimization process on the outermost path in the cleaning path corresponding to the path planning area;
  • the second optimization processing unit 309 is configured to perform a second optimization processing on the sub-outer circle path in the cleaning path corresponding to the path planning area.
  • Figure 27 schematically shows a dynamic full-coverage path planning device in another embodiment of the present application, as shown in Figure 27, in the device of the embodiment of the present application, the path planning module is implemented on the basis of the device shown in Figure 24 as Also includes:
  • the path correction unit 310 is configured to perform a simulated coverage movement on the cleaning path corresponding to the path planning area to determine the missed scan area, and generate the Voronoi line coverage path of the grid map according to the determined missed scan area, and The generated Voronoi line coverage path is added to the cleaning path in the area to be path planned.
  • Fig. 28 schematically shows a dynamic full-coverage path planning device in another embodiment of the present application. As shown in Fig. 28, in the device of the embodiment of the present application, on the basis of the device shown in Fig. 23, it is implemented to further include:
  • the second path planning module 400 is used to judge whether the area of the cleaning sub-area in the area to be planned is less than or equal to the preset area threshold;
  • the straight line sections generated by the circumscribed rectangles are determined as the cleaning paths of the cleaning sub-areas, and the cleaning paths of the cleaning sub-areas are connected according to a preset connection strategy to form the cleaning paths corresponding to the areas to be planned.
  • the specific implementation process and implementation principle of each module and unit of the dynamic full-coverage path planning device in the embodiment of the present application can refer to the corresponding description of the above-mentioned method embodiment, for example, the outline boundary and distance transformation in the method embodiment part and the corresponding description of the generation and connection of contour line clusters, as well as the first optimization process, the second The corresponding description of the second optimization process and specific processes such as dynamic update, etc., will not be repeated here.
  • the dynamic full-coverage path planning device of the embodiment of the present application may be any smart device with a processor, including but not limited to computers, smart phones, personal computers, robots, cloud servers, and the like.
  • Fig. 29 schematically shows a cleaning device according to an embodiment of the present application. As shown in Fig. 29, the cleaning device includes:
  • the dynamic full-coverage path planning device 71 is arranged on the fuselage 70 .
  • the dynamic full-coverage path planning device 71 may select the device of any of the above-mentioned embodiments.
  • the cleaning equipment in the embodiment of the present application may be an unmanned cleaning vehicle with an automatic cleaning function, an unmanned sweeper, a sweeping robot, and the like.
  • the embodiment of the present application provides a non-volatile computer-readable storage medium, and one or more programs including execution instructions are stored in the storage medium, and the execution instructions can be executed by electronic devices (including But not limited to computer, server, or network equipment, etc.) to read and execute, so as to implement the dynamic full-coverage path planning method in any one of the above-mentioned embodiments of the present application.
  • electronic devices including But not limited to computer, server, or network equipment, etc.
  • the embodiments of the present application further provide a computer program product
  • the computer program product includes a computer program stored on a non-volatile computer-readable storage medium
  • the computer program includes program instructions, and when the When the above program instructions are executed by a computer, the computer is made to execute the dynamic full-coverage path planning method in any one of the above embodiments.
  • the embodiment of the present application further provides an electronic device, which includes: at least one processor, and a memory connected in communication with the at least one processor, wherein the memory stores information that can be accessed by the at least one processor.
  • An instruction executed by a processor the instruction is executed by the at least one processor, so that the at least one processor can execute the dynamic full-coverage path planning method in any one of the above embodiments.
  • the embodiments of the present application further provide a storage medium on which a computer program is stored, wherein when the program is executed by a processor, the dynamic full-coverage path planning method of any one of the above-mentioned embodiments is implemented.
  • Fig. 30 is a schematic diagram of the hardware structure of an electronic device implementing a dynamic full-coverage path planning method provided by another embodiment of the present application. As shown in Fig. 30, the device includes:
  • One or more processors 610 and memory 620, one processor 610 is taken as an example in FIG. 30 .
  • the device for implementing the dynamic full-coverage path planning method may further include: an input device 630 and an output device 640 .
  • the processor 610, the memory 620, the input device 630 and the output device 640 can communicate via a bus or other means In Figure 30, the bus connection is taken as an example.
  • the memory 620 can be used to store non-volatile software programs, non-volatile computer-executable programs and modules, such as the dynamic full-coverage path planning method in the embodiment of the present application. program instructions/modules.
  • the processor 610 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions and modules stored in the memory 620, that is, realizes the dynamic full-coverage path planning method of the above method embodiment.
  • the memory 620 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created by using the dynamic full coverage path planning method, etc. .
  • the memory 620 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage devices.
  • the memory 620 may optionally include memory located remotely relative to the processor 610, and these remote memories may be connected to the electronic device through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
  • the input device 630 can receive input numbers or character information, and generate signals related to user settings and function control of the dynamic full-coverage path planning device.
  • the output device 640 may include a display device such as a display screen.
  • the one or more modules are stored in the memory 620, and when executed by the one or more processors 610, execute the dynamic full-coverage path planning method in any of the above method embodiments.
  • the electronic equipment of the embodiment of the present application exists in various forms, including but not limited to:
  • Mobile communication equipment This type of equipment is characterized by mobile communication functions, and its main goal is to provide voice and data communication.
  • Such terminals include: smart phones (such as iPhone), multimedia phones, feature phones, and low-end phones.
  • Ultra-mobile personal computer equipment This type of equipment belongs to the category of personal computers, has computing and processing functions, and generally has the characteristics of mobile Internet access.
  • Such terminals include: PDA, MID and UMPC equipment, such as iPad.
  • Portable entertainment equipment This type of equipment can display and play multimedia content.
  • Such devices include: audio and video players (such as iPod), handheld game consoles, e-books, as well as smart toys and portable car navigation devices.
  • Server A device that provides computing services.
  • the composition of a server includes a processor, hard disk, memory, system bus, etc.
  • the server is similar to a general-purpose computer architecture, but due to the need to provide high-reliability services, it is important in terms of processing power and stability. , Reliability, security, scalability, manageability and other aspects have high requirements.
  • the device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in One place, or it can be distributed to multiple network elements. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
  • each embodiment can be implemented by means of software plus a general hardware platform, and of course also by hardware.
  • the essence of the above technical solutions or the part that contributes to related technologies can be embodied in the form of software products, and the computer software products can be stored in computer-readable storage media, such as ROM/RAM, disk , CD, etc., including several instructions to make a computer device (which may be a personal computer, server, or network device, etc.) execute the methods described in each embodiment or some parts of the embodiments.

Landscapes

  • Engineering & Computer Science (AREA)
  • Aviation & Aerospace Engineering (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Control Of Position, Course, Altitude, Or Attitude Of Moving Bodies (AREA)

Abstract

A dynamic full-coverage path planning method and apparatus. The method comprises: dynamically updating, according to acquired environmental change information, a coverage state map corresponding to a target area, in the coverage state map, a cleaned area in the target area being marked as a covered area, and an uncleaned area being marked as an uncovered area; and when a preset trigger condition is satisfied, selecting an area under path planning from the uncovered area according to the coverage state map, and performing full-coverage path planning on the selected area under path planning. According to the solution of the present application, a cleaning path on which the current driving is based can be dynamically adjusted according to environmental changes, and can better adapt to the environmental changes, thereby improving the flexibility of the execution of a cleaning task, and the present invention is more in line with people's cleaning habits, thereby ensuring cleaning efficiency.

Description

动态全覆盖路径规划方法及装置、清洁设备、存储介质Dynamic full coverage path planning method and device, cleaning equipment, storage medium 技术领域technical field
本申请涉及自动驾驶技术领域,尤其涉及一种动态全覆盖路径规划方法、动态全覆盖路径规划装置、以及清洁设备和存储介质。The present application relates to the technical field of automatic driving, and in particular to a dynamic full-coverage path planning method, a dynamic full-coverage path planning device, a cleaning device and a storage medium.
背景技术Background technique
近年来,随着无人驾驶技术在清洁领域的发展,我们越来越多的看到一些无人车在大型广场、超市以及地库等场景自由地执行着清扫任务,极大地减轻了清洁工人的负担。对于这种清洁方式来说,如何实现指定场景下的全覆盖任务是一个需要克服的至关重要的技术难题。特别是,现实场景下,环境状况经常是动态变化的,而传统的全覆盖路径规划方法多是采用一次性生成的清扫路径,在面对复杂的动态环境时,一次性生成的清扫路径往往容易导致漏扫,甚至有可能整个清扫路径都会失效使得无法执行清扫任务。In recent years, with the development of unmanned driving technology in the cleaning field, we have seen more and more unmanned vehicles freely perform cleaning tasks in large squares, supermarkets, and basements, which greatly reduces the cleaning time for cleaning workers. burden. For this cleaning method, how to achieve the full coverage task in a specified scene is a crucial technical problem that needs to be overcome. In particular, in real-life scenarios, environmental conditions often change dynamically, while traditional full-coverage path planning methods mostly use one-time generated cleaning paths. When faced with complex dynamic environments, it is often easy to Lead to missed cleaning, and it is even possible that the entire cleaning path will fail to make it impossible to perform cleaning tasks.
发明内容Contents of the invention
本申请实施例提供一种动态全覆盖路径规划方案,以解决现有技术中往往采用一次性生成的清扫路径,无法适应环境变化因而导致清扫路径不可用或清扫效率低的问题。The embodiment of the present application provides a dynamic full-coverage path planning solution to solve the problem in the prior art that the cleaning path is often generated once and cannot adapt to environmental changes, resulting in unusable cleaning paths or low cleaning efficiency.
第一方面,本申请实施例提供一种动态全覆盖路径规划方法,其包括In the first aspect, the embodiment of the present application provides a dynamic full-coverage path planning method, which includes
根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;Dynamically update the coverage state map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area;
在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域,并对选取的待路径规划区域进行全覆盖路径规划。When a preset trigger condition occurs, select an area to be routed from the uncovered area according to the coverage state map, and perform full coverage route planning on the selected area to be routed.
第二方面,本申请实施例提供一种动态全覆盖路径规划装置,其包括In the second aspect, the embodiment of the present application provides a dynamic full-coverage path planning device, which includes
存储器,用于存储可执行指令;以及memory for storing executable instructions; and
处理器,用于执行存储器中存储的可执行指令,所述可执行指令在由所述处理器执行时使得所述处理器执行如第一方面所述的动态全覆盖路径规划方法。A processor, configured to execute executable instructions stored in the memory, and when the executable instructions are executed by the processor, the processor executes the dynamic full-coverage path planning method as described in the first aspect.
第三方面,本申请实施例提供了一种动态全覆盖路径规划装置,其包括:In a third aspect, the embodiment of the present application provides a dynamic full-coverage path planning device, which includes:
状态更新模块,用于根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;A state update module, configured to dynamically update the coverage state map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area ;
动态调度模块,用于实时检测触发条件,并在预置的触发条件发生时,根据覆盖状 态地图从未覆盖区域中选取待路径规划区域和调用路径规划模块进行全覆盖路径规划;The dynamic scheduling module is used to detect the trigger conditions in real time, and when the preset trigger conditions occur, according to the coverage status The state map selects the area to be routed from the uncovered area and calls the route planning module for full coverage route planning;
路径规划模块,用于对选取的待路径规划区域进行全覆盖路径规划。The path planning module is used for performing full-coverage path planning on the selected area to be path planned.
第四方面,本申请实施例提供了一种清洁设备,其包括:In a fourth aspect, the embodiment of the present application provides a cleaning device, which includes:
机身;和fuselage; and
上述的动态全覆盖路径规划装置,设置于所述机身上。The above-mentioned dynamic full-coverage path planning device is arranged on the fuselage.
第五方面,本申请提供了一种存储介质,其上存储有计算机程序,该程序被处理器执行时实现上述方法的步骤。In a fifth aspect, the present application provides a storage medium on which a computer program is stored, and when the program is executed by a processor, the steps of the above method are implemented.
第六方面,本申请提供了一种包含指令的计算机程序产品,当所述计算机程序产品在计算机上运行时,使得所述计算机执行上述的动态全覆盖路径规划方法。In a sixth aspect, the present application provides a computer program product containing instructions. When the computer program product is run on a computer, it causes the computer to execute the above-mentioned dynamic full-coverage path planning method.
本申请实施例提供的方法能够根据环境变化信息动态维护覆盖状态地图,并根据更新后的覆盖状态地图来动态触发全覆盖路径规划,使得当前的路径规划能够根据环境变化而动态调整,以更好地适应环境的变化,由此提高了清扫任务执行的灵活性,且更符合人的清扫习惯,保证清扫效率。The method provided by the embodiment of the present application can dynamically maintain the coverage state map according to the environmental change information, and dynamically trigger the full coverage path planning according to the updated coverage state map, so that the current path planning can be dynamically adjusted according to the environmental change to better Adapt to changes in the environment, thereby improving the flexibility of cleaning tasks, and more in line with people's cleaning habits to ensure cleaning efficiency.
附图说明Description of drawings
为了更清楚地说明本申请实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the technical solutions of the embodiments of the present application, the following will briefly introduce the drawings that need to be used in the description of the embodiments. Obviously, the drawings in the following description are some embodiments of the present application. Those of ordinary skill in the art can also obtain other drawings based on these drawings without any creative effort.
图1为本申请一实施方式的动态全覆盖路径规划方法的流程图;FIG. 1 is a flowchart of a dynamic full-coverage path planning method according to an embodiment of the present application;
图2为本申请另一实施方式的动态全覆盖路径规划方法的流程图;FIG. 2 is a flowchart of a dynamic full-coverage path planning method according to another embodiment of the present application;
图3为本申请一实施方式的全覆盖路径规划的方法流程图;FIG. 3 is a flowchart of a method for full-coverage path planning in an embodiment of the present application;
图4示意性地显示了优化前后的最外圈路径的效果展示图;Figure 4 schematically shows the effect display diagram of the outermost circle path before and after optimization;
图5示意性地显示了在优化后的最外圈路径上模拟清洁设备外轮廓覆盖效果的展示图;Fig. 5 schematically shows a display diagram of simulating the coverage effect of the outer contour of the cleaning device on the optimized outermost circle path;
图6示意性地展示了优化前后的外轮廓和内轮廓的效果示意图;Fig. 6 schematically shows the schematic diagram of the effect of the outer contour and the inner contour before and after optimization;
图7为本申请一实施方式的全覆盖路径规划的方法流程图;FIG. 7 is a flow chart of a method for full-coverage path planning in an embodiment of the present application;
图8示意性地显示了变换处理前后目标区域地图的效果示意图,其中,图8A所示为映射有轮廓边界的栅格地图,图8B所示为对图8A所示的栅格地图进行距离变换后得到的距离变换图;Figure 8 schematically shows the effect of the target area map before and after the transformation process, where Figure 8A shows a grid map with contour boundaries mapped, and Figure 8B shows the distance transformation of the grid map shown in Figure 8A The obtained distance transformation map;
图9示意性地显示了根据本申请实施例的方法形成的等高线路径的结果示意图,其 中,图9A根据距离变换图的距离生成的等高线线簇,图9B展示了对图9A的等高线线簇进行处理后得到的可行驶等高线路径;Fig. 9 schematically shows a schematic diagram of the result of the contour path formed according to the method of the embodiment of the present application, which Among them, Fig. 9A is the contour line cluster generated according to the distance of the distance transformation map, and Fig. 9B shows the drivable contour line path obtained after processing the contour line cluster of Fig. 9A;
图10为本申请一种实施方式的将生成的等高线路径连通的方法流程图;FIG. 10 is a flowchart of a method for connecting generated contour paths according to an embodiment of the present application;
图11为本申请一实施方式的对遍历到的当前路段执连通处理的方法流程图;Fig. 11 is a flow chart of a method for performing connection processing on the traversed current road section according to an embodiment of the present application;
图12示意性地展示了执行一轮遍历后得到的连通处理效果展示图;Fig. 12 schematically shows the connection processing effect display diagram obtained after performing a round of traversal;
图13示意性地展示了连通后得到的一种完整清洁路径的展示效果图;Figure 13 schematically shows a display effect diagram of a complete cleaning path obtained after connection;
图14为本申请另一实施方式的全覆盖路径规划处理的方法流程图;FIG. 14 is a flow chart of a method for full-coverage path planning processing in another embodiment of the present application;
图15示意性地显示了将区域面积较小的等高线确定为不符合预设要求的待删除等高线的效果展示图,其中,图15是以栅格地图为例进行的展示;Figure 15 schematically shows the effect of determining a contour line with a small area as a contour line to be deleted that does not meet the preset requirements, wherein Figure 15 is an example of a grid map;
图16示意性地显示了在删除了等高线的区域进行弓字型填充的效果示意图,其中,图16是以栅格地图为例进行的效果展示;Figure 16 schematically shows a schematic diagram of the effect of bow-shaped filling in the area where the contour lines are deleted, wherein Figure 16 is an example of a grid map;
图17为本申请另一实施方式的全覆盖路径规划处理的方法流程图;FIG. 17 is a flow chart of a method for full-coverage path planning processing in another embodiment of the present application;
图18示意性地展示了维诺骨架线与漏覆盖区域的关系图,其中,图18A展示了模拟覆盖运动后得到的漏覆盖区域与维诺骨架线的关系,图18B展示了生成的维诺骨架线在地图上与漏覆盖区域的对应关系;Figure 18 schematically shows the relationship between the Voronoi skeleton line and the leaky coverage area, wherein, Figure 18A shows the relationship between the leaky coverage area and the Voronoi skeleton line obtained after simulating the covering movement, and Figure 18B shows the generated Voronoi The corresponding relationship between the skeleton line and the leakage coverage area on the map;
图19示意性地显示了优化后的维诺骨架线在地图上的覆盖效果图;Figure 19 schematically shows the coverage effect diagram of the optimized Voronoi skeleton line on the map;
图20展示了实际执行清扫过程中产生的小碎漏扫区域的效果图;Figure 20 shows the effect diagram of the small broken and missing areas generated during the actual cleaning process;
图21示意性展示了连通后得到的另一种完整清扫路径的展示效果图;Figure 21 schematically shows another display effect diagram of a complete cleaning path obtained after connection;
图22为本申请一实施方式的动态全覆盖路径规划装置的原理框图;FIG. 22 is a functional block diagram of a dynamic full-coverage path planning device according to an embodiment of the present application;
图23为本申请另一实施方式的动态全覆盖路径规划装置的原理框图;FIG. 23 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application;
图24为本申请又一实施方式的动态全覆盖路径规划装置的原理框图;FIG. 24 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application;
图25为本申请又一实施方式的动态全覆盖路径规划装置的原理框图;FIG. 25 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application;
图26为本申请又一实施方式的动态全覆盖路径规划装置的原理框图;FIG. 26 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application;
图27为本申请又一实施方式的动态全覆盖路径规划装置的原理框图;FIG. 27 is a functional block diagram of a dynamic full-coverage path planning device in another embodiment of the present application;
图28为本申请又一实施方式的动态全覆盖路径规划装置的原理框图;FIG. 28 is a functional block diagram of a dynamic full-coverage path planning device according to another embodiment of the present application;
图29为本申请一实施方式的清洁设备的原理框图;Fig. 29 is a functional block diagram of a cleaning device according to an embodiment of the present application;
图30为本申请的电子设备的一实施例的结构示意图;FIG. 30 is a schematic structural diagram of an embodiment of the electronic device of the present application;
图31示意性地显示了本申请一实施方式的第一优化处理的方法流程图;Fig. 31 schematically shows a method flow chart of the first optimization process in an embodiment of the present application;
图32示意性地显示了本申请另一实施方式的第一优化处理的方法流程图;Fig. 32 schematically shows a method flowchart of the first optimization process in another embodiment of the present application;
图33示意性地显示了本申请一实施方式的第二优化处理的方法流程图;Fig. 33 schematically shows a method flowchart of the second optimization process in an embodiment of the present application;
图34示意性地显示了本申请再一实施方式的全覆盖路径规划处理的方法流程图。 Fig. 34 schematically shows a flow chart of a method for full-coverage path planning processing in yet another embodiment of the present application.
具体实施方式Detailed ways
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。In order to make the purposes, technical solutions and advantages of the embodiments of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments It is a part of the embodiments of this application, not all of them. Based on the embodiments in this application, all other embodiments obtained by persons of ordinary skill in the art without making creative efforts belong to the scope of protection of this application.
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。It should be noted that, in the case of no conflict, the embodiments in the present application and the features in the embodiments can be combined with each other.
本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、元件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。This application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. The application may also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including storage devices.
在本申请中,“模块”、“装置”、“系统”等指应用于计算机的相关实体,如硬件、硬件和软件的组合、软件或执行中的软件等。详细地说,例如,元件可以、但不限于是运行于处理器的过程、处理器、对象、可执行元件、执行线程、程序和/或计算机。还有,运行于服务器上的应用程序或脚本程序、服务器都可以是元件。一个或多个元件可在执行的过程和/或线程中,并且元件可以在一台计算机上本地化和/或分布在两台或多台计算机之间,并可以由各种计算机可读介质运行。元件还可以根据具有一个或多个数据包的信号,例如,来自一个与本地系统、分布式系统中另一元件交互的,和/或在因特网的网络通过信号与其它系统交互的数据的信号通过本地和/或远程过程来进行通信。In this application, "module", "device", "system" and the like refer to related entities applied to computers, such as hardware, a combination of hardware and software, software or software in execution, and the like. In particular, for example, an element may be, but is not limited to being, a process running on a processor, a processor, an object, an executable element, a thread of execution, a program and/or a computer. Also, an application program or a script program running on a server, and the server may both be components. One or more elements can be within a process and/or thread of execution and an element can be localized on one computer and/or distributed between two or more computers and executed by various computer-readable media . Components may also communicate via a signal having one or more packets of data, for example, from one interacting with a local system, another component in a distributed system, and/or interacting with other systems via a network over the Internet. local and/or remote procedures to communicate.
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”,不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。Finally, it should also be noted that in this text, relational terms such as first and second etc. are only used to distinguish one entity or operation from another, and do not necessarily require or imply that these entities or operations, any such actual relationship or order exists. Moreover, the terms "comprising" and "comprising" not only include those elements, but also include other elements not explicitly listed, or also include elements inherent in such a process, method, article or device. Without further limitations, an element defined by the statement "comprising..." does not exclude the presence of additional same elements in the process, method, article or device comprising said element.
本申请实施例中的动态全覆盖路径规划方法可以应用在动态全覆盖路径规划装置中,以使得用户能够利用动态全覆盖路径规划装置来动态执行路径规划,提高清洁任务 执行的灵活性和环境适应性,这些动态全覆盖路径规划装置例如包括但不限于智能手机、智能平板、个人PC、计算机、云端服务器等。特别地,本申请实施例中的动态全覆盖路径规划方法还可以应用在具有清洁功能的智能设备(或称为提供有自动清洁功能的移动平台)中,例如无人清洁车、扫地机器人或自动驾驶清洁车等上,本申请对此不作限定。The dynamic full-coverage path planning method in the embodiment of the present application can be applied in a dynamic full-coverage path planning device, so that users can use the dynamic full-coverage path planning device to dynamically execute path planning and improve cleaning tasks. Execution flexibility and environmental adaptability, these dynamic full-coverage path planning devices include, but are not limited to, smart phones, smart tablets, personal PCs, computers, cloud servers, and the like. In particular, the dynamic full-coverage path planning method in the embodiment of the present application can also be applied to smart devices with cleaning functions (or mobile platforms with automatic cleaning functions), such as unmanned cleaning vehicles, sweeping robots or automatic Driving a cleaning vehicle, etc., the application is not limited to this.
图1示意性地显示了根据本申请一实施方式的动态全覆盖路径规划方法,该方法可适用于诸如智能手机、个人电脑、云端服务器等动态全覆盖路径规划装置上,以使得这些装置能够根据接收到的环境变化信息进行动态清洁路径分析,规划出随环境变化信息动态更新的清洁路径;也适用于执行清洁任务的清洁设备上,以根据环境变化信息来动态执行路径规划和清洁任务,诸如无人环卫车、无人清洁车、无人扫地车、扫地机器人、无人洗地机等。如图1所示,本申请实施例的方法包括Figure 1 schematically shows a method for dynamic full-coverage path planning according to an embodiment of the present application, which can be applied to dynamic full-coverage path planning devices such as smart phones, personal computers, and cloud servers, so that these devices can The received environmental change information is used for dynamic cleaning path analysis, and a cleaning path that is dynamically updated with the environmental change information is planned; it is also applicable to cleaning equipment that performs cleaning tasks to dynamically perform path planning and cleaning tasks according to environmental change information, such as Unmanned sanitation vehicles, unmanned cleaning vehicles, unmanned sweeping vehicles, sweeping robots, unmanned washing machines, etc. As shown in Figure 1, the method of the embodiment of the present application includes
操作S10,根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;以及操作S11,在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域,并对选取的待路径规划区域进行全覆盖路径规划。Operation S10, dynamically update the coverage state map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area; and operation S11. When a preset trigger condition occurs, select an area to be routed from the uncovered area according to the coverage state map, and perform full-coverage route planning on the selected area to be routed.
本申请实施例通过维护一个动态更新的覆盖状态地图,来根据环境变化动态地执行全覆盖路径规划,以动态生成和重新规划当前的清洁路径,使得面对复杂的动态环境,也能够保持实时清洁路线的有效性,提高全覆盖路线规划算法的适用场景和范围,避免一次性生成的清洁路径失效带来的效率低、清洗故障、清洗不干净等问题,更符合人的清洁处理思路,更加智能,可行性更高。The embodiment of the present application maintains a dynamically updated coverage state map to dynamically execute full-coverage path planning according to environmental changes, so as to dynamically generate and re-plan the current cleaning path, so that real-time cleaning can be maintained in the face of complex dynamic environments The effectiveness of the route improves the applicable scenarios and scope of the full-coverage route planning algorithm, and avoids problems such as low efficiency, cleaning failures, and unclean cleaning caused by the failure of the one-time generated cleaning path. It is more in line with human cleaning and processing ideas and is more intelligent. , which is more feasible.
其中,具体地,在操作S10中,环境变化信息是指用于指示当前环境变化的实时信息,其可以从其他模块或其他装置获取或被动接收。示例性地,环境变化信息可以是指实时环境地图,其可以从实时拍摄当前环境地图的摄像装置处获取。在其他实施例中环境变化信息例如还可以是指用于执行当前清洁任务的设备走过的实时行驶轨迹或在指定时间周期内走过的行驶轨迹等,如扫地机器人、无人扫地车等走过的实时行驶轨迹或在指定时间周期内走过的行驶轨迹,此时可以从导航模块获取该环境变化信息。在其他实施例中,根据需求,环境变化信息还可以是由用户通过动态全覆盖路径规划装置或清洁设备提供的用户界面进行输入,以获取环境变化信息。在本申请实施例中,覆盖状态地图是标记出了已覆盖区域、未覆盖区域和漏覆盖区域的当前清洁任务针对的目标清洁区域对应的地图,该地图可以是栅格地图,也可以是实时环境地图,还可以是对栅格地 图进行距离变换后得到的距离变换地图,本申请实施例对此不进行限制,只要能够实现维护一个动态标记覆盖状态的覆盖状态地图,以使得能够根据覆盖状态地图上动态变化的覆盖状态标记进行动态路径规划即可。优选地,本申请实施例中的覆盖状态地图是指在目标清洁区域对应的栅格地图上进行覆盖状态标记得到的地图,覆盖状态标记具体包括将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域。Wherein, specifically, in operation S10, the environment change information refers to real-time information for indicating the current environment change, which may be obtained from other modules or other devices or passively received. Exemplarily, the environment change information may refer to a real-time environment map, which may be obtained from a camera device that captures the current environment map in real time. In other embodiments, the environmental change information may also refer to the real-time driving trajectory of the equipment used to perform the current cleaning task or the driving trajectory within a specified time period, such as the driving trajectory of the sweeping robot, unmanned sweeping vehicle, etc. The real-time driving trajectory passed or the driving trajectory traveled within a specified time period, at this time, the environmental change information can be obtained from the navigation module. In other embodiments, according to requirements, the environmental change information may also be input by the user through the user interface provided by the dynamic full-coverage path planning device or the cleaning equipment, so as to obtain the environmental change information. In the embodiment of the present application, the coverage status map is a map corresponding to the target cleaning area targeted by the current cleaning task that marks the covered area, uncovered area, and leaked coverage area. The map can be a grid map or a real-time Environment map, can also be a grid map The distance transformation map obtained after performing distance transformation on the map is not limited in this embodiment of the present application, as long as a coverage state map that dynamically marks the coverage state can be maintained, so that it can be performed according to the dynamically changing coverage state marks on the coverage state map. Dynamic path planning is sufficient. Preferably, the coverage state map in the embodiment of the present application refers to a map obtained by marking the coverage state on the grid map corresponding to the target cleaning area, and the coverage state marking specifically includes marking the cleaned area in the target area as a covered area, Uncleaned areas are marked as uncovered areas.
在操作S11中,触发条件是用于触发待路径规划区域的确定和全覆盖路径规划的预置条件,其可以根据需求进行设定,也可以设置为系统默认条件,以使得根据预设情景或用户自定义需求来结合动态的覆盖状态地图执行动态的路径规划,其中,全覆盖路径规划是针对选取的待路径规划区域进行的。在进行了全覆盖路径规划之后,就可以将执行清洁任务所依据的清洁路径动态替换为新规划出的更符合实际环境信息状况的清洁路径,从而实现对执行任务所依据的清洁路径的动态更新,达到灵活执行清洁任务的效果。In operation S11, the trigger condition is a preset condition for triggering the determination of the area to be route planned and the planning of the full-coverage route, which can be set according to requirements, or can be set as the default condition of the system, so that according to the preset scenario or User-defined requirements are combined with the dynamic coverage state map to perform dynamic path planning, wherein, the full coverage path planning is carried out for the selected area to be path planning. After the full-coverage path planning, the cleaning path based on the execution of the cleaning task can be dynamically replaced with a newly planned cleaning path that is more in line with the actual environmental information, so as to realize the dynamic update of the cleaning path based on the execution of the task , to achieve the effect of performing cleaning tasks flexibly.
由于在实际应用中,需要对当前行驶依据的清扫路径进行动态更新的情况有很多,最典型的比如在障碍物状态发生变化时,示例性地,在目标清洁区域突然出现了新的障碍物时,由于新障碍物的存在,原来一次性规划的离线清洁路径将会失效;或在目标清洁区域中的原有障碍物突然被移走时,如果按照原来一次性规划的离线清洁路径执行清洁任务,被移开的区域就不能被清洁到,因而会导致清洁不彻底、不干净等。因此,本申请实施例可以根据需求来灵活设置触发条件,即根据需求和实际情况来确定需要执行全覆盖路径规划的情况和区域,并根据预置的触发条件和选取的待路径规划区域相应执行全覆盖路径规划即可。In practical applications, there are many situations where it is necessary to dynamically update the cleaning path based on the current driving. The most typical example is when the state of an obstacle changes. For example, when a new obstacle suddenly appears in the target cleaning area , due to the existence of new obstacles, the original one-time planned offline cleaning path will become invalid; or when the original obstacles in the target cleaning area are suddenly removed, if the cleaning task is performed according to the original one-time planned offline cleaning path, The removed area cannot be cleaned, thus resulting in incomplete cleaning, uncleanness, etc. Therefore, the embodiment of the present application can flexibly set the trigger conditions according to the needs, that is, determine the situation and area where full-coverage path planning needs to be performed according to the needs and actual conditions, and execute correspondingly according to the preset trigger conditions and the selected area to be planned. Full coverage path planning is sufficient.
下文将以两种不同情况作为具体实施例,对图1所示的实施方式的具体实现进行详细阐述,当然,对本领域技术人员来说不难理解的是,下文所列举的两种具体实施例并不是现实中唯一需要更新变化的情况,本领域技术人员完全可以基于本发明构思对其他具体情况进行灵活适用。The following will use two different situations as specific examples to elaborate on the implementation of the embodiment shown in Figure 1. Of course, it is not difficult for those skilled in the art to understand that the two specific examples listed below It is not the only situation that needs to be updated and changed in reality, and those skilled in the art can flexibly apply to other specific situations based on the concept of the present invention.
以在目标清洁区域突然出现了新的障碍物时,由于新障碍物的存在,原来规划的离线清洁路径可能会失效这种情况为例,所述环境变化信息可以实现为包括实时环境地图,在操作S10中,根据环境变化信息动态更新目标区域对应的覆盖状态地图具体可以实现为还包括:根据实时环境地图进行障碍物检测,确定是否存在新增的第一障碍物,并根据检测到的实时障碍物信息,在存在新增的第一障碍物时,将新增的第一障碍物添加到覆盖状态地图的对应位置。其中,根据实时环境地图进行障碍物检测可以参照现有技术 实现,本申请实施例在此不进行赘述。另外,在覆盖状态地图为栅格地图的场景下,本申请实施例还会根据现有技术的实现方式,将实时环境地图转换为栅格地图,并根据转换后的栅格地图来进行新增的第一障碍物的标记和覆盖状态更新,从而生成更新的覆盖状态地图。相应地,根据获取的环境变化信息确定是否存在新增障碍物,可以是基于障碍物检测的结果与原始未更新的覆盖状态地图中的障碍物位置的比对结果来确定是否存在新增障碍物。Taking the situation that when a new obstacle suddenly appears in the target cleaning area, due to the existence of the new obstacle, the originally planned offline cleaning path may be invalidated as an example, the environmental change information can be implemented as including a real-time environmental map, in In operation S10, dynamically updating the coverage state map corresponding to the target area according to the environmental change information may specifically include: detecting obstacles according to the real-time environment map, determining whether there is a newly added first obstacle, and according to the detected real-time Obstacle information, when there is a newly added first obstacle, add the newly added first obstacle to a corresponding position of the coverage state map. Among them, the obstacle detection according to the real-time environment map can refer to the prior art implementation, the embodiment of the present application will not repeat it here. In addition, in the scenario where the coverage state map is a grid map, the embodiment of the present application will also convert the real-time environment map into a grid map according to the implementation method of the prior art, and add new information based on the converted grid map. The marking and coverage state update of the first obstacle of , thus generating an updated coverage state map. Correspondingly, determining whether there is a new obstacle based on the acquired environmental change information may be based on the comparison result of the obstacle detection result and the obstacle position in the original non-updated coverage state map to determine whether there is a new obstacle .
由于在实际应用中,对于新增障碍物的情况,通常是在新增障碍物位于未清洁区域时,才会对规划好的清洁路径和清洁任务的执行产生影响,因此,在优选实施例中,在存在新增的第一障碍物时,将新增的第一障碍物添加到覆盖状态地图的对应位置,还可以实现为包括进一步判断新增的第一障碍物在目标区域中的位置,当新增的第一障碍物位于未覆盖区域时,才将新增的第一障碍物添加到覆盖状态地图的未覆盖区域中的对应位置。Since in practical applications, for the situation of newly added obstacles, usually when the newly added obstacles are located in the uncleaned area, it will have an impact on the execution of the planned cleaning path and cleaning task, therefore, in the preferred embodiment , when there is a newly added first obstacle, adding the newly added first obstacle to the corresponding position of the coverage state map can also be implemented as including further judging the position of the newly added first obstacle in the target area, When the newly added first obstacle is located in the uncovered area, the newly added first obstacle is added to a corresponding position in the uncovered area of the coverage state map.
在其他实施例中,环境变化信息也可以不局限于是实时环境地图,而直接是新增的第一障碍物信息。在这种情况下,在操作S10中,就不需要执行实时环境地图的障碍物检测处理,而是可以直接根据包括新增的第一障碍物的环境变化信息,将新增的第一障碍物添加到覆盖状态地图的对应位置,或在判断新增的第一障碍物位于未覆盖区域时,将新增的第一障碍物添加到覆盖状态地图的未覆盖区域中的对应位置。In other embodiments, the environment change information may not be limited to a real-time environment map, but directly newly added first obstacle information. In this case, in operation S10, there is no need to perform the obstacle detection process of the real-time environment map, but the newly added first obstacle can be directly added according to the environment change information including the newly added first obstacle Add to the corresponding position of the coverage state map, or add the newly added first obstacle to the corresponding position in the non-coverage area of the coverage state map when it is judged that the newly added first obstacle is located in the uncovered area.
在存在新增的第一障碍物的情形下,预置的触发条件可以根据用户的路径规划需求来灵活设置,示例性地,在本申请的其中一个实施例中,预置的触发条件可以是包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域,相应地,选取的待路径规划区域可以为目标区域中包含所述第一障碍物的未清洁区域。在其他实施例中,以全局路径规划为例,由于在进行全局路径规划时,会对整个目标区域的未清洁区域进行整体路径规划,因此,在目标区域的未覆盖区域中新增了第一障碍物时,就会产生对目标区域进行路径规划的需求,因此,示例性地,此时预置的触发条件可以设置为包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域。此时,根据覆盖状态地图从未覆盖区域中选取的待路径规划区域具体可以是目标区域的未清洁区域。而在局部路径规划的例子中,一般是只针对当前的清洁区域进行路径规划,因此,只有新增的第一障碍物落入当前清洁区域的未清洁区域,才会产生对当前清洁区域的动态路径规划需求,因此,示例性地,在这种情况下,预置的触发条件包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位 于当前清洁子区域中的未清洁区域,相应地,此时根据覆盖状态地图从未覆盖区域中选取的待路径规划区域为所述当前清洁子区域的未清洁区域。当然,不难理解的是,在其他情景下,还可能存在其他的触发动态路径规划的需求和可能性,例如,在目标区域中存在被不可通行区域分割形成的多个不连通的可通行区域时,一般情况下,是针对各个可通行区域分别执行路径规划和清洁任务的(本发明实施例将形成的各可通行区域称之为目标区域中的清洁子区域),此时,对于局部路径规划而言,一般是仅仅关注当前正在执行清洁任务的清洁子区域的动态变化,会在新增的第一障碍物位于当前清洁子区域中的未清洁区域时,才产生重新路径规划的需求,此时,预置的触发条件也可以设置为包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于当前清洁子区域中的未清洁区域,相应地,此时根据覆盖状态地图从未覆盖区域中选取的待路径规划区域为所述当前清洁子区域的未清洁区域。而对于利用云端服务器进行全覆盖路径规划的情景下,对于全局路径规划或局部路径规划而言,当目标区域中存在多个清洁子区域时,如果新增的第一障碍物是位于其他尚未清洁到的清洁子区域中时,也会产生重新路径规划的需求,以更新云端存储或下发给清洁设备的清洁路径,此时,预置的触发条件则可以设置为包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域,相应地,在这种情况下,根据覆盖状态地图从未覆盖区域中选取的待路径规划区域则为所述第一障碍物所在的清洁子区域的未清洁区域。In the case of a newly added first obstacle, the preset trigger condition can be flexibly set according to the user's path planning requirements. For example, in one of the embodiments of the present application, the preset trigger condition can be Including that there is a newly added first obstacle in the acquired environment change information and the newly added first obstacle is located in the non-covered area, correspondingly, the selected area to be routed can be the target area containing the first obstacle uncleaned areas. In other embodiments, taking the global path planning as an example, since the overall path planning will be performed on the uncleaned area of the entire target area during the global path planning, the first obstacles, there will be a demand for path planning in the target area. Therefore, for example, the preset trigger conditions at this time can be set to include the presence of a newly added first obstacle in the acquired environment change information and the new The first obstacle added is located in the uncovered area. At this time, the area to be route planned selected from the uncovered area according to the coverage state map may specifically be an uncleaned area of the target area. In the example of local path planning, the path planning is generally only for the current cleaning area. Therefore, only when the newly added first obstacle falls into the uncleaned area of the current cleaning area, will the dynamics of the current cleaning area be generated. Path planning requirements, therefore, for example, in this case, the preset trigger conditions include the presence of a newly added first obstacle in the acquired environment change information and the newly added first obstacle position For the uncleaned area in the current cleaned sub-area, correspondingly, the area to be route planned selected from the uncovered area according to the coverage state map at this time is the uncleaned area of the current cleaned sub-area. Of course, it is not difficult to understand that in other scenarios, there may be other requirements and possibilities to trigger dynamic path planning, for example, there are multiple disconnected passable areas formed by impassable areas in the target area , in general, the path planning and cleaning tasks are performed for each passable area (the formed passable area is called the cleaning sub-area in the target area in the embodiment of the present invention), at this time, for the local path In terms of planning, it generally only pays attention to the dynamic changes of the cleaning sub-area that is currently performing cleaning tasks. When the newly added first obstacle is located in the uncleaned area of the current cleaning sub-area, the need for re-path planning will arise. At this time, the preset trigger condition may also be set to include that there is a newly added first obstacle in the acquired environmental change information and the newly added first obstacle is located in an uncleaned area in the current cleaning sub-area, correspondingly, At this time, the area to be route planned selected from the uncovered area according to the coverage state map is the uncleaned area of the current cleaned sub-area. In the case of full-coverage path planning using cloud servers, for global path planning or local path planning, when there are multiple clean sub-areas in the target area, if the newly added first obstacle is located in other uncleaned sub-areas When it is in the cleaning sub-area, there will also be a need for re-path planning to update the cleaning path stored in the cloud or sent to the cleaning device. At this time, the preset trigger condition can be set to include the acquired environmental change information There is a newly added first obstacle in , and the newly added first obstacle is located in the uncovered area. Correspondingly, in this case, the area to be route planned according to the coverage state map selected from the uncovered area is the The uncleaned area of the cleaned sub-area where the first obstacle is located.
以在目标清扫区域突然移走了障碍物时,由于原有障碍物的消失,原来一次性规划的离线清洁路径的清洁效率将会降低这种情况为例,操作S10还进一步实现为包括根据实时环境地图中的实时障碍物信息更新覆盖状态地图,在判断实时环境地图中的实时障碍物信息存在移除的第二障碍物时,将移除的第二障碍物所占区域对应更新为未覆盖区域。其中,在操作S10中,本申请实施例通过对获取的实时环境地图中的障碍物进行检测,来确定实时环境地图中的实时障碍物信息,并根据该实时障碍物信息与原始未更新的覆盖状态地图中的障碍物信息进行比较,如通过障碍物栅格状态或位置或坐标等,来确定当前获取的实时环境地图中是否存在有障碍物被移除了的情况,如果存在,则将移除的第二障碍物所在的区域标记为未覆盖区域,从而实现对覆盖状态地图的更新。Taking the situation that when an obstacle is suddenly removed from the target cleaning area, the cleaning efficiency of the original one-time planned offline cleaning path will be reduced due to the disappearance of the original obstacle. Operation S10 is further implemented to include real-time The real-time obstacle information in the environment map updates the coverage state map. When it is judged that there is a second obstacle removed in the real-time obstacle information in the real-time environment map, the area occupied by the removed second obstacle is correspondingly updated as not covered area. Wherein, in operation S10, the embodiment of the present application determines the real-time obstacle information in the real-time environment map by detecting the obstacles in the acquired real-time environment map, and based on the real-time obstacle information and the original unupdated coverage Compared with the obstacle information in the status map, for example, through the obstacle grid status or position or coordinates, etc., to determine whether there is an obstacle removed in the currently acquired real-time environment map, and if so, move The area where the removed second obstacle is located is marked as an uncovered area, so as to update the coverage state map.
在其他实施例中,环境变化信息也可以不局限于是实时环境地图,而直接是移除的第二障碍物信息。在这种情况下,在操作S10中,就不需要执行实时环境地图的障碍物检测处理,而是可以直接根据包括移除的第二障碍物的环境变化信息,将移除的第二障碍物所占区域对应更新为未覆盖区域。 In other embodiments, the environment change information may not be limited to the real-time environment map, but directly is the removed second obstacle information. In this case, in operation S10, there is no need to perform the obstacle detection process of the real-time environment map, but the removed second obstacle can be directly based on the environment change information including the removed second obstacle The occupied area is correspondingly updated to the uncovered area.
在存在移除的第二障碍物的情形下,预置的触发条件同样可以根据用户的路径规划需求来灵活设置,示例性地,在本申请的其中一个实施例中,预置的触发条件可以设置为包括获取到的环境变化信息中存在移除的第二障碍物;相应地,选取的待路径规划区域可以为目标区域中包含所述第二障碍物的未清洁区域。在本发明的其他实施例中,以全局路径规划为例,由于在进行全局路径规划时,会对整个目标区域的未清洁区域进行整体路径规划,因此,在目标区域中移除了第二障碍物时,移除的第二障碍物区域由于会变成新的未覆盖区域,因而就会产生对目标区域进行路径规划的需求,因此,示例性地,此时预置的触发条件就可以设置为包括获取到的环境变化信息中存在移除的第二障碍物。此时,根据覆盖状态地图从未覆盖区域中选取的待路径规划区域具体可以是目标区域的未清洁区域。而在局部路径规划的例子中,一般是只针对当前的清洁区域进行路径规划,这种情况下,由于会存在两种不同的情况:移除的第二障碍物是位于当前的清洁区域的已清洁区域的,或者移除的第二障碍物是位于当前的清洁区域的未清洁区域的。在这两种情况下,对于实时执行的清洁任务来说,只有移除的第二障碍物是位于当前的清洁区域的未清洁区域时,才会产生对当前清洁区域的动态路径规划需求,因此,示例性地,在这种情况下,预置的触发条件包括获取到的环境变化信息中存在移除的第二障碍物且第二障碍物位于当前清洁子区域的未清洁区域,相应地,此时根据覆盖状态地图从未覆盖区域中选取的待路径规划区域为所述当前清洁子区域的未清洁区域。当然,不难理解的是,在其他情景下,还可能存在其他的触发动态路径规划的需求和可能性,例如,在利用云端服务器进行全覆盖路径规划的情景下,对于全局路径规划或局部路径规划而言,当移除的第二障碍物是位于当前的清洁区域的已清洁区域时,由于被移除的第二障碍物对应的位置又形成了新的待清洁的清洁子区域,此时也可能存在对该新形成的清洁子区域进行预先的路径规划的需求,此时,所述预置的触发条件包括获取到的环境变化信息中存在移除的第二障碍物,相应地,选取的待路径规划区域为所述第二障碍物所在的清洁子区域的未清洁区域。在另一些实施例中,如在利用云端服务器进行全覆盖路径规划的情景下,对于全局路径规划或局部路径规划而言,当目标区域中存在多个清洁子区域时,如果移除的第二障碍物是位于其他尚未清洁到的清洁子区域中时,也可能会产生预先的重新路径规划的需求,以更新云端存储或下发给清洁设备的清洁路径,此时,预置的触发条件则可以设置为包括获取到的环境变化信息中存在移除的第二障碍物,相应地,在这种情况下,根据覆盖状态地图从未覆盖区域中选取的待路径规划区域则为第二障碍物所在的清洁子区域的未清洁区域。 In the case of a removed second obstacle, the preset trigger condition can also be flexibly set according to the user's route planning requirements. For example, in one of the embodiments of the present application, the preset trigger condition can be It is set to include that there is a removed second obstacle in the acquired environment change information; correspondingly, the selected area to be route planned may be an uncleaned area including the second obstacle in the target area. In other embodiments of the present invention, taking the global path planning as an example, since the overall path planning will be performed on the uncleaned areas of the entire target area during the global path planning, the second obstacle is removed in the target area When there is an object, the removed second obstacle area will become a new uncovered area, so there will be a need for path planning for the target area. Therefore, for example, the preset trigger condition at this time can be set The removed second obstacle exists in the acquired environment change information. At this time, the area to be route planned selected from the uncovered area according to the coverage state map may specifically be an uncleaned area of the target area. In the example of local path planning, the path planning is generally only for the current cleaning area. In this case, there will be two different situations: the second obstacle to be removed is an existing obstacle located in the current cleaning area. The cleaned area, or the removed second obstacle is located in an uncleaned area of the current cleaned area. In these two cases, for the cleaning tasks performed in real time, only when the second obstacle removed is an uncleaned area located in the current cleaning area, the dynamic path planning requirements for the current cleaning area will be generated, so , Exemplarily, in this case, the preset trigger condition includes that there is a removed second obstacle in the acquired environmental change information and the second obstacle is located in an uncleaned area of the current cleaned sub-area, correspondingly, At this time, the area to be route planned selected from the uncovered area according to the coverage state map is the uncleaned area of the current cleaned sub-area. Of course, it is not difficult to understand that in other scenarios, there may be other requirements and possibilities for triggering dynamic path planning. In terms of planning, when the removed second obstacle is located in the cleaned area of the current cleaning area, since the position corresponding to the removed second obstacle forms a new cleaning sub-area to be cleaned, at this time There may also be a need for advance path planning for the newly formed cleaning sub-area. At this time, the preset trigger condition includes the presence of a removed second obstacle in the acquired environmental change information. Correspondingly, select The area to be route planned is an uncleaned area of the cleaned sub-area where the second obstacle is located. In some other embodiments, for example, in the scenario of full-coverage path planning using a cloud server, for global path planning or local path planning, when there are multiple clean sub-areas in the target area, if the removed second When obstacles are located in other cleaning sub-areas that have not yet been cleaned, there may also be a need for advance re-path planning to update cloud storage or the cleaning path sent to the cleaning equipment. At this time, the preset trigger conditions are It can be set to include that there is a removed second obstacle in the obtained environmental change information. Correspondingly, in this case, the area to be route planned selected from the uncovered area according to the coverage state map is the second obstacle The uncleaned area of the cleaned sub-area.
在具体应用中,由于清洁任务的执行可能是存在预设规则的,例如是按指定的顺序执行的,即在执行完一个清洁子区域之后按预设的顺序去执行另一清洁子区域;例如还可以是按指定的周期或时间执行的,即在预设的时间到达或者在指定的周期到达时,去执行相应的清洁子区域的清洁任务。因此,根据实际的应用需求,本申请实施例预置的触发条件还可以设置为包括当前清洁子区域执行完毕,和/或预设的执行周期到达,和/或预设的执行时间到达,此时,选取的待路径规划区域可以为覆盖状态地图中符合预设清洁规则的未覆盖区域。其中,预设的清洁规则可以由系统默认设定,也可以由用户自定义设备,示例性地,预设的清洁规则例如可以是按指定的顺序对清洁子区域执行清洁任务,此时,选取的待路径规划区域可以是指定顺序中的下一个待清洁子区域对应的未覆盖区域。在其他实现例中,预设的清洁规则还可以是按清洁子区域的远近程度来执行清洁任务,此时,选取的待路径规划区域可以是离当前结束清洁任务的清洁子区域距离最近的下一个待清洁子区域对应的未覆盖区域。在又一个实施例中,预设的清洁规则还可以是按清洁子区域的面积大小按照面积由大到小的顺序来执行清洁任务,此时,相应地,选取的待路径规划区域可以是与当前结束清洁任务的清洁子区域的区域面积最接近的下一个待清洁子区域对应的未覆盖区域。In a specific application, since the execution of the cleaning task may have preset rules, for example, it is performed in a specified order, that is, after one cleaning sub-area is performed, another cleaning sub-area is performed in a preset order; for example It can also be performed according to a specified cycle or time, that is, when the preset time arrives or when the specified cycle arrives, the corresponding cleaning task of cleaning the sub-area is performed. Therefore, according to actual application requirements, the preset trigger conditions in this embodiment of the present application can also be set to include the completion of the current cleaning sub-area, and/or the arrival of the preset execution cycle, and/or the arrival of the preset execution time, which When , the selected area to be routed can be an uncovered area in the coverage state map that meets the preset cleaning rules. Among them, the preset cleaning rules can be set by the system by default, or can be customized by the user. For example, the preset cleaning rules can be to perform cleaning tasks on the cleaning sub-areas in a specified order. At this time, select The to-be-path planning area of can be the uncovered area corresponding to the next to-be-cleaned sub-area in the specified order. In other implementation examples, the preset cleaning rule can also be to perform the cleaning task according to the distance of the cleaning sub-area. An uncovered area corresponding to a sub-area to be cleaned. In yet another embodiment, the preset cleaning rule can also be to perform cleaning tasks according to the area size of the cleaning sub-area in descending order. At this time, correspondingly, the selected area to be routed can be the same as The uncovered area corresponding to the next sub-area to be cleaned that is closest to the area area of the cleaning sub-area that currently ends the cleaning task.
示例性地,考虑到移除障碍物的情况下而产生的新的清洁子区域可能是与当前行驶方向或行驶轨迹不一致的,无法立刻有效地移步到该区域进行清洁,因此,针对这种情况,本申请实施例可以优选是按照预设的清扫执行时间或预设的清扫时间周期(如设置为一个小时之后)来对这种情况下产生的清洁子区域进行路径规划和执行清洁任务。示例性地,以基于预设的清洁执行时间为例,在标记移除第二障碍区对应的未覆盖区域时,可以同时为该未覆盖区域设置需要执行路径规划和/或清洁任务的执行时间,如设置为2021年10月31日下午5点等。此时,在步骤S11中,将会根据设置的清洁执行时间来执行路径规划,之后会根据设置的清洁执行时间来执行该清洁子区域的清洁任务。For example, considering the removal of obstacles, the new cleaning sub-area may be inconsistent with the current driving direction or driving trajectory, and it cannot be effectively moved to this area for cleaning immediately. Therefore, for this In this case, in the embodiment of the present application, it is preferable to plan the path and execute the cleaning task for the cleaning sub-area generated in this case according to the preset cleaning execution time or the preset cleaning time period (for example, after one hour). Exemplarily, taking the preset cleaning execution time as an example, when the uncovered area corresponding to the second obstacle area is marked for removal, the execution time for path planning and/or cleaning tasks that need to be executed for the uncovered area can be set at the same time , such as setting to 5:00 pm on October 31, 2021, etc. At this time, in step S11 , path planning will be executed according to the set cleaning execution time, and then the cleaning task for cleaning the sub-area will be executed according to the set cleaning execution time.
由此,本申请实施例就可以实现当原有障碍物被检测到已经移走了以后,在覆盖状态地图中更新这一块未清洁区域,然后在合适的时间去补扫这块区域,从而达到对环境变化的动态适应和保证清洁效率及覆盖率的效果。Therefore, the embodiment of the present application can realize that after the original obstacle is detected and has been removed, the uncleaned area is updated in the coverage status map, and then the area is replenished and scanned at an appropriate time, so as to achieve Dynamic adaptation to environmental changes and the effect of ensuring cleaning efficiency and coverage.
作为另外一种实施例,图2还以环境变化信息包括实时行驶轨迹为例,展示了根据实时行驶路径来执行清洁路径的动态规划的实现方法。如图2所示,本申请实施例中,图1所示的操作S10还实现为包括As another embodiment, FIG. 2 also takes the environment change information including real-time driving trajectory as an example, and shows the implementation method of performing dynamic planning of the cleaning route according to the real-time driving route. As shown in Figure 2, in the embodiment of the present application, the operation S10 shown in Figure 1 is also implemented as including
操作S101,根据实时行驶轨迹确定当前行驶所依据的清扫路径的覆盖状态,并根 据确定的覆盖状态更新覆盖状态地图。Operation S101, determine the coverage state of the cleaning path based on the current driving according to the real-time driving trajectory, and The coverage state map is updated based on the determined coverage state.
在本申请实施例中,是根据清扫设备,如无人扫地车,的实际行驶轨迹,来动态地更新覆盖状态地图的,以便实时地规划和更新清洁路径。其中,根据实时行驶轨迹确定当前行驶所依据的清扫路径的覆盖状态的具体实现方式可以为根据实时行驶轨迹走过的清扫路径,将已经走过的清扫路径确定为已覆盖状态,并相应在覆盖状态地图上,将走过的清扫路径标记为已覆盖区域。示例性地,可以是根据预置的清洁宽度和实际清洁轨迹确定新增已清洁区域,并将所述新增已清洁区域标记为已覆盖区域,例如将预置的清洁宽度和根据实际清洁轨迹计算得到的走过的路径长度进行乘法运算,以得到实际的清洁面积,根据实际的清洁面积来确定已覆盖区域。In the embodiment of the present application, the coverage state map is dynamically updated according to the actual driving trajectory of the cleaning equipment, such as an unmanned sweeping vehicle, so as to plan and update the cleaning route in real time. Among them, according to the real-time driving trajectory, the specific implementation method of determining the coverage state of the cleaning path based on the current driving can be to determine the cleaning path that has been traversed as the covered state according to the cleaning path traveled by the real-time driving trajectory, and correspondingly in the coverage state. On the state map, mark the swept path as covered area. Exemplarily, it may be to determine the newly added cleaned area according to the preset cleaning width and the actual cleaning track, and mark the newly added cleaned area as the covered area, for example, the preset cleaning width and the actual cleaning track The calculated path length traveled is multiplied to obtain the actual cleaning area, and the covered area is determined according to the actual cleaning area.
在环境变化信息为实际清洁轨迹的实施例中,可以将预置的触发条件设置为包括当前清洁子区域执行完毕,和/或预设的执行周期到达,和/或预设的执行时间到达,相应地,选取的待路径规划区域可以为覆盖状态地图中符合预设清洁规则的未覆盖区域。以基于预设的周期来进行清洁路径的实时规划更新为例,示例性地,在设置进行清洁路径规划的执行周期时,可以将实时获取清洁轨迹相应设置为是每执行完清洗路径中的其中一条路径时获取一次清洁轨迹,以下文的套圈路径(即等高线路径)为例,可以在执行完一圈时,才获取一次实时清洁轨迹,并根据实时清洁轨迹,将当前执行完的某一圈路径在覆盖状态地图上相应标记为已覆盖区域,并触发一次路径规划,此时选取的待路径规划区域可以是当前清洁子区域的未清洁区域,即可以将触发条件设置为每执行完一圈路径的清洁时,进行一次当前行驶依据的清洁路径的更新。在其他实施例中,还可以根据需求将获取实时清洁轨迹的周期设置为是以一个清洁子区域执行完毕为实时获取清洁轨迹的周期,并将触发条件设置为当前清洁子区域执行完毕时,即在执行完某一细分的清洁子区域时,获取实时清洁轨迹进行覆盖状态的更新和执行一次清洁路径的动态规划。In the embodiment where the environmental change information is the actual cleaning trajectory, the preset trigger conditions can be set to include the completion of the current cleaning sub-area, and/or the arrival of the preset execution cycle, and/or the arrival of the preset execution time, Correspondingly, the selected area to be routed may be an uncovered area in the coverage state map that meets the preset cleaning rules. Taking the real-time planning update of the cleaning path based on the preset cycle as an example, for example, when setting the execution cycle of the cleaning path planning, the real-time acquisition of the cleaning path can be correspondingly set to be every time the cleaning path is executed. Obtain a cleaning track once for each path. Take the loop path (i.e. contour line path) below as an example, you can get a real-time cleaning track only after one lap is executed, and according to the real-time cleaning track, the currently executed A circle of paths is marked as a covered area on the coverage status map, and a path planning is triggered. At this time, the selected path planning area can be the uncleaned area of the current cleaning sub-area, that is, the trigger condition can be set as every execution When the cleaning of a lap route is completed, the cleaning route based on the current driving is updated once. In other embodiments, the cycle of obtaining the real-time cleaning trajectory can also be set as the cycle of obtaining the cleaning trajectory in real time after a cleaning sub-area is completed according to requirements, and the trigger condition is set as when the current cleaning sub-area is completed, that is, When a subdivided cleaning sub-area is completed, the real-time cleaning trajectory is obtained to update the coverage status and perform a dynamic planning of the cleaning path.
作为一种示例性实施例,在上述实施例中,根据覆盖状态地图从未覆盖区域中选取待路径规划区域的具体实现方式,可以实现为是基于像素的。示例性地,可以用不同的像素值来区别不同的清洁子区域的未覆盖区域,如以像素值取225来标识当前清洁子区域的未覆盖区域、以像素值取200~225来标识由于移除第二障碍物而形成的清洁子区域的未覆盖区域,以像素值取160来标识某一其他未清洁子区域的未覆盖区域等。由此,就可以根据像素值来提取所需要的地图区域作为待路径规划区域,以对提取的待路径规划区域进行全覆盖路径规划处理。 As an exemplary embodiment, in the foregoing embodiments, the specific implementation manner of selecting the area to be route planned from the uncovered area according to the coverage state map may be implemented based on pixels. Exemplarily, different pixel values can be used to distinguish uncovered areas of different cleaning sub-areas, for example, a pixel value of 225 is used to identify the uncovered area of the current cleaning sub-area, and a pixel value of 200-225 is used to identify In the uncovered area of the cleaned sub-area formed by removing the second obstacle, a pixel value of 160 is used to identify the uncovered area of some other uncleaned sub-area. Thus, the required map area can be extracted according to the pixel value as the area to be route planned, so as to perform full-coverage route planning processing on the extracted area to be route planned.
以下将对前文述及的全覆盖路径规划的优选实施例进行详细说明。A preferred embodiment of the full-coverage path planning mentioned above will be described in detail below.
以全覆盖路径规划是规划出套圈路径为例,图7示意性地显示了本申请一种实施方式的全覆盖路径规划方法,在该实施例中是以动态提取的待路径规划区域作为输入的目标区域,来生成清洁路径的。该方法实施例的执行主体与图1所示执行主体可以为相同,也可以为专门的全覆盖路径规划装置的处理器来执行,如图7所示,其实现为包括Taking full-coverage path planning as an example of planning a loop path, FIG. 7 schematically shows a full-coverage path planning method in an embodiment of the present application. In this embodiment, the dynamically extracted area to be planned is used as input The target area to generate the cleaning path. The execution subject of this method embodiment can be the same as that shown in Figure 1, or it can be executed by a processor of a special full-coverage path planning device, as shown in Figure 7, which is implemented as including
操作S80,提取待路径规划区域的轮廓边界,并对获取的轮廓边界进行平滑处理;Operation S80, extracting the contour boundary of the area to be path planning, and smoothing the acquired contour boundary;
操作S81,将轮廓边界映射至待路径规划区域对应的栅格地图中,并通过对映射有所述轮廓边界的栅格地图进行距离变换,得到栅格地图的距离变换图;Operation S81, mapping the outline boundary to a grid map corresponding to the area to be route planned, and performing distance transformation on the grid map mapped with the outline boundary to obtain a distance transformation map of the grid map;
操作S82,在所述距离变换图中,以所述轮廓边界为基准,平行于所述轮廓边界生成等高线路径,并对各等高线路径分别进行平滑处理;以及Operation S82, in the distance transformation map, using the contour boundary as a reference, generating contour paths parallel to the contour boundary, and smoothing each contour path; and
操作S83,根据平滑处理后的等高线路径形成所述待路径规划区域对应的清洁路径。In operation S83, a cleaning path corresponding to the area to be planned is formed according to the smoothed contour path.
在操作S80中,待路径规划区域优选是基于栅格地图形成的。其中,在栅格地图中标识出通行区域和不可通行区域,例如以白色栅格表示可通行区域,以黑色栅格表示不可通行区域,本申请实施例正是基于输入的具有通行区域和不可通行区域标识的栅格地图来进行全覆盖路径规划;或者,还可以用其他方式标识栅格地图中的可通行区域和不可通行区域,例如将栅格填充0表示可通行,将栅格填充1表示不可通行,本领域技术人员可根据实际需求灵活设置,本申请不做严格限定。具体地,在操作S80中,首先会对待路径规划区域对应的栅格地图进行轮廓提取,其中,轮廓提取是利用不可通行区域的标识进行实现的,示例性地,可以是识别出不可通行区域的标识,如识别出黑色栅格,以基于不可通行区域的标识范围来形成轮廓边界,即在本申请实施例中的轮廓边界是指由不可通行区域的外围边缘形成的不可通行区域的轮廓边界。不难理解的是,由于在一个目标清洁区域中的不可通行区域的数量是不确定的,因而在本申请实施例中,基于不可通行区域提取的轮廓边界的数量也是不确定的,以不可通行区域包括两个为例,提取的轮廓边界相应可以是两个,以不可通行区域包括三个为例,提取的轮廓边界相应是三个。如图8A所示的示例,在该目标清洁区域中包括有三个不可通行区域(黑色栅格表示的区域),即区域A、区域B和区域C,因而形成的轮廓边界相应有与区域A对应的轮廓边界1、与区域B对应的轮廓边界2、和与区域C对应的轮廓边界3,其中,轮廓边界1位于整个目标清洁区域的最外层,其限定了整个目标清洁区域的最大范围,因而本申请实施例中称之为外轮廓边界;而轮廓边界2和3由于是在目标清洁区域内的不可通行区域,因而本申请实施例中称之为内轮廓边界。由于在形成初始的栅格地图的时候, 一般都是由激光点云打到障碍物上生成的,因而在进行轮廓提取时,得到的轮廓边界难免会出现有噪点的现象,为了保证轮廓的平滑性,本申请实施例在提取出轮廓边界后,还需要对轮廓边界进行平滑处理,以使得之后构建的全覆盖路径较为流畅,且还能够减少后续生成的维诺骨架的不必要的分支。经过平滑处理能够使得到的轮廓边界的平滑性更好,这也能够进一步使得在后面的操作中构建的等高线线簇和连通路径都较为流畅,从而构建出流畅的全覆盖清扫路径。示例性地,本申请实施例中进行平滑处理的方式可以是使用滤波的方式,也可以是采用现有技术中的路径平滑算法实现,示例性地,包括但不限于利用佛洛依德路径平滑算法、或多次曲线模拟的方式等。其中,需要说明的是,本申请实施例中将目标清洁区域中由于被不可通行区域分割而形成的各自独立连通的可通行区域称之为清洁子区域,在实际执行清洁任务或路径规划时,可以是对当前的某一清洁子区域进行单独的局部路径规划,也可以是对整个目标清洁区域进行全局路径规划,其适应的动态路径规划的触发条件和相应提取的待路径规划区域可以参照前文描述,根据需求进行适用,本申请实施例对此不进行限制。In operation S80, the area to be routed is preferably formed based on a grid map. Among them, the passable area and the impassable area are identified in the grid map, for example, the passable area is represented by a white grid, and the impassable area is represented by a black grid. The grid map of the area identification is used for full-coverage route planning; or, other methods can be used to identify the passable area and the impassable area in the grid map, such as filling the grid with 0 to indicate passable, and filling the grid with 1 to indicate Impassable, those skilled in the art can flexibly set it according to actual needs, and this application does not make a strict limitation. Specifically, in operation S80, the contour extraction is first performed on the grid map corresponding to the area to be route planned, wherein the contour extraction is realized by using the identification of the impassable area, for example, it may be the identification of the impassable area Identification, such as identifying the black grid, to form a contour boundary based on the identification range of the impassable area, that is, the contour boundary in this embodiment of the application refers to the contour boundary of the impassable area formed by the peripheral edges of the impassable area. It is not difficult to understand that since the number of impassable areas in a target cleaning area is uncertain, in the embodiment of the present application, the number of contour boundaries extracted based on impassable areas is also uncertain, and the impassable If there are two regions as an example, there may be two extracted contour boundaries; if there are three impassable regions as an example, there will be three extracted contour boundaries. As shown in Figure 8A, the target cleaning area includes three impassable areas (areas represented by black grids), namely area A, area B, and area C, and thus the contour boundary formed corresponds to area A. The contour boundary 1 of , the contour boundary 2 corresponding to area B, and the contour boundary 3 corresponding to area C, wherein, contour boundary 1 is located at the outermost layer of the entire target cleaning area, which defines the maximum range of the entire target cleaning area, Therefore, in the embodiment of the present application, it is called the outer contour boundary; because the contour boundaries 2 and 3 are impassable areas within the target cleaning area, they are called the inner contour boundary in the embodiment of the present application. Since when forming the initial grid map, Generally, it is generated by hitting the obstacle with the laser point cloud. Therefore, when the contour is extracted, the obtained contour boundary will inevitably have noise. In order to ensure the smoothness of the contour, the embodiment of the present application extracts the contour boundary Finally, the outline boundary needs to be smoothed, so that the full coverage path constructed later is smoother, and unnecessary branches of the subsequently generated Voronoi skeleton can be reduced. After smoothing, the smoothness of the outline boundary can be improved, which can further make the contour line clusters and connected paths constructed in the subsequent operations smoother, thereby constructing a smooth full-coverage cleaning path. Exemplarily, the way of smoothing in the embodiment of the present application may be to use filtering, or to use path smoothing algorithms in the prior art, for example, including but not limited to using Floyd path smoothing Algorithms, or multiple curve simulation methods, etc. Among them, it should be noted that in the embodiment of the present application, the independent and connected passable areas formed by the division of the impassable area in the target cleaning area are called cleaning sub-areas. When actually performing cleaning tasks or path planning, It can be a separate local path planning for a current cleaning sub-area, or a global path planning for the entire target cleaning area. The trigger conditions of the dynamic path planning adapted to it and the corresponding extracted path planning area can be referred to in the previous section. The description is applicable according to requirements, which is not limited in this embodiment of the application.
在操作S81中,本申请实施例首先会将操作S80中提取的轮廓边界再映射回栅格地图中,之后再对映射有轮廓边界的栅格地图进行距离变换,由此以得到整张栅格地图的距离变换图,从而使得后续的路径规划分析是基于整张栅格地图的,即是着眼于整个完整的目标区域来进行清扫策略分析,这样,相较于进行区域划分后着眼局部的策略分析而言,能够有效保证规划出的清洁路径的平滑性和清洁路径的覆盖率。其中,对映射有轮廓边界的栅格地图进行距离变换以得到距离变换图的具体实现方式可以参照现有技术中的距离变换方法进行实现,例如通过brushfire算法来实现,在此不再赘述,从而获得距离变换图。图8示意性地显示了映射有轮廓边界的栅格地图的变换处理前后的效果展示图,如图8A所示为映射有轮廓边界的栅格地图,在该目标清洁区域中包括有三个不可通行区域(黑色栅格表示的区域),即区域A、区域B和区域C,因而形成的轮廓边界相应有与区域A对应的轮廓边界1、与区域B对应的轮廓边界2、和与区域C对应的轮廓边界3。图8B所示为对图8A所示的栅格地图进行距离变换后得到的距离变换图,如图8B所示,变换后得到的距离变换图清晰地呈示了映射有轮廓边界的栅格地图的骨架。In operation S81, the embodiment of the present application will first map the contour boundary extracted in operation S80 back to the grid map, and then perform distance transformation on the grid map mapped with the contour boundary, thereby obtaining the entire grid The distance transformation map of the map, so that the subsequent path planning analysis is based on the entire grid map, that is, focusing on the entire complete target area for cleaning strategy analysis. In this way, compared with the strategy of focusing on the local area after region division In terms of analysis, it can effectively guarantee the smoothness of the planned cleaning path and the coverage of the cleaning path. Among them, the specific implementation method of performing distance transformation on the grid map mapped with the outline boundary to obtain the distance transformation map can be realized by referring to the distance transformation method in the prior art, for example, through the brushfire algorithm, which will not be repeated here, so that Obtain a distance transform map. Figure 8 schematically shows the rendering of the grid map mapped with contour boundaries before and after the transformation process, as shown in Figure 8A is the grid map mapped with contour boundaries, including three impassable in the target clean area Areas (areas represented by black grids), that is, area A, area B, and area C, so the contour boundaries formed correspond to the contour boundary 1 corresponding to area A, the contour boundary 2 corresponding to area B, and the contour boundary corresponding to area C The outline boundary of 3. Figure 8B shows the distance transformation map obtained after performing distance transformation on the grid map shown in Figure 8A. skeleton.
在操作S82中,本申请实施例优选在得到的距离变换图中,生成等高线路径,以使得能够基于生成的等高线路径来形成清洁路径。在本申请实施例中,等高线路径是指包括有至少一条等高线的线簇集合,其中,等高线是指在距离变换图上由高程相等的相邻 各点所连成的闭合曲线。本申请实施例中的高程相等是指到轮廓边界的距离相同,在本申请实施例的距离变换图中,优选以距离变换图中可通行区域中的各个点的灰度值来表征该点距离不可通行区域的轮廓边界的距离,由灰度值相同的点来组合连成一条等高线。优选地,在本申请实施例中等高线线簇中的各等高线距离轮廓边界具有设定的距离间隔,即本申请实施例是按照设定的距离间隔和灰度值来寻找等高线和形成等高线线簇的。作为一种优选的实施例,在操作S82中,本申请是以轮廓边界为基准来生成等高线线簇,示例性地,可以为以轮廓边界为初始位置、以第一预设宽度为间隔距离平行于轮廓边界来生成等高线线簇。具体地,本申请实施例生成等高线线簇的方法可以是:以整个距离变换图所示的区域中的外轮廓边界或内轮廓边界为初始位置,分别平行于外轮廓边界或内轮廓边界来生成各条等高线,其中,相邻的两条等高线之间的间隔距离设置为是相等的,如可以为都等于第一预设宽度,由此,以选定的轮廓边界为起点,通过迭代的方式就可以逐步地向可通行区域中生成多条等高线,从而形成等高线线簇。示例性地,以外轮廓边界作为起点为例,将相邻的两条等高线之间的间隔距离设置为一个清洁设备的宽度d(例如清洁设备的清洁宽度),通过迭代的方式逐步地向可通行区域中生成多条等高线是指:以外轮廓边界为起点,向里内缩d的距离之后就可以得到第一条等高线;然后以第一条等高线作为边界,再向里内缩d的距离之后得到第二条等高线;以此类推,由此形成等高线线簇。由此,生成的这些等高线线簇中的等高线基本上是与内轮廓或者外轮廓平行的曲线,且相邻线簇之间的间距均为第一预设宽度的距离,由此就可以建立基本的全覆盖线簇(本申请实施例也称之为套圈路径),实现线簇在距离变换图所示整个区域中的全覆盖。优选地,第一预设宽度设置为一个车宽,由此以保证生成的等高线之间恰好是一个车宽的距离,使得在按等高线执行清洁的过程中,每次清洁线路之间均没有漏缝,保证清洁路径的覆盖率。图9示意性地显示了根据本申请实施例的方法形成的等高线线簇的结果示意图,如图9A所示为对图8所示的距离变换图进行步骤S82的处理后得到的等高线线簇。在优选实施例中,还可以继续根据这些等高线线簇生成路径点,并对这些路径点进行平滑处理,降低转弯处的路径曲率,生成无人车可以行驶的等高线路径,如图9B所示即为对图9A的等高线线簇进行路径点生成和平滑处理后得到的可行驶等高线路径(本发明实施例也称之为套圈路径)的效果图。如图9所示,根据距离变换图生成的套圈路径可以基本上完成百分之九十以上的区域覆盖率。经过操作S82的处理,即可形成覆盖整个区域的等高线路径,然而各条等高线之间是相互独立的,即等高线路径之间是没有连通的,因而为了得到一条完整的清扫路径,在操作S83中, 会将操作S82中生成的等高线路径连通。具体地,操作S83将等高线路径连通的方式可以实现为:从最外层等高线路径(即最外圈等高线路径)的某个点作为起点位置,找到下一条路径中距离它的最近点作为出发点,然后从该最近的出发点出发,向前筛选二个车宽远的位置,在该筛选出的位置选取一个点作为终点位置,使用贝塞尔路径将起点位置和终点位置连接起来,其中,起点位置和终点位置的方向为该处的切线方向。对生成的所有等高线路径中的每条路径以此类推,从而得到一条完整的路径。其中,优选地,向前筛选是指以行驶路径的行驶方向作为前进方向,沿该前进方向行进,以筛选出所需要的点的位置。In operation S82, the embodiment of the present application preferably generates a contour path in the obtained distance transformation map, so that a cleaning path can be formed based on the generated contour path. In the embodiment of the present application, a contour line path refers to a line cluster set including at least one contour line, wherein a contour line refers to adjacent paths with equal elevations on the distance transformation map. A closed curve formed by connecting the points. Equal elevation in the embodiment of the present application refers to the same distance to the contour boundary. In the distance transformation map of the embodiment of the present application, the gray value of each point in the passable area in the distance transformation map is preferably used to characterize the point distance The distance of the contour boundary of the impassable area is combined by points with the same gray value to form a contour line. Preferably, in the embodiment of the present application, each contour line in the contour line cluster has a set distance interval from the contour boundary, that is, the embodiment of the present application searches for the contour line according to the set distance interval and gray value and form clusters of contour lines. As a preferred embodiment, in operation S82, the present application uses the contour boundary as a reference to generate contour line clusters, for example, the contour boundary can be used as the initial position and the first preset width as the interval Distances parallel to silhouette boundaries to generate clusters of contour lines. Specifically, the method for generating contour line clusters in the embodiment of the present application may be: take the outer contour boundary or inner contour boundary in the area shown in the entire distance transformation map as the initial position, and parallel to the outer contour boundary or inner contour boundary respectively To generate each contour line, wherein, the interval distance between two adjacent contour lines is set to be equal, such as can be equal to the first preset width, thus, the selected contour boundary is Starting point, multiple contour lines can be gradually generated in the passable area by iterative method, thus forming a contour line cluster. Exemplarily, taking the outer contour boundary as an example, the distance between two adjacent contour lines is set as the width d of a cleaning device (such as the cleaning width of the cleaning device), and iteratively moves toward Generating multiple contour lines in the passable area refers to: starting from the outer contour boundary, shrinking inward by a distance of d to get the first contour line; then using the first contour line as the boundary, and then moving toward The second contour line is obtained after shrinking the distance of d; and so on, thus forming a contour line cluster. Thus, the contour lines in these contour line clusters generated are basically curves parallel to the inner contour or outer contour, and the distance between adjacent line clusters is the distance of the first preset width, thus A basic full-coverage line cluster (also referred to as a loop path in the embodiment of the present application) can be established to realize full coverage of the line cluster in the entire area shown in the distance transformation diagram. Preferably, the first preset width is set as a vehicle width, so as to ensure that the distance between the generated contour lines is exactly one vehicle width, so that in the process of cleaning according to the contour lines, each cleaning line There are no leaks between them to ensure the coverage of the cleaning path. Fig. 9 schematically shows a schematic diagram of the result of the contour line cluster formed according to the method of the embodiment of the present application. As shown in Fig. 9A, the contour obtained after the processing of step S82 is performed on the distance transformation map shown in Fig. 8 Cluster of wires. In a preferred embodiment, it is also possible to continue to generate waypoints based on these contour line clusters, and smooth these waypoints to reduce the curvature of the path at the turn, and generate a contour path that the unmanned vehicle can drive, as shown in the figure 9B is an effect diagram of a drivable contour path (also referred to as a loop path in the embodiment of the present invention) obtained after waypoint generation and smoothing processing of the contour line cluster in FIG. 9A . As shown in Fig. 9, the loop path generated according to the distance transformation map can basically complete more than 90% of the area coverage. After the processing of operation S82, a contour line path covering the entire area can be formed. However, each contour line is independent of each other, that is, there is no connection between the contour line paths. Therefore, in order to obtain a complete cleaning path, in operation S83, The contour path generated in operation S82 will be connected. Specifically, the method of connecting the contour paths in operation S83 can be realized as follows: starting from a certain point of the outermost contour path (that is, the outermost contour path), find the distance from it in the next path. As the starting point, start from the nearest starting point, filter two car-wide positions forward, select a point at the selected position as the end position, and use the Bezier path to connect the starting position and the end position , where the direction of the start position and the end position is the tangent direction of the position. And so on for each of all the generated contour paths to get a complete path. Wherein, preferably, the forward screening refers to taking the traveling direction of the traveling path as the advancing direction, and proceeding along the advancing direction, so as to filter out the positions of the required points.
具体地,图10示出了一种实施方式的将生成的等高线路径连通的方法,如图10所示,该方法包括Specifically, FIG. 10 shows a method for connecting the generated contour paths according to an embodiment. As shown in FIG. 10 , the method includes
操作S131,对等高线路径中的所有等高线分别进行记录,将各条等高线记录为一条路段;以及Operation S131, recording all the contour lines in the contour path respectively, and recording each contour line as a road segment; and
操作S132,以最外层的轮廓边界作为遍历的起始路段,遍历所述等高线路径对应的所有路段,并对遍历到的当前路段执行连通处理。Operation S132, using the outermost contour boundary as the starting road segment to traverse, traversing all the road segments corresponding to the contour path, and performing connection processing on the traversed current road segment.
在操作S131中,示例性地,可以将等高线路径中的每条等高线作为一个路段并对其进行标识记录,从而形成L1、L2…Ln共n条路段,其中,n为等高线路径中的等高线的数量,L1是指最外层的轮廓边界即外轮廓边界对应的路段,由外轮廓边界向内依次进行标识记录,即与外轮廓边界相邻的次外层等高线对应的路段为L2,以此类推。需要说明的是,在具体实现中该操作并非是必须的,对等高线路径进行路段标记只是为了方便进行操作S132的遍历处理和方便对等高线路径进行记录、存储,在其他实施例中也可以不经由该操作,而直接对等高线路径进行操作S132的遍历处理,以实现将等高线路径连通,即将形成的所有路段连通。In operation S131, for example, each contour line in the contour path may be regarded as a road segment and marked and recorded, thereby forming n road segments L1, L2...Ln, where n is a contour The number of contour lines in the line path, L1 refers to the outermost contour boundary, that is, the road section corresponding to the outer contour boundary, and the identification records are sequentially carried out from the outer contour boundary inward, that is, the sub-outer layer adjacent to the outer contour boundary, etc. The section corresponding to the high line is L2, and so on. It should be noted that this operation is not necessary in the specific implementation, and the section marking of the contour path is only for the convenience of the traversal processing of operation S132 and the convenience of recording and storing the contour path. In other embodiments It is also possible to directly perform the traversal process of operation S132 on the contour path without this operation, so as to realize the connection of the contour paths, that is, to connect all the road sections to be formed.
在操作S132中,可以以外轮廓边界作为当前路段,对等高线路径对应的所有路段进行依次遍历,以将所有等高线路径连通。示例性地,可以从外轮廓边界开始寻找距离当前路段L1最近的路段Lk,在路段Lk上寻找到距离当前路段L1末端位置最近的点(例如当前路段L1的末端位置在路段Lk上的投影点),再以该点为出发点,向预设方向筛选第二预设宽度的距离,将距离出发点第二预设宽度远的位置作为路段Lk的起点位置,并将路段L1的末端位置与路段Lk的起点位置进行连接,从而实现将相邻两条路段连接起来,以此类推,从而得到一整条相互连通的清洁路径。其中,需要说明的是,当前路段的末端位置是指在当前路段上执行清洁时到达的终点位置,即当前路段的清洁 终点位置,起点位置是指在该路段上执行清洁时的起步位置,即当前路段的清洁开始位置,通过将当前路段的终点位置与下一条路段的开始位置连通,即可根据该连通的线路顺畅地转到下一条路段上继续进行清洁处理,使得整个清洁流程非常流畅,保证清洁效率。优选地,为了满足更高的覆盖率,同一条路段即同一条等高线上的起点位置和末端位置可以设置为同一位置,路段L1即外轮廓边界上的起点位置和末端位置可以根据具体路况或经验等进行设置。具体地,图11示出了操作S132的对遍历到的当前路段执行的连通处理的具体内容,如图11所示,其具体包括In operation S132, the outer contour boundary may be used as the current road segment, and all road segments corresponding to the contour path are traversed sequentially, so as to connect all the contour paths. Exemplarily, the road segment Lk closest to the current road segment L1 can be searched from the outer contour boundary, and the point closest to the end position of the current road segment L1 can be found on the road segment Lk (for example, the projection point of the end position of the current road segment L1 on the road segment Lk ), and then take this point as the starting point, screen the distance of the second preset width to the preset direction, take the position far away from the second preset width of the starting point as the starting position of the road segment Lk, and compare the end position of the road segment L1 with the distance of the road segment Lk The starting positions of the two points are connected, so as to realize the connection of two adjacent road sections, and so on, so as to obtain a whole interconnected cleaning path. Among them, it should be noted that the end position of the current road segment refers to the end position reached when cleaning is performed on the current road segment, that is, the cleaning position of the current road segment The end position and the start position refer to the starting position when performing cleaning on this road segment, that is, the cleaning start position of the current road segment. By connecting the end position of the current road segment with the start position of the next road segment, it can be smooth according to the connected line. Transfer to the next road section to continue the cleaning process, making the entire cleaning process very smooth and ensuring cleaning efficiency. Preferably, in order to meet a higher coverage rate, the same road section, that is, the starting position and the end position on the same contour line can be set to the same position, and the road segment L1, that is, the starting position and the end position on the outer contour boundary can be set according to specific road conditions or experience, etc. to set. Specifically, FIG. 11 shows the specific content of the connection processing performed on the traversed current road section in operation S132. As shown in FIG. 11 , it specifically includes
操作S132A,在尚未遍历到的剩余路段中,选取距离当前路段最近的路段作为次当前路段;Operation S132A, among the remaining road sections that have not yet been traversed, select the road section closest to the current road section as the next current road section;
操作S132B,在当前路段上选取末端位置,将次当前路段上距离选取的末端位置最近的点确定为出发点;Operation S132B, select an end position on the current road segment, and determine the point closest to the selected end position on the current road segment as the starting point;
操作S132C,以出发点为基准在次当前路段的预设方向上筛选确定出起点位置;Operation S132C, based on the starting point, filter and determine the starting point in the preset direction of the sub-current road segment;
操作S132D,将在当前路段上选取的末端位置与在次当前路段上确定出的起点位置连接。Operation S132D, connect the end position selected on the current road segment with the starting position determined on the next current road segment.
其中,在操作S132A中,剩余路段是指尚未被连通到清洁路径的路段,即尚未遍历到的路段,其是相对当前路段而言的。由于在一次遍历过程中,是针对当前路段来寻找下一条待执行即待连通路段,因而,相对当前路段而言,剩余路段均尚未连通至当前路段。在本申请实施例中,次当前路段是相对当前路段而言的,是指下一条待执行路段,即当前路段如果执行完清洁处理,接着将要去到的下一条路段。在操作S132A中选取距离当前路段最近的路段,实际上实现为是从尚未被连通的等高线路径中选取与当前等高线距离最近的等高线。Wherein, in operation S132A, the remaining road section refers to a road section that has not yet been connected to the cleaning route, that is, a road section that has not been traversed, which is relative to the current road section. Since in a traversal process, the next to-be-executed, ie, to-be-connected, road segment is searched for the current road segment, therefore, relative to the current road segment, the remaining road segments are not yet connected to the current road segment. In the embodiment of the present application, the next current road segment is relative to the current road segment, and refers to the next road segment to be executed, that is, the next road segment that the current road segment will go to after the cleaning process is completed. In operation S132A, the road section closest to the current road section is selected, which is actually implemented as selecting the contour line closest to the current contour line from the unconnected contour line paths.
在操作S132B中,在当前路段上选取末端位置示例性地可以实现为包括:对当前路段进行判断,若当前路段为路段L1即外轮廓边界,则根据预先设置或默认的规则来选取末端位置,否则,则将在上一轮遍历中即对当前路段的上一条路段的遍历中(在上一轮遍历中,本轮的当前路段为上轮遍历的次当前路段)确定的该路段的起点位置作为其末端位置。在确定了当前路段的末端位置后,从操作S132A中确定的次当前路段上选取距离末端位置最近的点作为出发点。其中,确定距离的远近在具体实现中可以通过现有技术中的坐标测距法等方式进行判断,本发明实施例对此不进行限制。In operation S132B, the selection of the end position on the current road segment can be implemented exemplarily as comprising: judging the current road segment, if the current road segment is the road segment L1, that is, the outer contour boundary, then selecting the end position according to a preset or default rule, Otherwise, the starting position of the road segment determined in the last round of traversal, that is, in the traversal of the previous road segment of the current road segment (in the previous round of traversal, the current road segment of this round is the second current road segment of the last round of traversal) as its end position. After the end position of the current road segment is determined, a point closest to the end position is selected from the sub-current road segment determined in operation S132A as the starting point. Wherein, the distance of the determined distance may be judged by methods such as the coordinate ranging method in the prior art in specific implementation, which is not limited in the embodiment of the present invention.
在操作S132C中,在次当前路段上筛选确定出起点位置是以操作S132B确定出的出发点为判断基准的,示例性地,可以以出发点为基准,向预设方向筛选起点位置。作 为一种优选实施例,为了方便转向操作,预设方向可以确定为无人车或机器人等自动驾驶清洁设备的行进方向,即以出发点为基准,在无人清洁设备的行进方向上,从次当前路段筛选出起点位置。示例性地,在次当前路段上筛选起点位置是将在预设方向上距离出发点第二预设宽度的点所处的位置作为起点位置。其中,第二预设宽度可以根据清洁设备的尺寸、体积、转向能力等进行确定,以较为大型的自动驾驶清洁设备为例,第二预设宽度可以设置为两个车宽的距离。其中,图12示意性地显示了执行一轮遍历得到的连通处理效果图,如图12所示,其以当前路段为路段L1为例,展示了路段L1上的末端位置、确定的次当前路段Lk、在Lk上确定的出发点以及起点位置,同时展示了当前路段L1和次当前路段Lk的连通关系,即当前路段与次当前路段是通过当前路段的末端位置和次当前路段的起点位置连通,形成的连通路径并非是直线转折处,而是具有平滑的过渡,方便清洁设备转向。In operation S132C, the starting point determined in operation S132B is used as the basis for determining the starting point on the next current road segment. Exemplarily, the starting point can be used as the reference to filter the starting point in a preset direction. do As a preferred embodiment, in order to facilitate the steering operation, the preset direction can be determined as the direction of travel of self-driving cleaning equipment such as unmanned vehicles or robots, that is, based on the starting point, in the direction of travel of unmanned cleaning equipment, from the second The starting position is filtered out by the current road segment. Exemplarily, the screening of the starting position on the sub-current road segment is to use the position of a point with a second preset width away from the starting point in the preset direction as the starting position. Wherein, the second preset width can be determined according to the size, volume, steering ability, etc. of the cleaning equipment. Taking relatively large automatic driving cleaning equipment as an example, the second preset width can be set to a distance of two vehicle widths. Among them, Fig. 12 schematically shows the connection processing effect diagram obtained by performing a round of traversal. As shown in Fig. 12, it takes the current road segment as the road segment L1 as an example, and shows the end position on the road segment L1, the determined sub-current road segment Lk, the starting point and the starting position determined on Lk, simultaneously show the connection relationship between the current road segment L1 and the second current road segment Lk, that is, the current road segment and the second current road segment are connected through the end position of the current road segment and the starting position of the second current road segment, The resulting connecting path is not a straight turn, but has a smooth transition, which facilitates the turning of the cleaning equipment.
在其他优选实施例中,可以将清洁设备如无人扫地车当前所处的位置到上述形成的等高线路径之间也使用一条贝塞尔曲线连接起来,以形成更为完整的清洁路径,其具体实现为是将是以清洁设备当前的位置作为贝塞尔曲线的起点,以距离当前位置最近的等高线路径上的点向前筛选2个车宽远的位置的点作为贝塞尔曲线的终点,将二者连接。图13示意性地显示了由此生成的完整清洁路径展示图,如图13所示,在该拼接效果展示图中,各等高线路径之间以及等高线路径与清扫设备当前位置之间,均连通成了一条完整的路径。In other preferred embodiments, a Bezier curve can also be used to connect the current position of the cleaning equipment such as the unmanned sweeping vehicle to the contour path formed above to form a more complete cleaning path. Its specific implementation is to use the current position of the cleaning equipment as the starting point of the Bezier curve, and use the points on the contour path closest to the current position to filter forward the points at the position of 2 car widths as the Bezier curve. The end point of the curve, connecting the two. Figure 13 schematically shows the resulting complete cleaning path display diagram. , are connected to form a complete path.
由此形成的完整的清扫路径既能够覆盖全部地图区域,达到高的覆盖率,而且,由于等高线路径之间是通过确定的终点位置和起点位置进行连接的,终点位置和起点位置之间存在平滑的过度,如两个车宽的距离,因而不需要急转向就能实现两个路段之间的过渡,整个清扫路径具有平滑的连续性,大幅减少了清扫移动平台原地转向的次数,提高清扫效率和清扫过程的流畅性。The complete cleaning path thus formed can not only cover the entire map area and achieve high coverage, but also, since the contour lines are connected by the determined end position and starting point, the distance between the end point and the starting point There is a smooth transition, such as the distance of two car widths, so the transition between the two road sections can be realized without sharp steering. The entire cleaning path has a smooth continuity, which greatly reduces the number of times the cleaning mobile platform turns in situ. Improve the cleaning efficiency and the fluency of the cleaning process.
作为另一种优选实施例,如图14所示,在对各等高线路径分别进行平滑处理之前,本申请的方法在图7所示方法的基础上还可以进一步包括As another preferred embodiment, as shown in Figure 14, before smoothing each contour line path, the method of the present application may further include on the basis of the method shown in Figure 7
操作S12A,根据生成的等高线线簇包围的区域面积的大小,删除不符合预设要求的等高线线簇;Operation S12A, according to the size of the area surrounded by the generated contour line clusters, delete the contour line clusters that do not meet the preset requirements;
操作S12C,对删除的等高线线簇包围的区域进行“弓”字型填充,形成“弓”字型清洁路径。In operation S12C, fill the area surrounded by the deleted contour line cluster in a "bow" shape to form a "bow" shape cleaning path.
在本申请实施例中,除了采用等高线的清洗策略之外,还结合了“弓”字型清洁策 略对生成的清洗路径进行优化。具体地,在将等高线线簇连通之前,本申请实施例还会对各等高线包围的区域面积进行判断。由于等高线是闭合曲线,因此,在形成等高线线簇的清洁策略中,每条等高线都包围有相应的区域面积。在步骤S12A中,本申请实施例会对生成的所有等高线线簇进行区域面积的计算,统计出各等高线围成的区域面积,并对区域面积进行判断。其中,针对某一条等高线而言,其围成的区域面积是指该等高线包围的封闭区域内的整个区域的面积,可以理解的是,一条等高线的围成的区域面积实际上包含了位于该条等高线包围的封闭区域内的其他内圈等高线围成的区域面积。示例性地,对生成的等高线围成的区域面积的计算可以是通过将等高线包围的内部区域涂成特定颜色,然后就计算该特定颜色的点的数目,由于在图像中每个点都是一个像素,根据像素点大小各个点都具有一个相应的面积值,因此,通过将计算出的特定颜色的像素点的数目乘以像素点对应的面积值就可以得到该等高线围成的区域的面积。其中,对生成的所有等高线线簇进行区域面积的计算的方式还可以参照其他现有技术计算方式实现,在此不再赘述。本申请实施例优选设定有一个预设标准,对区域面积进行判断可以实现为将计算出的各等高线围成的区域面积与预设标准进行比较,从而确定出等高线的删除策略。示例性地,删除策略可以是将区域面积小于预置的面积阈值的等高线从等高线线簇中删除。由于清洁设备自身具有体积、尺寸、转向角度等特征,当等高线区域面积较小时,过小的等高线区域会由于路线曲率太大导致清洁设备跟踪效果不好,如就很难进行清洁或转向,在这种情况下,就可以根据执行清洁任务的清洁设备的特点通过设定一个清洁区域的最小面积值作为预设面积阈值,将各等高线区域面积与之比较,删除区域面积小于该预设面积阈值的等高线。在操作S12C中,为了对删除了等高线的区域也进行清洁覆盖,就可以结合“弓”字型清洁策略,在这些删除了等高线的较小区域内进行“弓”字型填充,由此既可以避免漏扫,也能够完善等高线覆盖路径中存在的过小区域清洁困难的弊端,并且由于是在较小区域内进行弓字型填充,在这些区域内本身的清洁路径是比较短的,因而对清洁效率影响也比较小。其中,需要说明的是,对于某条区域面积小于预设面积阈值且其内包围有其他等高线的等高线而言,由于其围成的区域面积是大于位于其内圈的其他等高线围成的区域面积的,因而在删除了这些等高线之后,仅需对删除了这些等高线的空白区域,即位于最外圈的那条区域面积小于预设面积阈值的等高线围成的区域进行“弓”字型填充即可覆盖删除了等高线之后的全部较小区域,因而对本领域技术人员来说不难理解的是,对于删除了多条圈套等高线的情形,并不需要对每条圈套的等高线围成的区域分别进行一次“弓”字型,例如,图15以栅格 地图为背景示意性地显示了将区域面积较小的等高线确定为不符合预设要求的待删除等高线的效果展示图,如图15可见,图中的等高线1、等高线2和等高线3由于围成的区域面积较小,即被确定为需要删除的等高线,会将其进行删除。图16则以栅格地图为背景示意性地显示了在删除了等高线的区域进行弓字型填充的效果示意图,如图16可见,在图中删除了等高线1、等高线2和等高线3的区域,是在等高线1围成的区域和等高线3围成的区域内分别进行了“弓”字型填充形成了两条弓字型路径4,而由于等高线2是位于等高线1的内圈中的等高线,其围成的区域包含于等高线1的区域之内,因而在等高线2围成的区域内就不需要重复进行“弓”字型填充。如图15和16可见,由于这些区域面积比较小,因而形成的弓字型路径较短,存在的转折处也比较少(甚至没有),因此并不会对清洁效率产生太大影响。可以理解的是,图15和图16也可以以距离变换图为背景进行相应效果的示意展示,为了方便直观清楚地看到效果和进行更清晰的显示示意,本申请实施例选用了栅格地图进行效果示意,但这不视为是对本申请实施例方法的限制。In the embodiment of this application, in addition to the contour line cleaning strategy, the "bow" cleaning strategy is also combined. Slightly optimize the generated cleaning path. Specifically, before connecting the contour line clusters, the embodiment of the present application also judges the area surrounded by each contour line. Since contour lines are closed curves, each contour line encloses a corresponding area in the cleaning strategy that forms contour line clusters. In step S12A, the embodiment of the present application calculates the area of all the generated contour line clusters, calculates the area of the area surrounded by each contour line, and judges the area of the area. Among them, for a certain contour line, the area enclosed by it refers to the area of the entire area within the closed area surrounded by the contour line. It can be understood that the area enclosed by a contour line is actually includes the area surrounded by other inner circle contour lines in the closed area surrounded by this contour line. Exemplarily, the calculation of the area surrounded by the generated contour lines can be done by painting the inner region surrounded by the contour lines with a specific color, and then calculating the number of points of the specific color, because in the image each Each point is a pixel, and each point has a corresponding area value according to the size of the pixel point. Therefore, the contour line circumference can be obtained by multiplying the calculated number of pixels of a specific color by the area value corresponding to the pixel point The area of the formed area. Wherein, the method of calculating the area of all the generated contour line clusters can also be realized by referring to other calculation methods in the prior art, and will not be repeated here. The embodiment of the present application preferably sets a preset standard, and judging the area area can be realized by comparing the area surrounded by the calculated contour lines with the preset standard, so as to determine the contour line deletion strategy . Exemplarily, the deletion strategy may be to delete contour lines whose area area is smaller than a preset area threshold from the contour line cluster. Due to the characteristics of the cleaning equipment itself, such as volume, size, and steering angle, when the area of the contour line is small, the tracking effect of the cleaning equipment will be poor if the area of the contour line is too small due to the large curvature of the route. For example, it will be difficult to clean Or turn, in this case, you can set the minimum area value of a cleaning area as the preset area threshold according to the characteristics of the cleaning equipment performing the cleaning task, compare the area of each contour line with it, and delete the area Contours smaller than this preset area threshold. In operation S12C, in order to clean and cover the areas where the contour lines have been deleted, the "bow" type cleaning strategy can be combined to perform "bow" type filling in these smaller areas where the contour lines have been deleted, This can not only avoid missed scanning, but also improve the disadvantages of difficult cleaning in too small areas in the contour line coverage path, and because the bow-shaped filling is performed in a small area, the cleaning path itself in these areas is Relatively short, so the impact on cleaning efficiency is relatively small. Among them, it should be noted that, for a contour line with an area smaller than the preset area threshold and surrounded by other contour lines, since the area surrounded by it is larger than the other contour lines located in its inner circle Therefore, after deleting these contour lines, it is only necessary to delete the blank area of these contour lines, that is, the contour line of the outermost area whose area is smaller than the preset area threshold Filling the enclosed area with a "bow" shape can cover all the smaller areas after the contour line is deleted, so it is not difficult for those skilled in the art to understand that, for the situation where multiple trap contour lines are deleted , it is not necessary to carry out a "bow" font for the area surrounded by the contour lines of each trap, for example, Figure 15 uses the grid The map is the background schematically showing the effect of determining the contour lines with a small area as the contour lines to be deleted that do not meet the preset requirements, as shown in Figure 15. Contour 1, Contour Because the area enclosed by line 2 and contour line 3 is small, it is determined to be a contour line that needs to be deleted, and it will be deleted. Figure 16 schematically shows the effect of bow-shaped filling in the area where the contour line is deleted with the grid map as the background. As can be seen in Figure 16, the contour line 1 and the contour line 2 are deleted in the figure The area surrounded by the contour line 1 and the contour line 3 is filled with a "bow" shape respectively in the area surrounded by the contour line 1 and the contour line 3 to form two bow-shaped paths 4, and due to the The height line 2 is the contour line located in the inner circle of the contour line 1, and the area surrounded by it is included in the area of the contour line 1, so there is no need to repeat the process in the area surrounded by the contour line 2 "Bow" font fill. As can be seen from Figures 15 and 16, since these areas are relatively small, the bow-shaped paths formed are relatively short, and there are relatively few (or even none) turning points, so the cleaning efficiency will not be greatly affected. It can be understood that Figure 15 and Figure 16 can also be used to show the corresponding effect with the background of the distance transformation map. In order to facilitate the intuitive and clear view of the effect and to perform a clearer display, the embodiment of the present application uses a grid map The effect is shown, but this is not considered as a limitation to the method of the embodiment of the present application.
在具体应用中,在同时采用了上述等高线路径规划和“弓”字型填充规划策略的场景中,可以根据具体的应用需求来确定对目标清洁区域的清洁策略。示例性地,可以将通过上述等高线路径规划得到的清洁路径和通过“弓”字型填充得到的清洁路径分别存储,并根据需求分别执行两种策略对应生成的清洁路径。当然,在其他实施例中,也可以将通过上述等高线路径规划得到的清洁路径和通过“弓”字型填充得到的清洁路径连通,即将通过“弓”字型填充得到的清洁路径也连接到通过上述等高线路径规划得到的清洁路径中,以将连通后的清洁路径作为目标清洁区域的完整清洁路径,并依据该完整的清洁路径执行清洁策略。本申请实施例对此不进行限制。其中,将通过“弓”字型填充得到的清洁路径连接到通过上述等高线路径规划得到的清洁路径中,具体可以实现为:确定通过弓字型填充得到的弓字型清洁路径与围成该填充区域的原始等高线的交点,将交点连接至等高线线簇形成的清洁路径的末端或连接至与当前交点距离最近的等高线上的末端位置。其中,围成该填充区域的原始等高线是指围成用于进行弓字型填充的区域的尚未被删除的等高线,即在删除之前对区域面积小于预设面积阈值的等高线围成的区域进行填充,并记录填充路线与该等高线的交点,并将交点与等高线线簇的清洁路径连通。优选地,选定的用于与等高线线簇的清洁路径连通的交点,可以是距离等高线线簇形成的清洁路径的末端最近的交点或距离与围成填充区域的等高线最近的等高线上的末端位置最近的交点。其中,在将两种清洁策略得到的清洁路径连通的实施例中,为 了更清楚区分,本申请实施例将所述等高线线簇连通形成的完整的清洁路径称之为第一清洁路径,将通过“弓”字型填充得到的弓字型清洁路径称之为第二清洁路径。In a specific application, in a scenario where the above-mentioned contour line path planning and "bow"-shaped filling planning strategies are adopted at the same time, the cleaning strategy for the target cleaning area can be determined according to specific application requirements. For example, the cleaning path obtained through the above-mentioned contour path planning and the cleaning path obtained through "bow" filling can be stored separately, and the cleaning paths corresponding to the generated cleaning paths corresponding to the two strategies can be executed according to requirements. Of course, in other embodiments, it is also possible to connect the cleaning path obtained through the above-mentioned contour line path planning with the cleaning path obtained through "bow" filling, that is, the cleaning path obtained through "bow" filling is also connected. Into the cleaning path obtained through the above contour line path planning, the connected cleaning path is used as the complete cleaning path of the target cleaning area, and the cleaning strategy is executed according to the complete cleaning path. This embodiment of the present application does not limit this. Among them, connecting the cleaning path obtained through the "bow" filling to the cleaning path obtained through the above-mentioned contour path planning can be specifically implemented as: determining the bow-shaped cleaning path obtained through the bow-shaped filling and the enclosing The intersection of the original contours for this filled area, connecting the intersection to the end of the cleaning path formed by the contour cluster or to the end position on the contour closest to the current intersection. Among them, the original contour lines enclosing the filling area refer to the contour lines enclosing the area for bow-shaped filling that have not been deleted, that is, the contour lines whose area is smaller than the preset area threshold before deletion The enclosed area is filled, and the intersection of the filling route and the contour line is recorded, and the intersection point is connected with the clean path of the contour line cluster. Preferably, the selected intersection point for communicating with the cleaning path of the contour line cluster may be the intersection point closest to the end of the cleaning path formed by the contour line cluster or the closest intersection point to the contour line enclosing the filling area The closest intersection point of the end position on the contour line of . Among them, in the embodiment of connecting the cleaning paths obtained by the two cleaning strategies, is In order to distinguish more clearly, in the embodiment of the present application, the complete cleaning path formed by the connection of the contour line clusters is called the first cleaning path, and the bow-shaped cleaning path obtained by filling the "bow" shape is called the first cleaning path. Second cleaning path.
图3示出了本申请另一实施方式的动态全覆盖路径规划方法,以全覆盖规划处理是套圈路径的规划处理方法为例,如图3所示,本申请实施例的方法在图7所示方法的基础上,还包括Fig. 3 shows a dynamic full-coverage path planning method according to another embodiment of the present application. Taking the full-coverage planning process as an example of a loop path planning process, as shown in Fig. 3, the method of the embodiment of the present application is shown in Fig. 7 Based on the method shown, it also includes
操作S84,对待路径规划区域对应的清洁路径中的最外圈路径进行第一优化处理,以及Operation S84, performing a first optimization process on the outermost circle path in the cleaning path corresponding to the path planning area, and
操作S85,对待路径规划区域对应的清洁路径中的次外圈路径进行第二优化处理。In operation S85, a second optimization process is performed on the sub-outer circle path in the cleaning path corresponding to the path planning area.
其中,在本申请实施例中,通过全覆盖规划处理生成的清洁路径是套圈路径(即等高线路径),由于直接使用距离变换生成的套圈路径的缺点是没有考虑车的外轮廓,对于一些障碍物比较多的复杂地图,生成的最外圈路径的贴边效果并不好,容易产生漏扫,发生碰撞的概率也比较大,且如果根据这个最外圈路径去生成内圈路径的话,内圈路径也会产生一些不必要的来回摆头的现象,影响清扫效率,另外,基于不平滑的外圈路径使用距离变换向里生成路径时,也容易产生零碎的区域,因此本申请实施例在生成待路径规划区域对应的清洁路径之后,还会对生成的清洁路径进行最外圈路径和内圈路径的优化处理,以提高清扫路径的覆盖效率。Among them, in the embodiment of the present application, the cleaning path generated by the full-coverage planning process is a loop path (that is, a contour path). The disadvantage of the loop path generated by directly using the distance transformation is that the outer contour of the car is not considered. For some complex maps with many obstacles, the welt effect of the generated outermost path is not good, it is easy to miss scans, and the probability of collision is relatively high, and if the inner path is generated based on the outermost path Otherwise, the inner circle path will also produce some unnecessary swinging of the head back and forth, which will affect the cleaning efficiency. In addition, when the distance transformation is used to generate the path based on the uneven outer circle path, it is easy to generate fragmented areas. Therefore, this application In this embodiment, after the cleaning path corresponding to the area to be path planned is generated, the generated cleaning path will be optimized for the outermost circle path and the inner circle path, so as to improve the coverage efficiency of the cleaning path.
在操作S84中,如图31所示,第一优化处理具体实现为是包括操作S841,以清洁路径中的优化前的最外圈路径作为参考线,对最外圈路径进行动态规划采样,以及操作S843将所有采样的结果拼接以形成优化好的最外圈路径。具体地,对最外圈路径进行动态规划采样可以是使用动态规划采样贝塞尔曲线,每隔一个小间距进行一次采样。其中,间隔的小间距可以根据需求设置,例如根据执行清洁任务的设备的尺寸和体积进行设置,将采样间隔设置成与设备尺寸呈正相关,即在设备尺寸比较小时,采样间隔也相应设置为较小的值,由此可以使得采样出来的路径更具有灵活性,能更好地贴边;而在设备尺寸较大时,采样间隔也相应设置为更大的值,由此可以使得采样出来的路径更加平滑,更适合大型车的转向操作。示例性地可以将设备尺寸较小的设备的采样间隔设置为0.3-0.5m,而将尺寸较大的设备的采样间隔设置为0.5-0.8m。更优地,如图32所示,第一优化处理还包括操作S842在采样的过程当中,对采样结果进行碰撞检测,如对采样的每条贝塞尔曲线都进行碰撞检测,并将存在碰撞的采样曲线过滤掉,以得到不存在碰撞的采样结果,以及操作S843’将经过碰撞检测和过滤得到的采样结果作为拼接形成优化后的最外圈路径的依据。由于碰撞检测考虑了车的外轮廓,所以最后的结果具有更 好的贴边效果,也不容易产生碰撞。图4示意性地显示了优化前后的最外圈路径的展示效果,如图4所示,绿色的曲线a是优化前的最外圈,蓝色的曲线b是优化后的结果,图5示意性地显示了模拟的清洁设备的外轮廓在优化好的最外圈路径上时的覆盖效果,从图5中可以看到,在有障碍物的边界上,蓝色的曲线b有提前避让障碍物的趋势,几乎不会发生碰撞;而在没有障碍物的边界上,基本上优化前后是一致贴合的。In operation S84, as shown in FIG. 31 , the first optimization process is specifically realized by including operation S841, using the outermost circle path before optimization in the cleaning path as a reference line, performing dynamic programming sampling on the outermost circle path, and Operation S843 concatenates all the sampled results to form an optimized outermost circle path. Specifically, performing dynamic programming sampling on the outermost circle path may be to use dynamic programming to sample a Bezier curve, and to perform sampling at every other small interval. Among them, the small spacing of the interval can be set according to the requirements, for example, according to the size and volume of the equipment performing the cleaning task, and the sampling interval is set to be positively correlated with the equipment size, that is, when the equipment size is relatively small, the sampling interval is also set to be relatively small. A small value can make the sampled path more flexible and fit better; and when the device size is large, the sampling interval should be set to a larger value, which can make the sampled path The path is smoother and better suited for steering maneuvers in larger vehicles. Exemplarily, the sampling interval of a device with a smaller size may be set to 0.3-0.5m, and the sampling interval of a device with a larger size may be set to 0.5-0.8m. More preferably, as shown in FIG. 32 , the first optimization process also includes operation S842, during the sampling process, performing collision detection on the sampling results, such as performing collision detection on each Bezier curve sampled, and identifying the collision The sampling curve is filtered out to obtain a sampling result without collision, and operation S843' uses the sampling result obtained through collision detection and filtering as a basis for splicing to form an optimized outermost circle path. Since the collision detection takes into account the outer contour of the car, the final result has a more Good welt effect, not easy to produce collision. Figure 4 schematically shows the display effect of the outermost circle path before and after optimization. As shown in Figure 4, the green curve a is the outermost circle before optimization, and the blue curve b is the result after optimization. Figure 5 shows shows the coverage effect of the simulated cleaning equipment's outer contour on the optimized outermost circle path, as can be seen from Figure 5, on the boundary with obstacles, the blue curve b has early obstacle avoidance There is almost no collision if there is no trend of objects; and on the boundary without obstacles, basically the same fit before and after optimization.
在操作S85中,第二优化处理是采用平滑优化实现,示例性地,是使用带有约束的二次规划方法实现,如图33所示,其具体包括:操作S851,计算最外圈路径的曲率;操作S852,根据最外圈路径的曲率的正负来判断最外圈路径的凹凸性,其中,凹的轮廓附近一般为障碍物,凸的轮廓一般没有障碍物,因而本申请实施例将曲率为正的点确定为凸点,将曲率为负的点确定为凹点;以及操作S853,通过设置二次规划约束大小的方式对次内圈路径进行平滑优化处理,使次内圈路径在最外圈路径的凹点处的偏移优化尽量减少,而在最外圈路径的凸点处的偏移优化加大。具体地,采用设置二次规划约束大小的方式对次内圈路径进行平滑优化可以实现为包括:首先将最外圈路径向里内缩半个车宽至一个车宽左右的距离结果作为次内圈路径的参考线;接着设置二次规划的代价项,优选地,将二次规划的代价项设置为包括优化结果的曲率尽可能小、优化结果的路径尽可能短、和优化结果距离参考线的偏差尽可能小三个代价项;最后,通过将次外圈路径上的每个离散点的最大偏移值作为该离散点的约束条件,采用二次函数对次内圈路径进行优化。在为每个离散点设置偏移值约束时,示例性地,由于最外圈路径的曲率为负表示该处形状为凹,凹点的外边一般是由障碍物引起,因此凹处的点的最大偏移值约束可以设为半个车宽左右,保证不会碰到障碍物;而最外圈路径的曲率为正表示该处形状为凸,凸的外边一般无障碍物,将该处的点的最大偏移值约束设为一个较小的数量值(如0~0.2m),可以使得优化结果将该凸包填掉,同时简化和平滑内轮廓。现有技术中采用的常用的平滑处理方法(例如均值滤波、高斯滤波)只有减缓波浪的功能,而本申请实施例采用的第二优化处理,不仅仅实现了对次内圈路径的偏移优化,而且是以最外圈路径的轮廓凹凸性作为约束条件的,因而兼顾了最外圈路径的轮廓的简化,同时能够进一步减少向内生成路径时产生的零碎区域。图6示意性地显示了第一优化处理后的外轮廓c(即最外圈路径)及第二优化处理后的内轮廓d(即次外圈路径)的效果示意图,如图6所示,通过第二次优化处理,外轮廓c和内轮廓d之间的间距小于一个车宽,因此在执行清扫任务时通过这两圈路径的执行,能够很好地重叠覆盖,提高覆盖效率,避免产生漏覆盖的碎片区域。由于实际应用中,清洁任务是按圈依次执行的,作为一种优 选实施例,本申请实施例还可以是基于清洁任务的执行周期来进行动态路径规划的,即本申请实施例可以将触发条件设置为执行完清洁路径中的次外圈路径的清洁时,此时,操作S10中获取的环境变化信息相应地可以为在执行完清扫路径中的次外圈路径时获取的相应的实时清洁轨迹,由此,本申请实施例获取的实时清洁轨迹实际上包括了最外圈路径和次外圈路径的行驶轨迹,即此时获取的行驶轨迹是在最外圈和次外圈路径上先后覆盖了一次。作为一种优选实施例,本申请实施例在进行路径规划时,会对最外圈和次外圈路径进行优化处理,由于经过优化,最外圈路径和次外圈路径之间的间距是小于一个车宽的,因此能很好地重叠上。因此,在这两圈覆盖完之后,由于动态地更新了覆盖状态地图,则后续从覆盖状态地图中提取待路径规划区域进行下一条覆盖路线的生成时,就能够将上一圈优化的结果体现到下一圈规划的路径上去,实现真正的基于环境变化的动态路径规划和更新,提高清洁效率和覆盖率。In operation S85, the second optimization process is realized by using smooth optimization, for example, by using a quadratic programming method with constraints, as shown in FIG. 33 , which specifically includes: operation S851, calculating the Curvature; operation S852, judge the concavo-convexity of the outermost path according to the positive or negative of the curvature of the outermost path, wherein, the vicinity of the concave contour is generally an obstacle, and the convex contour generally has no obstacle, so the embodiment of the present application will Points with positive curvature are determined as convex points, and points with negative curvature are determined as concave points; and operation S853 is to perform smooth optimization processing on the sub-inner circle path by setting the size of the quadratic programming constraint, so that the sub-inner circle path is in The offset optimization at the concave point of the outermost circuit path is minimized, while the offset optimization is increased at the convex point of the outermost circuit path. Specifically, the smooth optimization of the sub-inner circle path by setting the size of the quadratic programming constraint can be implemented as follows: first, shrink the outermost circle path inward by half the vehicle width to a distance of about one vehicle width as the sub-inner The reference line of the circle path; then the cost item of the quadratic programming is set, preferably, the cost item of the quadratic programming is set to include that the curvature of the optimization result is as small as possible, the path of the optimization result is as short as possible, and the distance between the optimization result and the reference line The deviation of the three cost items is as small as possible; finally, by using the maximum offset value of each discrete point on the sub-outer loop path as the constraint condition of the discrete point, a quadratic function is used to optimize the sub-inner loop path. When setting the offset value constraint for each discrete point, for example, since the curvature of the outermost circle path is negative, it means that the shape of the place is concave, and the outer edge of the concave point is generally caused by obstacles, so the point of the concave point The maximum offset value constraint can be set to about half the width of the car to ensure that no obstacles will be encountered; while the curvature of the outermost path is positive, which means that the shape of the place is convex, and there are generally no obstacles outside the convex side. The maximum offset value constraint of the point is set to a small value (such as 0-0.2m), which can make the optimization result fill out the convex hull, and simplify and smooth the inner contour at the same time. Commonly used smoothing methods in the prior art (such as mean filtering and Gaussian filtering) only have the function of slowing down waves, while the second optimization processing adopted in the embodiment of the present application not only realizes the offset optimization of the sub-inner circle path , and the concavo-convexity of the outermost path is taken as a constraint condition, so the simplification of the outermost path's outline is taken into account, and at the same time, the fragmented area generated when the path is generated inward can be further reduced. Fig. 6 schematically shows the effect diagram of the outer contour c (i.e. the outermost circle path) after the first optimization process and the inner contour d (i.e. the second outer circle path) after the second optimization process, as shown in Fig. 6, Through the second optimization process, the distance between the outer contour c and the inner contour d is less than one car width, so when performing the cleaning task, the execution of these two circles of paths can overlap and cover well, improve the coverage efficiency, and avoid the occurrence of Debris areas covered by leaks. Since in practical applications, cleaning tasks are performed sequentially in circles, as an optimal As an alternative embodiment, the embodiment of the present application can also perform dynamic path planning based on the execution period of the cleaning task, that is, the embodiment of the present application can set the trigger condition as when the cleaning of the sub-outer ring path in the cleaning path is completed, this , the environmental change information acquired in operation S10 can be the corresponding real-time cleaning trajectory acquired when the second outer circle path in the cleaning path is executed, thus, the real-time cleaning trajectory acquired in the embodiment of the present application actually includes The driving trajectories of the outermost circle path and the sub-outer circle path, that is, the driving trajectory obtained at this time is covered once successively on the outermost circle path and the sub-outer circle path. As a preferred embodiment, the embodiment of the present application will optimize the outermost circle and the second outer circle path when performing path planning. After optimization, the distance between the outermost circle path and the second outer circle path is less than One car wide, so they overlap nicely. Therefore, after the two laps are covered, since the coverage state map is dynamically updated, when the area to be planned is extracted from the coverage state map to generate the next coverage route, the optimization results of the previous lap can be reflected. Go to the path planned by the next circle to realize real dynamic path planning and updating based on environmental changes, and improve cleaning efficiency and coverage.
需要说明的是,在具体应用中,本申请实施例也不局限于要同时对最外圈路径和次外圈路径同时进行上述优化处理,还可以根据需求仅仅执行上述第一优化处理或仅仅执行上述第二优化处理,本申请实施例对此不进行限制。It should be noted that, in a specific application, the embodiment of the present application is not limited to performing the above optimization process on the outermost circle path and the second outer circle path at the same time, and may also only perform the above first optimization process or only execute The above second optimization process is not limited in this embodiment of the present application.
作为一种更优的实现例,图17还示出了本申请另一实施方式的全覆盖路径规划处理方法,如图17所示,其在图7所示方法的基础上还包括As a more optimal implementation example, FIG. 17 also shows a full-coverage path planning processing method according to another embodiment of the present application. As shown in FIG. 17 , it also includes on the basis of the method shown in FIG. 7
操作S86,对待路径规划区域对应的清洁路径进行模拟覆盖运动以确定出漏扫区域,并根据确定的漏扫区域生成所述栅格地图的维诺线覆盖路径,将生成的维诺线覆盖路径增加至所述待路径规划区域的清洁路径中。Operation S86, performing simulated coverage movement on the cleaning path corresponding to the path planning area to determine the missed scan area, and generating the Voronoi line coverage path of the grid map according to the determined missed scan area, and the generated Voronoi line coverage path Added to the cleaning path of the area to be path planning.
发明人在研发过程中发现,虽然套圈的路径可以实现百分之九十以上的路径覆盖率,但是根据实际应用的经验总结,发现这种路径规划方式依然存在一些区域是难以避免会产生漏扫的。发明人对产生漏扫的主要原因进行了总结归纳,发现主要原因有以下几点:The inventor found in the research and development process that although the path of the ferrule can achieve a path coverage rate of more than 90%, according to the experience summary of practical applications, it is found that there are still some areas in this path planning method, which are unavoidable and will cause leakage. swept. The inventor has summarized the main reasons for the missed scanning, and found that the main reasons have the following points:
(1)由于套圈路径在狭窄空间处会生成曲率较大的行驶路径,经过路径平滑后虽然是不需要原地转向,更加方便无人车的行驶,但是在转弯处容易产生漏扫;(1) Since the loop path will generate a driving path with a large curvature in a narrow space, although it does not need to turn in situ after the path is smooth, it is more convenient for the driving of the unmanned vehicle, but it is easy to miss the sweep at the turning;
(2)套圈路径的最内圈往往是小区域,生成的小圈路径不方便无人车行驶;(2) The innermost circle of the loop path is often a small area, and the generated small circle path is not convenient for unmanned vehicles to drive;
(3)对于较复杂的地图,距离变换生成的等高线之间的距离并不是严格为一个车宽的距离。(3) For more complex maps, the distance between contour lines generated by distance transformation is not strictly the distance of one car width.
基于这个发现,发明人为了解决这一缺陷,想到了通过使用矩形框来近似清扫车辆的覆盖区域来寻找解决方案,具体是让该矩形框沿着覆盖路径运动,以模拟清扫车辆在目标区域对应的地图上的覆盖运动,发明人通过将该矩形框覆盖区域涂黑来寻找到未被 涂黑的白色的区域,覆盖运动执行完毕之后显露出来的白色区域即为漏覆盖的区域(即漏扫区域),如图18A所示。经过分析,发明人意外地发现,漏扫区域基本上分布在地图的维诺骨架上(即距离变换图所示的骨架线上),因此发明人想到只需要生成该地图的维诺骨架线作为补充的清扫路径(即维诺线覆盖路径),即可将漏扫区域覆盖,生成的维诺骨架线如图18B所示。其中,需要说明的是,维诺骨架线是指维诺(Voronoi)图上的线,即泰森多边形的边。它是由一组由连接两邻点直线的垂直平分线组成的连续多边形组成。维诺骨架线的特点是其将该处的区域垂直平分,并且还具有每个V多边形内有一个生成元、每个V多边形内点到该生成元距离短于到其它生成元距离、多边形边界上的点到生成此边界的生成元距离相等、以及邻接图形的Voronoi多边形界线以原邻接界线作为子集等特点。在具体实现中,可以通过分治法、扫描线算法和Delaunay三角剖分算法等现有方式生成上述维诺骨架线,特别地,本申请实施例采用现有开源算法来生成目标区域的栅格地图的维诺骨架线。基于此,通过形成包括维诺骨架线的清扫路径,就可以达到百分之百的漏扫区域覆盖,提高套圈路径的覆盖率和清扫效率。作为一种更优的实现例,在具体实现中,也可以进一步对生成的维诺骨架线进行优化,剔除不必要的维诺骨架线,以形成最终的维诺线覆盖路径。具体地,对维诺骨架线进行优化可以实现为:将维诺骨架线映射到通过模拟覆盖运动而呈现有漏覆盖区域的地图上,判断该维诺骨架线是否能够对应匹配地图中呈现的漏覆盖区域,若存在未对应漏覆盖区域的维诺骨架线,则将未匹配到漏覆盖区域的维诺骨架线剔除。示例性地,可以根据生成的清扫路径离线构建漏覆盖区域地图,然后获取生成的维诺骨架线上的点坐标,将其转换和覆盖到漏覆盖区域地图的像素坐标系下,并通过判断维诺骨架线的线段上的点有几个落在了地图的漏覆盖区域上来判断该线段与漏覆盖区域的对应匹配程度,将与漏覆盖区域的匹配度超过一定阈值的线段确定为对应匹配上了漏覆盖区域,将匹配度不满足一定阈值的线段确定为需要剔除的线段。图19示意性地显示了优化后的维诺骨架线,如图19所示,优化后的维诺骨架线可以较好地将漏覆盖区域覆盖。其中,生成地图的维诺骨架线可以是基于距离变换图来提取地图的骨架的轮廓得到,可以参照现有技术进行实现,本申请实施例对此不进行赘述。Based on this discovery, in order to solve this defect, the inventor thought of finding a solution by using a rectangular frame to approximate the coverage area of the cleaning vehicle. Specifically, let the rectangular frame move along the coverage path to simulate the corresponding cleaning vehicle in the target area Covering movement on the map of the map, the inventor finds the area that is not covered by the rectangular box by blacking out The blackened white area, and the white area revealed after the covering movement is completed is the area of missing coverage (ie, the area of missing scanning), as shown in FIG. 18A . After analysis, the inventor unexpectedly found that the missed scan area is basically distributed on the Voronoi skeleton of the map (that is, the skeleton line shown in the distance transformation map), so the inventor thought that only the Voronoi skeleton line of the map needs to be generated as The supplementary cleaning path (that is, the Voronoi line coverage path) can cover the missed scanning area, and the generated Voronoi skeleton line is shown in FIG. 18B . Wherein, it should be noted that the Voronoi skeleton line refers to a line on a Voronoi diagram, that is, a side of a Thiessen polygon. It consists of a set of continuous polygons consisting of perpendicular bisectors connecting straight lines between two adjacent points. The characteristic of the Voronoi skeleton line is that it bisects the area vertically, and also has a generator in each V polygon, and the distance from the points in each V polygon to the generator is shorter than the distance to other generators, and the polygon boundary The distances between the points on the graph and the generator generating this boundary are equal, and the Voronoi polygon boundaries of adjacent graphs use the original adjacent boundaries as a subset. In a specific implementation, the above-mentioned Voronoi skeleton line can be generated by existing methods such as divide and conquer, scan line algorithm, and Delaunay triangulation algorithm. In particular, the embodiment of the present application uses the existing open source algorithm to generate the grid of the target area Map of the Voronoi skeleton lines. Based on this, by forming a cleaning path including the Voronoi skeleton line, 100% coverage of the missed scanning area can be achieved, and the coverage rate and cleaning efficiency of the loop path can be improved. As a more optimal implementation example, in a specific implementation, the generated Voronoi skeleton lines may also be further optimized to remove unnecessary Voronoi skeleton lines to form a final Voronoi line coverage path. Specifically, the optimization of the Voronoi skeleton line can be implemented as follows: mapping the Voronoi skeleton line to a map showing a leaky coverage area by simulating the coverage movement, and judging whether the Voronoi skeleton line can correspond to the leaky coverage area presented in the matching map. If there is a Voronoi skeleton line that does not correspond to the leaky coverage area, the Voronoi skeleton line that does not match the leaky coverage area is eliminated. Exemplarily, the leaky coverage area map can be constructed offline according to the generated cleaning path, and then the point coordinates on the generated Voronoi skeleton line can be obtained, converted and overlaid into the pixel coordinate system of the leaky coverage area map, and determined by determining the dimension How many points on the line segment of the Nuo skeleton line fall on the leaked coverage area of the map to judge the corresponding matching degree between the line segment and the leaked coverage area, and determine the line segment whose matching degree with the leaked coverage area exceeds a certain threshold as the corresponding matching The missing coverage area is identified, and the line segment whose matching degree does not meet a certain threshold is determined as the line segment that needs to be eliminated. FIG. 19 schematically shows the optimized Voronoi skeleton line. As shown in FIG. 19 , the optimized Voronoi skeleton line can better cover the leakage coverage area. Wherein, generating the Voronoi skeleton line of the map may be obtained by extracting the outline of the map skeleton based on the distance transformation graph, which may be implemented with reference to the prior art, which will not be described in this embodiment of the present application.
在实际应用中,发明人还进一步发现:对于一些面积较大的未覆盖区域,按上述全覆盖路径规划的处理方式可以生成套圈路径,加上维诺线覆盖路径的补扫,可以实现百分之九十以上的覆盖率,然而由于环境动态地变化,实际的清扫路径由于存在定位和控制误差,因而也不是精确按照规划的清扫路径执行的,因此,不可避免会产生一些小块 碎片化的未覆盖区域,如图20就展示了实际执行清扫过程中产生的小碎漏扫区域E的效果图。为了进一步解决该问题,作为另一种优选实施例,本申请实施例在上述方法的基础上,如以在图7所示方法的基础上为例,如图34所示,还进一步包括操作S8判断所述待路径规划区域中的清洁子区域的面积是否均小于或等于预置的面积阈值;若是,则执行操作S80’,生成各清洁子区域的最小面积外接矩形,将基于各外接矩形生成的直线路段确定为各清洁子区域的清洁路径,并将各清洁子区域的清洁路径根据预设的连通策略连通,形成所述待路径规划区域对应的清洁路径。其中,预设的连通策略可以是就近连通的策略。具体地,其可以实现为确定待路径规划区域中是否存在面积小于或等于阈值面积阈值的清洁子区域(即碎片区域),若存在,则根据每块清洁子区域的面积,生成其最小面积外接矩形,然后根据该矩形的长和宽判断是否可以用一条直线段覆盖,如果可以,就生成该清洁子区域对应的覆盖线段作为线段覆盖路径,然后将生成的各清洁子区域的线段覆盖路径以就近的顺序使用贝塞尔曲线拼接至上述生成的套圈路径中,由此形成覆盖率更高的完整清洁路径。其中,生成的包含线段覆盖路径的更完整的清洁路径的拼接效果如图21所示,其示意性地显示了确定的碎片区域E,用于覆盖的外界矩形F和确定的线段覆盖路径G。其中,在具体实现中,可以通过对生成的套圈路径执行模拟覆盖运动来确定可能产生的未覆盖的碎片区域,也可以直接根据经验在目标清洁区域地图上标记可能产生的未覆盖的碎片区域等,具体实现方式本申请实施例不进行限制。In practical application, the inventor further found that: for some large uncovered areas, the loop path can be generated according to the above-mentioned full-coverage path planning method, and with the supplementary scanning of the Voronoi line coverage path, hundreds of loop paths can be realized. However, due to the dynamic change of the environment, the actual cleaning path is not executed exactly according to the planned cleaning path due to positioning and control errors. Therefore, some small blocks will inevitably occur. The fragmented uncovered area, as shown in Figure 20, shows the effect diagram of the small fragmented and missing area E generated during the actual cleaning process. In order to further solve this problem, as another preferred embodiment, the embodiment of the present application is based on the above method, such as taking the method shown in Figure 7 as an example, as shown in Figure 34, and further includes operation S8 Judging whether the areas of the cleaning sub-areas in the area to be planned are less than or equal to the preset area threshold; if so, perform operation S80' to generate the circumscribed rectangles with the smallest area of each cleaned sub-area, which will be generated based on each circumscribed rectangle The straight line section is determined as the cleaning path of each cleaning sub-area, and the cleaning paths of each cleaning sub-area are connected according to a preset connection strategy to form a cleaning path corresponding to the path planning area. Wherein, the preset connectivity strategy may be a strategy of nearest connectivity. Specifically, it can be implemented as determining whether there is a clean sub-area (that is, a debris area) with an area less than or equal to the threshold area threshold in the path planning area, and if there is, then according to the area of each clean sub-area, generate its minimum area circumscribed Then, according to the length and width of the rectangle, it is judged whether it can be covered with a straight line segment. If yes, the corresponding covered line segment of the clean sub-area is generated as the line segment covered path, and then the generated line segment covered path of each clean sub-area is represented by The nearest sequence is spliced into the loop path generated above using Bezier curves, thereby forming a complete cleaning path with higher coverage. The splicing effect of the generated more complete cleaning path including the line segment coverage path is shown in FIG. 21 , which schematically shows the determined fragment area E, the outer rectangle F for coverage and the determined line segment coverage path G. Among them, in a specific implementation, the possible uncovered debris area can be determined by performing a simulated coverage movement on the generated loop path, or the possible uncovered debris area can be directly marked on the target cleaning area map based on experience etc., the specific implementation manners are not limited in this embodiment of the application.
图22示意性地显示了本申请一实施方式的动态全覆盖路径规划装置,如图22所示,该装置包括:Fig. 22 schematically shows a dynamic full-coverage path planning device according to an embodiment of the present application. As shown in Fig. 22, the device includes:
存储器60,用于存储可执行指令;以及memory 60 for storing executable instructions; and
处理器61,用于执行存储器中存储的可执行指令。The processor 61 is configured to execute executable instructions stored in the memory.
其中,作为一种优选实施例,存储器60中存储的可执行指令在由所述处理器执行时使得所述处理器执行本申请任一实施例所述的动态全覆盖路径规划方法。Wherein, as a preferred embodiment, when executed by the processor, the executable instructions stored in the memory 60 cause the processor to execute the dynamic full-coverage path planning method described in any embodiment of the present application.
图23示意性地显示了本申请一实施方式的动态全覆盖路径规划装置,如图23所示,该装置包括:Fig. 23 schematically shows a dynamic full-coverage path planning device according to an embodiment of the present application. As shown in Fig. 23, the device includes:
状态更新模块100,用于根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;The status update module 100 is configured to dynamically update the coverage status map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area area;
动态调度模块200,用于实时检测触发条件,并在预置的触发条件发生时,根据覆 盖状态地图从未覆盖区域中选取待路径规划区域和调用路径规划模块进行全覆盖路径规划;The dynamic scheduling module 200 is used to detect trigger conditions in real time, and when a preset trigger condition occurs, Cover the state map to select the area to be route planned from the uncovered area and call the route planning module to plan the full coverage route;
路径规划模块300,用于对选取的待路径规划区域进行全覆盖路径规划。The path planning module 300 is configured to perform full-coverage path planning on the selected area to be path planned.
其中,在本申请的优选实施例中,获取的环境变化信息包括新增的第一障碍物,所述状态更新模块可以具体用于在第一障碍物位于未覆盖区域时,则将所述第一障碍物添加到所述未覆盖区域中的对应位置。Wherein, in a preferred embodiment of the present application, the acquired environment change information includes a newly added first obstacle, and the state update module may be specifically configured to update the first obstacle when the first obstacle is located in an uncovered area. An obstacle is added to the corresponding location in the uncovered area.
在该实施例中,示例性地,预置的触发条件可以是包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域;动态调度模块中选取的待路径规划区域为所述第一障碍物所在的清洁子区域的未清洁区域或为目标区域的未清洁区域。In this embodiment, for example, the preset trigger condition may include that there is a newly added first obstacle in the acquired environment change information and the newly added first obstacle is located in an uncovered area; in the dynamic scheduling module The selected area to be route planned is an uncleaned area of the cleaned sub-area where the first obstacle is located or an uncleaned area of the target area.
在该实施例中,示例性地,预置的触发条件还可以是包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于当前清洁子区域中的未清洁区域;动态调度模块中选取的待路径规划区域为所述当前清洁子区域的未清洁区域。In this embodiment, for example, the preset trigger condition may also include that there is a newly added first obstacle in the acquired environmental change information and the newly added first obstacle is located in the current cleaning sub-area. Cleaning area; the area to be planned in the dynamic scheduling module is the uncleaned area of the current cleaning sub-area.
在该实施例中,示例性地,预置的触发条件还可以是包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域,相应地,选取的待路径规划区域可以为目标区域中包含所述第一障碍物的未清洁区域。In this embodiment, for example, the preset trigger condition may also include that there is a newly added first obstacle in the acquired environment change information and the newly added first obstacle is located in an uncovered area, correspondingly, The selected area to be route planned may be an uncleaned area including the first obstacle in the target area.
在本申请的另一优选实施例中,获取的环境变化信息包括移除的第二障碍物,所述状态更新模块可以具体用于将所述第二障碍物所占区域对应更新为未覆盖区域。In another preferred embodiment of the present application, the acquired environment change information includes the removed second obstacle, and the status update module may be specifically configured to correspondingly update the area occupied by the second obstacle to an uncovered area .
在该实施例中,示例性地,预置的触发条件可以是包括获取到的环境变化信息中存在移除的第二障碍物;所述选取的待路径规划区域为所述第二障碍物所在的清洁子区域的未清洁区域,或为目标区域中的未清洁区域。In this embodiment, for example, the preset trigger condition may include that there is a removed second obstacle in the acquired environmental change information; the selected area to be route planning is where the second obstacle is located The uncleaned area of the cleaned sub-area of , or the uncleaned area of the target area.
在该实施例中,示例性地,所述预置的触发条件还可以是包括获取到的环境变化信息中存在移除的第二障碍物且第二障碍物位于当前清洁子区域的未清洁区域;所述选取的待路径规划区域为当前清洁子区域中的未清洁区域,或为目标区域中的未清洁区域。In this embodiment, for example, the preset trigger condition may also include that there is a removed second obstacle in the acquired environmental change information and the second obstacle is located in an uncleaned area of the current cleaning sub-area ; The selected area to be routed is an uncleaned area in the current cleaning sub-area, or an uncleaned area in the target area.
在该实施例中,示例性地,预置的触发条件还可以设置为包括获取到的环境变化信息中存在移除的第二障碍物;相应地,选取的待路径规划区域可以为目标区域中包含所述第二障碍物的未清洁区域In this embodiment, for example, the preset trigger condition can also be set to include that there is a second obstacle removed in the acquired environmental change information; correspondingly, the selected area to be routed can be Uncleaned area containing said second obstacle
在本申请的另一优选实施例中,获取的环境变化信息可以是包括实际清洁轨迹,所述状态更新模块还可以具体用于根据预置的清洁宽度和实际清洁轨迹确定新增已清洁区域,并将所述新增已清洁区域标记为已覆盖区域。 In another preferred embodiment of the present application, the acquired environmental change information may include the actual cleaning trajectory, and the status update module may also be specifically used to determine newly added cleaned areas according to the preset cleaning width and the actual cleaning trajectory, And mark the newly added cleaned area as covered area.
在本申请的一实施例中,预置的触发条件还包括当前清洁子区域执行完毕,和/或预设的执行周期到达,和/或预设的执行时间到达;所述选取的待路径规划区域为覆盖状态地图中符合预设清洁规则的未覆盖区域。In an embodiment of the present application, the preset trigger conditions also include the completion of the current cleaning sub-area, and/or the arrival of the preset execution cycle, and/or the arrival of the preset execution time; Areas are uncovered areas in the coverage status map that meet preset cleaning rules.
图24示意性地显示了本申请一实施方式的动态全覆盖路径规划装置,如图24所示,该装置中,路径规划模块300具体包括:Fig. 24 schematically shows a dynamic full-coverage path planning device according to an embodiment of the present application. As shown in Fig. 24, in the device, the path planning module 300 specifically includes:
边界提取单元301,用于提取待路径规划区域的轮廓边界,并对所述轮廓边界进行平滑处理;A boundary extraction unit 301, configured to extract the contour boundary of the area to be route planned, and perform smoothing processing on the contour boundary;
距离变换单元302,用于将轮廓边界映射至待路径规划区域对应的栅格地图中,并通过对映射有所述轮廓边界的栅格地图进行距离变换,得到栅格地图的距离变换图;A distance transformation unit 302, configured to map the contour boundary to a grid map corresponding to the area to be route planned, and obtain a distance transformation map of the grid map by performing distance transformation on the grid map mapped with the contour boundary;
等高线生成单元303,用于在所述距离变换图中,以所述轮廓边界为基准,平行于所述轮廓边界生成等高线路径;A contour generating unit 303, configured to generate a contour path parallel to the contour boundary, using the contour boundary as a reference in the distance transformation map;
平滑处理单元304,用于对各等高线路径分别进行平滑处理;a smoothing processing unit 304, configured to perform smoothing processing on each contour line path;
清洁路径生成单元305,用于根据平滑处理后的等高线路径形成所述待路径规划区域对应的清洁路径。The cleaning path generation unit 305 is configured to form a cleaning path corresponding to the area to be path planned according to the smoothed contour line path.
其中,示例性地,清洁路径生成单元305可以实现为具体用于以最外层的轮廓边界作为遍历的起始路段,遍历所述等高线线簇对应的所有路段,并对遍历到的当前路段执行如下处理:Wherein, for example, the cleaning path generating unit 305 can be implemented specifically for taking the outermost contour boundary as the starting road section of the traversal, traversing all the road sections corresponding to the contour line cluster, and traversing the current Road segments are processed as follows:
在尚未遍历到的剩余路段中,选取距离当前路段最近的路段作为次当前路段;Among the remaining road segments that have not yet been traversed, select the road segment closest to the current road segment as the second current road segment;
在当前路段上选取末端位置,将次当前路段上距离选取的末端位置最近的点确定为出发点;Select the end position on the current road segment, and determine the point closest to the selected end position on the next current road segment as the starting point;
以出发点为基准在次当前路段的预设方向上筛选确定出起点位置;Based on the starting point, filter and determine the starting point in the preset direction of the sub-current road section;
将在当前路段上选取的末端位置与在次当前路段上确定出的起点位置连接。Connect the end position selected on the current road segment with the starting position determined on the next current road segment.
图25示意性地显示了本申请另一种实施方式的动态全覆盖路径规划装置,如图25所示,本申请实施例的装置中,路径规划模块300在图24所示装置的基础上实现为还包括:Fig. 25 schematically shows a dynamic full-coverage path planning device according to another embodiment of the present application. As shown in Fig. 25, in the device of the embodiment of the present application, the path planning module 300 is implemented on the basis of the device shown in Fig. 24 For also includes:
等高线滤除单元306,用于根据生成的等高线路径包围的区域面积的大小,删除不符合预设要求的等高线路径;A contour filtering unit 306, configured to delete contour paths that do not meet preset requirements according to the size of the area surrounded by the generated contour paths;
第二清洁路径生成单元307,用于对删除的等高线路径包围的区域进行“弓”字型填充,形成“弓”字型清洁路径。The second cleaning path generation unit 307 is configured to fill the area surrounded by the deleted contour path in a "bow" shape to form a "bow" shape cleaning path.
在该实施例中,在执行清洁路径生成单元的将所述等高线路径连通或在平滑处理单 元进行平滑处理之前,即在等高线生成单元生成了等高线路径之后或在平滑处理单元进行等高线路径的平滑处理之前,会首先调用等高线滤除单元对等高线路径中不符合预设条件的等高线进行删除操作,并在删除操作之后,调用第二清洁路径生成单元对相应的区域进行“弓”字型填充,以形成“弓”字型清洁路径。In this embodiment, when the cleaning path generation unit is executed to connect the contour path paths or in the smoothing processing unit Before smoothing, that is, after the contour generating unit generates the contour path or before the smoothing processing unit smooths the contour path, it will first call the contour filtering unit to correct the contour path The contour lines that do not meet the preset conditions are deleted, and after the deletion, the second cleaning path generation unit is called to fill the corresponding area in a "bow" shape to form a "bow" shape cleaning path.
在具体应用中,本领域技术人员可以根据需求按照预定的策略执行清洁路径生成单元和第二清洁路径生成单元生成的清洁路径,例如可以按照预设的时间分别执行清洁路径生成单元和第二清洁路径生成单元生成的清洁路径,也可以通过设置用于将清洁路径生成单元和第二清洁路径生成单元生成的清洁路径进行整合连通的整合单元,其具体实现过程可以参见前文描述在此不再赘述。In a specific application, those skilled in the art can execute the cleaning paths generated by the cleaning path generation unit and the second cleaning path generation unit according to the predetermined strategy according to the requirements, for example, the cleaning path generation unit and the second cleaning path can be respectively executed according to the preset time. The cleaning path generated by the path generation unit can also be configured by setting an integration unit for integrating and connecting the cleaning paths generated by the cleaning path generation unit and the second cleaning path generation unit. The specific implementation process can be referred to the previous description and will not be repeated here. .
图26示意性地显示了本申请另一种实施方式的动态全覆盖路径规划装置,如图26所示,本申请实施例的装置中,路径规划模块300在图24所示装置的基础上实现为还包括:Fig. 26 schematically shows a dynamic full-coverage path planning device in another embodiment of the present application. As shown in Fig. 26, in the device of the embodiment of the present application, the path planning module 300 is implemented on the basis of the device shown in Fig. 24 For also includes:
第一优化处理单元308,用于对所述待路径规划区域对应的清洁路径中的最外圈路径进行第一优化处理;和/或A first optimization processing unit 308, configured to perform a first optimization process on the outermost path in the cleaning path corresponding to the path planning area; and/or
第二优化处理单元309,用于对所述待路径规划区域对应的清洁路径中的次外圈路径进行第二优化处理。The second optimization processing unit 309 is configured to perform a second optimization processing on the sub-outer circle path in the cleaning path corresponding to the path planning area.
图27示意性地显示了本申请另一种实施方式的动态全覆盖路径规划装置,如图27所示,本申请实施例的装置中,路径规划模块在图24所示装置的基础上实现为还包括:Figure 27 schematically shows a dynamic full-coverage path planning device in another embodiment of the present application, as shown in Figure 27, in the device of the embodiment of the present application, the path planning module is implemented on the basis of the device shown in Figure 24 as Also includes:
路径修正单元310,用于对所述待路径规划区域对应的清洁路径进行模拟覆盖运动以确定出漏扫区域,并根据确定的漏扫区域生成所述栅格地图的维诺线覆盖路径,将生成的维诺线覆盖路径增加至所述待路径规划区域的清洁路径中。The path correction unit 310 is configured to perform a simulated coverage movement on the cleaning path corresponding to the path planning area to determine the missed scan area, and generate the Voronoi line coverage path of the grid map according to the determined missed scan area, and The generated Voronoi line coverage path is added to the cleaning path in the area to be path planned.
图28示意性地显示了本申请另一种实施方式的动态全覆盖路径规划装置,如图28所示,本申请实施例的装置中,在图23所示装置的基础上实现为还包括:Fig. 28 schematically shows a dynamic full-coverage path planning device in another embodiment of the present application. As shown in Fig. 28, in the device of the embodiment of the present application, on the basis of the device shown in Fig. 23, it is implemented to further include:
第二路径规划模块400,用于判断所述待路径规划区域中的清洁子区域的面积是否均小于或等于预置的面积阈值;若是,则生成各清洁子区域的最小面积外接矩形,将基于各外接矩形生成的直线路段确定为各清洁子区域的清洁路径,并将各清洁子区域的清洁路径根据预设的连通策略连通,形成所述待路径规划区域对应的清洁路径。The second path planning module 400 is used to judge whether the area of the cleaning sub-area in the area to be planned is less than or equal to the preset area threshold; The straight line sections generated by the circumscribed rectangles are determined as the cleaning paths of the cleaning sub-areas, and the cleaning paths of the cleaning sub-areas are connected according to a preset connection strategy to form the cleaning paths corresponding to the areas to be planned.
需要说明的是,本申请实施例的动态全覆盖路径规划装置的各个模块和单元的具体实现过程和实现原理具体可参见上述方法实施例的相应描述,例如方法实施例部分对轮廓边界、距离变换和等高线线簇的生成及连通等的相应描述,以及对第一优化处理、第 二优化处理、以及具体进行动态更新等处理的相应描述等,故在此均不再赘述。示例性地,本申请实施例的动态全覆盖路径规划装置可以是具有处理器的任何智能设备,包括但不限于计算机、智能手机、个人电脑、机器人、云端服务器等。It should be noted that, the specific implementation process and implementation principle of each module and unit of the dynamic full-coverage path planning device in the embodiment of the present application can refer to the corresponding description of the above-mentioned method embodiment, for example, the outline boundary and distance transformation in the method embodiment part and the corresponding description of the generation and connection of contour line clusters, as well as the first optimization process, the second The corresponding description of the second optimization process and specific processes such as dynamic update, etc., will not be repeated here. Exemplarily, the dynamic full-coverage path planning device of the embodiment of the present application may be any smart device with a processor, including but not limited to computers, smart phones, personal computers, robots, cloud servers, and the like.
图29示意性地显示了本申请一种实施方式的清洁设备,如图29所示,该清洁设备包括:Fig. 29 schematically shows a cleaning device according to an embodiment of the present application. As shown in Fig. 29, the cleaning device includes:
机身70;fuselage 70;
动态全覆盖路径规划装置71,设置于所述机身70上。The dynamic full-coverage path planning device 71 is arranged on the fuselage 70 .
其中,动态全覆盖路径规划装置71可以选用上述的任意实施例的装置。其中,动态全覆盖路径规划装置的具体其实现过程和实现原理具体可参见上述实施例的相应描述,在此不再赘述。需要说明的是,本申请实施例中的清洁设备可以是具有自动清洁功能的无人清洁车、无人清扫机、扫地机器人等。Wherein, the dynamic full-coverage path planning device 71 may select the device of any of the above-mentioned embodiments. For the specific implementation process and implementation principle of the dynamic full-coverage path planning device, reference may be made to the corresponding descriptions of the above-mentioned embodiments, which will not be repeated here. It should be noted that the cleaning equipment in the embodiment of the present application may be an unmanned cleaning vehicle with an automatic cleaning function, an unmanned sweeper, a sweeping robot, and the like.
在一些实施例中,本申请实施例提供一种非易失性计算机可读存储介质,所述存储介质中存储有一个或多个包括执行指令的程序,所述执行指令能够被电子设备(包括但不限于计算机,服务器,或者网络设备等)读取并执行,以用于执行本申请上述任一项实施例的动态全覆盖路径规划方法。In some embodiments, the embodiment of the present application provides a non-volatile computer-readable storage medium, and one or more programs including execution instructions are stored in the storage medium, and the execution instructions can be executed by electronic devices (including But not limited to computer, server, or network equipment, etc.) to read and execute, so as to implement the dynamic full-coverage path planning method in any one of the above-mentioned embodiments of the present application.
在一些实施例中,本申请实施例还提供一种计算机程序产品,所述计算机程序产品包括存储在非易失性计算机可读存储介质上的计算机程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任一项实施例的动态全覆盖路径规划方法。In some embodiments, the embodiments of the present application further provide a computer program product, the computer program product includes a computer program stored on a non-volatile computer-readable storage medium, the computer program includes program instructions, and when the When the above program instructions are executed by a computer, the computer is made to execute the dynamic full-coverage path planning method in any one of the above embodiments.
在一些实施例中,本申请实施例还提供一种电子设备,其包括:至少一个处理器,以及与所述至少一个处理器通信连接的存储器,其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述任一实施例的动态全覆盖路径规划方法。In some embodiments, the embodiment of the present application further provides an electronic device, which includes: at least one processor, and a memory connected in communication with the at least one processor, wherein the memory stores information that can be accessed by the at least one processor. An instruction executed by a processor, the instruction is executed by the at least one processor, so that the at least one processor can execute the dynamic full-coverage path planning method in any one of the above embodiments.
在一些实施例中,本申请实施例还提供一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现上述任一项实施例的动态全覆盖路径规划方法。In some embodiments, the embodiments of the present application further provide a storage medium on which a computer program is stored, wherein when the program is executed by a processor, the dynamic full-coverage path planning method of any one of the above-mentioned embodiments is implemented.
图30是本申请另一实施例提供的执行动态全覆盖路径规划方法的电子设备的硬件结构示意图,如图30所示,该设备包括:Fig. 30 is a schematic diagram of the hardware structure of an electronic device implementing a dynamic full-coverage path planning method provided by another embodiment of the present application. As shown in Fig. 30, the device includes:
一个或多个处理器610以及存储器620,图30中以一个处理器610为例。One or more processors 610 and memory 620, one processor 610 is taken as an example in FIG. 30 .
执行动态全覆盖路径规划方法的设备还可以包括:输入装置630和输出装置640。The device for implementing the dynamic full-coverage path planning method may further include: an input device 630 and an output device 640 .
处理器610、存储器620、输入装置630和输出装置640可以通过总线或者其他方 式连接,图30中以通过总线连接为例。The processor 610, the memory 620, the input device 630 and the output device 640 can communicate via a bus or other means In Figure 30, the bus connection is taken as an example.
存储器620作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本申请实施例中的动态全覆盖路径规划方法对应的程序指令/模块。处理器610通过运行存储在存储器620中的非易失性软件程序、指令以及模块,从而执行服务器的各种功能应用以及数据处理,即实现上述方法实施例的动态全覆盖路径规划方法。The memory 620, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer-executable programs and modules, such as the dynamic full-coverage path planning method in the embodiment of the present application. program instructions/modules. The processor 610 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions and modules stored in the memory 620, that is, realizes the dynamic full-coverage path planning method of the above method embodiment.
存储器620可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据动态全覆盖路径规划方法的使用所创建的数据等。此外,存储器620可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器620可选包括相对于处理器610远程设置的存储器,这些远程存储器可以通过网络连接至电子设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。The memory 620 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application program required by at least one function; the data storage area may store data created by using the dynamic full coverage path planning method, etc. . In addition, the memory 620 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one magnetic disk storage device, flash memory device, or other non-volatile solid-state storage devices. In some embodiments, the memory 620 may optionally include memory located remotely relative to the processor 610, and these remote memories may be connected to the electronic device through a network. Examples of the aforementioned networks include, but are not limited to, the Internet, intranets, local area networks, mobile communication networks, and combinations thereof.
输入装置630可接收输入的数字或字符信息,以及产生与动态全覆盖路径规划装置的用户设置以及功能控制有关的信号。输出装置640可包括显示屏等显示设备。The input device 630 can receive input numbers or character information, and generate signals related to user settings and function control of the dynamic full-coverage path planning device. The output device 640 may include a display device such as a display screen.
所述一个或者多个模块存储在所述存储器620中,当被所述一个或者多个处理器610执行时,执行上述任意方法实施例中的动态全覆盖路径规划方法。The one or more modules are stored in the memory 620, and when executed by the one or more processors 610, execute the dynamic full-coverage path planning method in any of the above method embodiments.
上述产品可执行本申请实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本申请实施例所提供的方法。The above-mentioned products can execute the method provided by the embodiment of the present application, and have corresponding functional modules and beneficial effects for executing the method. For technical details not described in detail in this embodiment, refer to the method provided in the embodiment of this application.
本申请实施例的电子设备以多种形式存在,包括但不限于:The electronic equipment of the embodiment of the present application exists in various forms, including but not limited to:
(1)移动通信设备:这类设备的特点是具备移动通信功能,并且以提供话音、数据通信为主要目标。这类终端包括:智能手机(例如iPhone)、多媒体手机、功能性手机,以及低端手机等。(1) Mobile communication equipment: This type of equipment is characterized by mobile communication functions, and its main goal is to provide voice and data communication. Such terminals include: smart phones (such as iPhone), multimedia phones, feature phones, and low-end phones.
(2)超移动个人计算机设备:这类设备属于个人计算机的范畴,有计算和处理功能,一般也具备移动上网特性。这类终端包括:PDA、MID和UMPC设备等,例如iPad。(2) Ultra-mobile personal computer equipment: This type of equipment belongs to the category of personal computers, has computing and processing functions, and generally has the characteristics of mobile Internet access. Such terminals include: PDA, MID and UMPC equipment, such as iPad.
(3)便携式娱乐设备:这类设备可以显示和播放多媒体内容。该类设备包括:音频、视频播放器(例如iPod),掌上游戏机,电子书,以及智能玩具和便携式车载导航设备。(3) Portable entertainment equipment: This type of equipment can display and play multimedia content. Such devices include: audio and video players (such as iPod), handheld game consoles, e-books, as well as smart toys and portable car navigation devices.
(4)服务器:提供计算服务的设备,服务器的构成包括处理器、硬盘、内存、系统总线等,服务器和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。 (4) Server: A device that provides computing services. The composition of a server includes a processor, hard disk, memory, system bus, etc. The server is similar to a general-purpose computer architecture, but due to the need to provide high-reliability services, it is important in terms of processing power and stability. , Reliability, security, scalability, manageability and other aspects have high requirements.
(5)其他具有数据交互功能的电子装置。(5) Other electronic devices with data interaction function.
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。The device embodiments described above are only illustrative, and the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in One place, or it can be distributed to multiple network elements. Part or all of the modules can be selected according to actual needs to achieve the purpose of the solution of this embodiment.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。Through the above description of the embodiments, those skilled in the art can clearly understand that each embodiment can be implemented by means of software plus a general hardware platform, and of course also by hardware. Based on this understanding, the essence of the above technical solutions or the part that contributes to related technologies can be embodied in the form of software products, and the computer software products can be stored in computer-readable storage media, such as ROM/RAM, disk , CD, etc., including several instructions to make a computer device (which may be a personal computer, server, or network device, etc.) execute the methods described in each embodiment or some parts of the embodiments.
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。 Finally, it should be noted that: the above embodiments are only used to illustrate the technical solutions of the present application, rather than limiting them; although the present application has been described in detail with reference to the foregoing embodiments, those of ordinary skill in the art should understand that: it can still Modifications are made to the technical solutions described in the foregoing embodiments, or equivalent replacements are made to some of the technical features; and these modifications or replacements do not make the essence of the corresponding technical solutions deviate from the spirit and scope of the technical solutions of the various embodiments of the present application.

Claims (15)

  1. 动态全覆盖路径规划方法,其特征在于,所述方法包括:A dynamic full-coverage path planning method, characterized in that the method includes:
    根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;Dynamically update the coverage state map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area;
    在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域,并对选取的待路径规划区域进行全覆盖路径规划。When a preset trigger condition occurs, select an area to be routed from the uncovered area according to the coverage state map, and perform full coverage route planning on the selected area to be routed.
  2. 根据权利要求1所述的方法,其特征在于,环境变化信息包括新增的第一障碍物,所述根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图包括:The method according to claim 1, wherein the environmental change information includes a newly added first obstacle, and dynamically updating the coverage state map corresponding to the target area according to the acquired environmental change information includes:
    若第一障碍物位于未覆盖区域,则将所述第一障碍物添加到所述未覆盖区域中的对应位置;If the first obstacle is located in the uncovered area, adding the first obstacle to a corresponding position in the uncovered area;
    所述预置的触发条件包括获取到的环境变化信息中存在新增的第一障碍物且新增的第一障碍物位于未覆盖区域;选取的待路径规划区域为目标区域中包含所述第一障碍物的未清洁区域。The preset trigger conditions include that there is a newly added first obstacle in the acquired environmental change information and the newly added first obstacle is located in an uncovered area; the selected area to be route planning is that the target area contains the first Uncleaned area of an obstacle.
  3. 根据权利要求1所述的方法,其特征在于,环境变化信息包括移除的第二障碍物,所述根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图包括:The method according to claim 1, wherein the environmental change information includes the removed second obstacle, and dynamically updating the coverage state map corresponding to the target area according to the acquired environmental change information includes:
    将所述第二障碍物所占区域对应更新为未覆盖区域;Correspondingly updating the area occupied by the second obstacle to an uncovered area;
    所述预置的触发条件包括获取到的环境变化信息中存在移除的第二障碍物;所述选取的待路径规划区域为目标区域中包含所述第二障碍物的未清洁区域。The preset trigger condition includes that there is a removed second obstacle in the acquired environment change information; and the selected area to be routed is an uncleaned area including the second obstacle in the target area.
  4. 根据权利要求1所述的方法,其特征在于,环境变化信息包括实际清洁轨迹,所述根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图包括:The method according to claim 1, wherein the environmental change information includes the actual cleaning trajectory, and the dynamically updating the coverage state map corresponding to the target area according to the acquired environmental change information includes:
    根据预置的清洁宽度和实际清洁轨迹确定新增已清洁区域,并将所述新增已清洁区域标记为已覆盖区域。The newly added cleaned area is determined according to the preset cleaning width and the actual cleaning track, and the newly added cleaned area is marked as a covered area.
  5. 根据权利要求1至4任一项所述的方法,其特征在于,所述预置的触发条件还包括当前清洁子区域执行完毕,和/或预设的执行周期到达,和/或预设的执行时间到达;所述选取的待路径规划区域为覆盖状态地图中符合预设清洁规则的未覆盖区域。The method according to any one of claims 1 to 4, characterized in that, the preset trigger conditions also include the completion of the current cleaning sub-area, and/or the arrival of the preset execution cycle, and/or the preset Execution time arrives; the selected area to be routed is an uncovered area in the coverage state map that meets the preset cleaning rules.
  6. 根据权利要求1至5任一项所述的方法,其特征在于,所述对选取的待路径规划区域进行全覆盖路径规划具体包括:The method according to any one of claims 1 to 5, wherein the full-coverage path planning for the selected area to be path planning specifically includes:
    提取待路径规划区域的轮廓边界,并对所述轮廓边界进行平滑处理;Extracting the contour boundary of the area to be path planned, and smoothing the contour boundary;
    将轮廓边界映射至待路径规划区域对应的栅格地图中,并通过对映射有所述轮廓边界的栅格地图进行距离变换,得到栅格地图的距离变换图; Mapping the outline boundary to a grid map corresponding to the area to be routed planning, and performing distance transformation on the grid map mapped with the outline boundary, to obtain a distance transformation map of the grid map;
    在所述距离变换图中,以所述轮廓边界为基准,平行于所述轮廓边界生成等高线路径;In the distance transformation map, using the contour boundary as a reference, generating a contour path parallel to the contour boundary;
    对各等高线路径分别进行平滑处理;Each contour path is smoothed separately;
    根据平滑处理后的等高线路径形成所述待路径规划区域对应的清洁路径。A cleaning path corresponding to the area to be path planned is formed according to the smoothed contour path.
  7. 根据权利要求6所述的方法,其特征在于,在对各等高线路径分别进行平滑处理之前,所述方法还包括:The method according to claim 6, wherein, before smoothing each contour path, the method further comprises:
    根据生成的等高线路径包围的区域面积的大小,删除不符合预设要求的等高线路径;According to the size of the area surrounded by the generated contour path, delete the contour path that does not meet the preset requirements;
    对删除的等高线路径包围的区域进行“弓”字型填充,形成“弓”字型清洁路径。Fill the area surrounded by the deleted contour path with a "bow" shape to form a "bow" shape clean path.
  8. 根据权利要求6所述的方法,其特征在于,所述方法还包括:The method according to claim 6, further comprising:
    对所述待路径规划区域对应的清洁路径中的最外圈路径进行第一优化处理;和/或performing a first optimization process on the outermost path in the cleaning path corresponding to the path planning area; and/or
    对所述待路径规划区域对应的清洁路径中的次外圈路径进行第二优化处理。The second optimization process is performed on the sub-outer circle path in the cleaning path corresponding to the path planning area.
  9. 根据权利要求6所述的方法,其特征在于,所述方法还包括:The method according to claim 6, further comprising:
    对所述待路径规划区域对应的清洁路径进行模拟覆盖运动以确定出漏扫区域,并根据确定的漏扫区域生成所述栅格地图的维诺线覆盖路径,将生成的维诺线覆盖路径增加至所述待路径规划区域的清洁路径中。Carry out simulated coverage movement on the cleaning path corresponding to the path planning area to determine the missed scan area, and generate the Voronoi line coverage path of the grid map according to the determined missed scan area, and generate the Voronoi line coverage path Added to the cleaning path of the area to be path planning.
  10. 根据权利要求1至5任一项所述的方法,其特征在于,所述对选取的待路径规划区域进行全覆盖路径规划具体包括:The method according to any one of claims 1 to 5, wherein the full-coverage path planning for the selected area to be path planning specifically includes:
    判断所述待路径规划区域中的清洁子区域的面积是否均小于或等于预置的面积阈值;Judging whether the areas of the cleaning sub-areas in the area to be planned are less than or equal to a preset area threshold;
    若是,则生成各清洁子区域的最小面积外接矩形,将基于各外接矩形生成的直线路段确定为各清洁子区域的清洁路径,并将各清洁子区域的清洁路径根据预设的连通策略连通,形成所述待路径规划区域对应的清洁路径;If so, then generate the minimum area circumscribed rectangle of each cleaning sub-region, determine the straight line segments generated based on each circumscribed rectangle as the cleaning path of each cleaning sub-region, and connect the cleaning paths of each cleaning sub-region according to a preset connectivity strategy, forming a cleaning path corresponding to the area to be planned;
    若否,则对所述待路径规划区域执行以下处理:If not, perform the following processing on the area to be routed:
    提取待路径规划区域的轮廓边界,并对所述轮廓边界进行平滑处理;Extracting the contour boundary of the area to be path planned, and smoothing the contour boundary;
    将轮廓边界映射至待路径规划区域对应的栅格地图中,并通过对映射有所述轮廓边界的栅格地图进行距离变换,得到栅格地图的距离变换图;Mapping the outline boundary to a grid map corresponding to the area to be routed planning, and performing distance transformation on the grid map mapped with the outline boundary, to obtain a distance transformation map of the grid map;
    在所述距离变换图中,以所述轮廓边界为基准,平行于所述轮廓边界生成等高线路径;In the distance transformation map, using the contour boundary as a reference, generating a contour path parallel to the contour boundary;
    对各等高线路径分别进行平滑处理;Each contour path is smoothed separately;
    根据平滑处理后的等高线路径形成所述待路径规划区域对应的清洁路径。 A cleaning path corresponding to the area to be path planned is formed according to the smoothed contour path.
  11. 动态全覆盖路径规划装置,其特征在于,包括The dynamic full-coverage path planning device is characterized in that it includes
    存储器,用于存储可执行指令;以及memory for storing executable instructions; and
    处理器,用于执行存储器中存储的可执行指令,所述可执行指令在由所述处理器执行时使得所述处理器执行如权利要求1~10任意一项所述的动态全覆盖路径规划方法。A processor, configured to execute the executable instructions stored in the memory, and when the executable instructions are executed by the processor, the processor executes the dynamic full-coverage path planning according to any one of claims 1-10 method.
  12. 动态全覆盖路径规划装置,其特征在于,所述装置包括:The dynamic full-coverage path planning device is characterized in that the device includes:
    状态更新模块,用于根据获取到的环境变化信息动态更新目标区域对应的覆盖状态地图,所述覆盖状态地图中将目标区域中已清洁区域标记为已覆盖区域、未清洁区域标记为未覆盖区域;A state update module, configured to dynamically update the coverage state map corresponding to the target area according to the acquired environmental change information, in which the cleaned area in the target area is marked as a covered area, and the uncleaned area is marked as an uncovered area ;
    动态调度模块,用于实时检测触发条件,并在预置的触发条件发生时,根据覆盖状态地图从未覆盖区域中选取待路径规划区域和调用路径规划模块进行全覆盖路径规划;The dynamic scheduling module is used to detect the trigger condition in real time, and when the preset trigger condition occurs, select the area to be routed from the uncovered area according to the coverage status map and call the route planning module to plan the full coverage route;
    路径规划模块,用于对选取的待路径规划区域进行全覆盖路径规划。The path planning module is used for performing full-coverage path planning on the selected area to be path planned.
  13. 清洁设备,其特征在于,包括:The cleaning equipment is characterized in that it comprises:
    机身;和fuselage; and
    权利要求11或12所述的动态全覆盖路径规划装置,设置于所述机身上。The dynamic full-coverage path planning device according to claim 11 or 12, which is arranged on the fuselage.
  14. 一种存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现权利要求1~10中任意一项所述方法的步骤。A storage medium, on which a computer program is stored, wherein, when the program is executed by a processor, the steps of the method described in any one of claims 1-10 are implemented.
  15. 一种包含指令的计算机程序产品,其特征在于,当所述计算机程序产品在计算机上运行时,使得所述计算机执行如权利要求1~10任一项所述的动态全覆盖路径规划方法。 A computer program product containing instructions, characterized in that, when the computer program product is run on a computer, the computer is made to execute the dynamic full-coverage path planning method according to any one of claims 1-10.
PCT/CN2023/078401 2022-02-28 2023-02-27 Dynamic full-coverage path planning method and apparatus, cleaning device, and storage medium WO2023160698A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210188044.6A CN116700235A (en) 2022-02-28 2022-02-28 Dynamic full-coverage path planning method and device, cleaning equipment and storage medium
CN202210188044.6 2022-02-28

Publications (1)

Publication Number Publication Date
WO2023160698A1 true WO2023160698A1 (en) 2023-08-31

Family

ID=87764880

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/078401 WO2023160698A1 (en) 2022-02-28 2023-02-27 Dynamic full-coverage path planning method and apparatus, cleaning device, and storage medium

Country Status (2)

Country Link
CN (1) CN116700235A (en)
WO (1) WO2023160698A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117268401B (en) * 2023-11-16 2024-02-20 广东碧然美景观艺术有限公司 Gardening path generation method of dynamic fence

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320140A (en) * 2015-12-01 2016-02-10 浙江宇视科技有限公司 Robot cleaner and cleaning path planning method thereof
CN107328419A (en) * 2017-06-21 2017-11-07 上海斐讯数据通信技术有限公司 The planing method and sweeping robot in a kind of cleaning path of sweeping robot
CN108594828A (en) * 2018-06-05 2018-09-28 北京智行者科技有限公司 A kind of generation method in cleaning work path
CN109460064A (en) * 2019-01-03 2019-03-12 中国人民解放军战略支援部队航天工程大学 Unmanned plane cluster regions covering method and its device based on virtual potential field function
US20210107688A1 (en) * 2019-10-10 2021-04-15 Hefei University Of Technology Partition satellite mission planning method for earliest completion of regional target coverage
CN115373426A (en) * 2022-10-26 2022-11-22 四川腾盾科技有限公司 Area coverage online path collaborative planning method for fixed wing cluster unmanned aerial vehicle

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105320140A (en) * 2015-12-01 2016-02-10 浙江宇视科技有限公司 Robot cleaner and cleaning path planning method thereof
CN107328419A (en) * 2017-06-21 2017-11-07 上海斐讯数据通信技术有限公司 The planing method and sweeping robot in a kind of cleaning path of sweeping robot
CN108594828A (en) * 2018-06-05 2018-09-28 北京智行者科技有限公司 A kind of generation method in cleaning work path
CN109460064A (en) * 2019-01-03 2019-03-12 中国人民解放军战略支援部队航天工程大学 Unmanned plane cluster regions covering method and its device based on virtual potential field function
US20210107688A1 (en) * 2019-10-10 2021-04-15 Hefei University Of Technology Partition satellite mission planning method for earliest completion of regional target coverage
CN115373426A (en) * 2022-10-26 2022-11-22 四川腾盾科技有限公司 Area coverage online path collaborative planning method for fixed wing cluster unmanned aerial vehicle

Also Published As

Publication number Publication date
CN116700235A (en) 2023-09-05

Similar Documents

Publication Publication Date Title
Bastani et al. Roadtracer: Automatic extraction of road networks from aerial images
WO2020134082A1 (en) Path planning method and apparatus, and mobile device
Zhou et al. Road tracking in aerial images based on human–computer interaction and Bayesian filtering
US11877716B2 (en) Determining region attribute
EP3974778B1 (en) Method and apparatus for updating working map of mobile robot, and storage medium
CN106840148A (en) Wearable positioning and path guide method based on binocular camera under outdoor work environment
CN106843230A (en) It is applied to the virtual wall system and its implementation of mobile device
CN110146098A (en) A kind of robot map enlargement method, device, control equipment and storage medium
WO2023160698A1 (en) Dynamic full-coverage path planning method and apparatus, cleaning device, and storage medium
CN111104933A (en) Map processing method, mobile robot, and computer-readable storage medium
CN110648363A (en) Camera posture determining method and device, storage medium and electronic equipment
CN111744199B (en) Image processing method and device, computer readable storage medium and electronic equipment
CN111679664A (en) Three-dimensional map construction method based on depth camera and sweeping robot
CN112651997A (en) Map construction method, electronic device, and storage medium
CN115638787B (en) Digital map generation method, computer readable storage medium and electronic device
WO2023045798A1 (en) Method and apparatus for identifying aisle area
CN110738688A (en) novel infrared ultra-weak moving target detection method
CN113985866A (en) Sweeping robot path planning method and device, electronic equipment and storage medium
CN110084825B (en) Image edge information navigation-based method and system
CN114937177A (en) Automatic marking and detection model training and target recognition method and electronic equipment
CN116009552A (en) Path planning method, device, equipment and storage medium
CN112435274B (en) Remote sensing image planar ground object extraction method based on object-oriented segmentation
CN115187736A (en) Target map generation method and device, and AR map generation method and device
CN114995376A (en) Automatic guided vehicle navigation and map updating method and system
CN114967698A (en) Cleaning method, cleaning device, electronic apparatus, and storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23759319

Country of ref document: EP

Kind code of ref document: A1