Detailed Description
In order that those skilled in the art will better understand the present invention, a technical solution in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in which it is apparent that the described embodiments are only some embodiments of the present invention, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the present invention without making any inventive effort, shall fall within the scope of the present invention.
It should be noted that the terms "first," "second," and the like in the description and the claims of the present invention and the above figures are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the invention described herein may be implemented in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
Example 1
Fig. 1 is a flowchart of a laser positioning method according to an embodiment of the present invention, where the method may be performed by a laser positioning device, the laser positioning device may be implemented in hardware and/or software, and the laser positioning device may be configured in a robot. As shown in fig. 1, the method includes:
step 101, driving the laser radar to scan a first origin into the environment.
In this embodiment, the laser radar is installed in the robot, and the laser radar is made up of a plurality of transmitters and receivers, and through the rotation of the motor, a plurality of wire harnesses are obtained, and the more the number of wires, the more perfect the object surface profile, so the greater the amount of data processed, and the higher the hardware requirement.
The type of the laser radar in the robot can be single-line laser radar or multi-line laser radar, the multi-line laser radar is designed to be an exponential level of 2, such as 4 lines, 8 lines, 16 lines, 32 lines, 64 lines, 128 lines and the like, the information collected by different wire harnesses is different, the robot operates in a specific environment (such as a factory area, a production line, a wharf and the like), and the type of the laser radar can be selected according to the requirements of business operations executed in the specific environment.
If the characteristic on the intensity change is not obvious in a specific environment, a plurality of reflective stickers (also called reflective sheets, reflective plates and the like) can be distributed and arranged through simple construction, namely, the material with higher reflectivity to the laser signal is convenient for creating the characteristic on the intensity change.
When the robot executes business operation in a specific environment, the laser radar is driven in real time to emit laser signals into the environment, so that point cloud data are scanned for the specific environment, and points in the point cloud data are marked as first original points.
Step 102, screening the characteristic representing the intensity change from the first original points as first characteristic points.
In the robot running environment, similar conditions may exist in macroscopically different things, but the subtle changes are still quite abundant, the subtle changes are sensitive to laser signals emitted by the laser radar, obvious changes are presented on the reflected intensity, so that first original points can be traversed, features (part of the first original points) representing the intensity changes are screened out from all the first original points, and the first original points representing the intensity changes are marked as first characteristic points.
In one embodiment of the present invention, step 102 may include the steps of:
step 1021, traversing the first reference point and the second reference point from the first original point.
In this embodiment, each first origin is traversed from a second first origin, and two first origins meeting a specific condition are screened from all the first origins and are denoted as a first reference point and a second reference point, where the first reference point and the second reference point are adjacent in scanning time sequence, and the first reference point and the second reference point are adjacent in geographic position.
In a specific implementation, each first origin has a coordinate (x, y, z) in a geographic location, and the current first origin is adjacent to the last first origin at the time sequence of scanning, then the coordinate may be used to calculate a first distance value (e.g., euclidean distance) between the current first origin and the last first origin in the geographic location.
Inquiring the angular resolution of the laser radar in the horizontal direction, adding a preset distance coefficient to the product between the first distance value and the angular resolution to obtain a neighbor threshold, wherein the neighbor threshold can be expressed as:
d=α+range*resolution
Wherein d is a neighbor threshold, alpha is a distance coefficient, the distance coefficient is a positive number, such as 0.1, range is a first distance value, and resolution is the angular resolution of the laser radar in the horizontal direction.
If the distance between the robot (namely the laser radar) and the target object is farther, the first original point is sparse, and at the moment, the neighbor threshold value is adaptively increased, so that the range of the neighbor can be enlarged, and the first original point of the neighbor can be screened out in the geographic position.
For a given first distance value, the first distance value may be compared to a corresponding neighbor threshold.
If the first distance value is smaller than the neighbor threshold, the current first original point and the last first original point are adjacent in geographic position, wherein the current first original point is a first reference point, and the last first original point is a second reference point.
Step 1022, calculating the difference between the intensity value of the first reference point and the intensity value of the second reference point as the intensity variation value.
In practical applications, each first origin has a reflected intensity value, so that for convenience of budget, the intensity value of each first origin may be normalized to a specified range, such as [0, 100], the intensity value of the first reference point is subtracted from the intensity value of the second reference point, and the difference between the two values is set as an intensity variation value delta_i.
Step 1023, if the intensity variation value is greater than a preset variation threshold value, determining the first reference point as a first feature point representing intensity variation, and setting the intensity variation value as a coding value of the first feature point.
Comparing the intensity variation value delta_i with a preset variation threshold (e.g. 30), if the intensity variation value delta_i is larger than the preset variation threshold, which indicates that the variation between the first reference point and the second reference point is larger in the reflected intensity value, the first reference point can be determined to be a first characteristic point representing the intensity variation, the intensity variation value delta_i is set as the coding value of the first characteristic point, and the first characteristic point is represented as result1 (x, y, z, delta_i).
And 103, marking the first original point into the electronic map corresponding to the environment.
In one case, the robot can drive the laser radar to scan the environment for multi-frame point cloud data in real time, superimpose the multi-frame point cloud data in real time, and create an electronic map of the environment, and in the process of creating the electronic map, mark a first original point (including a first characteristic point) into the electronic map, so as to realize recording and storage of the first original point (including the first characteristic point).
In another case, different robots can drive the laser radar to scan multi-frame point cloud data for the environment in advance, the multi-frame point cloud data are overlapped and an electronic map of the environment is created before the multi-frame point cloud data are stored in each robot, and the current robot marks a first original point (including a first characteristic point) into the electronic map to record and store the first original point (including the first characteristic point).
In this embodiment, the electronic map has point cloud data, denoted as a second origin, in which a second feature point characterizing the intensity variation is present.
In general, the semantics of the first feature point and the semantics of the second feature point are consistent, i.e., the manner in which the first feature point is screened from the first original point is consistent with the manner in which the second feature point is screened from the first original point.
Specifically, a third reference point and a fourth reference point are traversed in the second original point, the third reference point and the fourth reference point are adjacent in scanning time sequence, and the third reference point and the fourth reference point are adjacent in geographic position; calculating a difference value between the intensity value of the third reference point and the intensity value of the fourth reference point as an intensity variation value; if the intensity change value is larger than a preset change threshold value, determining a third reference point as a second characteristic point representing the intensity change, and setting the intensity change value as a coding value of the second characteristic point.
Further, on the time sequence of scanning, calculating a fourth distance value between the current second original point and the last second original point in the geographic position; inquiring the angular resolution of the laser radar in the horizontal direction; adding a preset distance coefficient to the product of the fourth distance value and the angle resolution to obtain a neighbor threshold; if the fourth distance value is smaller than the neighbor threshold, the current second original point and the last second original point are adjacent in geographic position, the current second original point is a third reference point, and the last second original point is a fourth reference point.
And 104, registering the first original point with the second original point to obtain a first target point.
In this embodiment, an ICP (ITERATIVE CLOSEST POINT ), NDT (Normal Distribution Transform, normal distribution transformation) or other point cloud registration algorithm may be used to register the first original point and the second original point to obtain a first target point, where the first target point includes three-dimensional coordinates and three-dimensional poses (yaw angle yaw, roll angle roll, pitch angle pitch), and then the first target point is expressed as (x, y, z, roll, pitch, yaw).
The point cloud registration (Point Cloud Registration) algorithm refers to inputting two point clouds Ps (source, for example, a first origin) and Pt (target, for example, a second origin), and outputting a transformation T (i.e., rotation R and translation T) such that the overlapping degree of T (Ps) and Pt is as high as possible.
The matching relationship of the two sets of point clouds is known in the point cloud registration, and the point cloud registration can be obtained through visual feature matching for visual three-dimensional points and nearest neighbor matching for Lei Dadian clouds.
After knowing the matching relationship of the point cloud, the transformation matrix is calculated through two steps of coarse registration (Coarse Registration) and fine registration (Fine Registration). Coarse registration refers to coarser registration under the condition that the transformation between two point clouds is completely unknown, and aims to mainly provide a better transformation initial value for fine registration; the refinement criterion is given by an initial transformation, which is further optimized to get a more accurate transformation. The coarse registration has an analytical solution, and the fine registration further optimizes the result in a nonlinear optimization mode.
And step 105, registering the first characteristic point and the second characteristic point to obtain a second target point.
In this embodiment, point cloud registration algorithms such as ICP and NDT may be used to register the first feature point and the second feature point to obtain a second target point, where the second target point includes three-dimensional coordinates and three-dimensional poses (yaw angle roll and pitch angle pitch), and then the second target point is denoted as result2 (x, y, z, roll, pitch, yaw).
Further, in the multi-point cloud registration algorithm, because the existence of the abnormal associated points cannot be removed, the accuracy of pose solving is affected, and therefore, the abnormal associated points can be removed according to the intensity change condition.
Specifically, the encoded value of the first feature point includes an intensity variation value, and the encoded value of the second feature point includes an intensity variation value, then a difference between the encoded value of the first feature point (i.e., the intensity variation value) and the encoded value of the second feature point (i.e., the intensity variation value) may be calculated as a variation difference value, and the variation difference value may be compared with a preset difference threshold (e.g., 30).
If the change difference value is larger than the preset difference threshold value, the difference of the intensity change conditions is larger, and the second target point belongs to an abnormal correlation point, the second target point is removed, and the positioning accuracy is improved.
And 106, generating a positioning point for the environment according to the first target point and the second target point.
In practical application, the first target point represents the registration condition of the point cloud data on the pose (coordinate and pose), the second target point represents the registration condition of the point cloud data on the laser emission intensity change, and under the condition of assisting the first target point of the second target point, a positioning point can be generated for the environment, namely a point for positioning, so that decision references are provided for subsequent navigation and other business operations.
In one embodiment of the present invention, step 106 may include the steps of:
Step 1061, calculating a first matching value between the first original point and the second original point at the time of registration.
In this embodiment, in the process of registering the first original point and the second original point, a first matching value between the first original point and the second original point may be calculated, to represent the matching degree between the first original point and the second original point.
Illustratively, for each first origin, calculating a smallest second distance value between the first origin and any second origin; taking the negative number of the ratio between the square of the second distance value and a preset first registration coefficient as a first reference value; and generating a first sub-score by taking the natural number as a base number and the first reference value as an index.
Then, the first sub-score is expressed as:
wherein score is a first sub-score, d is a minimum second distance value between the first original point and any second original point, δ is a first registration coefficient, and the first registration coefficient is a positive number, for example, 0.1.
The average value of the first sub-scores (i.e. the sum of the first sub-scores of all the first target points divided by the total number of first target points) is calculated as a first matching value between the first origin and the second origin at the time of registration.
Step 1062, calculating a second matching value between the first feature point and the second feature point at the time of registration.
In this embodiment, in the process of registering the first feature point and the second feature point, a second matching value between the first feature point and the second feature point may be calculated, which characterizes the matching degree between the first feature point and the second feature point.
For each first feature point, a minimum third distance value between the first feature point and any one of the second feature points is calculated; taking the negative number of the ratio between the square of the third distance value and a preset second registration coefficient as a second reference value; and generating a second sub-fraction by taking the natural number as a base number and the second reference value as an index.
Then, the second sub-score is expressed as:
Wherein score is a second sub-score, d is a smallest second distance value between the first feature point and any second feature point, δ is a second registration coefficient, and the second registration coefficient is a positive number, for example, 0.1.
An average value of the second sub-scores (i.e., the sum of the first sub-scores of all the first feature points divided by the total number of the first feature points) is calculated as a second matching value between the first feature points and the second feature points at the time of registration.
And 1063, performing adaptive complementary filtering processing on the first target point and the second target point by using the first matching value and the second matching value to obtain a positioning point of the environment.
In this embodiment, the laser point cloud in the environment and the variation condition of the laser point cloud in the reflection intensity are used as the background, and the laser point cloud in the background is used as a dynamic constraint term to alleviate the problem of sparseness of the laser point cloud in the background, so that the first target point and the second target point are subjected to self-adaptive complementary filtering processing by using the first matching value and the second matching value, so that a positioning point with high environment precision is obtained, the robustness and smoothness of positioning can be improved, and anomalies such as jitter and jump of positioning pose can be alleviated or avoided.
Illustratively, calculating a product between the first matching value and the first target point to obtain a first tuning point; calculating the product between the second matching value and the second target point to obtain a second weight adjusting point; adding the first weight adjustment point and the second weight adjustment point to obtain a third weight adjustment point; adding the first matching value and the second matching value to obtain a filter coefficient; and calculating the ratio between the third weight adjusting point and the filter coefficient to obtain a positioning point of the environment.
In this example, the anchor points are represented as follows:
Wherein result is a locating point, result1 is a first target point, result2 is a second target point, points_score is a first matching value, and feature_score is a second matching value.
In the embodiment, the laser radar is driven to scan a first origin into the environment; screening the characteristic representing the intensity change from the first original points to serve as first characteristic points; marking the first original point into an electronic map corresponding to the environment, wherein the electronic map is provided with a second original point, and the second original point is provided with a second characteristic point for representing the intensity change; registering the first original point with the second original point to obtain a first target point; registering the first characteristic point and the second characteristic point to obtain a second target point; and generating a positioning point for the environment according to the first target point and the second target point. The reflective patch is supplemented, more strength change features are provided in the environment to assist in positioning, original information in the environment can be fully utilized to generate dense positioning features, and the positioning features are stable and reliable, so that the positioning accuracy is improved.
Example two
Fig. 2 is a schematic structural diagram of a laser positioning device according to a second embodiment of the present invention. As shown in fig. 2, the apparatus includes:
a laser scanning module 201, configured to drive the laser radar to scan a first origin into the environment;
an intensity variation feature screening module 202, configured to screen the first original point for features characterizing intensity variation as a first feature point;
The point cloud marking module 203 is configured to mark the first original point into an electronic map corresponding to the environment, where the electronic map has a second original point, and the second original point has a second feature point representing an intensity change;
an original point registration module 204, configured to register the first original point with the second original point to obtain a first target point;
a feature point registration module 205, configured to register the first feature point with the second feature point to obtain a second target point;
And the positioning point generating module 206 is configured to generate a positioning point for the environment according to the first target point and the second target point.
In one embodiment of the present invention, the intensity variation feature screening module 202 includes:
The reference point traversing module is used for traversing a first reference point and a second reference point in the first original point, wherein the first reference point and the second reference point are adjacent in scanning time sequence, and the first reference point and the second reference point are adjacent in geographic position;
An intensity variation value calculation module, configured to calculate, as an intensity variation value, a difference between an intensity value of the first reference point and an intensity value of the second reference point;
And the characteristic point determining module is used for determining the first reference point as a first characteristic point representing the intensity change if the intensity change value is larger than a preset change threshold value, and setting the intensity change value as the coding value of the first characteristic point.
In one embodiment of the present invention, the reference point traversal module includes:
the scanning distance calculation module is used for calculating a first distance value between the current first original point and the last first original point in a geographic position on the scanning time sequence;
the angular resolution query module is used for querying the angular resolution of the laser radar in the horizontal direction;
the neighbor threshold calculation module is used for adding a preset distance coefficient to the product between the first distance value and the angular resolution to obtain a neighbor threshold;
and the reference point determining module is used for determining that the current first original point and the last first original point are adjacent in geographic position if the first distance value is smaller than the adjacent threshold value, wherein the current first original point is a first reference point, and the last first original point is a second reference point.
In one embodiment of the present invention, further comprising:
a variation difference value calculation module, configured to calculate a difference value between the encoded value of the first feature point and the encoded value of the second feature point as a variation difference value;
and the target point eliminating module is used for eliminating the second target point if the change difference value is larger than a preset difference threshold value.
In one embodiment of the present invention, the anchor point generation module 206 includes:
a first matching value calculation module, configured to calculate a first matching value between the first original point and the second original point during registration;
a second matching value calculation module, configured to calculate a second matching value between the first feature point and the second feature point during registration;
and the self-adaptive complementary filtering module is used for carrying out self-adaptive complementary filtering processing on the first target point and the second target point by using the first matching value and the second matching value to obtain a positioning point of the environment.
In one embodiment of the present invention, the first matching value calculation module is further configured to:
Calculating a minimum second distance value between the first original point and any one of the second original points for each of the first original points;
taking the negative number of the ratio between the square of the second distance value and a preset first registration coefficient as a first reference value;
generating a first sub-fraction by taking the natural number as a base number and the first reference value as an index;
An average value of the first sub-scores is calculated as a first matching value at the time of registration between the first original point and the second original point.
In one embodiment of the present invention, the second matching value calculation module is further configured to:
Calculating a minimum third distance value between the first feature point and any one of the second feature points for each first feature point;
Taking the negative number of the ratio between the square of the third distance value and a preset second registration coefficient as a second reference value;
generating a second sub-fraction by taking the natural number as a base number and the second reference value as an index;
And calculating an average value of the second sub-scores as a second matching value between the first characteristic points and the second characteristic points in registration.
In one embodiment of the invention, the adaptive complementary filtering module is further configured to:
Calculating the product between the first matching value and the first target point to obtain a first weight adjustment point;
Calculating the product between the second matching value and the second target point to obtain a second weight adjusting point;
adding the first weight adjustment point and the second weight adjustment point to obtain a third weight adjustment point;
Adding the first matching value and the second matching value to obtain a filter coefficient;
and calculating the ratio between the third weight adjustment point and the filter coefficient to obtain a positioning point of the environment.
The laser positioning device provided by the embodiment of the invention can execute the laser positioning method provided by any embodiment of the invention, and has the corresponding functional modules and beneficial effects of executing the laser positioning method.
Example III
Fig. 3 shows a schematic structural diagram of a robot 10 that may be used to implement an embodiment of the present invention. Robots are intended to represent various forms of digital computers, such as laptops, desktops, workstations, personal digital assistants, servers, blade servers, mainframes, and other appropriate computers. Robots may also represent various forms of mobile devices such as personal digital assistants, cellular telephones, smart phones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions, are meant to be exemplary only, and are not meant to limit implementations of the inventions described and/or claimed herein.
As shown in fig. 3, the robot 10 includes at least one processor 11, and a memory, such as a Read Only Memory (ROM) 12, a Random Access Memory (RAM) 13, etc., communicatively connected to the at least one processor 11, in which the memory stores a computer program executable by the at least one processor, and the processor 11 may perform various appropriate actions and processes according to the computer program stored in the Read Only Memory (ROM) 12 or the computer program loaded from the storage unit 18 into the Random Access Memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the robot 10 may also be stored. The processor 11, the ROM 12 and the RAM 13 are connected to each other via a bus 14. An input/output (I/O) interface 15 is also connected to bus 14.
The various components in the robot 10 are connected to the I/O interface 15, including: an input unit 16 such as a keyboard, a mouse, etc.; an output unit 17 such as various types of displays, speakers, and the like; a storage unit 18 such as a magnetic disk, an optical disk, or the like; and a communication unit 19 such as a network card, modem, wireless communication transceiver, etc. The communication unit 19 allows the robot 10 to exchange information/data with other devices via a computer network, such as the internet, and/or various telecommunication networks.
The processor 11 may be a variety of general and/or special purpose processing components having processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a Central Processing Unit (CPU), a Graphics Processing Unit (GPU), various specialized Artificial Intelligence (AI) computing chips, various processors running machine learning model algorithms, digital Signal Processors (DSPs), and any suitable processor, controller, microcontroller, etc. The processor 11 performs the various methods and processes described above, such as the laser positioning method.
In some embodiments, the laser positioning method may be implemented as a computer program tangibly embodied on a computer-readable storage medium, such as the storage unit 18. In some embodiments, part or all of the computer program may be loaded and/or installed onto the robot 10 via the ROM 12 and/or the communication unit 19. When a computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the laser positioning method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform the laser positioning method by any other suitable means (e.g. by means of firmware).
Various implementations of the systems and techniques described here above may be implemented in digital electronic circuitry, integrated circuit systems, field Programmable Gate Arrays (FPGAs), application Specific Integrated Circuits (ASICs), application Specific Standard Products (ASSPs), systems On Chip (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and/or combinations thereof. These various embodiments may include: implemented in one or more computer programs, the one or more computer programs may be executed and/or interpreted on a programmable system including at least one programmable processor, which may be a special purpose or general-purpose programmable processor, that may receive data and instructions from, and transmit data and instructions to, a storage system, at least one input device, and at least one output device.
A computer program for carrying out methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus, such that the computer programs, when executed by the processor, cause the functions/acts specified in the flowchart and/or block diagram block or blocks to be implemented. The computer program 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 the present invention, a computer-readable storage medium may be a tangible medium that can contain, or store a computer program for use by or in connection with an instruction execution system, apparatus, or device. The computer readable storage 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. Alternatively, the computer readable storage medium may be a machine readable signal medium. 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.
To provide for interaction with a user, the systems and techniques described here can be implemented on a robot 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 pointing device (e.g., a mouse or trackball) through which a user can provide input to the robot. Other kinds of devices may also be used to provide for interaction with a user; for example, feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form, including acoustic input, speech input, or tactile input.
The systems and techniques described here can be implemented in a computing system that includes a background 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 background, 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), blockchain networks, and the internet.
The computing system may include clients and servers. The client and server are typically 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. The server can be a cloud server, also called a cloud computing server or a cloud host, and is a host product in a cloud computing service system, so that the defects of high management difficulty and weak service expansibility in the traditional physical hosts and VPS service are overcome.
Example IV
Embodiments of the present invention also provide a computer program product comprising a computer program which, when executed by a processor, implements a laser positioning method as provided by any of the embodiments of the present invention.
Computer program product in the implementation, the computer program code for carrying out operations of the present invention may be written in one or more programming languages, including an object oriented programming language such as Java, smalltalk, C ++ and 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 kind of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or may be connected to an external computer (for example, through the Internet using an Internet service provider).
It should be appreciated that various forms of the flows shown above may be used to reorder, add, or delete steps. For example, the steps described in the present invention may be performed in parallel, sequentially, or in a different order, so long as the desired results of the technical solution of the present invention are achieved, and the present invention is not limited herein.
The above embodiments do not limit the scope of the present invention. It will be apparent to those skilled in the art that various modifications, combinations, sub-combinations and alternatives are possible, depending on design requirements and other factors. Any modifications, equivalent substitutions and improvements made within the spirit and principles of the present invention should be included in the scope of the present invention.