Embodiments described herein relate to a multi-car elevator system and more specifically to an autonomous elevator car mover configured for self-learning gap control.
An autonomous elevator car mover may use motor-driven wheels to propel the elevator car up and down on vertical track beams, which may be I-beams, having respective webs that form front and back track surfaces. Two elements to this system include the elevator car which will be guided by rollers guides on traditional T-rails, and the autonomous car mover which will house two (2) to four (4) motor-driven wheels. An operational goal of the car mover is for the wheels to maintain alignment while traveling along a track during runs.
A car mover for autonomously moving an elevator car along a lane in a hoistway, including: first and second wheels of the car mover, configured to apply a pinch force against a track therebetween and to rotationally drive along the track, by respective first and second wheel motors of the car mover; and a controller configured to execute: a gap control self-learning module, wherein based on adjustment data, one or more operational parameters applied by one or more of the first and second wheel motors are adjusted; and a gap feedback control module, wherein based on one or more of a first lateral clearance adjacent the first wheel on the track and a second lateral clearance adjacent the second wheel on the track, torque applied by one or more of the first and second wheel motors is increased or decreased.
In addition to one or more aspects of the car mover, or as an alternate, the adjustment data represents prior adjustments to the first and second wheel motors from prior runs of the car mover.
In addition to one or more aspects of the car mover, or as an alternate, from the adjustment data, the controller is configured to adjust an effective diameter of the first and second wheels relative to each other.
In addition to one or more aspects of the car mover, or as an alternate, in operation, the controller is configured to adjust one or more of velocity and torque, after an identified destination is reached, or after a predetermined period of time or operational runs is reached by the car mover.
In addition to one or more aspects of the car mover, or as an alternate, the adjustment data is obtained via a log of adjustments to the first and second wheel motors from prior runs of the car mover.
In addition to one or more aspects of the car mover, or as an alternate, the adjustment data is derived as one or more of: a weighted average applied to the log of adjustments to the first and second wheel motors from previous runs of the car mover; and a correction factor based on the log of adjustments to the first and second wheel motors from previous runs of the car mover.
In addition to one or more aspects of the car mover, or as an alternate, a sensor operationally connected to the car mover is configured to sense the first lateral clearance adjacent the first wheel on the track and the second lateral clearance adjacent the second wheel on the track.
In addition to one or more aspects of the car mover, or as an alternate, the sensor is configured to transmit sensor data indicative of the first and second lateral clearances to the controller via a wired or wireless transmission channel.
In addition to one or more aspects of the car mover, or as an alternate, the sensor is configured to transmit the sensor data to the controller over the wireless transmission channel, directly or via a cloud service.
In addition to one or more aspects of the car mover, or as an alternate, the sensor data is configured to processed, at least in part, by one more of the sensor via edge computing, the controller, and the cloud service.
A method of operating a car mover for autonomously moving an elevator car along a lane in a hoistway, including: applying a pinch force against a track between first and second wheels of the car mover, and rotationally driving along the track, by respective first and second wheel motors of the car mover; and executing, by a controller, a gap control self-learning module, wherein based on adjustment data, one or more operational parameters applied by one or more of the first and second wheel motors are adjusted; and executing, by the controller, a gap feedback control module, wherein based on one or more of a first lateral clearance adjacent the first wheel on the track and a second lateral clearance adjacent the second wheel on the track, torque applied by one or more of the first and second wheel motors is increased or decreased.
In addition to one or more aspects of the method, or as an alternate, the adjustment data represents prior adjustments to the first and second wheel motors from prior runs of the car mover.
In addition to one or more aspects of the method, or as an alternate, the method includes adjusting, by the controller utilizing the adjustment data, an effective diameter of the first and second wheels relative to each other.
In addition to one or more aspects of the method, or as an alternate, the method includes adjusting, in operation by the controller, one or more of velocity and torque after an identified destination is reached, or after a predetermined period of time or operational runs is reached by the car mover.
In addition to one or more aspects of the method, or as an alternate, the method includes obtaining the adjustment data via a log of adjustments to the first and second wheel motors from prior runs of the car mover.
In addition to one or more aspects of the method, or as an alternate, the method includes one or more of: deriving the adjustment data as a weighted average applied to the log of adjustments to the first and second wheel motors from previous runs of the car mover; and deriving the adjustment data as a correction factor based on the log of adjustments to the first and second wheel motors from previous runs of the car mover.
In addition to one or more aspects of the method, or as an alternate, the method includes sensing, by a sensor operationally connected to the car mover, the first lateral clearance adjacent the first wheel on the track and the second lateral clearance adjacent the second wheel on the track.
In addition to one or more aspects of the method, or as an alternate, the method includes transmitting, by the sensor, sensor data indicative of the first and second lateral clearances to the controller via a wired or wireless transmission channel.
In addition to one or more aspects of the method, or as an alternate, the method includes transmitting, by the sensor, the sensor data to the controller over the wireless transmission channel, directly or via a cloud service.
In addition to one or more aspects of the method, or as an alternate, the method includes processing the sensor data, at least in part, by one more of the sensor via edge computing, the controller, and the cloud service.
The subject matter which is regarded as the invention 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 invention are apparent from the following detailed description taken in conjunction with the accompanying drawings in which:
For each of the cars 50a-50c, the elevator system 10 includes one of a plurality of car mover systems (car movers) 80a-80c (otherwise referred to as a beam climber system, or beam climber, for reasons explained below). The car movers 80a-80c are generally the same so that reference herein shall be to the car 50a. The car mover 80a is configured to autonomously move along a car mover track beam 111a (otherwise referred to as a track beam or guide beam, and which may be an I-beam), and specifically along a car mover track surface 112 (otherwise referred to as a track) of the track beam 111. This operation moves the elevator car 50a along the hoistway lane 60. The car mover 80a may be positioned to engage the top 90a of the car 50a, the bottom 91a of the car 50a, or any other desired location. In
Though the car mover 80a operates autonomously, a supervisory hub 92 (also referred to as a supervisory controller) for the elevator system 10 may be included that may be configured with sufficient processors, discussed below, for communicating with a car mover controller 115 (
The hoistway may have charging stations 95a, 95b for charging a power supply 120 (
Although illustrated in
The car mover 80a is configured to move the elevator car 50a within the hoistway 40 and along guide rails 109a, 109b that extend vertically through the hoistway 40. In an embodiment, the guide rails 109a, 109b are T-beams. The car mover 80a includes one or more electric motors 132a, 132b. The electric motors 132a, 132b are configured to move the car mover 80a within the hoistway 40 by rotating one or more motorized wheels 134a, 134b, 134c, 134d that are, in pairs (first pair 134a, 134b, and second pair 134c, 134d) pressed against respective guide beams 111a, 111b, e.g., together forming the car mover track beam 111 (
The first guide beam 111a includes a web portion 113a and two flange portions 114a. The web portion 113a of the first guide beam 111a includes a first surface 112a and a second surface 112b opposite the first surface 112a. A first wheel 134a is in contact with the first surface 112a and a second wheel 134b is in contact with the second surface 112b. The first wheel 134a may be in contact with the first surface 112a through a tire 135 and the second wheel 134b may be in contact with the second surface 112b through a tire 135. The first wheel 134a is compressed against the first surface 112a of the first guide beam 111a by a first compression mechanism 150a and the second wheel 134b is compressed against the second surface 112b of the first guide beam 111a by the first compression mechanism 150a. The first compression mechanism 150a compresses the first wheel 134a and the second wheel 134b together to clamp onto, or pinch against, the web portion 113a of the first guide beam 111a.
The first compression mechanism 150a may be a metallic or elastomeric spring mechanism, a pneumatic mechanism, a hydraulic mechanism, a turnbuckle mechanism, an electromechanical actuator mechanism, a spring system, a hydraulic cylinder, a motorized spring setup, or any other known force actuation method.
The first compression mechanism 150a may be adjustable in real-time during operation of the elevator system 10 to control compression of the first wheel 134a and the second wheel 134b on the first guide beam 111a. The first wheel 134a and the second wheel 134b may each include a tire 135 to increase traction with the first guide beam 111a.
The first surface 112a and the second surface 112b extend vertically through the hoistway 40, thus creating the track surface 112 for the first wheel 134a and the second wheel 134b to ride on. The flange portions 114a, which may be referred to as track beam sidewalls, may work as guardrails to help guide the wheels 134a, 134b along this track surface and thus help prevent the wheels 134a, 134b from running off track surface.
The first electric motor 132a is configured to rotate the first wheel 134a to climb up 21 or down 22 the first guide beam 111a. The first electric motor 132a may also include a first motor brake 137a to slow and stop rotation of the first electric motor 132a.
The first motor brake 137a may be mechanically connected to the first electric motor 132a. The first motor brake 137a may be a clutch system, a disc brake system, a drum brake system, a brake on a rotor of the first electric motor 132a, an electronic braking, an Eddy current brakes, a Magnetorheological fluid brake or any other known braking system. The beam climber system 130 may also include a first guide rail brake 138a operably connected to the first guide rail 109a. The first guide rail brake 138a is configured to slow movement of the beam climber system 130 by clamping onto the first guide rail 109a. The first guide rail brake 138a may be a caliper brake acting on the first guide rail 109a on the beam climber system 130, or caliper brakes acting on the first guide rail 109 proximate the elevator car 50a.
The second guide beam 111b includes a web portion 113b and two flange portions 114b. The web portion 113b of the second guide beam 111b includes a first surface 112c and a second surface 112d opposite the first surface 112c. A third wheel 134c is in contact with the first surface 112c and a fourth wheel 134d is in contact with the second surface 112d. The third wheel 134c may be in contact with the first surface 112c through a tire 135 and the fourth wheel 134d may be in contact with the second surface 112d through a tire 135. A third wheel 134c is compressed against the first surface 112c of the second guide beam 111b by a second compression mechanism 150b and a fourth wheel 134d is compressed against the second surface 112d of the second guide beam 111b by the second compression mechanism 150b. The second compression mechanism 150b compresses the third wheel 134c and the fourth wheel 134d together to clamp onto the web portion 113b of the second guide beam 111b.
The second compression mechanism 150b may be a spring mechanism, turnbuckle mechanism, an actuator mechanism, a spring system, a hydraulic cylinder, and/or a motorized spring setup. The second compression mechanism 150b may be adjustable in real-time during operation of the elevator system 10 to control compression of the third wheel 134c and the fourth wheel 134d on the second guide beam 111b. The third wheel 134c and the fourth wheel 134d may each include a tire 135 to increase traction with the second guide beam 111b.
The first surface 112c and the second surface 112d extend vertically through the shaft 117, thus creating a track surface for the third wheel 134c and the fourth wheel 134d to ride on. The flange portions 114b may work as guardrails to help guide the wheels 134c, 134d along this track surface and thus help prevent the wheels 134c, 134d from running off track surface.
The second electric motor (otherwise referred to as a wheel drive motor or wheel motor) 132b is configured to rotate the third wheel 134c to climb up 21 or down 22 the second guide beam 111b. The second electric motor 132b may also include a second motor brake 137b to slow and stop rotation of the second motor 132b. The second motor brake 137b may be mechanically connected to the second motor 132b. The second motor brake 137b may be a clutch system, a disc brake system, drum brake system, a brake on a rotor of the second electric motor 132b, an electronic braking, an Eddy current brake, a Magnetorheological fluid brake, or any other known braking system. The beam climber system 130 includes a second guide rail brake 138b operably connected to the second guide rail 109b. The second guide rail brake 138b is configured to slow movement of the beam climber system 130 by clamping onto the second guide rail 109b. The second guide rail brake 138b may be a caliper brake acting on the first guide rail 109a on the beam climber system 130, or caliper brakes acting on the first guide rail 109a proximate the elevator car 50a.
The elevator system 10 may also include a position reference system (PRS) 113. The position reference system 113 may be mounted on a fixed part at the top of the hoistway 40, such as on a support or guide rail 109, and may be configured to provide position signals related to a position of the elevator car 50a within the hoistway 40. In other embodiments, the position reference system 113 may be directly mounted to a moving component of the elevator system (e.g., the elevator car 50a or the car mover 80a), or may be located in other positions and/or configurations.
The position reference system 113 can be any device or mechanism for monitoring a position of an elevator car within the elevator shaft 117. For example, without limitation, the position reference system 113 can be an encoder, sensor, accelerometer, altimeter, pressure sensor, range finder, or other system and can include velocity sensing, absolute position sensing, etc., as will be appreciated by those of skill in the art. The position reference system 113 may communicate with the car mover controller 115 wirelessly or via a wired transmission, using protocols identified herein. Wireless transmission may be direct or via network 93 (
The controller 115 may be an electronic controller including a processor 116 and an associated memory 119 comprising computer-executable instructions that, when executed by the processor 116, cause the processor 116 to perform various operations. The processor 116 may be, but is not limited to, a single-processor or multi-processor system of any of a wide array of possible architectures, including field programmable gate array (FPGA), central processing unit (CPU), application specific integrated circuits (ASIC), digital signal processor (DSP) or graphics processing unit (GPU) hardware arranged homogenously or heterogeneously. The memory 119 may be but is not limited to a random access memory (RAM), read only memory (ROM), or other electronic, optical, magnetic or any other computer readable medium.
The controller 115 is configured to control the operation of the elevator car 50a and the car mover 80a. For example, the controller 115 may provide drive signals to the car mover 80a to control the acceleration, deceleration, leveling, stopping, etc. of the elevator car 50a.
The controller 115 may also be configured to receive position signals from the position reference system 113 or any other desired position reference device. The data transmitted between the controller 115 and position reference system 113 may be obtained and processed separately and stitched together, or processed at one of the two components, and may be processed in a raw or complied form.
When moving up 21 or down 22 within the hoistway 40 along the guide rails 109a, 109b, the elevator car 50a may stop at one or more floors 30a, 30b as controlled by the controller 115. In one embodiment, the controller 115 may be located remotely or in the cloud. In another embodiment, the controller 115 may be located on the car mover 80a
The power supply 120 for the elevator system 10 may be any power source, including a power grid and/or battery power which, in combination with other components, is supplied to the car mover 80a. In one embodiment, power source 120 may be located on the car mover 80a. In an embodiment, the power supply 120 is a battery that is included in the car mover 80a. The elevator system 10 may also include an accelerometer 107 attached to the elevator car 50a or the car mover 80a. The accelerometer 107 is configured to detect an acceleration and/or a speed of the elevator car 50a and the car mover 80a.
Turning to
If the wheels 134a, 134b have different diameters, e.g., due to uneven wear, applying the same rotational speed to both may result in an uneven motion. Instead of a straight path 205, a skewed path 205a may result. This can be measured by lateral gaps 200a, 200b that differ from each other and/or are outside of a predetermined tolerance. Due to the uncertainty in the effective wheel radii during any run, a controller, which may be the car mover controller 115, utilizing adjustment data from prior runs and sensor data representing the size of the gaps 200a, 200b, may actively control one or more aspects of the wheels 134a, 134b such as the velocity and torque, to provide a same effective diameter.
More specifically, turning to
More specifically, as shown in
The controller 115, further utilizing the self-learning module 210, applies the estimate of the effective wheel radius for that run (i) and computes the ratio of the wheel radii for that individual run (i) and saves it into memory. A weighted summation of the current run and N−1 prior runs is computed, e.g., according to the following sample formulas:
For Formula 1, Radius=(Linear distance traveled by car (m))/(rotations of the wheel (e.g. 134a) in radians). For formula 2, the updated calculated radius ratio is a weighted sum of past estimated radii ratio values. Wt(i) may be a strict average, or it may be weighted where wt(i) does not necessarily equal wt(i+1). The selection of the weighting function, wt(N), for the self-learning module 210 may be driven by various goals. For example, the function should filter out noise from run to run variations in the calculated radius (e.g., tire radius) estimates. The function should also track changes in the radius ratios in a relatively timely manner. The filtering requirement may be accomplished by ensuring that the weighting function includes a large enough set of past readings. The dynamic tracking performance can be accomplished by ensuring the weighting function adequately weighs the most recent estimates to respond to quickly changing conditions.
In addition, the car mover controller 115 may execute a gap feedback control module 290 on sensor data from the sensor 113. The output of the gap feedback control module 290 is also utilized to generate the torque adjustment commands 270, 280, to apply torque to one or more of the wheel motors 132a, 132b. These adjustment commands further augment the adjustment data fed as input 245 to the gap control self-learning module 210.
Turning to
For each wheel 134a, 134b, sensor data, representing respective distances 200a1, 200a2 (or gaps) to the sidewall 111a, may indicate a tilt (or angle) of the wheel 134a relative to the direction of travel 205. An average of the data from two sensors 400a, 400b, may represent the gap 200a. In one embodiment one of the sensors 400a, 400b is a gap sensor while the other is tilt sensor (e.g., inclinometer).
The above identified velocity adjustment commands may result in adjustments to the rotational speed of one wheel as compared with the other. The end state of the self-learning adjustments, if operating as intended according to an embodiment, result in the adjusted diameters matching the actual diameters of the tires. The torque adjustment commands may result in aligning of a wheel that may have come out of alignment. Adjustments may be made after the destination is reached, after one or more sets of runs, periodically, or dynamically during a run utilizing the position reference system. The result is a dampening out of unwanted motion for the wheels by continuous dynamic optimization of motor torque parameters.
Turning to
As shown in block 1030, the method includes executing, by the controller 115, a gap feedback control module 290. From this operation, based on one or more of a first lateral clearance 200a adjacent the first wheel 134a on the track 112 and a second lateral clearance 200b adjacent the second wheel 134b on the track 112, torque applied by one or more of the first and second wheel motors 132a, 132b is increased or decreased. As shown in block 1040, the method adjusting, by the controller 115 utilizing the adjustment data, an effective diameter of the first and second wheels 134a, 134b relative to each other. As shown in block 1050, the method includes adjusting, in operation, one or more of velocity and torque after an identified destination is reached, or after a predetermined period of time or operational runs is reached by the car mover 80a.
As shown in block 1060, the method includes obtaining the adjustment data via a log of adjustments to the first and second wheel motors 132a, 132b from prior runs of the car mover 80a. As shown in block 1070, the method includes deriving the adjustment data as a weighted average applied to the log of adjustments to the first and second wheel motors 132a, 132b from previous runs of the car mover 80a. As shown in block 1075, the method includes deriving the adjustment data as a correction factor based on the log of adjustments to the first and second wheel motors from previous runs of the car mover 80a.
As shown in block 1080, the method includes sensing, by a sensor 113 operationally connected to the car mover 80a, the first lateral clearance 200a adjacent the first wheel 134a on the track 112 and the second lateral clearance 200b adjacent the second wheel 134b on the track 112. As shown in block 1090, the method includes transmitting, by the sensor 113, sensor data indicative of the first and second lateral clearances 200a, 200b to the controller 115 via a wired or wireless transmission channel. As shown in block 1100, the method includes transmitting, by the sensor 113, the sensor data to the controller 115 over the wireless transmission channel, directly or via a cloud service 94. As shown in block 1110, the method includes processing the sensor data, at least in part, by one more of the sensor 113 via edge computing, the controller 115, and the cloud service 94.
The above embodiments utilize data from prior runs to control the operation of the wheels 134a, 134b. In an alternate embodiment, rather than relying on data from prior runs, the controller 115 may control the operation of the wheels 134a, 134b dynamically, e.g., without any reliance on previous runs. For example, the controller 115 may rely on the gap feedback control module 290 to rely on sensor data for controlling the operation of the wheels 134a, 134b.
Wireless connections identified above may apply protocols that include local area network (LAN, or WLAN for wireless LAN) protocols and/or a private area network (PAN) protocols. LAN protocols include WiFi technology, based on the Section 802.11 standards from the Institute of Electrical and Electronics Engineers (IEEE). PAN protocols include, for example, Bluetooth Low Energy (BTLE), which is a wireless technology standard designed and marketed by the Bluetooth Special Interest Group (SIG) for exchanging data over short distances using short-wavelength radio waves. PAN protocols also include Zigbee, a technology based on Section 802.15.4 protocols from the IEEE, representing a suite of high-level communication protocols used to create personal area networks with small, low-power digital radios for low-power low-bandwidth needs. Such protocols also include Z-Wave, which is a wireless communications protocol supported by the Z-Wave Alliance that uses a mesh network, applying low-energy radio waves to communicate between devices such as appliances, allowing for wireless control of the same.
Other applicable protocols include Low Power WAN (LPWAN), which is a wireless wide area network (WAN) designed to allow long-range communications at a low bit rates, to enable end devices to operate for extended periods of time (years) using battery power. Long Range WAN (LoRaWAN) is one type of LPWAN maintained by the LoRa Alliance, and is a media access control (MAC) layer protocol for transferring management and application messages between a network server and application server, respectively. Such wireless connections may also include radio-frequency identification (RFID) technology, used for communicating with an integrated chip (IC), e.g., on an RFID smartcard. In addition, Sub-1 Ghz RF equipment operates in the ISM (industrial, scientific and medical) spectrum bands below Sub 1 Ghz—typically in the 769-935 MHz, 315 Mhz and the 468 Mhz frequency range. This spectrum band below 1 Ghz is particularly useful for RF IOT (internet of things) applications. Other LPWAN-IOT technologies include narrowband internet of things (NB-IOT) and Category M1 internet of things (Cat M1-IOT). Wireless communications for the disclosed systems may include cellular, e.g. 2G/3G/4G (etc.). The above is not intended on limiting the scope of applicable wireless technologies.
Wired connections identified above may include connections (cables/interfaces) under RS (recommended standard)-422, also known as the TIA/EIA-422, which is a technical standard supported by the Telecommunications Industry Association (TIA) and which originated by the Electronic Industries Alliance (EIA) that specifies electrical characteristics of a digital signaling circuit. Wired connections may also include (cables/interfaces) under the RS-232 standard for serial communication transmission of data, which formally defines signals connecting between a DTE (data terminal equipment) such as a computer terminal, and a DCE (data circuit-terminating equipment or data communication equipment), such as a modem. Wired connections may also include connections (cables/interfaces) under the Modbus serial communications protocol, managed by the Modbus Organization. Modbus is a master/slave protocol designed for use with its programmable logic controllers (PLCs) and which is a commonly available means of connecting industrial electronic devices. Wireless connections may also include connectors (cables/interfaces) under the PROFibus (Process Field Bus) standard managed by PROFIBUS & PROFINET International (PI). PROFibus which is a standard for fieldbus communication in automation technology, openly published as part of IEC (International Electrotechnical Commission) 61158. Wired communications may also be over a Controller Area Network (CAN) bus. A CAN is a vehicle bus standard that allow microcontrollers and devices to communicate with each other in applications without a host computer. CAN is a message-based protocol released by the International Organization for Standards (ISO). The above is not intended on limiting the scope of applicable wired technologies.
As indicated, when data is transmitted over a network between end processors, the data may be transmitted in raw form or may be processed in whole or part at any one of the end processors or an intermediate processor, e.g., at a cloud service or other processor. The data may be parsed at any one of the processors, partially or completely processed or complied, and may then be stitched together or maintained as separate packets of information.
Each processor identified herein may be, but is not limited to, a single-processor or multi-processor system of any of a wide array of possible architectures, including field programmable gate array (FPGA), central processing unit (CPU), application specific integrated circuits (ASIC), digital signal processor (DSP) or graphics processing unit (GPU) hardware arranged homogenously or heterogeneously. The memory identified herein may be but is not limited to a random access memory (RAM), read only memory (ROM), or other electronic, optical, magnetic or any other computer readable medium. Embodiments can be in the form of processor-implemented processes and devices for practicing those processes, such as processor. Embodiments can also be in the form of computer code based modules, e.g., computer program code (e.g., computer program product) containing instructions embodied in tangible media (e.g., non-transitory computer readable medium), such as floppy diskettes, CD ROMs, hard drives, on processor registers as firmware, or any other non-transitory computer readable medium, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes a device for practicing the embodiments. Embodiments can also be in the form of computer program code, for example, whether stored in a storage medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, loaded into and/or executed by a computer, or transmitted over some transmission medium, such as over electrical wiring or cabling, through fiber optics, or via electromagnetic radiation, wherein, when the computer program code is loaded into and executed by a computer, the computer becomes an device for practicing the exemplary embodiments. When implemented on a general-purpose microprocessor, the computer program code segments configure the microprocessor to create specific logic circuits.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the present disclosure. The term “about” is intended to include the degree of error associated with measurement of the particular quantity and/or manufacturing tolerances based upon the equipment available at the time of filing the application. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, element components, and/or groups thereof.
Those of skill in the art will appreciate that various example embodiments are shown and described herein, each having certain features in the particular embodiments, but the present disclosure is not thus limited. Rather, the present disclosure can be modified to incorporate any number of variations, alterations, substitutions, combinations, sub-combinations, or equivalent arrangements not heretofore described, but which are commensurate with the scope of 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. Accordingly, the present disclosure is not to be seen as limited by the foregoing description, but is only limited by the scope of the appended claims.