Detailed Description
In the following description, for purposes of explanation and not limitation, specific details are set forth such as particular system structures, techniques, etc. in order to provide a thorough understanding of the embodiments of the present application. It will be apparent, however, to one skilled in the art that the present application may be practiced in other embodiments that depart from these specific details. In other instances, detailed descriptions of well-known systems, devices, circuits, and methods are omitted so as not to obscure the description of the present application with unnecessary detail.
In order to explain the technical solution described in the present application, the following description will be given by way of specific examples.
It will be understood that the terms "comprises" and/or "comprising," when used in this specification and the appended claims, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
It is also to be understood that the terminology used in the description of the present application herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the application. As used in the specification of the present application and the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise.
It should be further understood that the term "and/or" as used in this specification and the appended claims refers to and includes any and all possible combinations of one or more of the associated listed items.
As used in this specification and the appended claims, the term "if" may be interpreted contextually as "when", "upon" or "in response to a determination" or "in response to a detection". Similarly, the phrase "if it is determined" or "if a [ described condition or event ] is detected" may be interpreted contextually to mean "upon determining" or "in response to determining" or "upon detecting [ described condition or event ]" or "in response to detecting [ described condition or event ]".
In addition, in the description of the present application, the terms "first," "second," "third," and the like are used solely to distinguish one from another, and are not to be construed as indicating or implying relative importance.
Fig. 2 shows a flowchart of an example of a method of a robot cleaning a planned area according to an embodiment of the application. Regarding the execution body of the method of the embodiment of the present application, it may be a robot or a processor configured on a robot.
As shown in fig. 2, in step 210, the area to be cleaned is divided into a plurality of sub-areas according to a preset rule.
Illustratively, the area to be cleaned may be divided into a plurality of sub-areas according to an area size unit, which may be an area having a set shape (e.g., a rectangle) and a size (e.g., 4.5m × 4.5 m). However, as described elsewhere above, the spatial environment in which the robot actually works is limited in size, shape or obstacle position, resulting in that there are always some sub-areas in the spatial environment (or area to be cleaned) that are minimal or do not need to work separately.
In step 220, when a target sub-region meeting a first preset condition exists in the plurality of sub-regions, the target sub-region and the sub-region adjacent to the target sub-region are automatically merged.
It should be noted that the first preset condition may indicate a condition of a sub-region that does not need to be operated separately, for example, the area of the sub-region is smaller than a preset area threshold, and the first preset condition may be adjusted accordingly according to a requirement of an actual service application scenario.
In step 230, the robot is controlled to clean the merged sub-regions. Illustratively, the robot is controlled to perform the cleaning operation sequentially or sequentially within the merged sub-regions.
In the embodiment of the application, whether the sub-regions meet the first preset condition or not is detected to perform the merging operation, so that the number of the sub-regions where the robot works independently can be reduced, for example, the situation that the robot cleans an extremely small region independently can be avoided, and the cleaning efficiency of the robot is improved.
In some application scenarios, the robot may be a cleaning robot (e.g., a sweeping robot, a window wiping robot, etc.) for cleaning the area to be cleaned, and thus the cleaning efficiency for the area to be cleaned may be greatly improved by the merging operation for the sub-areas satisfying the preset condition.
With respect to implementation details of step 110, in some embodiments, the area to be cleaned may be gridded to form one or more first sub-areas meeting the second predetermined condition and/or target sub-areas meeting the first predetermined condition. Illustratively, the second preset condition is an area satisfying a single grid size or area size unit. Further, the first preset condition may be an area smaller than a single mesh size. Thereby, the area to be cleaned may be divided into sub-areas corresponding to a single grid size and sub-areas smaller than the single grid size.
It should be noted that adjacent sub-regions can be used to indicate a common edge between different sub-regions. In addition, when the merging operation is performed on the target sub-region, a plurality of adjacent or common-edge sub-regions may exist for the target sub-region, and at this time, one of the plurality of adjacent sub-regions may be selected to perform the corresponding merging operation.
In one example of an embodiment of the present application, if there is a target sub-region adjacent to a plurality of sub-regions, the target sub-region is merged with the sub-region having the largest area. In another example of embodiment of the present application, if there is a target sub-region adjacent to a plurality of sub-regions, the target sub-region and the sub-region that overlaps most with its border are merged.
It should be understood that the above process of selecting sub-regions and merging between the target sub-region and the adjacent sub-regions is only used for example, and other merging operation processes or rules may also be adopted to meet the requirement of the personalized business scenario, for example, the target sub-region may also be merged multiple times. Further, if there is a target sub-area that cannot pass (for example, this area is set as a forbidden area), it is not merged.
As shown in fig. 1, sub-regions "1", "2", "3", "6", "7" and "8" may respectively represent a first sub-region having a region size unit, and sub-regions "4", "5", "9", "10", "11", "12", "13", "14" and "15" may respectively represent target sub-regions. Furthermore, it should be understood that the above description in connection with fig. 1 is only used as an example, and that the size of the grid may also be adjusted to adapt the target sub-area or the first sub-area depending on the actual traffic demand or the area to be cleaned.
Further, after dividing the region to be cleaned into the first sub-regions and the target sub-regions, it may also be determined whether a target object (e.g., an obstacle) satisfying a third preset condition exists in each of the first sub-regions. When the target object meeting the third preset condition exists, the first sub-area where the target object is located can be adjusted according to the contour information of the target object, so that the adjusted first sub-area meets the preset smooth running condition of the robot. Here, the smooth travel condition of the robot may be a condition that an area can be satisfied for the robot to travel smoothly therein, for example, a stuck phenomenon is not easily or not occurred when the robot operates in the area, thereby securing the working efficiency and the cleaning coverage of the robot. For example, the third preset condition may indicate that the width of the long and narrow region divided by the target object in the sub-region is slightly larger than the robot width, for example, the width may satisfy a preset range (e.g., not more than 20% of the robot width).
For example, when an obstacle exists in the first sub-region, contour information of the obstacle may be acquired, and the first sub-region may be subdivided according to the contour information, so that a boundary of each subdivided block coincides with a contour of the obstacle. As shown in fig. 3, the first subregion P has an obstacle S, and the boundary of the subregion P may be adjusted according to the edge of the obstacle S, for example, the first subregion P may be subdivided into four subregions, i.e., P1, P2, P3, and P4. Therefore, the robot can be driven smoothly in each subarea P1-P4, and the working efficiency of the robot can be improved.
Preferably, whether the P1-P4 meet preset conditions or not can be detected, and the sub-areas meeting the preset conditions are combined, so that smooth driving is guaranteed, the number of the sub-areas is optimized, and the working efficiency of the robot is improved.
Fig. 4 illustrates a sub-region division diagram according to an example of the related art at present. As shown in fig. 4, an obstacle S ' exists in the region B to be cleaned, and the obstacle S ' crosses the sub-regions "8" and "9", and an elongated sub-region "7" is formed between the boundary of the obstacle S ' and the sub-region "8". When the robot performs the operation individually for each of the sub-areas, the robot may suffer from a phenomenon of unsmooth operation in the sub-area "9", resulting in low operation efficiency. Here, the robot divides the area B into 10 areas according to a preset rule, and if cleaning is performed according to the areas divided according to the preset rule, the sub-area "7" (which may also be regarded as a part of the atomic area "8") and the area shown in gray are inefficient in work if the work is performed separately because of their limited space.
Fig. 5 shows a diagram of sub-region division according to an example of the embodiment of the present application. As shown in fig. 5, the elongated sub-region "7" is merged into sub-region "6", and the region shown in gray bottom is merged into sub-region "5". In addition, when the robot performs work, the outer sub-area may be cleaned first, and then the inner sub-area may be cleaned.
As described above, the first preset condition may be various conditions matched with the personalized service requirement. In an example of the embodiment of the present application, the first preset condition may be that the area corresponding to the sub-region is smaller than a preset area threshold. Therefore, the sub-areas with small area sizes can be combined into other adjacent sub-areas, so that the individual processing of the small sub-areas is avoided, and the working efficiency of the robot is improved.
In one example of the embodiment of the present application, the first preset condition may be that the shape corresponding to the sub-region does not match with a preset standard shape set. Illustratively, the standard shape set comprises a rectangle and a circle, and accordingly, the area to be cleaned by the robot can be divided into a plurality of circular areas and rectangular areas, so that the non-circular or non-rectangular sub-area can be determined as the target sub-area to be merged into other sub-areas, time consumption caused by independent operation of the non-regularized sub-area is avoided, and the operation efficiency of the robot is improved.
In one example of the embodiment of the present application, the first preset condition may be that the sub-area is located at an edge of the area to be cleaned. It should be understood that, in an actual scene, when a sub-region is divided into areas to be cleaned, a part located at the edge of the area to be cleaned is generally or often divided into sub-regions independently when grid division is performed, and it is generally difficult to match with a single grid size. Referring to the example in fig. 1, sub-regions "4", "5" and "15" all belong to small regions located at the edge.
It should be understood that the above description of the preset condition is only used as an example, and is not used to limit the implementation range of the preset condition. For example, the different examples above may be combined, and for example, the preset condition may include a region size threshold and edge information, and when both are satisfied, the corresponding sub-region is determined as the target sub-region to be merged.
With continued reference to fig. 1, when dividing the area to be cleaned, the corresponding preset rule may be to divide the area to be cleaned into several rectangular sub-areas, and if the sub-areas are not sufficient to form a rectangle, form one sub-area alone. As shown in fig. 1, the cleaning robot may divide the area to be cleaned into 15 sub-areas according to a preset rule, however, the sub-areas numbered 4, 5, 9, 10, 11, 12, 13, 14 and 15 may cause inefficient cleaning of the robot if they are cleaned individually due to their limited space.
Fig. 6 shows a diagram of sub-area division according to an example of the embodiment of the present application.
In the embodiment of the application, the robot can identify whether each sub-area meets the preset condition. Specifically, the sub-area satisfying the preset condition may be a sub-area having an area (or size) smaller than a range of the preset value, and/or a sub-area having an irregular shape, and/or a sub-area near the edge of the area to be cleaned. Furthermore, the robot may combine a plurality of adjacent sub-regions satisfying the preset condition into one sub-region, or combine the sub-region satisfying the preset condition and the adjacent rectangular sub-region into one sub-region, and perform cleaning work on the combined sub-regions.
By the embodiment of the present application, the region division result shown in fig. 6 can be realized, where sub-regions "9" and "10" are merged into sub-region "8", sub-regions "11" and "12" are merged into sub-region "7", sub-regions "13", "14", "15" and "5" are merged into sub-region "6", and sub-region "4" is merged into sub-region "3". Therefore, the cleaning robot can perform self-adaptive overall cleaning on the area to be cleaned, and the cleaning efficiency of the robot is improved.
Fig. 7 is a block diagram illustrating an example of an apparatus for cleaning a planned area by a robot according to an embodiment of the present application.
As shown in fig. 7, the apparatus 700 for robot cleaning a planned area includes a sub-area dividing unit 710, a sub-area combining unit 720, and a cleaning control unit 730.
The sub-area dividing unit 710 is configured to divide the area to be cleaned into a plurality of sub-areas according to a preset rule.
The sub-region merging unit 720 is configured to automatically merge the target sub-region with a sub-region adjacent to the target sub-region when the target sub-region meeting the first preset condition exists in the sub-regions.
The cleaning control unit 730 is configured to control the robot to clean the merged sub-area.
It should be noted that, for the information interaction, execution process, and other contents between the above-mentioned devices/units, the specific functions and technical effects thereof are based on the same concept as those of the embodiment of the method of the present application, and specific reference may be made to the part of the embodiment of the method, which is not described herein again.
Fig. 8 is a schematic diagram of an example of a mobile device according to an embodiment of the present application. As shown in fig. 8, the mobile device 800 of this embodiment includes: a processor 810, a memory 820, and a computer program 830 stored in the memory 820 and operable on the processor 810. The processor 810, when executing the computer program 830, implements the steps in the above-described method embodiments of the robot cleaning a planned area, such as steps 210 and 220 shown in fig. 2. Alternatively, the processor 810, when executing the computer program 830, implements the functions of the modules/units in the above-described device embodiments, such as the functions of the units 710 and 720 shown in fig. 7.
Illustratively, the computer program 830 may be partitioned into one or more modules/units, which are stored in the memory 820 and executed by the processor 810 to accomplish the present application. The one or more modules/units may be a series of computer program instruction segments capable of performing certain functions, which are used to describe the execution of the computer program 830 in the mobile device 800. For example, the computer program 830 may be divided into a sub-region dividing module, a sub-region combining module and a cleaning control module, and the specific functions of each module are as follows:
the sub-area dividing module is configured to divide the area to be cleaned into a plurality of sub-areas according to a preset rule.
The sub-region merging module is configured to automatically merge the target sub-region with a sub-region adjacent to the target sub-region when the target sub-region meeting a first preset condition exists in the sub-regions.
The cleaning control module is configured to control the robot to clean the merged sub-area.
The mobile device 800 may be a desktop computer, a notebook, a palm top computer, a cloud server, or other computing devices. The mobile device may include, but is not limited to, a processor 810, a memory 820. Those skilled in the art will appreciate that fig. 8 is merely an example of a mobile device 800 and does not constitute a limitation of the mobile device 800 and may include more or fewer components than shown, or some components may be combined, or different components, e.g., the mobile device may also include input output devices, network access devices, buses, etc.
In some examples of embodiments of the present application, the mobile device may be a cleaning robot, thereby enabling an efficient cleaning process.
The Processor 810 may be a Central Processing Unit (CPU), other general purpose Processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other Programmable logic device, discrete Gate or transistor logic, discrete hardware components, etc. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like.
The storage 820 may be an internal storage unit of the mobile device 800, such as a hard disk or a memory of the mobile device 800. The memory 820 may also be an external storage device of the mobile apparatus 800, such as a plug-in hard disk, a Smart Media Card (SMC), a Secure Digital (SD) Card, a Flash memory Card (Flash Card), etc. provided on the mobile apparatus 800. Further, the memory 820 may also include both an internal storage unit and an external storage device of the mobile apparatus 800. The memory 820 is used for storing the computer programs and other programs and data required by the mobile device. The memory 820 may also be used to temporarily store data that has been output or is to be output.
It will be apparent to those skilled in the art that, for convenience and brevity of description, only the above-mentioned division of the functional units and modules is illustrated, and in practical applications, the above-mentioned function distribution may be performed by different functional units and modules according to needs, that is, the internal structure of the apparatus is divided into different functional units or modules to perform all or part of the above-mentioned functions. Each functional unit and module in the embodiments may be integrated in one processing unit, or each unit may exist alone physically, or two or more units are integrated in one unit, and the integrated unit may be implemented in a form of hardware, or in a form of software functional unit. In addition, specific names of the functional units and modules are only used for distinguishing one functional unit from another, and are not used for limiting the protection scope of the present application. For the specific working process of the units and modules in the system, reference may be made to the corresponding process in the foregoing method embodiment.
In the above embodiments, the description of each embodiment has its own emphasis, and reference may be made to the related description of other embodiments for parts that are not described or recited in any embodiment.
Those of ordinary skill in the art will appreciate that the various illustrative elements and algorithm steps described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present application.
In the embodiments provided in the present application, it should be understood that the disclosed apparatus/mobile apparatus and method may be implemented in other ways. For example, the above-described embodiments of the apparatus/mobile apparatus are merely illustrative, and for example, the division of the modules or units is only one logical division, and other divisions may be realized in practice, for example, multiple units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be through some interfaces, indirect coupling or communication connection of devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present application may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit. The above units may be implemented in the form of hardware, and may also be implemented in the form of software.
The integrated module/unit, if implemented in the form of a software functional unit and sold or used as a stand-alone product, may be stored in a computer readable storage medium. Based on such understanding, all or part of the flow in the method of the embodiments described above can be realized by a computer program, which can be stored in a computer readable storage medium and can realize the steps of the embodiments of the methods described above when the computer program is executed by a processor. Wherein the computer program comprises computer program code, which may be in the form of source code, object code, an executable file or some intermediate form, etc. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording medium, U.S. disk, removable hard disk, magnetic diskette, optical disk, computer Memory, Read-Only Memory (ROM), Random Access Memory (RAM), electrical carrier wave signal, telecommunications signal, and software distribution medium, etc. It should be noted that the computer readable medium may contain content that is subject to appropriate increase or decrease as required by legislation and patent practice in jurisdictions, for example, in some jurisdictions, computer readable media does not include electrical carrier signals and telecommunications signals as is required by legislation and patent practice.
The above-mentioned embodiments are only used for illustrating the technical solutions of the present application, and not for limiting the same; although the present application has been described in detail with reference to the foregoing embodiments, it should be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; such modifications and substitutions do not depart from the spirit and scope of the embodiments of the present application, and they should be construed as being included in the present application.