Disclosure of Invention
The embodiment of the invention aims to provide a control method and device for robot travel, electronic equipment, media and a robot, so that the robot can safely and efficiently bypass obstacles.
To solve the above technical problems, an embodiment of the present invention provides a method for controlling travel of a robot, including: determining a target reference point for indicating a robot local traveling target in a pre-stored global path; correspondingly generating a plurality of simulation tracks according to a plurality of groups of sampling linear speeds and sampling angular speeds of the robot; the track length of the plurality of simulation tracks is greater than or equal to the distance between the robot and the target reference point; determining a target simulation track from the generated multiple simulation tracks according to the position relation between each simulation track and the obstacle and the position relation between each simulation track and the pre-stored global path; and adjusting the advancing linear speed and the angular speed of the robot according to the sampling linear speed and the sampling angular speed corresponding to the target simulation track.
The embodiment of the invention also provides a control device for robot travel, which comprises: the system comprises a target reference point determining module, an acquisition module, a generation module, a target simulation track determining module and an adjustment module; the target reference point determining module is used for determining a target reference point for indicating a robot local travelling target in a pre-stored global path; the acquisition module is used for acquiring a plurality of groups of sampling linear speeds and sampling angular speeds of the robot; the generation module is used for correspondingly generating a plurality of simulation tracks according to a plurality of groups of sampling linear speeds and sampling angular speeds, and the track length of the simulation tracks is greater than or equal to the distance between the robot and the target reference point; the target simulation track determining module is used for determining a target simulation track in the generated multiple simulation tracks according to the position relation between each simulation track and the obstacle and the position relation between each simulation track and the pre-stored global path; the adjustment module is used for adjusting the advancing linear speed and the angular speed of the robot according to the sampling linear speed and the sampling angular speed corresponding to the target simulation track.
The embodiment of the invention also provides electronic equipment, which comprises: at least one processor; and a memory communicatively coupled to the at least one processor; the memory stores instructions executable by the at least one processor to enable the at least one processor to perform a control method of robot travel.
The embodiment of the invention also provides a storage medium storing a computer program which when executed by a processor controls the robot to travel.
The embodiment of the invention also provides a robot which at least comprises the electronic equipment.
Compared with the prior art, the embodiment of the invention selects the position coordinate of the current position of the robot in front of a distance in the pre-stored global path as the target reference point of the current planned local path. According to the obtained multiple groups of sampling linear speeds and sampling angular speeds of the robot, multiple simulation tracks are correspondingly generated, the generated multiple simulation tracks are larger than or equal to the distance between the robot and a target reference point, the track length is set so that the simulation tracks which cannot bypass the obstacle can be overlapped with the position of the obstacle to a certain extent, and therefore when the target simulation track is determined according to the position relation between each simulation track and the obstacle and the position relation between each simulation track and a pre-stored global path, the simulation track which cannot bypass the obstacle is not used as the final determined target simulation track, and the final determined target simulation track can bypass the obstacle smoothly without adjusting the pose of the robot in the advancing process. After the target simulation track is determined, the advancing linear speed and the angular speed of the robot are adjusted to the sampling linear speed and the sampling angular speed corresponding to the target simulation track, so that the robot can bypass the obstacle according to the determined target simulation track, and the advancing safety of the robot is ensured.
In addition, the plurality of sets of sampling linear velocities and sampling angular velocities of the robot are obtained by: determining the value range of the curvature radius of the simulation track according to the value range of the simulation linear speed and the value range of the simulation angular speed of the robot in the simulation time; acquiring curvature radiuses with different values as sampling curvature radiuses according to the value range of the curvature radiuses; and respectively calculating to obtain a plurality of groups of corresponding sampling linear speeds and sampling angular speeds according to the plurality of sampling curvature radiuses. The curvature radius of different values respectively determines a group of sampling linear velocity and sampling angular velocity, and each group of sampling linear velocity and sampling angular velocity correspondingly generates a simulation track, so that the generated simulation tracks are not overlapped, the generation of an overlapped invalid track is avoided, and the effective rate of generating the simulation track is improved.
In addition, according to a plurality of sampling curvature radiuses, corresponding multi-group sampling linear velocity and sampling angular velocity are respectively calculated, and the method comprises the following steps: calculating the sampling linear velocity corresponding to each sampling curvature radius by using a speed reduction function through the maximum value and the minimum value of the preset linear velocity, the maximum value of the preset curvature radius, the maximum value of the sampling linear velocity and each sampling curvature radius; and calculating according to the sampling curvature radius and the corresponding sampling linear velocity to obtain the sampling angular velocity corresponding to the sampling curvature radius. The sampling linear speed calculated by the speed reduction function can regularly generate the sampling linear speed according to the value of the curvature radius, so that the linear track line speed of the robot is higher, and the linear speed is reduced according to the bending degree during turning, thereby ensuring that the robot can efficiently and safely travel.
In addition, according to the value range of the curvature radius, the curvature radius with a plurality of different values is obtained as the sampling curvature radius, which comprises the following steps: sampling the numerical value in the value range of the curvature radius by a preset sampling stepping value; the radius of curvature of the sampled value is taken as the sampled radius of curvature. Therefore, the generated simulation track can be an ordered track, and the follow-up debugging of the simulation track generation algorithm is facilitated.
In addition, according to the position relation between each simulation track and the obstacle and the position relation between each simulation track and the pre-stored global path, determining the target simulation track in the generated multiple simulation tracks comprises the following steps: generating a scoring function according to the position information of the obstacle and a pre-stored global path; scoring the generated multiple simulation tracks respectively through the generated scoring function; and taking the simulation track with the highest score as a target simulation track. The process of selecting the target simulation track from the plurality of simulation tracks is simpler and more convenient through the scoring function.
In addition, the chassis of the robot comprises an ackerman vehicle body chassis or a two-wheel differential vehicle body chassis.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the embodiments of the present invention will be described in detail below with reference to the accompanying drawings. However, those of ordinary skill in the art will understand that in various embodiments of the present invention, numerous technical details have been set forth in order to provide a better understanding of the present application. However, the technical solutions claimed in the present application can be implemented without these technical details and with various changes and modifications based on the following embodiments.
The following embodiments are divided for convenience of description, and should not be construed as limiting the specific implementation of the present invention, and the embodiments can be mutually combined and referred to without contradiction.
A first embodiment of the present invention relates to a control method of robot travel, including: determining a target reference point for indicating a robot local traveling target in a pre-stored global path; correspondingly generating a plurality of simulation tracks according to a plurality of groups of sampling linear speeds and sampling angular speeds of the robot; the track length of the plurality of simulation tracks is greater than or equal to the distance between the robot and the target reference point; determining a target simulation track from the generated multiple simulation tracks according to the position relation between each simulation track and the obstacle and the position relation between each simulation track and the pre-stored global path; and adjusting the advancing linear speed and the angular speed of the robot according to the sampling linear speed and the sampling angular speed corresponding to the target simulation track. Implementation details of the robot travel control method of the present embodiment are specifically described below, and the following is merely provided for convenience of understanding, and is not necessary to implement the present embodiment.
As shown in fig. 3, a first embodiment relates to a method for controlling robot travel, including:
step 301, determining a target reference point for indicating a robot local traveling target in a pre-stored global path.
Specifically, before the robot performs autonomous navigation in the field, the autonomous navigation field needs to be globally planned. The tester controls the robot to travel in the field in advance and records the position information of the obstacles in the field, or the tester directly imports the point cloud map of the field into the memory of the robot. After the position information of all the obstacles in the field is acquired, the robot plans the global travel route under the field to generate a global path. Planning a local traveling path on the basis of a global path which needs to be pre-stored during autonomous navigation of the robot. The robot determines the position of the robot in a point cloud map of the global path according to the position information of the robot, and determines a position on a path in front of the position of the robot in the global path, wherein the determined position is a target reference point and is used for indicating the robot to locally travel. For example, a position one meter away from the current position of the robot on the global path may be selected as the target reference point, and the manner of selecting the target reference point is not limited herein.
Step 302, a plurality of simulation tracks are correspondingly generated according to a plurality of groups of sampling linear speeds and sampling angular speeds of the robot.
Specifically, when the linear velocity and the angular velocity of the robot are determined, the travel locus of the robot can be determined. Therefore, when the simulation track is generated, multiple groups of sampling linear speeds and sampling angular speeds can be obtained, multiple simulation tracks are correspondingly generated according to the multiple groups of sampling linear speeds and sampling angular speeds, the generated multiple simulation tracks are shown in fig. 2, the track length of the generated multiple simulation tracks is greater than or equal to the distance between the robot and the target reference point, and the track length of the generated multiple simulation tracks can be set to be the same fixed value in practical application so as to simplify the complexity of the operation of generating the simulation tracks. The track length of the generated simulation track is set to ensure that the generated simulation track has a coincident part with the position of the obstacle when the generated simulation track cannot bypass the obstacle, thereby ensuring that the finally determined target simulation track can bypass the obstacle. When the local path is planned, if the obstacle influences the running of the robot and the position of the obstacle is between the robot and the target reference point, the distance between the robot and the obstacle is closer than the distance between the robot and the target reference point, so that a simulation track with the track length larger than or equal to the distance between the robot and the target reference point is generated, and the simulation track which does not overlap with the position of the obstacle can be ensured to safely bypass the obstacle.
In addition, the obtained multiple groups of sampling linear speeds and sampling angular speeds can be selected in a value range in a random mode, and the sampling linear speeds and the sampling angular speeds can be obtained through calculation according to the sampling curvature radius. The method for obtaining the sampling linear velocity and the sampling angular velocity through the calculation of the sampling curvature radius can be used for representing the radian of the track, and the radian of the corresponding track is different when the curvature radius values are different, so that the generated simulation tracks do not have coincident simulation tracks, and the effectiveness of the generated simulation tracks is ensured.
Step 303, determining a target simulation track from the generated multiple simulation tracks according to the position relation between each simulation track and the obstacle and the position relation between each simulation track and the pre-stored global path.
After the plurality of simulation tracks are generated, the simulation track with the overlapping part with the position of the obstacle can be eliminated, and the robot can pass through the position of the obstacle according to the traveling of the simulation track with the overlapping part with the position of the obstacle, so that the robot can collide with the obstacle. In addition, the simulation track with the highest path matching degree between the robot and the target reference point in the pre-stored global path in the multiple simulation tracks can be used as the target simulation track, so that the robot can safely bypass the obstacle on the premise of changing the running speed of the robot to the minimum extent.
In addition, the target simulation track can be selected according to the distances between the end points of the simulation tracks and the target reference points, the target simulation track can be selected according to various selection conditions such as the direction and the size of the linear speed and the angular speed of the robot, the selection conditions of the target simulation track are set according to the user requirements in practical application, for example, in order to ensure the travelling efficiency of the robot, the target simulation track closest to the target reference points can be selected; to ensure the safety of the robot traveling process, a simulation track with a certain distance from the position of the obstacle is selected as a target simulation track, and the like. In order to synthesize the selection conditions of the multiple target simulation tracks, a scoring function can be generated according to the multiple selection conditions in the description, each simulation track is scored through the scoring function, and the simulation track with the highest score is used as the target simulation track, so that the determination of the target simulation track is more efficient.
And step 304, adjusting the travelling linear speed and the angular speed of the robot according to the sampling linear speed and the sampling angular speed corresponding to the target simulation track. Specifically, after the target simulation track is determined, acquiring a sampling linear velocity and a sampling angular velocity corresponding to the target simulation track, judging whether the sampling linear velocity and the sampling angular velocity are the same as the current running linear velocity and the current running angular velocity of the robot, and if so, not adjusting the running linear velocity and the running angular velocity of the robot; if the current running linear speed and the running angular speed of the robot are different, the current running linear speed and the current running angular speed of the robot are adjusted, the adjusted running linear speed and the adjusted angular speed are the sampled linear speed and the sampled angular speed, the running track of the robot can be adjusted by controlling the running linear speed and the angular speed of the robot, the robot is controlled to run along the target simulation track, and the planning of the local path of the robot is completed once.
In addition, after the planning of the local path of the robot is completed once, the local path of the robot can be planned again according to the planned advancing process of the local path, so that the advancing route of the robot is continuously perfected, and the robot can advance in the field efficiently and safely. The period of the robot local path planning can be determined according to the algorithm of the generated simulation track, can be preset, and can be adjusted according to the running condition of the robot, for example, the running speed of the robot is not required to be adjusted after continuous multiple times of local path planning, the numerical value of the period can be properly increased, otherwise, the numerical value of the period can be properly reduced after multiple times of running speed adjustment is larger, so that the robot can run through a continuously perfect optimal path.
In addition, the control method for the running of the robot is suitable for robots with various chassis, such as robots with flexible chassis such as three degrees of freedom of spin in place or chassis, robots with relatively inflexible chassis such as an ackerman car body chassis or a two-wheel differential car body chassis, and the robot can safely bypass obstacles on the premise of normal running through a determined target simulation track without avoiding obstacles in a reversing mode in the running process.
Compared with the prior art, the embodiment of the invention selects the position coordinate of the current position of the robot in front of a distance in the pre-stored global path as the target reference point of the current planned local path. According to the obtained multiple groups of sampling linear speeds and sampling angular speeds of the robot, multiple simulation tracks are correspondingly generated, the length of the generated multiple simulation tracks is greater than or equal to the distance between the robot and a target reference point, and the track length is set so that the simulation tracks which cannot bypass the obstacle can be overlapped with the position of the obstacle to a certain extent, and therefore when the target simulation track is determined according to the position relation between each simulation track and the obstacle and the position relation between each simulation track and a pre-stored global path, the simulation track which cannot bypass the obstacle is not used as the final determined target simulation track, and the final determined target simulation track can bypass the obstacle smoothly without adjusting the pose of the robot in the advancing process. After the target simulation track is determined, the advancing linear speed and the angular speed of the robot are adjusted to the sampling linear speed and the sampling angular speed corresponding to the target simulation track, so that the robot can bypass the obstacle according to the determined target simulation track, and the advancing safety of the robot is ensured.
A second embodiment of the present invention relates to a control method of robot travel. In the second embodiment of the invention, a plurality of groups of sampling linear speeds and sampling angular speeds are determined by using the curvature radius, so that a plurality of simulation tracks generated according to the sampling linear speeds and the sampling angular speeds do not have repeated tracks, and the effectiveness of generating the simulation tracks is ensured. The specific flow is shown in fig. 4, and includes:
step 401, determining a target reference point for indicating a robot local traveling target in a pre-stored global path.
Step 402, determining the value range of the curvature radius of the simulation track according to the value range of the sampling linear velocity and the value range of the sampling angular velocity of the robot in the simulation time.
Specifically, the sampling linear velocity and the sampling angular velocity range of the robot in the simulation time are determined according to the current traveling linear velocity and the current traveling angular velocity of the robot. The simulation time is the time required for the robot to travel from the current position to the target reference point, for example, the robot is 3 meters from the target reference point, the current linear velocity of the robot is 1 meter per second, and the simulation time may be set to 3 seconds. The value of the simulation time can be set to be larger according to the actual demand, and the value of the simulation time is not limited. After the simulation time is determined, the maximum linear speed, the minimum linear speed, the maximum angular speed and the minimum angular speed which can be achieved by the robot in the simulation time can be calculated. For example, the maximum value and the minimum value of the sampling linear velocity can be calculated by the following formulas:
wherein v is
max Is the maximum value of the sampling linear velocity; v
min Is the minimum value of the sampling linear velocity; v
0 Is the current travelling linear speed; the vaccine is the maximum linear acceleration of the robot; t is simulation time;
is the maximum value of the preset linear velocity;
is a maximum value of a preset linear velocity.
Similarly, the maximum and minimum values of the sampling angular velocity can be calculated by the following formula:
w
max is the maximum value of the sampling angular velocity; w (w)
min Is the minimum value of the sampling angular velocity; w (w)
0 Is the current travelling angular velocity; aacc
max The maximum angular acceleration of the robot; t is simulation time;
is the maximum value of the preset angular velocity; />
Is the maximum value of the preset angular velocity.
After the value range of the sampling linear velocity and the value range of the sampling angular velocity in the simulation time are calculated, the maximum value of the curvature radius can be calculated according to the minimum value of the sampling linear velocity and the maximum value of the sampling angular velocity, and similarly, the maximum value of the curvature radius can be calculated according to the maximum value of the sampling linear velocity and the minimum value of the sampling angular velocity, as shown in the following formula,
wherein kappa is
max Is the maximum value of the curvature radius; kappa (kappa)
min Is the minimum value of the radius of curvature;
is the maximum value of the preset curvature radius.
Step 403, obtaining a plurality of curvature radii with different values as sampling curvature radii according to the value range of the curvature radii. Specifically, the curvature radius of different values can be randomly obtained as the sampling curvature radius by randomly sampling in the value range of the determined curvature radius; the curvature radius of different values can be orderly determined as the sampling curvature radius through a certain rule. For example, the formula kappa can be used by setting the step value dkappa n =min(kappa min +d kappa *n,kappa max ) Sampling is performed, and the value of the curvature radius of the sampling is expressed as kappa n Representing the value kappa from the calculated minimum radius of curvature min Starting sampling until the calculated value kappa of the maximum radius of curvature max The number of the collected curvature radius values is n, so that the collected curvature radius data has a certain rule, and the simulation track generated according to the curvature radius is an ordered track, so that the follow-up debugging of the simulation track generation algorithm is facilitated.
And step 404, respectively calculating to obtain a plurality of groups of corresponding sampling linear speeds and sampling angular speeds according to the plurality of sampling curvature radiuses.
And calculating the sampling linear velocity corresponding to each sampling curvature radius by using the speed reduction function through the preset maximum value and minimum value of the linear velocity, the preset maximum value of the curvature radius, the maximum value of the sampling linear velocity and each sampling curvature radius. The calculation formula of the deceleration function f (x) is as follows:
wherein f (kappa) n ) Is a radius of curvature of kappa n The corresponding sampling linear velocity of the simulated track is calculated to be kappa as the radius of curvature n After the sampling linear velocity of the corresponding simulation trace, multiplying the calculated sampling linear velocity by the value of the radius of curvature to obtain a sampling angular velocity, e.g. calculating the sampling angular velocity w using the following formula n =v n *kappa n ,w n For the calculated sampling angular velocity, v n For the above calculated sampling linear velocity f (kappa n ),kappa n The radius of curvature is sampled for the nth sample.
And step 405, correspondingly generating a plurality of simulation tracks according to the plurality of groups of sampling linear speeds and sampling angular speeds of the robot.
Step 406, scoring the generated multiple simulation tracks through the generated scoring function respectively; and taking the simulation track with the highest score as a target simulation track.
Step 407, adjusting the travelling linear speed and the angular speed of the robot according to the sampling linear speed and the sampling angular speed corresponding to the target simulation track.
Steps 405 to 407 correspond to steps 302 to 304 in the first embodiment one by one, and are not described herein.
In this embodiment, a plurality of simulation tracks are generated by using the sampling curvature radius, and the generated simulation tracks are not overlapped, so that the generation of an overlapped invalid track is avoided, and the effective rate of generating the simulation track is improved. The sampling linear speed and the angular speed are determined by utilizing a deceleration function when the simulation track is generated, so that the sampling linear speed can be regularly generated according to the magnitude of the value of the curvature radius, the linear track line speed of the robot is higher, and the linear speed is reduced according to the bending degree when the robot turns, and the robot can efficiently and safely travel.
The above steps of the methods are divided, for clarity of description, and may be combined into one step or split into multiple steps when implemented, so long as they include the same logic relationship, and they are all within the protection scope of this patent; it is within the scope of this patent to add insignificant modifications to the algorithm or flow or introduce insignificant designs, but not to alter the core design of its algorithm and flow.
A third embodiment of the present invention relates to a control device for robot travel, as shown in fig. 5, including: the target reference point determining module 51, the obtaining module 52, the generating module 53, the target simulation track determining module 54 and the adjusting module 55; the target reference point determining module 51 is configured to determine a target reference point for indicating a local travel target of the robot in a pre-stored global path; the acquisition module 52 is used for acquiring a plurality of groups of sampling linear speeds and sampling angular speeds of the robot; the generating module 53 is configured to correspondingly generate a plurality of simulation tracks according to a plurality of groups of sampling linear speeds and sampling angular speeds, where track lengths of the simulation tracks are the same and are greater than or equal to a distance between the robot and a target reference point; the target simulation track determining module 54 is configured to determine a target simulation track from the generated multiple simulation tracks according to the position relationship between each simulation track and the obstacle and the position relationship between each simulation track and the pre-stored global path; the adjustment module 55 is configured to adjust a traveling linear velocity and an angular velocity of the robot according to the sampling linear velocity and the sampling angular velocity corresponding to the target simulation track.
It is to be noted that this embodiment is a system embodiment corresponding to the first embodiment, and this embodiment can be implemented in cooperation with the first embodiment. The related technical details mentioned in the first embodiment are still valid in this embodiment, and in order to reduce repetition, they are not described here again. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the first embodiment.
It should be noted that, each module involved in this embodiment is a logic module, and in practical application, one logic unit may be one physical unit, or may be a part of one physical unit, or may be implemented by a combination of multiple physical units. In addition, in order to highlight the innovative part of the present invention, units less closely related to solving the technical problem presented by the present invention are not introduced in the present embodiment, but it does not indicate that other units are not present in the present embodiment.
A fourth embodiment of the present invention relates to a control device for robot travel. As shown in fig. 6, the acquisition module 52 in the fourth embodiment of the present invention includes: the curvature radius determination module 521 samples the curvature radius acquisition module 522 and the calculation module 523.
The curvature radius determining module 521 is configured to determine a value range of a curvature radius of the simulation track according to a value range of a simulation linear velocity and a value range of a simulation angular velocity of the robot in a simulation time; the sampling curvature radius obtaining module 522 is configured to obtain a plurality of curvature radii with different values as sampling curvature radii according to the value range of the curvature radii; the calculating module 523 is configured to calculate a plurality of sets of sampling linear velocities and sampling angular velocities according to the plurality of sampling radii of curvature.
In addition, the calculating module 523 is configured to calculate, by using the speed-down function, a sampling linear velocity corresponding to each sampling radius of curvature by a maximum value and a minimum value of a preset linear velocity, a maximum value of a preset radius of curvature, and a maximum value of a sampling linear velocity; and calculating according to the sampling curvature radius and the calculated corresponding sampling linear velocity to obtain the sampling angular velocity corresponding to the sampling curvature radius.
In addition, the sampling curvature radius obtaining module 522 is configured to sample a numerical value in a value range of the curvature radius with a preset sampling step value; the radius of curvature of the sampled value is taken as the sampled radius of curvature.
In addition, the target simulation track determining module 54 is configured to generate a scoring function according to the position information of the obstacle and the pre-stored global path; scoring the generated multiple simulation tracks respectively through the generated scoring function; and taking the simulation track with the highest score as a target simulation track.
Since the second embodiment corresponds to the present embodiment, the present embodiment can be implemented in cooperation with the second embodiment. The related technical details mentioned in the second embodiment are still valid in this embodiment, and the technical effects that can be achieved in the second embodiment are also achieved in this embodiment, so that the repetition is reduced, and the description is omitted here. Accordingly, the related-art details mentioned in the present embodiment can also be applied to the second embodiment.
A fifth embodiment of the invention relates to an electronic device, as shown in fig. 7, comprising at least one processor 701; and a memory 702 communicatively coupled to the at least one processor 701; the memory 702 stores instructions executable by the at least one processor 701, and the instructions are executed by the at least one processor 701 to enable the at least one processor 701 to perform the robot travel control method.
Where memory 702 and processor 701 are connected by a bus, the bus may comprise any number of interconnected buses and bridges, the buses connecting the various circuits of the one or more processors 701 and memory 702 together. The bus may also connect various other circuits such as peripherals, voltage regulators, and power management circuits, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface between the bus and the transceiver. The transceiver may be one element or may be a plurality of elements, such as a plurality of receivers and transmitters, providing a means for communicating with various other apparatus over a transmission medium. The data processed by the processor is transmitted over a wireless medium via an antenna, which further receives the data and transmits the data to the processor 701.
The processor 701 is responsible for managing the bus and general processing and may provide various functions including timing, peripheral interfaces, voltage regulation, power management, and other control functions. And memory 702 may be used to store data used by processor 701 in performing operations.
A sixth embodiment of the present invention relates to a computer-readable storage medium storing a computer program. The computer program implements the above-described method embodiments when executed by a processor.
A seventh embodiment of the present invention relates to a robot including at least the above-described electronic device. The robot may perform the control method of robot travel described above through an electronic device.
That is, it will be understood by those skilled in the art that all or part of the steps in implementing the methods of the embodiments described above may be implemented by a program stored in a storage medium, where the program includes several instructions for causing a device (which may be a single-chip microcomputer, a chip or the like) or a processor (processor) to perform all or part of the steps in the methods of the embodiments described herein. And the aforementioned storage medium includes: a U-disk, a removable hard disk, a Read-Only Memory (ROM), a random access Memory (RAM, random Access Memory), a magnetic disk, or an optical disk, or other various media capable of storing program codes.
It will be understood by those of ordinary skill in the art that the foregoing embodiments are specific examples of carrying out the invention and that various changes in form and details may be made therein without departing from the spirit and scope of the invention.