Detailed Description
In order to more clearly understand the technical features, objects and effects of the embodiments of the present application, specific embodiments of the present application will be described with reference to the accompanying drawings.
"exemplary" means "serving as an example, instance, or illustration" herein, and any illustration, embodiment, or steps described as "exemplary" herein should not be construed as a preferred or advantageous alternative.
For the sake of simplicity, only the parts relevant to the present application are schematically shown in the drawings, and they do not represent the actual structure as a product. In addition, for simplicity and clarity of understanding, elements having the same structure or function may be shown in some figures only as a schematic representation of one or more of the elements, or may be labeled only as one or more of the elements.
The existing swimming pool cleaning robot for the swimming pool has the problem of low cleaning efficiency of the swimming pool edge due to unreasonable turning operation after colliding with the wall. In view of the above, the present application provides an improved wall-impacting turning and swimming pool edge cleaning method, apparatus, electronic device and computer storage medium for a swimming pool cleaning robot, which can solve the above-mentioned problems in the prior art.
Specific embodiments of each application will be described in detail below with reference to the accompanying drawings.
Fig. 1 is a schematic flow chart of a method for generating a swimming pool cleaning path according to an exemplary embodiment of the present application. As shown in the figure, the present embodiment mainly includes the following steps:
and S102, controlling the swimming pool cleaning robot to move towards the wall of the swimming pool until the swimming pool cleaning robot collides with the wall of the swimming pool for the first time.
In this embodiment, the first collision is the first collision of the pool cleaning robot performing a single wall-collision turn around operation.
Alternatively, the pool cleaning robot can be controlled to travel relative to the bottom of the pool in a direction approaching the walls of the pool based on the predetermined orientation until the pool cleaning robot first impacts the walls of the pool.
And step S104, controlling the swimming pool cleaning robot to retreat relative to the swimming pool wall and adjusting the orientation until the orientation of the swimming pool cleaning robot meets the preset orientation.
Alternatively, the swimming pool cleaning robot may be controlled to retreat relative to the swimming pool walls according to a predetermined arc until a retreat direction of the swimming pool cleaning robot performing the retreat movement coincides with a predetermined direction.
And S106, controlling the swimming pool cleaning robot to move towards the wall of the swimming pool again based on the preset orientation, and turning around after the swimming pool cleaning robot collides with the wall of the swimming pool for the second time.
Optionally, the pool cleaning robot may be controlled to perform a turn around relative to the pool wall after a secondary collision with the pool wall until a turn around direction of the pool cleaning robot after performing the turn around is opposite to the predetermined direction.
To sum up, the method for turning around the wall of the swimming pool cleaning robot in the embodiment of the present application, after the swimming pool cleaning robot first hits the wall, moves back and adjusts the orientation relative to the wall, and moves towards the wall again based on the adjusted orientation, and performs turning around after hitting the wall twice, thereby, the swimming pool cleaning robot can realize the operation of turning around the wall accurately, and the safety of the operation of turning around the wall can be improved.
Fig. 2 is a process flow diagram illustrating a method of performing a wall-impacting turn around for a pool cleaning robot in accordance with another exemplary embodiment of the present application. As shown in the figure, the present embodiment mainly includes the following processing steps:
step S202, the pool cleaning robot is controlled to move toward the pool wall based on the preset orientation until the first collision with the pool wall occurs.
For example, referring to fig. 3A, the pool cleaning robot may be controlled to travel along the first wash path S1 relative to the pool floor in a direction approaching the pool walls based on the direction F1 until the leading side of the pool cleaning robot first impacts the pool walls.
In this embodiment, the front side of the pool cleaning robot refers to a side located on the front side of the pool cleaning robot based on the advancing direction of the pool cleaning robot.
Step S203, determining whether the position of the swimming pool cleaning robot relative to the swimming pool wall meets a preset condition, if yes, performing step S206, and if not, performing step S204.
Optionally, the pool walls comprise planar walls or curved walls.
In this embodiment, when the front side of the pool cleaning robot is parallel or substantially parallel to the pool wall, or the left and right ends of the front side of the pool cleaning robot are abutted against the pool wall, the position of the pool cleaning robot relative to the pool wall satisfies the predetermined condition.
In this embodiment, when the front side of the pool cleaning robot is parallel or substantially parallel to a tangent line of the pool wall or both the left and right ends of the front side of the pool cleaning robot abut against the pool wall in the case of the arc-shaped pool wall, it indicates that the position of the pool cleaning robot relative to the pool wall satisfies the predetermined condition (refer to the state shown in fig. 3A).
And step S204, controlling the swimming pool cleaning robot to swing the tail relative to the wall of the swimming pool until the position of the swimming pool cleaning robot relative to the wall of the swimming pool meets the preset condition.
In this embodiment, the moving inertia of the pool cleaning robot itself can be used to swing the tail relative to the pool wall, or the driving force can be applied to the pool cleaning robot to control the pool cleaning robot to swing the tail relative to the pool wall.
For example, when the wall of the swimming pool is a plane wall or an arc wall with a small radian, if the wall collides with the wall of the swimming pool, the included angle between the swimming pool cleaning robot and the wall of the swimming pool is large, and the moving inertia of the swimming pool cleaning robot itself swings the tail relative to the wall of the swimming pool, which may not make the position of the swimming pool cleaning robot relative to the wall of the swimming pool meet the predetermined condition.
For another example, in a case that the wall of the swimming pool is an arc-shaped wall with a large arc, the swimming pool cleaning robot may swing the tail relative to the wall of the swimming pool only by using the movement inertia of the swimming pool cleaning robot itself, or the position of the swimming pool cleaning robot relative to the wall of the swimming pool may not satisfy the predetermined condition.
Specifically, the swimming pool cleaning robot may be driven to swing relative to the swimming pool wall based on a fulcrum that is a front side angle of the swimming pool wall that the swimming pool cleaning robot collides with (the front side angle is a side angle of the front side surface of the swimming pool cleaning robot) as the fulcrum until the position of the front side surface of the swimming pool cleaning robot relative to the swimming pool wall satisfies a predetermined condition (refer to the state shown in fig. 3A).
And step S206, controlling the swimming pool cleaning robot to retreat relative to the swimming pool wall and adjusting the orientation until the orientation of the swimming pool cleaning robot meets the preset orientation.
In this embodiment, the pool cleaning robot can be controlled to perform a differential backward movement (refer to the states shown in fig. 3A to 3B) with respect to the pool wall until the backward direction of the backward movement performed by the pool cleaning robot coincides with a predetermined direction (e.g., the direction of F1 shown in fig. 3B).
And step S208, controlling the swimming pool cleaning robot to move towards the swimming pool wall again based on the preset orientation until the swimming pool wall is collided secondarily.
For example, referring to fig. 3B-3C, the pool cleaning robot can be controlled to travel again in a direction approaching the walls of the pool with respect to the bottom of the pool based on the direction F1 along the second wash path S2 until the front side of the pool cleaning robot impacts the walls of the pool a second time.
In this embodiment, the second cleaning path is parallel or substantially parallel to the first cleaning path.
Alternatively, the second cleaning path may be contiguous or partially overlapping with the first cleaning path.
For example, in the embodiment shown in fig. 3B-3C, there is partial overlap between the second wash path S2 and the first wash path S1, and thus, there is partial overlap between the portion of the pool wall that the pool cleaning robot first encounters when it first encounters the wall and the portion of the pool wall that the pool cleaning robot second encounters when it encounters the wall.
Step S210, the swimming pool cleaning robot is controlled to perform turning with respect to the swimming pool wall until the turning direction after the turning is performed by the swimming pool cleaning robot is opposite to the preset direction.
Alternatively, the pool cleaning robot may be controlled to perform the in-situ turn based on the collision location when the pool cleaning robot secondarily collides with the wall of the pool until the turn direction after the in-situ turn is performed by the pool cleaning robot is opposite to the predetermined direction (e.g., direction F2 shown in fig. 3E).
Alternatively, the pool cleaning robot may be controlled to perform a non-in-place turning (refer to the states shown in fig. 3C to 3E) by performing a differential forward movement along the pool wall after a secondary collision with the pool wall until the turning direction after the non-in-place turning of the pool cleaning robot is opposite to the predetermined direction (e.g., the direction F2 shown in fig. 3E).
Alternatively, a third cleaning path (e.g., the third cleaning path S3 shown in FIG. 3E) followed by the turning operation of the pool cleaning robot can be adjacent to the first cleaning path (e.g., the first cleaning path S1 shown in FIG. 3A) to ensure that the pool cleaning robot contacts every part of the pool edge.
In step S212, the turning direction of the pool cleaning robot is updated to the preset direction, and the process returns to step S202.
For example, the preset orientation of the pool cleaning robot may be updated from the direction F1 shown in fig. 3A to 3C to the direction F2 shown in fig. 3E and 3F, and the pool cleaning robot is controlled to travel along the third cleaning path S3 based on the direction F2 to perform the next wall-impacting turn-around operation (refer to the state shown in fig. 3F).
To sum up, the swimming pool cleaning robot's that this application embodiment provided bumps to wall turn round method is through increasing the pendulum tail operation after the swimming pool cleaning robot bumps to carry out to retreat with the adjustment orientation based on the gesture behind the pendulum tail, can supply swimming pool cleaning robot can accomplish more accurately and bump to turn round, and make the execution of bumping to wall turn round operation more smooth and easy.
Fig. 4 shows a process flow diagram of a pool edge cleaning method in accordance with an exemplary embodiment of the present application. As shown in the figure, the present embodiment mainly includes the following steps:
step S402, controlling the swimming pool cleaning robot to perform wall-touching turning relative to the swimming pool wall corresponding to the edge position to be cleaned according to the edge position to be cleaned.
In this embodiment, based on the wall-touching turning method of the pool cleaning robot described in the above embodiments, the pool cleaning robot is controlled to perform the wall-touching turning with respect to the pool wall corresponding to the edge position to be cleaned.
Step S404, controlling the swimming pool cleaning robot to clean the edge position to be cleaned in the wall-touching turning process.
In summary, the embodiment of the present application can improve the cleaning efficiency of the swimming pool edge by controlling the swimming pool cleaning robot to perform the task of cleaning the swimming pool edge based on the wall-touching turning scheme described in the foregoing embodiments.
Specifically, by controlling the pool cleaning robot to collide with the pool wall twice before and after, the number of times of cleaning the edge of the pool can be increased, and the area of the edge which is not cleaned can be reduced.
Furthermore, through controlling swimming pool cleaning robot to carry out the pendulum tail after the first collision to through carrying out the differential motion in order turning round for the swimming pool wall, can provide each part full contact at swimming pool cleaning robot and swimming pool edge, be particularly useful for the washing task at arc swimming pool edge, can greatly improve the coverage that cleans at arc swimming pool edge.
Fig. 5 is a block diagram illustrating a structure of a wall-impacting turning device of the pool cleaning robot in accordance with an exemplary embodiment of the present application. As shown in the figure, the apparatus 500 for turning the head of the pool cleaning robot includes a collision control module 502, a backward control module 504, and a turning control module 506.
A collision control module 502 for controlling the pool cleaning robot to travel toward the pool wall until a first collision with the pool wall.
A back control module 504 for controlling the pool cleaning robot to back and adjust the orientation relative to the pool walls until the orientation of the pool cleaning robot satisfies a predetermined orientation.
A turn around control module 506 for controlling the pool cleaning robot to again travel towards the pool walls based on the predetermined orientation and to turn around after a secondary collision with the pool walls.
Optionally, the collision control module 502 is further configured to: controlling the swimming pool cleaning robot to move along a first cleaning path relative to the bottom of the swimming pool towards the direction close to the swimming pool wall based on the preset orientation until the swimming pool cleaning robot collides with the swimming pool wall for the first time; detecting the position of the swimming pool cleaning robot relative to the swimming pool wall, if the position of the swimming pool cleaning robot relative to the swimming pool wall does not meet the preset conditions, controlling the swimming pool cleaning robot to swing the tail relative to the swimming pool wall until the position of the swimming pool cleaning robot relative to the swimming pool wall meets the preset conditions.
Optionally, the swimming pool walls comprise curved walls or planar walls, and the position of the swimming pool cleaning robot relative to the swimming pool walls meeting the predetermined condition comprises: if the pool wall comprises an arc-shaped wall, the front side of the pool cleaning robot is parallel or substantially parallel to a tangent of the pool wall; if the pool walls comprise planar walls, the front side of the pool cleaning robot is parallel or substantially parallel to the pool walls; wherein the front side surface is a side surface located on a front side of the pool cleaning robot based on a forward direction of the pool cleaning robot.
Optionally, the back-off control module 504 is further configured to: and controlling the swimming pool cleaning robot to retreat relative to the swimming pool wall according to a preset radian until the retreating direction of the swimming pool cleaning robot executing the retreating movement is matched with the preset direction.
Optionally, the turnaround control module 506 is further configured to: controlling the pool cleaning robot to travel again along a second wash path relative to a pool floor in a direction approaching the pool walls based on the preset orientation until a second collision with the pool walls; and controlling the swimming pool cleaning robot to perform turning relative to the swimming pool wall until the turning direction after the swimming pool cleaning robot performs turning is opposite to the preset direction.
Optionally, the second wash path is parallel or substantially parallel to the first wash path, the second wash path being adjacent to or partially overlapping the first wash path.
Optionally, the turn-around control module 506 is further configured to: and controlling the swimming pool cleaning robot to perform in-situ turning based on the collision position when the swimming pool wall is collided secondarily until the turning direction of the swimming pool cleaning robot after performing in-situ turning is opposite to the preset direction.
Optionally, the turn-around control module 506 is further configured to: and controlling the swimming pool cleaning robot to move forward along the swimming pool wall at a differential speed after the swimming pool cleaning robot collides with the swimming pool wall for the second time so as to perform non-in-situ turning until the turning direction of the swimming pool cleaning robot after performing the non-in-situ turning is opposite to the preset direction.
Optionally, the turn-around control module 506 is further configured to: the turning direction of the pool cleaning robot is updated to a preset direction, and the collision control module 502 is triggered to continue to execute the step of controlling the pool cleaning robot to move towards the wall of the pool until the first collision to the wall of the pool.
In addition, the wall-impacting turning device 500 of the swimming pool cleaning robot in the embodiment of the present application can also be used to implement other steps in the aforementioned wall-impacting turning method embodiments of the swimming pool cleaning robot, and has the advantages of corresponding method step embodiments, which are not described herein again.
FIG. 6 shows a block diagram of a pool edge cleaning apparatus in accordance with an exemplary embodiment of the present application. As shown, the pool edge cleaning apparatus 600 of this embodiment mainly comprises: a drive module 602 and a cleaning module 604.
The driving module 602 is configured to control the pool cleaning robot to perform a wall-touching turning with respect to the pool wall corresponding to the edge position to be cleaned according to the edge position to be cleaned.
In this embodiment, the driving module 602 can utilize the aforementioned wall-impacting turning device of the pool cleaning robot to perform the wall-impacting turning of the pool cleaning robot.
The cleaning module 604 is used for controlling the pool cleaning robot to perform cleaning on the edge position to be cleaned during the wall-impacting turning process.
An exemplary embodiment of the present application also provides an electronic device, including: at least one processor; and a memory communicatively coupled to the at least one processor. The memory stores a computer program executable by the at least one processor, the computer program, when executed by the at least one processor, is for causing the electronic device to perform a method according to an embodiment of the application.
The exemplary embodiments of this application also provide a non-transitory computer readable storage medium storing a computer program, wherein the computer program, when executed by a processor of a computer, is configured to cause the computer to perform a method according to embodiments of this application.
The exemplary embodiments of this application also provide a computer program product comprising a computer program, wherein the computer program, when being executed by a processor of a computer, is adapted to cause the computer to carry out the method according to the embodiments of this application.
Referring to fig. 7, a block diagram of a structure of an electronic device 700, which may be a server or a client of the present application, which is an example of a hardware device that may be applied to aspects of the present application, will now be described. Electronic device is intended to represent various forms of digital electronic computer devices, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other suitable computers. The electronic device may also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be examples only, and are not meant to limit implementations of the present application that are described and/or claimed herein.
As shown in fig. 7, the electronic device 700 includes a computing unit 701, which may perform various appropriate actions and processes according to a computer program stored in a Read Only Memory (ROM)702 or a computer program loaded from a storage unit 708 into a Random Access Memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The calculation unit 701, the ROM 702, and the RAM 703 are connected to each other by a bus 704. An input/output (I/O) interface 705 is also connected to bus 704.
A number of components in the electronic device 700 are connected to the I/O interface 705, including: an input unit 706, an output unit 707, a storage unit 708, and a communication unit 709. The input unit 706 may be any type of device capable of inputting information to the electronic device 700, and the input unit 706 may receive input numeric or character information and generate key signal inputs related to user settings and/or function controls of the electronic device. Output unit 707 may be any type of device capable of presenting information and may include, but is not limited to, a display, speakers, a video/audio output terminal, a vibrator, and/or a printer. Storage unit 704 may include, but is not limited to, a magnetic disk, an optical disk. The communication unit 709 allows the electronic device 700 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunications networks, and may include, but is not limited to, modems, network cards, infrared communication devices, wireless communication transceivers and/or chipsets, such as bluetooth (TM) devices, WiFi devices, WiMax devices, cellular communication devices, and/or the like.
Computing unit 701 may be a variety of general purpose and/or special purpose processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various computing units running machine learning model algorithms, a Digital Signal Processor (DSP), and any suitable processor, controller, microcontroller, and so forth. The calculation unit 701 performs the respective methods and processes described above. For example, in some embodiments, the wall-impacting turning method and the pool edge cleaning method of the pool cleaning robot of the previous embodiments can be implemented as a computer software program tangibly embodied on a machine-readable medium, such as the storage unit 708. In some embodiments, part or all of the computer program may be loaded and/or installed onto the electronic device 700 via the ROM 702 and/or the communication unit 709. In some embodiments, the computing unit 701 can be configured to perform the pool cleaning robot wall-impacting turning method and pool edge cleaning method in any other suitable manner (e.g., by firmware).
Program code for implementing the methods of the present application may be written in any combination of one or more programming languages. These program code may be provided to a processor or controller of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the program code, when executed by the processor or controller, causes the functions/acts specified in the flowchart and/or block diagram to be performed. The program code may execute entirely on the machine, partly on the machine, as a stand-alone software package, partly on the machine and partly on a remote machine or entirely on the remote machine or server.
In the context of this application, a machine-readable medium may be a tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing. More specific examples of a machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
As used herein, the terms "machine-readable medium" and "computer-readable medium" refer to any computer program product, apparatus, and/or device (e.g., magnetic discs, optical disks, memory, Programmable Logic Devices (PLDs)) used to provide machine instructions and/or data to a programmable processor, including a machine-readable medium that receives machine instructions as a machine-readable signal. The term "machine-readable signal" refers to any signal used to provide machine instructions and/or data to a programmable processor.
To provide for interaction with a user, the systems and techniques described here can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to a user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form, including acoustic, speech, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a back-end component (e.g., as a data server), or that includes a middleware component (e.g., an application server), or that includes a front-end component (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with an implementation of the systems and techniques described here), or any combination of such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: local Area Networks (LANs), Wide Area Networks (WANs), and the Internet.
The computer system may include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
It should be understood that although the present description has been described in terms of various embodiments, not every embodiment includes only a single embodiment, and such description is for clarity purposes only, and those skilled in the art will recognize that the embodiments described herein may be combined as suitable to form other embodiments, as will be appreciated by those skilled in the art.
The above description is only an exemplary embodiment of the present disclosure, and is not intended to limit the scope of the present disclosure. Any person skilled in the art should be able to make equivalent changes, modifications and combinations without departing from the concept and principle of the embodiments of the present application.