Disclosure of Invention
To solve the above technical problem or at least partially solve the above technical problem, the present application provides a gait control method, apparatus, electronic device and storage medium.
In a first aspect, the present application provides a gait control method, the method comprising:
acquiring a thigh gait time sequence and a shank gait time sequence collected at the thigh and the shank of a user;
calculating a posture angle time sequence of the knee joint of the user according to the thigh gait time sequence and the shank gait time sequence;
inputting the attitude angle time sequence into a preset gait prediction model, and predicting gait data of the user at the next moment by using the preset gait prediction model;
and generating a control instruction for controlling the gait of the lower limb exoskeleton robot according to the predicted gait data.
Optionally, the calculating a posture angle time series of the knee joint of the user according to the thigh gait time series and the shank gait time series includes:
respectively calculating a first included angle of the thigh relative to the vertical direction on the sagittal plane according to thigh gait data corresponding to each acquisition moment in the thigh gait time sequence to obtain a first included angle time sequence;
respectively calculating a second included angle of the shank on the sagittal plane relative to the vertical direction according to shank gait data corresponding to each acquisition moment in the shank gait time sequence to obtain a second included angle time sequence;
and calculating the posture angle time sequence of the knee joint of the user according to the first included angle time sequence and the second included angle time sequence.
Optionally, the calculating the posture angle time series of the knee joint of the user according to the first included angle time series and the second included angle time series includes:
calculating the difference value of the first included angle and the second included angle according to the first included angle and the second included angle corresponding to each acquisition time in the first included angle time sequence and the second included angle time sequence one by one;
and determining the absolute value of the difference value as an attitude angle corresponding to the acquisition moment to obtain an attitude angle time sequence.
Optionally, the calculating a posture angle time series of the knee joint of the user according to the thigh gait time series and the shank gait time series further includes:
carrying out median filtering on the thigh gait data to obtain thigh gait data after median filtering;
performing median filtering on the shank gait data to obtain shank gait data after median filtering;
and executing the step of respectively calculating a first included angle of the thigh relative to the vertical direction on the sagittal plane according to thigh gait data corresponding to each acquisition moment in the thigh gait time sequence to obtain a first included angle time sequence.
Optionally, the calculating a posture angle time series of the knee joint of the user according to the thigh gait time series and the shank gait time series further includes:
and after determining the absolute value of the difference as an attitude angle corresponding to the acquisition time to obtain an attitude angle time sequence, performing phase space reconstruction on the attitude angle time sequence to obtain an attitude angle time sequence after the phase space reconstruction.
Optionally, the method further includes:
acquiring thigh gait training time sequences and shank gait training time sequences in a plurality of gait cycles acquired at thighs and shanks of a plurality of training objects;
calculating posture angle training time sequences of knee joints of a plurality of training objects in a plurality of gait cycles according to the thigh gait training time sequence and the shank gait training time sequence;
performing phase space reconstruction on the attitude angle training time sequence;
and training the preset gait prediction model by using the attitude angle training time sequence after the phase space reconstruction until the preset gait prediction model is converged.
Optionally, the thigh gait time sequence and the shank gait time sequence include: and one or more of the three-axis gyroscope data, the three-axis acceleration data and the three-axis angle data are arranged according to the sequence of the acquisition time.
In a second aspect, the present application provides a gait control device, the device comprising:
the acquisition module is used for acquiring a thigh gait time sequence and a shank gait time sequence which are acquired at the thigh and the shank of the user;
the computing module is used for computing the time sequence of the posture angle of the knee joint of the user according to the thigh gait time sequence and the shank gait time sequence;
the prediction module is used for inputting the attitude angle time sequence into a preset gait prediction model and predicting the predicted gait data of the user at the next moment by using the preset gait prediction model;
and the generating module is used for generating a control instruction for controlling the gait of the lower limb exoskeleton robot according to the predicted gait data.
Optionally, the calculation module includes:
the first calculating unit is used for respectively calculating a first included angle of the thigh relative to the vertical direction on the sagittal plane according to thigh gait data corresponding to each acquisition moment in the thigh gait time sequence to obtain a first included angle time sequence;
the second calculation unit is used for respectively calculating a second included angle of the shank on the sagittal plane relative to the vertical direction according to shank gait data corresponding to each acquisition moment in the shank gait time sequence to obtain a second included angle time sequence;
and the third calculating unit is used for calculating the posture angle time sequence of the knee joint of the user according to the first included angle time sequence and the second included angle time sequence.
Optionally, the third computing unit is further configured to:
calculating the difference value of the first included angle and the second included angle according to the first included angle and the second included angle corresponding to each acquisition time in the first included angle time sequence and the second included angle time sequence one by one;
and determining the absolute value of the difference value as an attitude angle corresponding to the acquisition moment to obtain an attitude angle time sequence.
Optionally, the calculation module further includes:
the first median filtering unit is used for performing median filtering on the thigh gait data to obtain thigh gait data after the median filtering;
and the second median filtering unit is used for performing median filtering on the shank gait data to obtain the shank gait data subjected to median filtering.
Optionally, the calculation module further includes:
and the phase space reconstruction unit is used for performing phase space reconstruction on the attitude angle time sequence to obtain an attitude angle time sequence after determining the absolute value of the difference as an attitude angle corresponding to the acquisition time to obtain the attitude angle time sequence after the phase space reconstruction.
Optionally, the apparatus further comprises:
the training data acquisition module is used for acquiring thigh gait training time sequences and shank gait training time sequences in a plurality of gait cycles acquired at thighs and shanks of a plurality of training objects;
the training data calculation module is used for calculating posture angle training time sequences of knee joints of a plurality of training objects in a plurality of gait cycles according to the thigh gait training time sequence and the shank gait training time sequence;
the training data reconstruction module is used for carrying out phase space reconstruction on the attitude angle training time sequence;
and the training module is used for training the preset gait prediction model by using the attitude angle training time sequence after the phase space reconstruction until the preset gait prediction model is converged.
Optionally, the thigh gait time sequence and the shank gait time sequence include: and one or more of the three-axis gyroscope data, the three-axis acceleration data and the three-axis angle data are arranged according to the sequence of the acquisition time.
In a third aspect, the present application provides an electronic device, including a processor, a communication interface, a memory, and a communication bus, where the processor, the communication interface, and the memory complete mutual communication through the communication bus;
a memory for storing a computer program;
a processor for implementing the gait control method according to any one of the first aspect when executing the program stored in the memory.
In a fourth aspect, the present application provides a computer-readable storage medium having a program of a gait control method stored thereon, which when executed by a processor, implements the steps of the gait control method according to any one of the first aspect.
Compared with the prior art, the technical scheme provided by the embodiment of the application has the following advantages:
according to the embodiment of the invention, a thigh gait time sequence and a shank gait time sequence collected at the thigh and the shank of a user are firstly obtained, then a posture angle time sequence of the knee joint of the user is calculated according to the thigh gait time sequence and the shank gait time sequence, then the posture angle time sequence is input into a preset gait prediction model, predicted gait data of the user at the next moment is predicted by using the preset gait prediction model, and finally a control instruction for controlling the gait of the lower limb exoskeleton robot can be generated according to the predicted gait data.
The embodiment of the invention can predict the predicted gait data at the next moment by utilizing the preset gait prediction model, and then generate the control instruction for controlling the gait of the lower limb exoskeleton robot according to the predicted gait data.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments 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 some embodiments of the present application, but not all 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 the prior art, physical sensors are used for collecting human body kinematics or dynamic data in real time to be used as input of an exoskeleton control system. This approach typically results in the exoskeleton's movements lagging behind those of the wearer due to the time delay in information transfer. In addition, a human body biological signal such as an electroencephalogram (EEG) signal or an Electromyogram (EMG) signal is measured through a perception type sensor to serve as the input of the exoskeleton control system, although the biological signal is ahead of the human body movement and can solve the problem of movement lag, the step of collecting the physiological signal is complex, the requirement on a tested object is high, the EEG and EMG signals are unstable, and the interference of static electricity, sweat and the like is easily caused. To this end, embodiments of the present invention provide a gait control method, an apparatus, an electronic device and a storage medium, as shown in fig. 1, where the gait control method may be applied to a lower extremity exoskeleton robot sensing system, and the gait control method may include the following steps:
step S101, acquiring a thigh gait time sequence and a shank gait time sequence collected at the thigh and the shank of a user;
in the embodiment of the invention, a gait acquisition device can be used for acquiring a thigh gait time sequence and a shank gait time sequence, and the gait acquisition device can comprise a three-axis gyroscope, a three-axis acceleration sensor, a three-axis angle sensor and the like. The thigh gait time sequence and the shank gait time sequence comprise: and one or more of the three-axis gyroscope data, the three-axis acceleration data and the three-axis angle data are arranged according to the sequence of the acquisition time.
In this step, the user can wear the gait collecting devices on the lateral surface of the middle part of the thigh and the lateral surface of the middle part of the shank according to the requirement, the wearing position of the gait collecting device can be as shown in fig. 2, the gait collecting device 1 worn on the thigh of the user can collect the time sequence of the thigh gait, and the time sequence of the thigh gait comprises: the thigh gait data are arranged according to the sequence of the acquisition time; the gait acquisition device 2 worn on the lower leg can acquire a lower leg gait time sequence, and the lower leg gait time sequence comprises the following steps: and (4) arranging the lower leg gait data according to the sequence of the acquisition time.
In the embodiment of the invention, the thigh gait time sequence and the shank gait time sequence are digital signals and can be acquired from the gait acquisition device in a wired or wireless mode respectively.
Step S102, calculating a posture angle time sequence of the knee joint of the user according to the thigh gait time sequence and the shank gait time sequence;
in this step, thigh gait data in the thigh gait time sequence may be sorted according to the order of the acquisition times, shank gait data in the shank gait time sequence may be sorted according to the order of the acquisition times, thigh gait data and shank gait data corresponding to each acquisition time may be calculated to obtain a posture angle of the knee joint of the user, and posture angles of the knee joint of the user may be sorted according to the order of the acquisition times, so as to obtain a posture angle time sequence.
And step S103, inputting the attitude angle time sequence into a preset gait prediction model, and predicting the predicted gait data of the user at the next moment by using the preset gait prediction model.
In an embodiment of the present invention, the preset gait prediction model is a time series-based least squares support vector machine regression model. Because the least square support vector machine regression model based on the time sequence belongs to the nonlinear support vector machine model, the nonlinear problem is converted into the linear problem by utilizing the nonlinear support vector machine model, the calculated amount is reduced, and meanwhile, the prediction precision is increased.
According to the nonlinear support vector machine theory, the mathematical model can be obtained as follows:
wherein, W is the normal vector of the hyperplane, and b is the intercept of the hyperplane.
The constraint conditions that are satisfied are as follows:
s.t.yif(xi)≥1-i(i=1,2,3…m)
the constraint condition is that the distance between the sample point and the decision boundary is greater than or equal to 1, and the hard boundary svm can be converted into an equivalent quadratic convex optimization problem to be solved.
The lagrange multiplier is a relaxation variable and C is a penalty factor.
The support vector machine is troublesome in solving a by using a Lagrange multiplier, the calculated amount is large, and the requirement of the exoskeleton robot sensing system can quickly and timely reflect the motion state of the lower limbs of the human body. Therefore, the support vector machine cannot satisfy the condition when predicting the motion state of the lower limbs of the human body.
For the constraint condition in the algorithm model to become equal sign:
s.t.yif(xi)=1-i(i=1,2,3…m)
the regression support vector machine is different from the traditional regression method in that the regression support vector machine is established on the basis of a VC (virtual channel) dimensional theory and a structure risk minimum principle of a statistical learning theory, is equivalent to minimizing the upper limit of the total error, not only minimizes the training error, and further achieves higher prediction accuracy.
And step S104, generating a control command for controlling the gait of the lower limb exoskeleton robot according to the predicted gait data.
As shown in fig. 4, after the lower limb exoskeleton robot sensing system senses the movement intention of the lower limbs of the human body, the control instruction is transmitted to the control system of the exoskeleton robot for judgment, the control system gives a signal to control the exoskeleton robot executing mechanism, and the executing mechanism drives the exoskeleton mechanical structure to move, so that the assistance effect is achieved. Meanwhile, the perception system of the exoskeleton robot predicts the movement intention of the lower limbs of the human body at the next moment through a gait prediction algorithm according to the existing data of the movement state of the lower limbs of the human body, and provides a control reference for the control system of the exoskeleton robot.
According to the embodiment of the invention, a thigh gait time sequence and a shank gait time sequence collected at the thigh and the shank of a user are firstly obtained, then a posture angle time sequence of the knee joint of the user is calculated according to the thigh gait time sequence and the shank gait time sequence, then the posture angle time sequence is input into a preset gait prediction model, predicted gait data of the user at the next moment is predicted by using the preset gait prediction model, and finally a control instruction for controlling the gait of the lower limb exoskeleton robot can be generated according to the predicted gait data.
The embodiment of the invention can predict the predicted gait data at the next moment by utilizing the preset gait prediction model, and then generate the control instruction for controlling the gait of the lower limb exoskeleton robot according to the predicted gait data.
In still another embodiment of the present invention, as shown in fig. 5, step S102 may include the steps of:
step S201, respectively calculating a first included angle (such as an angle theta in fig. 3) of the thigh relative to the vertical direction on the sagittal plane according to thigh gait data corresponding to each collection time in the thigh gait time sequenceHipWhen the thigh is in front of the vertical axis, the angle θHipIs positive, whereas the angle thetaHipNegative), obtaining a first included angle time sequence;
for example, the thigh gait time series may include the following table 1:
TABLE 1
Time of acquisition
|
Thigh gait data
|
10:01:01
|
Thigh gait data a
|
10:01:02
|
Thigh gait data b
|
10:01:03
|
Thigh gait data c
|
10:01:04
|
Thigh gait data d
|
10:01:05
|
Thigh gait data e |
In this step, the acquisition time may be first 10: 01: 01, calculating a first included angle of the thigh relative to the vertical direction based on the thigh gait data a, and then acquiring the data at the time of 10: 01: 02, calculating a first included angle … … of the thigh relative to the vertical direction based on the thigh gait data b, and acquiring the data at the time of 10: 01: 05, calculating a first included angle of the thigh relative to the vertical direction based on the thigh gait data e to obtain a first included angle time sequence.
Before step S201, median filtering may be performed on the thigh gait data to obtain thigh gait data after median filtering, and median filtering may be performed on the shank gait data to obtain shank gait data after median filtering;
the median filtering is a nonlinear signal smoothing technology which can effectively suppress noise based on the ordering statistical theory. The basic principle is that the value of a certain point in a group of data is replaced by the median value of all the surrounding points, so that the influence of the noise point on the data is avoided, and the purpose of elimination is achieved. When the median filter is used to process the signal, the sample sequence needs to be sorted and then the median value is taken.
Step S202, respectively calculating a second included angle (such as an angle theta in fig. 3) of the lower leg relative to the vertical direction on the sagittal plane according to the lower leg gait data corresponding to each acquisition time in the lower leg gait time sequencekneeWhen the lower leg is positioned in front of the vertical axis, the angle θkneeIs positive, whereas the angle thetakneeNegative), a second included angle time series is obtained;
for example, the lower leg gait time series may include the following table 2:
TABLE 2
Time of acquisition
|
Shank gait data
|
10:01:01
|
Shank gait data A
|
10:01:02
|
Shank gait data B
|
10:01:03
|
Shank gait data C
|
10:01:04
|
Shank gait data D
|
10:01:05
|
Shank gait data E |
In this step, the acquisition time may be first 10: 01: 01, calculating a second included angle of the lower leg relative to the vertical direction based on the lower leg gait data a, and then acquiring the data at the time of 10: 01: 02, calculating a second included angle … … of the lower leg relative to the vertical direction based on the lower leg gait data b, and then acquiring the data at the time of 10: 01: 05, calculating a second included angle of the shank relative to the vertical direction based on the shank gait data e to obtain a second included angle time sequence.
Step S203, calculating the time sequence of the posture angle of the knee joint of the user according to the time sequence of the first included angle and the time sequence of the second included angle.
Because the first included angle time sequence calculated in step S201 includes a first included angle corresponding to each acquisition time, and the second included angle time sequence calculated in step S202 includes a second included angle corresponding to each acquisition time, in this step, the difference between the first included angle and the second included angle is calculated one by one for the first included angle and the second included angle corresponding to each acquisition time in the first included angle time sequence and the second included angle time sequence; determining the absolute value of the difference value as an attitude angle corresponding to the acquisition moment to obtain an attitude angle time sequence, namely: the knee angle A-knee can be calculated according to the following equation:
A-knee=|θHip-θknee|。
for example, the acquisition and acquisition time may be 10: 01: 01, calculating the absolute value of the difference value of the first included angle and the second included angle to obtain the posture angle of the knee joint, and calculating the posture angles of the knee joint corresponding to the other acquisition moments according to the mode to obtain the posture angle time sequence.
After step S203, a phase space reconstruction may be performed on the attitude angle time series to obtain an attitude angle time series after the phase space reconstruction, and the attitude angle time series may be reconstructed based on a phase space reconstruction theory. The phase space reconstruction method in the chaotic model and the support vector machine algorithm can map the low-dimensional time sequence into the high-dimensional space, and the phase space reconstruction theory of the chaotic theory is adopted to carry out the phase space reconstruction on the nonlinear time sequence data to determine the training sample.
The nonlinear problem cannot be solved by a linear support vector machine, and most of the problems in life are nonlinear problems. Therefore, it is critical to convert the nonlinear problem into a linear problem using a nonlinear support vector machine model. By mapping the training samples from a low-dimensional space into a high-dimensional space using a kernel function, the samples are made more easily separable from each other.
According to the embodiment of the invention, the posture angle time sequence of the knee joint of the user can be calculated according to the thigh gait time sequence and the shank gait time sequence, so that the gait data at the next moment can be conveniently predicted based on the posture angle time sequence.
In yet another embodiment of the present invention, as shown in fig. 6, the method further includes:
step S301, acquiring thigh gait training time sequences and shank gait training time sequences in a plurality of gait cycles acquired at thighs and shanks of a plurality of training objects;
in the embodiment of the present invention, the training object may be the same as or different from the user in the foregoing embodiment, and people with different walking postures may be selected as the training object.
Step S302, calculating posture angle training time sequences of knee joints of a plurality of training objects in a plurality of gait cycles according to the thigh gait training time sequence and the shank gait training time sequence;
step S303, carrying out phase space reconstruction on the attitude angle training time sequence;
step S304, training the preset gait prediction model by using the attitude angle training time sequence after the phase space reconstruction until the preset gait prediction model is converged.
The embodiment of the invention can train the preset gait prediction model until the model is converged, so that the prediction result is more accurate when the preset gait prediction model is directly used for predicting the predicted gait data at the next moment in the follow-up process.
In still another embodiment of the present invention, there is also provided a gait control device, as shown in fig. 7, the device including:
the acquisition module 11 is used for acquiring a thigh gait time sequence and a shank gait time sequence which are acquired at the thigh and the shank of the user;
a calculation module 12, configured to calculate a posture angle time series of the knee joint of the user according to the thigh gait time series and the shank gait time series;
the prediction module 13 is configured to input the attitude angle time sequence into a preset gait prediction model, and predict predicted gait data of the user at the next moment by using the preset gait prediction model;
and the generating module 14 is used for generating a control instruction for controlling the gait of the lower limb exoskeleton robot according to the predicted gait data.
Optionally, the calculation module includes:
the first calculating unit is used for respectively calculating a first included angle of the thigh relative to the vertical direction on the sagittal plane according to thigh gait data corresponding to each acquisition moment in the thigh gait time sequence to obtain a first included angle time sequence;
the second calculation unit is used for respectively calculating a second included angle of the shank on the sagittal plane relative to the vertical direction according to shank gait data corresponding to each acquisition moment in the shank gait time sequence to obtain a second included angle time sequence;
and the third calculating unit is used for calculating the posture angle time sequence of the knee joint of the user according to the first included angle time sequence and the second included angle time sequence.
Optionally, the third computing unit is further configured to:
calculating the difference value of the first included angle and the second included angle according to the first included angle and the second included angle corresponding to each acquisition time in the first included angle time sequence and the second included angle time sequence one by one;
and determining the absolute value of the difference value as an attitude angle corresponding to the acquisition moment to obtain an attitude angle time sequence.
Optionally, the calculation module further includes:
the first median filtering unit is used for performing median filtering on the thigh gait data to obtain thigh gait data after the median filtering;
and the second median filtering unit is used for performing median filtering on the shank gait data to obtain the shank gait data subjected to median filtering.
Optionally, the calculation module further includes:
and the phase space reconstruction unit is used for performing phase space reconstruction on the attitude angle time sequence to obtain an attitude angle time sequence after determining the absolute value of the difference as an attitude angle corresponding to the acquisition time to obtain the attitude angle time sequence after the phase space reconstruction.
Optionally, the apparatus further comprises:
the training data acquisition module is used for acquiring thigh gait training time sequences and shank gait training time sequences in a plurality of gait cycles acquired at thighs and shanks of a plurality of training objects;
the training data calculation module is used for calculating posture angle training time sequences of knee joints of a plurality of training objects in a plurality of gait cycles according to the thigh gait training time sequence and the shank gait training time sequence;
the training data reconstruction module is used for carrying out phase space reconstruction on the attitude angle training time sequence;
and the training module is used for training the preset gait prediction model by using the attitude angle training time sequence after the phase space reconstruction until the preset gait prediction model is converged.
Optionally, the thigh gait time sequence and the shank gait time sequence include: and one or more of the three-axis gyroscope data, the three-axis acceleration data and the three-axis angle data are arranged according to the sequence of the acquisition time.
The embodiment of the invention also provides electronic equipment which comprises a processor, a communication interface, a memory and a communication bus, wherein the processor, the communication interface and the memory are communicated with each other through the communication bus;
a memory for storing a computer program;
and the processor is used for realizing the gait control method of the embodiment of the method when executing the program stored in the memory.
In the electronic device provided by the embodiment of the invention, the processor executes the program stored in the memory to realize that the thigh gait time sequence and the shank gait time sequence collected at the thigh and the shank of the user are firstly acquired, then the posture angle time sequence of the knee joint of the user is calculated according to the thigh gait time sequence and the shank gait time sequence, then the posture angle time sequence is input into a preset gait prediction model, the predicted gait data of the user at the next moment is predicted by using the preset gait prediction model, and finally the control instruction for controlling the gait of the lower-limb robot can be generated according to the predicted gait data. The method has the advantages that the predicted gait data at the next moment can be predicted by using the preset gait prediction model, and then the control instruction for controlling the gait of the lower limb exoskeleton robot is generated according to the predicted gait data.
The communication bus 1140 mentioned in the above electronic device may be a Peripheral Component Interconnect (PCI) bus, an Extended Industry Standard Architecture (EISA) bus, or the like. The communication bus 1140 may be divided into an address bus, a data bus, a control bus, and the like. For ease of illustration, only one thick line is shown in FIG. 8, but this is not intended to represent only one bus or type of bus.
The communication interface 1120 is used for communication between the electronic device and other devices.
The memory 1130 may include a Random Access Memory (RAM), and may also include a non-volatile memory (non-volatile memory), such as at least one disk memory. Optionally, the memory may also be at least one memory device located remotely from the processor.
The processor 1110 may be a general-purpose processor, and includes a Central Processing Unit (CPU), a Network Processor (NP), and the like; the integrated circuit may also be a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic device, or discrete hardware components.
In yet another embodiment of the present invention, there is also provided a computer-readable storage medium having stored thereon a program of a gait control method, which when executed by a processor, implements the steps of the gait control method described in the aforementioned method embodiment.
It is noted that, in this document, relational terms such as "first" and "second," and the like, may be used solely to distinguish one entity or action from another entity or action without necessarily requiring or implying any actual such relationship or order between such entities or actions. Also, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other identical elements in a process, method, article, or apparatus that comprises the element.
The foregoing are merely exemplary embodiments of the present invention, which enable those skilled in the art to understand or practice the present invention. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.