The present disclosure relates to methods and systems for operating DC machines, such as brushed DC motors. More specifically, the present disclosure relates to methods and systems for limiting torque of DC machines.
Brushed DC motors are used in various applications. One such application for brushed DC motors is in power steering systems for vehicles. Significant advantages of brushed DC motors, when compared with alternatives such as AC motors, include low-cost components, less circuitry, simplicity, and ease of control.
Active speed control techniques may be used with brushed DC motors to reduce noise and provide better customer performance. There are two primary methods used to control speed: one with a speed-to-torque controller and another with a speed-to-voltage controller.
Several different operating constraints, such as available voltage, supply current limits, and motor current limits, may be applicable for operation of a DC machine.
According to one or more embodiments, a method of controlling a brushed direct current (DC) motor includes: determining, based on one of a motor current command or an actual motor current, a brush voltage drop across a set of brushes of the brushed DC motor; determining, based on the brush voltage drop, at least one of: a first torque limit based on a supply current value not exceeding a supply current limit, and a second torque limit based on a controller supply voltage value not exceeding a maximum available voltage; determining a final torque limit based on the at least one of the first torque limit and the second torque limit; determining a limited torque command based on a torque command and not to exceed the final torque limit; determining a voltage command based on the limited torque command; and applying a DC voltage to the brushed DC motor based on the voltage command.
According to one or more embodiments, a motor control system is provided. The motor system includes: a brushed direct current (DC) motor having a set of brushes; a voltage regulator configured to apply a DC voltage to the brushed DC motor based on a voltage command; and a controller configured to: determine, based on one of a motor current command or an actual motor current, a brush voltage drop across the set of brushes of the brushed DC motor; determine, based on the brush voltage drop, at least one of: a first torque limit based on a supply current value not exceeding a supply current limit, and a second torque limit based on a controller supply voltage value not exceeding a maximum available voltage; determine a final torque limit based on the at least one of the first torque limit and the second torque limit; determine a limited torque command based on a torque command and not to exceed the final torque limit; determine a voltage command based on the limited torque command; and transmit the voltage command to the voltage regulator.
These and other advantages and features will become more apparent from the following description taken in conjunction with the drawings.
The subject matter of the present disclosure is particularly pointed out and distinctly claimed in the claims at the conclusion of the specification. The foregoing and other features, and advantages of the present disclosure are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
Referring now to the figures, where the present disclosure will be described with reference to specific embodiments, without limiting the same, it is to be understood that the disclosed embodiments are merely illustrative of the present disclosure that may be embodied in various and alternative forms. The figures are not necessarily to scale; some features may be exaggerated or minimized to show details of particular components. Therefore, specific structural and functional details disclosed herein are not to be interpreted as limiting, but merely as a representative basis for teaching one skilled in the art to variously employ the present disclosure.
As used herein the terms module and sub-module refer to one or more processing circuits such as an application specific integrated circuit (ASIC), an electronic circuit, a processor (shared, dedicated, or group) and memory that executes one or more software or firmware programs, a combinational logic circuit, and/or other suitable components that provide the described functionality. As can be appreciated, the sub-modules described below can be combined and/or further partitioned.
The present disclosure provides an anti-windup control strategy of a speed-to-torque controller for operating a brushed DC motor. The motor torque may be limited to satisfy several different operating constraints. The present disclosure addresses three such operating constraints, including a maximum available voltage, a supply current limit, and a motor current limit. Equations relating these operating constraints to the maximum and minimum torque are derived. The derivations change with the system state and provide active limiting and maximum capability.
In some embodiments, torque limits corresponding to the maximum available voltage and the supply current limit may be determined based on a brush voltage drop across a set of brushes of the brushed DC motor. The present disclosure provides for determining the brush voltage drop based on a motor current command or an actual motor current; and determining, based on the brush voltage drop, torque limit values that correspond to the brushed DC motor satisfying each of the supply current limit, and the motor current limit. The systems and methods of the present disclosure are compared with alternative techniques, such as a technique assuming the brush voltage drop to be a constant with respect to the motor current, and a technique that uses an iterative solver to determine roots of a polynomial equation to determine a motor current limits corresponding to the maximum available voltage and the supply current limit. The systems and methods of the present disclosure are shown to provide enhanced output torque while satisfying the operating constraints, and with substantially less computational burden when compared to alternative techniques that use an iterative solver.
Referring now to the figures, where the technical solutions will be described with reference to specific embodiments, without limiting same,
The CPM 20 includes a steering shaft 22 configured to attach to a steering wheel, which may also be called a hand wheel, that can be used by a person for steering a vehicle. The CPM 20 includes a steering actuator 24 attached to the steering shaft. The steering actuator 24 may supplement the person's application of force in order to provide power-assisted steering function. The CPM 20 also includes a telescoping actuator motor 26 configured to control an axial position of the handwheel by moving the steering shaft 22 in an axial direction. The CPM 20 also includes a rake actuator motor 28 configured to control a vertical position of the handwheel by moving an end the steering shaft in a radial direction.
Any or all of the steering actuator 24, the telescoping actuator motor 26 and/or the rake actuator motor 28 may include brushed DC motors and may be controlled using the systems and methods of the present disclosure. However, the systems and methods of the present disclosure may be used with brushed DC motors in other applications in a vehicle, such as for window or lock actuators. The systems and methods of the present disclosure are not limited to use in vehicles, and may be used with brushed DC motors in a variety of different applications.
The system 50 includes a controller 60. The controller 60 may include any suitable controller, such as an electronic control unit or other suitable controller. The controller 60 may be configured to control, for example, the various functions of the steering system and/or various functions of a vehicle. The controller 60 may include a processor 62 and a memory 64. The processor 62 may include any suitable processor, such as those described herein. Additionally, or alternatively, the controller 60 may include any suitable number of processors, in addition to or other than the processor 62. The memory 64 may comprise a single disk or a plurality of disks (e.g., hard drives), and includes a storage management module that manages one or more partitions within the memory 64. In some embodiments, memory 64 may include flash memory, semiconductor (solid state) memory or the like. The memory 64 may include Random Access Memory (RAM), a Read-Only Memory (ROM), or a combination thereof. The memory 64 may include instructions that, when executed by the processor 62, cause the processor 62 to, at least, control various aspects of the vehicle. Additionally, or alternatively, the memory 64 may include instructions that, when executed by the processor 62, cause the processor 62 to perform functions associated with the systems and methods described herein.
The controller 60 may be operably connected to a voltage regulator 52. The voltage regulator 52 may be configured to apply a DC voltage v to the first brush 30 of the DC motor 26, 28. The voltage regulator 52 may generate the DC voltage v based on a voltage command vcmd from the controller 60.
In some embodiments, and as shown in
In some embodiments, the controller 60 may perform the methods described herein. However, the methods described herein as performed by the controller 60 are not meant to be limiting, and any type of software executed on a controller or processor can perform the methods described herein without departing from the scope of this disclosure. For example, a controller, such as a processor executing software within a computing device, can perform the methods described herein.
The motor controller 70 includes a subtractor 72 configured to subtract the motor speed ωm from a speed command signal ωref, and to compute a speed difference signal ωdiff representing the difference between the speed command signal ωref and the motor speed ωm. The motor controller 70 also includes a torque command generator 74 that configured to generate a torque command signal τcmd based on the speed difference signal ωdiff. The torque command generator 74 may use a proportional-integral (PI) control loop to generate the torque command signal τcmd, however, other control techniques may be used, such as a proportional-integral-derivative (PID) control loop, or a lookup table.
The motor controller 70 also includes a torque limiter 76 configured to generate a limited torque command τcmdlim based on the torque command signal τcmd. The torque limiter 76 also takes, as inputs, three operating constraints for operating the DC motor 26,28, including:
The torque limiter 76 also generates an anti-windup signal AW, indicating that the limited torque command τcmdlim is being limited to cause the DC motor 26, 28 to satisfy at least one of the operating constraints IMAX, Islim, VMAX. The anti-windup signal AW is supplied from the torque limiter 76 to the torque command generator 74.
The motor controller 70 also includes a torque regulator 78 configured to generate a current command icmd based on the limited torque command τcmdlim. In some embodiments, the torque regulator 78 generates the current command icmd by dividing the limited torque command τcmdlim by a back-EMF constant K.
The motor controller 70 also includes a current regulator 80 that is configured to generate a voltage command vcmd based on the current command icmd. In some embodiments, and as shown in
Equations (1)-(2), below, show the mathematical model of a DC motor.
Here, v is the voltage applied to the DC motor, i is the motor current, R is the resistance, L is the inductance, K is the back EMF constant, J is the inertia of the motor, ω is the motor speed, τe is the generated electrical torque, and τLF is a load plus friction torque.
Equation (3), below, describes a brush voltage drop vb due to the brushes 30, 32. V0 is a brush voltage parameter of the motor and I0 is a current parameter of the motor.
The brush voltage drop vb occurs in the direction of the motor current i, as described in equation (3).
The generated electrical torque τe is directly related to the motor current as set forth in equation (4).
Equation (5), below, provides a general approach to calculating a torque command from actual and reference speeds, using a PI control loop. The load-friction torque profiles based on the motor position can be added as the feedforward term in equation (5).
where Kp represents a proportional gain value, and Ki represents an integral gain value. Either or both of the proportional gain value Kp and/or the integral gain value Ki may be constants.
The present disclosure provides for three different operating constraints for the DC motor 26, 28, and which may be used for an anti-windup function of the PI control loop described in equation (5). Those operating constraints include:
The torque command may be limited in order to satisfy each of these operating constraints. The following sections provide a derivation for maximum and minimum torques based on these constraints are derived in the following sections. Table I, below, lists the motor parameters used for validation of the method and system of the present disclosure. Voltage mode operation may be used with a speed-to-torque controller pole set at −20.
The torque command generator 74 also includes an integrator 86 configured to compute an integral of the speed difference signal ωdiff. The torque command generator 74 also includes a second gain block 88 configured to multiply the integral of the speed difference signal ωdiff by the integral gain value Ki. The output of the second gain block 88 is provided to the adder 84, which computes the torque command signal τcmd based on a sum of the output of the first gain block 82 and the output of the second gain block 88.
In some embodiments, and as shown in
A motor current-based maximum torque τMAX_im, and a motor current-based minimum torque τMIN_im, each based on the motor current i not exceeding the maximum motor current value IMAX, may be calculated from the motor current limit IMAX, and as set forth in equations (6) and (7):
The limited torque command τcmdlim is being limited based on the motor current-based maximum torque τMAX_im, and a motor current-based minimum torque τMIN_im from equations (6) and (7), respectively, to cause the DC motor 26, 28 to satisfy the motor current limit IMAX of 5.0 Amps in regions over 2650 rpm and under the −2650 rpm reference speed. These regions where the limited torque command τcmdlim is being limited to cause the system 50 to satisfy one or more of the operating constraints may be called an anti-windup region.
At the ECU voltage, VECU, the supply current limit, Islim ultimately limits the power delivered or absorbed by the battery. The motor power formula can be written as set forth in equation (8):
At the limiting condition, the relationship may be described by equation (9):
Here, Rc is the controller resistance, IMS is the maximum motor current for the supply current limit Islim.
Alternative controllers may either ignore or simplify the brush voltage drop vb terms to solve for IMS. One such alternative design assumes brush voltage drop vb to be equal to the brush voltage parameter V0 and having a constant value, ignoring the exponential term. Several issues can emerge with this simplification. For small motors, both terms can come out as unusually larger than expected numbers. On the other hand, if the value of the supply current lessens due to some adverse condition, the maximum motor current, IMS can not be considered too high compared to brush current, I0. Thus, considering the brush voltage drop vb in that condition may result in a lower IMS. This may be especially problematic in adverse conditions when it is desirable to get the most torque possible, while satisfying the operating constraints. To properly solve this equation, the most traditional approach would be an iteration method. However, the iteration method may require a large computational burden and cost.
The actual motor current i may be used to calculate the brush voltage drop vb, and that brush voltage drop vb may be used to solve for a maximum motor current corresponding to the supply current limit IMS. Thus, the first step is to use equation (3) to find the brush voltage drop vb for a certain condition. Equation (9), considering the brush voltage drop vb, may be rewritten as equation (10):
Two solutions of equation (10) can be assigned as the maximum and minimum motor current for supply current limit as set forth in equations (11)-(12), below:
This approach may have some shortcomings. If the brush voltage drop vb is less significant during the limiting conditions, then the proposed method provides a solution very close to the actual solution of equation (9) in all conditions. The solution of the proposed method only deviates from the actual solution when the brush voltage drop vb is very significant and the actual current is far away from IMS. However, even with significant brush voltage drop vb, as the motor current gets close to the maximum value, IMS, the proposed solution closely approximates an actual solution, ensuring proper limiting when required.
A supply current-based maximum torque τMAX_is, and a supply current-based minimum torque τMIN_is, each based on the supply current value Is not exceeding the supply current limit Islim, may be calculated from the supply current limit Islim, and as set forth in equations (13) and (14):
The limited torque command τcmdlim is being limited based on the supply current-based maximum torque τMAX_is and the supply current-based minimum torque τMIN_is from equations (13) and (14), respectively, to cause the controller 60 to satisfy the supply current limit Islim of 2.0 Amps in regions over 1641 rpm and under −1641 rpm.
The maximum available voltage may be described as set forth in equation (15):
At the limiting condition, equation (15) can be expressed as equation (16):
Here, IMV is the current limit considering the maximum available voltage VMAX. The dynamic term can be considered negligible with the current not changing significantly at the limiting condition. One thing to notice here, we used a different variable for maximum available voltage since the full battery or controller supply voltage VECU may not be available for the controller 60 to apply to the DC motor 26, 28. This equation becomes very difficult to solve without the iteration method. As described, iterative solving requires significant computational costs. Furthermore, the zero value is not used as maximum or minimum limit at any point for more robust operation and simplicity.
The system and method of the present disclosure may calculate the brush voltage drop vb based on the actual motor current i, thereby eliminating the exponential term,
Thus, the method of the present disclosure may first calculate the brush voltage drop vb in real-time using equation (3) and then, solve for current limits considering the maximum available voltage IMV. Equations (17) and (18) illustrate the solutions for positive and negative current limits.
A supply voltage-based maximum torque τMAX_vs, and a supply voltage-based minimum torque τMIN_vs, each based on a required controller supply voltage VECU not exceeding the maximum available voltage VMAX, may be calculated from the maximum available voltage VMAX, and as set forth in equations (19) and (20):
This approach provides an accurate solution when the motor current i is close to IMV. The solution can deviate slightly when the motor current i is far away from the limit, where torque limiting based on the available voltage is not necessary.
The limited torque command τcmdlim is being limited based on the supply voltage-based maximum torque τMAX_vs and the supply voltage-based minimum torque τMIN_vs, from equations (19) and (20), respectively, to cause the controller 60 to satisfy the supply voltage limit of 13.5 V in regions over 2557 rpm and under −2557 rpm.
All three sets of maximum and minimum torque limits from the three constraints of the system are combined to find a final maximum torque τMAX_final and a final minimum torque τMIN_final for the controller using the following equations (21)-(22):
This limiting of the torque command τcmd, as performed by the torque limiter 76 to determine the limited torque command τcmdlim is described in equation (23)-(24), below:
As soon as the torque command torque command signal τcmd exceeds these limits (i.e. if the torque command signal τcmd is greater than the final maximum torque τMAX_final or less than the final minimum torque τMIN_final), the torque limiter 76 may generate anti-windup signal AW, indicating that the limited torque command τcmdlim is being limited. In response to the anti-windup signal AW, the integrator 86 may pause operation. For example, the anti-windup signal AW may cause the integrator 86 to output a zero signal. Accordingly, and in response to the anti-windup signal AW, the integrator 86 will stop at a previous value it obtained, and as soon as the system 50 moves out of the anti-windup region, the integrator 88 will resume operation.
In some embodiments, the current command icmd may be used in place of the actual motor current i for calculating the brush voltage drop vb. For example, the current command icmd may be used if the motor current measurement im becomes unavailable.
The graph of
Additionally, the iterative solver technique uses zero for the minimum torque limit, as shown by the sixth plot 172, during forward operation (between 0-4.8 seconds). The iterative solver technique also uses zero for the maximum torque limit, as shown by the fifth plot 170 during reverse operation (between 4.8 and 9.0 seconds). The system and method of the present disclosure, on the other hand, does not use zero for a maximum or minimum limit any time. Thus, it avoids any potential confusion of whether the maximum or minimum torque limit should be zero at the standstill position. This difference also enables the system and method of the present disclosure to avoid delays in deciding whether to use a zero value, making it a more robust approach.
At 202, the method 200 determines, based on one of a motor current command or an actual motor current, a brush voltage drop across a set of brushes of the brushed DC motor. For example, the processor 62 may execute instructions to compute the brush voltage drop vb using equation (3), and based on either the motor current command icmd or the motor current signal im representing a measured value of the actual motor current i.
At 204, the method 200 determines, based on the brush voltage drop, at least one of: a first torque limit based on a supply current value not exceeding a supply current limit, and a second torque limit based on a controller supply voltage value not exceeding a maximum available voltage. For example, the processor 62 may execute instructions to compute the supply current-based maximum torque τMAX_is, the supply current-based minimum torque τMIN_is, the supply voltage-based maximum torque τMAX_vs, and/or the supply voltage-based minimum torque τMIN_vs, and using corresponding ones of equations (13), (14), (19) and/or (20).
At 206, the method 200 determines a final torque limit based on the at least one of the first torque limit and the second torque limit. For example, the processor 62 may execute instructions to compute the final maximum torque τMAX_final and/or the final minimum torque τMIN_final, as set forth in equations (21)-(22).
At 208, the method 200 determines a limited torque command based on a torque command and not to exceed the final torque limit. For example, the processor 62 may execute instructions to implement the torque limiter 76 configured to generate a limited torque command τcmdlim based on the torque command signal τcmd, and not exceeding the final maximum torque τMAX_final and/or the final minimum torque τMIN_final.
At 210, the method 200 determines a voltage command based on the limited torque command. For example, the processor 62 may execute instructions to implement the torque regulator 78 and the current regulator 80, with the torque regulator 78 generating a current command icmd based on the limited torque command τcmdlim, and with the current regulator 80 generating the voltage command vcmd based on the current command icmd.
At 212, the method 200 applies a DC voltage to the brushed DC motor based on the voltage command. For example, the voltage regulator 52 may generate and apply the DC voltage v to the first brush 30 of the DC motor 26, 28, with the DC voltage v based on the voltage command vcmd from the controller 60.
The present disclosure provides a method of controlling a brushed direct current (DC) motor. The method includes: determining, based on one of a motor current command or an actual motor current, a brush voltage drop across a set of brushes of the brushed DC motor; determining, based on the brush voltage drop, at least one of: a first torque limit based on a supply current value not exceeding a supply current limit, and a second torque limit based on a controller supply voltage value not exceeding a maximum available voltage; determining a final torque limit based on the at least one of the first torque limit and the second torque limit; determining a limited torque command based on a torque command and not to exceed the final torque limit; determining a voltage command based on the limited torque command; and applying a DC voltage to the brushed DC motor based on the voltage command.
In some embodiments, determining the brush voltage drop includes computing the brush voltage drop in accordance with a non-linear equation:
where vb is the brush voltage drop, i is the one of the motor current command or the actual motor current, and V0 is a brush voltage parameter, and I0 is a brush current parameter.
In some embodiments, the final torque limit is based on the first torque limit.
In some embodiments, determining the final torque limit includes calculating the first torque limit based on at least one of: a maximum torque limit (τMAX) in accordance with:
or a minimum torque limit (τMIN) in accordance with:
where K is a back-EMF constant of the brushed DC motor, R is a winding resistance of the brushed DC motor, ω is a speed of the brushed DC motor, vb is a brush voltage drop across a set of brushes of the brushed DC motor, VECU is a controller supply voltage, Islim is the supply current limit, and Rc is a controller resistance.
In some embodiments, the final torque limit is based on the second torque limit.
In some embodiments, determining the final torque limit includes calculating the second torque limit based on at least one of: a maximum torque limit (τMAX) in accordance with:
or a minimum torque limit (τMIN) in accordance with:
where K is a back-EMF constant of the brushed DC motor, R is a winding resistance of the brushed DC motor, VMAX is the maximum available voltage value, ω is a speed of the brushed DC motor, and vb is a brush voltage drop across a set of brushes of the brushed DC motor.
In some embodiments, the method further includes determining a third torque limit based on a motor current not exceeding a maximum motor current value, and determining the final torque limit is further based on the third torque limit.
In some embodiments, the method further includes integrating a value for determining the torque command; and pausing integrating the value in response to setting the limited torque command based on the final torque limit.
In some embodiments, determining the torque limit includes: determining a first maximum torque limit based on the supply current value not exceeding the supply current limit; determining a second maximum torque limit based on the controller supply voltage value not exceeding the maximum available voltage; determining a final maximum torque limit based on a lowest one of a plurality of maximum torque limits including, at least, the first maximum torque limit and the second maximum torque limit; determining a first minimum torque limit based on the supply current value not exceeding the supply current limit; determining a second minimum torque limit based on the controller supply voltage value not exceeding the maximum available voltage value; and determining a final minimum torque limit based on a highest one of a plurality of minimum torque limits including, at least, the first minimum torque limit and the second minimum torque limit. The final torque limit may include each of the final maximum torque limit and the final minimum torque limit.
In some embodiments, the brushed DC motor is an actuator motor configured to control a position of a handwheel of a steering system in a vehicle.
The present disclosure provides a motor control system. The motor system includes: a brushed direct current (DC) motor having a set of brushes; a voltage regulator configured to apply a DC voltage to the brushed DC motor based on a voltage command; and a controller configured to: determine, based on one of a motor current command or an actual motor current, a brush voltage drop across the set of brushes of the brushed DC motor; determine, based on the brush voltage drop, at least one of: a first torque limit based on a supply current value not exceeding a supply current limit, and a second torque limit based on a controller supply voltage value not exceeding a maximum available voltage; determine a final torque limit based on the at least one of the first torque limit and the second torque limit; determine a limited torque command based on a torque command and not to exceed the final torque limit; determine a voltage command based on the limited torque command; and transmit the voltage command to the voltage regulator.
In some embodiments, determining the brush voltage drop includes computing the brush voltage drop in accordance with:
where vb is the brush voltage drop, i is the one of the motor current command or the actual motor current, and V0 is a brush voltage parameter, and I0 is a brush current parameter.
In some embodiments, the final torque limit is based on the first torque limit.
In some embodiments, determining the final torque limit includes calculating the first torque limit based on at least one of: a maximum torque limit (τMAX) in accordance with:
or a minimum torque limit (τMIN) n accordance with:
where K is a back-EMF constant of the brushed DC motor, R is a winding resistance of the brushed DC motor, ω is a speed of the brushed DC motor, vb is a brush voltage drop across a set of brushes of the brushed DC motor, VECU is a controller supply voltage, Islim is the supply current limit, and R, is a controller resistance.
In some embodiments, the final torque limit is based on the second torque limit.
In some embodiments, determining the final torque limit includes calculating the second torque limit based on at least one of: a maximum torque limit (τMAX) in accordance with:
or a minimum torque limit (τMIN) in accordance with:
where K is a back-EMF constant of the brushed DC motor, R is a winding resistance of the brushed DC motor, VMAX is the maximum available voltage value, ω is a speed of the brushed DC motor, and vb is a brush voltage drop across a set of brushes of the brushed DC motor.
In some embodiments, the controller is further configured to determine a third torque limit based on a motor current not exceeding a maximum motor current value, and determining the final torque limit is further based on the third torque limit.
In some embodiments, the controller is further configured to: integrate a value for determining the torque command; and pause integrating the value in response to setting the limited torque command based on the final torque limit.
In some embodiments, determining the torque limit includes: determining a first maximum torque limit based on the supply current value not exceeding the supply current limit; determining a second maximum torque limit based on the controller supply voltage value not exceeding the maximum available voltage; determining a final maximum torque limit based on a lowest one of a plurality of maximum torque limits including, at least, the first maximum torque limit and the second maximum torque limit; determining a first minimum torque limit based on the supply current value not exceeding the supply current limit; determining a second minimum torque limit based on the controller supply voltage value not exceeding the maximum available voltage value; and determining a final minimum torque limit based on a highest one of a plurality of minimum torque limits including, at least, the first minimum torque limit and the second minimum torque limit. The final torque limit may include each of the final maximum torque limit and the final minimum torque limit.
In some embodiments, the brushed DC motor is an actuator motor configured to control a position of a handwheel of a steering system in a vehicle.
While the present disclosure has been described in detail in connection with only a limited number of embodiments, it should be readily understood that the present disclosure is not limited to such disclosed embodiments. Rather, the present disclosure can be modified to incorporate any number of variations, alterations, substitutions or equivalent arrangements not heretofore described, but which are commensurate in scope with the present disclosure. Additionally, while various embodiments of the present disclosure have been described, it is to be understood that aspects of the present disclosure may include only some of the described embodiments or combinations of the various embodiments. Accordingly, the present disclosure is not to be seen as limited by the foregoing description.