Disclosure of Invention
In order to solve the technical problem, the application provides a mobile device obstacle avoidance method, a mobile device obstacle avoidance apparatus, an electronic device, and a computer-readable storage medium.
One object of the present invention is: the obstacle avoidance method for the mobile equipment is provided, and can be used for immediately constructing an avoidance route for avoiding obstacles existing in the advancing direction of the mobile equipment in the moving process so as to effectively avoid the obstacles on the premise of no stopping of the mobile equipment;
another object of the invention is: the obstacle avoidance device of the mobile equipment can execute the obstacle avoidance method of the mobile equipment so as to realize effective obstacle avoidance of the mobile equipment on the premise of no parking;
another object of the invention is: the electronic equipment is provided, and can realize that when an obstacle exists in the advancing direction of the electronic equipment, an avoidance route is constructed in real time to avoid the obstacle, so that the obstacle can be effectively avoided on the premise of no stopping, and the moving smoothness is improved;
another object of the invention is: a computer-readable storage medium is provided that, when executing a stored computer program, enables a corresponding mobile device to effectively avoid an obstacle without stopping the vehicle.
The technical scheme provided by the application is as follows:
in a first aspect, an obstacle avoidance method for a mobile device is provided, where the obstacle avoidance method includes:
dividing a target path within a first preset distance L1 from the current position in the advancing direction of a preset teaching path in the target field into at least two sub-paths;
judging whether each sub-path has a target obstacle or not;
if so, taking the sub-path with the target obstacle as a target sub-path and constructing a target avoidance path for the target sub-path;
and replacing the target sub-path with a target avoidance path to avoid the target obstacle.
The obstacle avoidance method for the mobile equipment can enable the mobile equipment to immediately construct an avoidance route to avoid the obstacle aiming at the obstacle existing in the advancing direction of the mobile equipment in the moving process, so that the mobile equipment can effectively avoid the obstacle without stopping the vehicle.
In a preferred embodiment, the constructing a target avoidance path for the target sub-path includes:
determining an avoidance direction based on the target sub-path;
translating the target sub-path by a second preset distance L2 along the avoidance direction to form a first avoidance path;
judging whether the first avoidance path has the target barrier;
if not, taking the first avoidance path as a target avoidance path;
by determining the avoidance direction and the avoidance path, the target avoidance path can be rapidly determined, so that the reaction time is shortened, and the reaction sensitivity is improved.
In a preferred embodiment, the determining an avoidance direction based on the target sub-path includes:
and determining at least one direction perpendicular to a straight line determined based on the starting point and the end point of the target sub-path as an avoidance direction.
Because the target sub-path is only a part of the preset teaching path, the optional avoidance direction is quickly determined through the starting point and the end point of the target sub-path, the processing amount can be effectively reduced, and the processing speed is improved.
In a preferred embodiment, before the dividing the target path within a first preset distance L1 from the current position along the advancing direction of the preset teach path in the target field into at least two sub-paths, the method further comprises: obtaining a prior map of the target site;
the translating the target sub-path by a second preset distance L2 along the avoidance direction and forming a first avoidance path includes:
converting the prior map into a grid map and setting a cost value for a grid on the grid map, wherein the cost value of the grid on the grid map is decreased progressively along a direction far away from the target obstacle;
when the distance L0 between the preset teaching path and the wall surface does not exceed a third preset distance L3, the target sub-path translates to a side far away from the wall along the avoidance direction by a second preset distance L2 to form a first avoidance path; wherein L0 is not more than L2;
when the distance L0 between the preset teaching path and the wall surface exceeds a third preset distance L3, the target sub-path is constructed to respectively translate a second preset distance L2 to two sides along a straight line where the avoidance direction is located so as to respectively form a third avoidance path and a fourth avoidance path; wherein L0 is more than or equal to L2;
respectively calculating the total cost values of all grids in the third avoidance path and the fourth avoidance path;
and taking the avoidance path with the minimum total cost value in the third avoidance path and the fourth avoidance path as the first avoidance path.
Based on the mode of converting the prior map into the grid map, the final avoiding direction can be quickly determined, and the reaction time is shortened.
In a preferred embodiment, the translating the target sub-path by the second predetermined distance L2 along the avoidance direction and forming a first avoidance path further includes:
and connecting the starting point of the target sub-path with the starting point of the path after translation, and connecting the end point of the target sub-path with the end point of the path after translation to form the first avoidance path, so that an obstacle avoidance route can be effectively generated.
In a preferred embodiment, after the obtaining the prior map of the target site, the method further includes:
generating the teach path within a prior map, the teach path not having the target obstacle. By generating the taught path within the prior map, it is possible to efficiently determine the movement reference path of the mobile device including only the fixed obstacle and not the target obstacle (temporary noise).
In a preferred embodiment, the determining whether each of the sub-paths has a target obstacle includes:
judging whether the mobile equipment outline covers a grid included by the target obstacle by taking each preset point in each sub-path as a center;
if yes, the sub-path has a target obstacle;
and if not, the sub-path has no target obstacle.
Therefore, whether the sub-path has the obstacle or not can be effectively judged, and the target sub-path with the obstacle is screened out to generate the avoidance path in advance.
In a preferred embodiment, after determining whether the first avoidance path has the target obstacle, the constructing the target avoidance path for the target sub-path further includes:
if so, continuing to construct a second avoidance path for the target sub-path, wherein the second avoidance path and the first avoidance path are positioned on the same side of the target sub-path, and the second avoidance path is far away from the target sub-path compared with the first avoidance path;
if the second avoidance path does not have the target obstacle, taking the second avoidance path as a target avoidance path;
therefore, the avoidance path can be continuously optimized to realize complete obstacle avoidance.
In a second aspect, a mobile device obstacle avoidance device is further provided, where the obstacle avoidance device includes:
the segmentation module is used for segmenting a target path within a first preset distance L1 from the current position in the advancing direction of a preset teaching path in the target field into at least two sub-paths;
the judging module is used for judging whether each sub-path has a target obstacle or not; if so, taking the sub-path with the target obstacle as a target sub-path and constructing a target avoidance path for the target sub-path;
and the replacing module is used for replacing the target sub-path with a target avoiding path so as to avoid the target obstacle.
The judging module comprises:
the first judgment unit is used for determining an avoidance direction based on the target sub-path;
the first processing unit is used for translating the target sub-path by a second preset distance along the avoidance direction and forming a first avoidance path;
the second processing unit is used for judging whether the first avoidance path has the target obstacle or not;
if not, taking the first avoidance path as a target avoidance path; the first judging unit is used for: and determining at least one direction perpendicular to a straight line determined based on the starting point and the end point of the target sub-path as an avoidance direction.
Keep away barrier device still includes:
the first preprocessing module is used for acquiring a prior map of the target site;
the first processing unit includes:
the conversion unit is used for converting the prior map into a grid map and setting a cost value for a grid on the grid map, and the cost value of the grid on the grid map is decreased progressively along the direction far away from the target obstacle;
the first processing subunit is used for translating the target sub-path to a side far away from the wall by a second preset distance L2 along the avoidance direction and forming a first avoidance path when the distance L0 between the preset teaching path and the wall surface does not exceed a third preset distance L3; wherein L0 is not more than L2;
the first processing subunit is further configured to, when the distance L0 between the preset teaching path and the wall surface exceeds a third preset distance L3, construct a second preset distance L2 that the target sub-path respectively translates to both sides along a straight line where the avoidance direction is located, so as to respectively form a third avoidance path and a fourth avoidance path; wherein L0 is more than or equal to L2;
the system comprises a first avoidance path, a second avoidance path, a third avoidance path and a fourth avoidance path, wherein the first avoidance path and the second avoidance path are respectively connected with a grid;
and the avoidance path with the minimum total cost value in the third avoidance path and the fourth avoidance path is used as the first avoidance path.
The first processing unit further comprises:
and the second processing subunit is used for connecting the starting point of the target sub-path with the starting point of the path after translation, and connecting the end point of the target sub-path with the end point of the path after translation to form the first avoidance path.
The device further comprises:
a second preprocessing module, configured to generate the teach path in a prior map, where the teach path does not have the target obstacle.
The judging module is further configured to: judging whether the mobile equipment outline covers a grid included by the target obstacle by taking each preset point in each sub-path as a center;
if yes, the sub-path has a target obstacle;
and if not, the sub-path has no target obstacle.
The second processing unit is further configured to:
if so, continuing to construct a second avoidance path for the target sub-path, wherein the second avoidance path and the first avoidance path are positioned on the same side of the target sub-path, and the second avoidance path is far away from the target sub-path compared with the first avoidance path;
and if the second avoidance path does not have the target obstacle, taking the second avoidance path as a target avoidance path.
In a third aspect, an electronic device is further provided, where the electronic device includes:
one or more processors;
a memory for storing one or more programs;
the one or more programs, when executed by the one or more processors, cause the processors to implement the steps of the method of any of the first aspects.
In a fourth aspect, a computer-readable storage medium is further provided, on which a computer program is stored, wherein the computer program, when executed by one or more processors, implements the steps of the obstacle avoidance method according to the first aspect.
This application compares prior art's beneficial effect to lie in:
the application provides a mobile device obstacle avoidance method, a device, a robot and a computer readable storage medium, wherein the obstacle avoidance method comprises the following steps: dividing a target path within a first preset distance L1 from the current position in the advancing direction of a preset teaching path in the target field into at least two sub-paths; judging whether each sub-path has a target obstacle or not; if so, taking the sub-path with the target obstacle as a target sub-path; replacing the target sub-path with a target avoiding path to avoid the target barrier; the obstacle avoidance method and the obstacle avoidance device can achieve obstacle avoidance processing on obstacles existing in the advancing direction in advance in the moving process of the mobile equipment, and compared with a traditional method for parking and planning the obstacle avoidance route through navigation, the obstacle avoidance method and the obstacle avoidance device can achieve flexible obstacle avoidance on the basis of no parking, and improve moving fluency;
constructing a target avoidance path for the target sub-path comprises: determining an avoidance direction based on the target sub-path; translating the target sub-path by a second preset distance L2 along the avoidance direction to form a first avoidance path; judging whether a target barrier exists in the first avoidance path; if not, taking the first avoidance path as a target avoidance path; the method and the device can effectively shorten the reaction time and improve the reaction sensitivity by quickly determining the avoidance direction and the avoidance path to quickly determine the target avoidance path.
Detailed Description
In order to make the purpose, technical solutions and advantages of the present application clearer, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
In view of the current situation that when the current mobile device operates according to a pre-planned path, parking is often required to adjust the path due to a new obstacle temporarily appearing on the planned path, the embodiment provides an obstacle avoidance method for the mobile device, so as to effectively avoid the above problems. The obstacle avoidance method for the mobile device will be further described with reference to specific embodiments and accompanying drawings.
Example one
The embodiment provides an obstacle avoidance method for mobile equipment, which is used for all intelligently controlled mobile equipment such as a sweeping robot, a floor washing robot or a transportation robot and the like, and is used for solving the problem that when the current mobile equipment runs according to a pre-planned path, the current mobile equipment needs to stop running to switch navigation search to form a new path so as to cause unsmooth running of the current mobile equipment.
As shown in fig. 1, the obstacle avoidance method includes:
and S1, dividing the target path within a first preset distance L1 from the current position in the advancing direction of the preset teaching path in the target field into at least two sub paths.
As shown in fig. 2, before step S1, a site map is also obtained. In a preferred embodiment, the method further comprises: and S01, acquiring a prior map of the target site.
The method specifically comprises the following steps: the mobile device is driven/pushed to make a circle along the target site, and the position of the inherent obstacle is recorded through the self-configured laser scanning device, so that a map including the inherent obstacle, namely a priori map, is formed.
Before step S1 and after step S01, the method further comprises: and S02, generating a teaching path in the prior map, wherein the teaching path does not have the target obstacle.
The teaching path is a basic path in the subsequent repeated operation of the robot, namely the robot moves along the teaching path to realize the operation purpose of the robot, such as cleaning or transportation. And when there is no temporary intervening obstacle on the teaching path, the robot always moves along the teaching path when passing through the area. The teaching path can be any type of straight line or curve, and can be set close to a wall or be set far away from the wall. For convenience of description, the present embodiment takes the teaching path as a straight line as an example for exemplary description. Therefore, by generating the teaching path in the prior map, the movement reference path of the mobile device including only the fixed obstacle but not the target obstacle (temporary noise) can be specified with good effect.
It should be noted that the target obstacle in the present application is typically a small obstacle, such as a small object temporarily stored within 40 cm in diameter.
For example, as shown in fig. 3, step S1 may be: in the process that the mobile equipment moves along the teaching path, the mobile equipment moves to the point A on the path (always keeps moving), and based on the prior map, the path within a preset distance (such as within a range of 5 meters) in front of the point A is evenly divided into sub-paths with preset length (such as 30 cm in length) by adopting an image processing means.
And S2, judging whether each sub-path has the target obstacle.
Specifically, each sub-path is scanned by the laser device to determine whether a target obstacle is located in each sub-path.
And S3a, if yes, taking the sub-path with the target obstacle as a target sub-path and constructing a target avoidance path for the target sub-path. As shown in fig. 4, the constructing a target avoidance path for the target sub-path specifically includes:
s3a1, determining an avoidance direction based on the target sub-path;
in a preferred embodiment, step S3a1 is specifically:
at least one direction perpendicular to a straight line determined based on the start point and the end point of the target sub-path is determined as an avoidance direction. Because the target sub-path is only a part of the preset teaching path, the optional avoidance direction is quickly determined through the starting point and the end point of the target sub-path, the processing amount can be effectively reduced, and the processing speed is improved. The method is particularly suitable for the embodiment that the teaching path is a straight line, and the error is small.
S3a2, translating the target sub-path by a second preset distance L2 along the avoidance direction and forming a first avoidance path.
Further, as shown in fig. 5, step S3a2 specifically includes:
sb1, converting the prior map into a grid map and setting a cost value for the grid on the grid map, wherein the cost value of the grid on the grid map decreases in the direction away from the target obstacle.
In the grid map, the cost value of each grid is 0 to 255. The cost value of the unknown area is 255, the cost value of the obstacle is 254, the cost values of the obstacles outwards gradually attenuate, and the cost value of the blank area is 0.
By adopting the avoidance direction determined in the step S3a1, when the distance L0 between the preset teaching path and the wall surface does not exceed the third preset distance L3, the avoidance direction defaults to be away from the other side of the wall, and when the distance L0 between the preset teaching path and the wall surface exceeds the third preset distance L3, the avoidance direction has two selectable directions. The third predetermined distance L3 is related to the width of the mobile device and the mobile coverage area, and typically, the third predetermined distance L3 is half of the width of the mobile device.
The two cases are executed as follows:
sb2a, when the distance L0 between the preset teaching path and the wall surface does not exceed the third preset distance L3, the target sub-path translates to the side far away from the wall along the avoidance direction by the second preset distance L2 to form a first avoidance path. Wherein L0 is less than or equal to L2.
Sb2b1, when the distance L0 between the preset teaching path and the wall surface exceeds a third preset distance L3, constructing a second preset distance L2 that the target sub-path respectively translates towards two sides along a straight line where the avoidance direction is located so as to respectively form a third avoidance path and a fourth avoidance path; wherein L0 is more than or equal to L2.
Sb2b2, calculating total cost values of all grids in a third avoidance path and a fourth avoidance path respectively;
and Sb2b3, taking the avoidance path with the minimum total cost value in the third avoidance path and the fourth avoidance path as the first avoidance path.
It can be understood that, since the cost value of the grid represents the degree of the grid far away from the target obstacle, the more far away the grid is, the smaller the cost value is, and therefore, the more the avoidance path with the smaller total cost value is away from the target obstacle, or the shorter the length of the avoidance path with the smaller total cost value is, the shorter the time required for operation is. Therefore, the selection of the first avoidance path is facilitated by comparing the total cost value.
Preferably, the S3a2 further includes: sb3, the start point of the target sub-path is connected to the start point of the path after the translation, and the end point of the target sub-path is connected to the end point of the path after the translation, so as to form a first avoidance path, and an avoidance route can be generated efficiently. Illustratively, as shown in fig. 3, the obstacle avoidance line includes a line La connecting the start point and a line Lb connecting the end point of the target sub-path before and after the translation, and a line Lc connecting the start point and the end point after the translation.
The step is based on the mode that the prior map is converted into the grid map, the position of the obstacle can be rapidly determined, the avoidance direction can be effectively and rapidly judged, and the reaction time is shortened.
As a preferred embodiment, when the grid map is adopted, the step of determining whether each sub-path has the target obstacle in S2 may further include:
judging whether the outline of the mobile equipment covers the grids included by the obstacles by taking each preset point in each sub-path as a center;
if yes, the sub-path has a target obstacle; if not, no target obstacle exists in the sub-path. Therefore, whether the sub-path has the obstacle or not can be effectively judged, and the target sub-path with the obstacle is screened out to generate the avoidance path in advance.
And S3a3, judging whether the first avoidance path has the target obstacle. Similarly, the steps specifically include: judging whether the outline of the mobile equipment covers a grid included by the barrier by taking each point in the first avoidance path as a center; if yes, the first avoidance path is provided with a target obstacle.
And if the judgment result of the S3a3 is negative, taking the first avoidance path as a target avoidance path.
If the judgment result of the S3a3 is yes, a second avoidance path is continuously constructed for the target sub-path, where the second avoidance path and the first avoidance path are located on the same side of the target sub-path, and the second avoidance path is set far away from the target sub-path compared with the first avoidance path. If the second avoidance path does not have the target obstacle, the second avoidance path is used as the target avoidance path, so that the avoidance path can be continuously optimized, and complete obstacle avoidance can be realized.
Specifically, the second avoidance path is shifted to the same side as the first avoidance path on the basis of the constructed first avoidance path, and the shift direction and the shift amount are the same as those of the first avoidance path, and details of the specific scheme are omitted here.
And S4, replacing the target sub-path with a target avoidance path to avoid the target obstacle.
Specifically, on the basis of the teaching path, the starting point of the target sub-path starts to be offset to be the target avoiding path, the target sub-path moves to the starting point of the target sub-path after obstacle avoidance is completed and returns to the teaching path, and the target sub-path continues to move forward along the direction of the teaching path.
In a preferred embodiment, the number of excursions can be limited by setting an excursion amount threshold or excursion time threshold to avoid the mobile equipment to infinitely excursion for avoiding obstacles, and when the corresponding threshold range is exceeded, navigation is automatically switched to plan an avoidance path.
The obstacle avoidance method for the mobile equipment can enable the mobile equipment to immediately construct an avoidance route to avoid the obstacle aiming at the obstacle existing in the advancing direction of the mobile equipment in the moving process, so that the mobile equipment can effectively avoid the obstacle without stopping the vehicle.
Example two
In order to implement the obstacle avoidance method in the first embodiment, the present embodiment provides an obstacle avoidance apparatus for a mobile device, and as shown in fig. 6, the obstacle avoidance apparatus includes:
the segmentation module is used for segmenting a target path within a first preset distance L1 from the current position in the advancing direction of a preset teaching path in the target field into at least two sub-paths;
the judging module is used for judging whether each sub-path has a target obstacle or not; if so, taking the sub-path with the target obstacle as a target sub-path and constructing a target avoidance path for the target sub-path;
the judging module comprises:
the first judgment unit is used for determining an avoidance direction based on the target sub-path;
the first processing unit is used for translating the target sub-path by a second preset distance L2 along the avoidance direction and forming a first avoidance path;
the second processing unit is used for judging whether the first avoidance path has the target obstacle or not;
if not, taking the first avoidance path as a target avoidance path;
and the replacing module is used for replacing the target sub-path with a target avoiding path so as to avoid the target obstacle.
The first judging unit is used for: and determining at least one direction perpendicular to a straight line determined based on the starting point and the end point of the target sub-path as an avoidance direction.
Keep away barrier device still includes:
the first preprocessing module is used for acquiring a prior map of the target site;
the first processing unit includes:
the conversion unit is used for converting the prior map into a grid map and setting a cost value for a grid on the grid map, and the cost value of the grid on the grid map is decreased progressively along the direction far away from the target obstacle;
the first processing subunit is used for translating the target sub-path to a side far away from the wall by a second preset distance L2 along the avoidance direction and forming a first avoidance path when the distance L0 between the preset teaching path and the wall surface does not exceed a third preset distance L3; wherein L0 is not more than L2;
the first processing subunit is further configured to, when the distance L0 between the preset teaching path and the wall surface exceeds a third preset distance L3, construct a second preset distance L2 that the target sub-path respectively translates to both sides along a straight line where the avoidance direction is located, so as to respectively form a third avoidance path and a fourth avoidance path; wherein L0 is more than or equal to L2;
the system comprises a first avoidance path, a second avoidance path, a third avoidance path and a fourth avoidance path, wherein the first avoidance path and the second avoidance path are respectively connected with a grid;
and the avoidance path with the minimum total cost value in the third avoidance path and the fourth avoidance path is used as the first avoidance path.
The first processing unit further comprises:
and the second processing subunit is used for connecting the starting point of the target sub-path with the starting point of the path after translation, and connecting the end point of the target sub-path with the end point of the path after translation to form the first avoidance path.
The device further comprises:
a second preprocessing module, configured to generate the teach path in a prior map, where the teach path does not have the target obstacle.
The judging module is further configured to: judging whether the mobile equipment outline covers a grid included by the target obstacle by taking each preset point in each sub-path as a center;
if yes, the sub-path has a target obstacle;
and if not, the sub-path has no target obstacle.
The second processing unit is further configured to:
if so, continuing to construct a second avoidance path for the target sub-path, wherein the second avoidance path and the first avoidance path are positioned on the same side of the target sub-path, and the second avoidance path is far away from the target sub-path compared with the first avoidance path;
and if the second avoidance path does not have the target obstacle, taking the second avoidance path as a target avoidance path.
It should be noted that: the mobile device obstacle avoidance apparatus provided in the above embodiment is exemplified by only the division of the above functional modules when triggering the mobile device obstacle avoidance service, and in practical applications, the function allocation may be completed by different functional modules as needed, that is, the internal structure of the apparatus is divided into different functional modules to complete all or part of the above described functions. In addition, the mobile device obstacle avoidance apparatus provided in the above embodiment and the mobile device obstacle avoidance method provided in embodiment 1 belong to the same concept, that is, the apparatus is based on the method, and the specific implementation process thereof is described in detail in the method embodiment and is not described herein again.
EXAMPLE III
The present embodiment provides an electronic device, including:
one or more processors;
a memory for storing one or more programs;
the one or more programs, when executed by the one or more processors, cause the processors to perform the steps of the method of embodiment one.
Specifically, as shown in fig. 7, the electronic device includes a scanning device (e.g., a laser scanner), a processor, and a memory storing a computer program operable on the processor. Wherein the steps in embodiment 1 are implemented when the processor executes the computer program.
The electronic device provided in this embodiment and the embodiment of the mobile device obstacle avoidance method provided in embodiment 1 belong to the same concept, and specific implementation processes thereof are described in the method embodiment and are not described herein again.
Example four
As shown in fig. 8, the present embodiment provides a computer-readable storage medium 81, on which acomputer program 810 is stored, and when thecomputer program 810 is executed by theprocessor 82, the steps of the method provided in embodiment 1 are implemented, so that the obstacle avoidance method for the mobile device can be quickly and accurately executed, and the fluency of movement of the mobile device is implemented.
In particular, any combination of one or more computer-readable media may be employed. The computer readable storage medium may be a computer readable signal medium or a computer readable storage medium or any combination of the two. A computer readable storage medium may be, for example, but not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination of the foregoing. More specific examples (a non-exhaustive list) of the computer readable storage medium would include the following: an electrical connection having 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. In the context of this document, a computer readable storage medium may be any tangible medium that can contain, or store a program for use by or in connection with an instruction execution system, apparatus, or device.
A computer readable signal medium may include a propagated data signal with computer readable program code embodied therein, for example, in baseband or as part of a carrier wave. Such a propagated data signal may take many forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. A computer readable signal medium may also be any computer readable medium that is not a computer readable storage medium and that can communicate, propagate, or transport a program for use by or in connection with an instruction execution system, apparatus, or device.
Program code embodied on a computer readable storage medium may be transmitted using any appropriate medium, including but not limited to wireless, wireline, optical fiber cable, RF, etc., or any suitable combination of the foregoing.
In some embodiments, the clients, servers may communicate using any currently known or future developed network Protocol, such as HTTP (Hyper Text Transfer Protocol), and may interconnect with any form or medium of digital data communication (e.g., a communications network). Examples of communication networks include a local area network ("LAN"), a wide area network ("WAN"), the Internet (e.g., the Internet), and peer-to-peer networks (e.g., ad hoc peer-to-peer networks), as well as any currently known or future developed network.
The computer readable medium may be embodied in the electronic device; or may exist separately without being assembled into the electronic device.
Computer program code for carrying out operations for aspects of the present invention may be written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C + +, or the like, as well as conventional procedural programming languages, such as the "C" programming language or similar programming languages. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the case of a remote computer, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider).
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of code, which comprises one or more executable instructions for implementing the specified logical function(s). It should also be noted that, in some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
The units described in the embodiments of the present disclosure may be implemented by software or hardware. Where the name of an element does not in some cases constitute a limitation on the element itself.
The functions described herein above may be performed, at least in part, by one or more hardware logic components. For example, without limitation, exemplary types of hardware logic components that may be used include: field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuits (ASICs), Application Specific Standard Products (ASSPs), systems on a chip (SOCs), Complex Programmable Logic Devices (CPLDs), and the like.
In the context of this disclosure, 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.
It is to be noted that the foregoing is only illustrative of the preferred embodiments of the present invention and the technical principles employed. It will be understood by those skilled in the art that the present invention is not limited to the particular embodiments described herein, but is capable of various obvious changes, rearrangements and substitutions as will now become apparent to those skilled in the art without departing from the scope of the invention. Therefore, although the present invention has been described in greater detail by the above embodiments, the present invention is not limited to the above embodiments, and may include other equivalent embodiments without departing from the spirit of the present invention, and the scope of the present invention is determined by the scope of the appended claims.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, the system or system embodiments are substantially similar to the method embodiments and therefore are described in a relatively simple manner, and reference may be made to some of the descriptions of the method embodiments for related points.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the embodiments of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.
It should be understood that the above-mentioned embodiments are only illustrative of the technical concepts and features of the present invention, and are intended to enable those skilled in the art to understand the contents of the present invention and implement the present invention, and not to limit the scope of the present invention. All modifications made according to the spirit of the main technical scheme of the invention are covered in the protection scope of the invention.