This disclosure is directed to improved systems and methods for and related to an apparatus, system, and method which allows use of multiple remote controls to control a suspended load control system.
People and/or equipment (“loads”) may be transported to or from a location as a load suspended by a cable from a helicopter or crane or may be suspended from a building or other structure, using a hoist system. Suspended loads are typically not buoyant, though may be. Cranes, helicopters, fixed wing aircraft, buildings, and other structures from which a load may be suspended on a suspension cable may be referred to herein as “carriers”. During suspended load operations, loads are subject to winds and other external and internal factors that may cause the load to move in an unstable, unpredictable, undesirable, and/or hazardous manner.
Operators of carriers, such as helicopter and crane crews or a maintenance crew on a building, may use equipment that provides control of a suspended load, including equipment that provides suspended load control remote from the carrier, e.g. at or near a load, using remotely powered fans. Such equipment is referred to herein as a suspended load control system (“SLCS”).
In hoist and sling operations or otherwise when transporting a suspended load by a carrier, observed motion of suspended loads includes the following components: vertical translation (motion up and down) along the Y axis (referred to herein as “vertical translation”); horizontal translation along either or both the X and Z axis; and rotation or “yaw” about the Y axis. Roll (rotation about the X axis) and pitch (rotation about the Z axis) may also occur, though if a load is suspended by a cable and is not buoyant, the typical motions are vertical translation, horizontal translation, and yaw. Axis, when discussed herein, are relative to a normal axis of a suspended load. Vertical and horizontal translation may be caused by movement of the suspension cable, movement of the carrier, winding of a winch up or down relative to a carrier, movement of the load, differences in speed and momentum between the load and the carrier, by wind—including propeller wash—impacts, and external forces. Horizontal translation can manifest as lateral motion or as conical pendulum motion of the load, with the pivot point of the pendulum where the cable is secured to the carrier (“pendular motion”); pendular motion generally also includes a component of vertical translation and may also be referred to as elliptical motion.
Yaw, lateral motion, and pendular motion complicate lift operations, cause delays, injury, and can lead to death of aircrew, crane operators, and of people on the ground. Yaw can produce dizziness and disorientation in humans and transported non-human animals. Yaw and lateral and pendular motion can also interfere with bringing a load into or delivering a load to a location. For example, delivery of a load to a deck of a ship may be complicated by pendular motion or yaw of the load, even if the deck is stable and is not also subject to heave, roll, or pitch, as it may be. For example, bringing a person in a litter into a helicopter or onto a helicopter strut may be hazardous if the litter is undergoing yaw or pendular motion as it is drawn up to the helicopter. One or more components of undesired motion of the load may increase in amplitude and/or frequency and otherwise grow more pronounced as a load is drawn up to the carrier and the suspension cable shortens. Horizontal and pendular motion of a load can also interact with the carrier to produce dangerous reactive or sympathetic motion in the carrier.
In addition, some suspended load operations may involve an obstacle, such as a surface, cliff wall, building, bridge, tree limb, overhang, narrow passage or other obstacle that may interfere with one or more of carrier, load, and/or suspension cable. It may be desirable to move the load relative to such an obstacle, or for other reasons, in a manner which does not involve the load hanging at a lowest energy position below the carrier.
In some circumstances, control of an SLCS may be by one person, using one wireless remote control, also referred to herein as a “remote pendant” or “pendant”. However, in some circumstances, it may be desirable or necessary for more than one person or more than one remote pendant to be used to control an SLCS. For example, in a rescue operation beneath a helicopter, a first person supporting the rescue operation may be in the helicopter, while a second person supporting the rescue operation may be with or proximate to a suspended load, where the suspended load comprises a rescue litter. During a first part of the rescue operation, both persons may desire for the second person to control the SLCS, because, for example, the second person may be closer to the SLCS and the rescue litter, may better see and experience how the SLCS and rescue litter are behaving in the environment beneath the helicopter, may have capability to provide input into a second remote pendant carried by the second person, and the like. However, during another part of the rescue operation the second person may be occupied with other tasks which may conflict with providing input into a remote pendant, such as with care for a patient in the rescue litter, fending off obstacles proximate to the rescue litter, communicating with others, and or the second person may loose the ability to provide input into the remote pendant. In such or similar circumstances, one or both persons may desire for the first person to control the SLCS. In addition, by way of example, in the context of a lift operation on a construction site in which an SLCS is used to control a load beneath a crane, the load may need to be picked up from a first location on the construction site and transported as a suspended load to a second location on the construction site. In this example, a single person may not have an unobstructed view of both locations and or a single person may not be able to communicate with the SLCS as it is transported from the first location to the second location by the crane, such as due to distance, visual obstructions, obstructions radio-frequency communication, and the like.
However, SLCS systems may perform life-saving operations or operations that could pose a danger to people, both on the ground, in the carrier, and proximate to a suspended load, to property, and the like. Whether or not a life-saving or potentially dangerous operation is being performed with an SLCS, it may be desirable to transfer control of an SLCS between people and or remote pendants, for control and transfer of control of the SLCS to be predictable, recognizable, and to accommodate the circumstances of the operation and the needs and desires of those involved in the operation.
Management of loads and carriers would be improved if the load may be moved independently from the carrier, including horizontal translation, pendular motion, and or yaw control, wherein control input for performing such operations may be provided through the use of more than one remote pendant.
It is intended that the terminology used in the description presented below be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain examples of the technology. Although certain terms may be emphasized below, any terminology intended to be interpreted in a restricted manner will be overtly and specifically defined as such in this Detailed Description section.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the term “coupled,” or any variant thereof means any coupling, either direct or indirect between two or more elements; a coupling between the elements can be physical, logical, or a combination thereof. Additionally, the words, “herein,” “above,” “below,” and words of similar import, when used in this application, shall refer to this application as a whole and not to particular portions of this application. When the context permits, words using the singular may also include the plural while words using the plural may also include the singular. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of one or more of the items in the list. References may be made herein to modules, routines, and subroutines; generally, it should be understood that a module or routine is a software program or logic executed by computer hardware and that a subroutine is a software program executed within a module or routine. However, modules or routine discussed herein may be executed within another module or routine and submodules or subroutines may be executed independently (modules or routines may be submodules or subroutines and visa versa). Logic illustrated within modules may be re-ordered and or performed by other modules, or the like.
As used herein, “releasable,” “connect,” “connected,” “connectable,” “disconnect,” “disconnected,” and “disconnectable” refers to two or more structures which may be connected or disconnected, generally without the use of tools (examples of tools including screwdrivers, pliers, wrenches, drills, saws, welding machines, torches, irons, and other heat sources) and generally in a repeatable manner. As used herein, “attach,” “attached,” or “attachable” refers to two or more structures or components which are attached through the use of tools or chemical or physical bonding. As used herein, “secure,” “secured,” or “securable” refers to two or more structures or components which are either connected or attached.
The phrases “in one embodiment,” “in various embodiments,” “in some embodiments,” and the like are used repeatedly. Such phrases do not necessarily refer to the same embodiment. The terms “comprising,” “having,” and “including” are synonymous, unless the context dictates otherwise. As used in this specification and the appended claims, the singular forms “a,” “an,” and “the” include plural referents unless the content clearly dictates otherwise. It should also be noted that the term “or” is generally employed in its sense including “and/or” or “and or” unless the content clearly dictates otherwise.
Approaches to control suspended loads include countermeasures installed on a carrier. For example, some airframes, such as the Skycrane™, have a rail system installed beneath a cabin to mitigate sway of a load, though, being remote from the suspended load, such rail system has margin effect. Some approaches to this problem involve automated countering algorithms in an aircraft's stability augmentation system, though, again, the effect of these measures is limited. At times, crew chiefs who remain within a helicopter during an extraction try to affect a suspended load by pushing or pulling a suspension cable from the helicopter; such efforts have limited effect and can be hazardous. Carriers may move loads at slow rates to minimize horizontal or pendular motion, may move loads at a high rate to increase an angle between the load and the carrier and allow a load to move outside of a column of air produced by the carrier, or may use additional suspension cables or dedicated control cables (whether on the ground, neighboring structures, or on a carrier); these measures increase costs, complexity, and risk of failure. All of these measures are inadequate, indeterminate, and highly problematic.
In various embodiments, as described further herein, a suspended load control system provides control of a load, independent from a carrier. The suspended load control system or load stability system (referred to together as, “SLCS”) of this disclosure controls a load by exerting force from thrusters, fans, or propellers, as are found in electric ducted fans at, or near, the location of the load. Thrusters, fans, propellers and electric ducted fans are referred to herein as “EDFs”. Vector thrust force produced by the EDFs may be used to counteract yaw and pendular motion, may be used to translate a load horizontally, such as to avoid an obstacle or to move a load into an offset position relative to a normal lowest-energy hanging position, or may otherwise be used to control the fine location and yaw of a load, independently from the carrier.
Control of an SLCS may be by more than one remote pendant or people, using wireless communication media, such as radio frequency or other wireless bandwidth (“wireless bandwidth”).
SLCS's and remote pendants may have limited wireless bandwidth. The wireless bandwidth may need to be divided to allow more than one SLCS and set of remote pendants to operate with overlapping wireless coverage. Because wireless bandwidth may be so severely limited, communication by SLCS's and remote pendants may be limited and or highly structured.
An SLCS may transmit a plurality of messages types, including an unpaired message, a pairing message, a normal operation message, a verbose error request message.
A remote pendant may transmit a plurality of messages types, including a pairing message, a normal operation message, a verbose error response message.
A plurality of remote pendants may authenticate or “pair” with an SLCS by providing an authentication credential; the authentication credential may comprise, for example, an identification number of the SLCS and or of the remote pendant, such as a serial number, a permanent identification number, a hardware address, a hardware key, a MAC address, a cryptographic key, a number or value or signature prepared using a shared private cryptographic key, a number or value or signature prepared using a private key of a public-private cryptographic key system, a number or value or signature prepared using a public key of a public-private cryptographic key system, a non-fungible token, and the like. The authentication credential may be “burned into” or stored in permanent secure memory in an SLCS and remote pendants with which the SLCS is meant to communicate with. The authentication credential may be a combination or product of two or more authentication credentials, such as a cryptographic hash of identification credentials for an SLCS and for a remote pendant.
During a pairing procedure, an SLCS may wirelessly transmit a message indicating that the SLCS is unpaired. A remote pendant may transmit a remote pendant message. The remote pendant message may be a pair attempt, comprising an authentication credential, such as a secure identifier or authentication credential of the SLCS and or of the remote pendant.
Because a non-transient authentication credential may comprise a relatively large amount of data, following authentication with the non-transient authentication credential, an SLCS or remote pendant may assign to the other device a transient authentication credential, wherein the transient authentication credential comprises a relatively small amount of data, compared to the non-transient authentication credential.
A paired or authenticated communication session may be maintained between an SLCS and a remote pendant while the SLCS and or remote pendant receive messages from the other without an interruption exceeding a timeout threshold. The timeout threshold may vary depending on the application of the SLCS. For example, for an SLCS controlling loads beneath a crane at a construction site, the timeout threshold may be ten minutes. For example, for an SLCS controlling a rescue litter beneath a helicopter, the timeout threshold may be two to five seconds.
When a plurality of pendants are paired with or available to pair with an SLCS, the SLCS may maintain a priority order among the plurality of pendants. The priority order may determine which remote pendant may provide a control input to the SLCS. The priority order may be based on, for example, an order in which remote pendants in the plurality of remote pendants pair with the SLCS, whether a remote pendant in the plurality of remote pendants is a master remote pendant, wherein the master remote pendant is to provide control input to the SLCS ahead of or to the exclusion of other remote pendants in the plurality of pendants. The priority order may further or alternatively be based on an input of a user of a remote pendant, such as selection of a lower priority, a higher priority, an equal or peer priority, and the like.
When a remote pendant has paired with an SLCS, is allowed to provide control input to the SLCS, and become a controlling remote pendant of the SLCS, the controlling remote pendant may release control of the SLCS. If a first remote pendant releases control of the SLCS and if a second remote pendant pairs with or is paired with the SLCS, the second remote pendant may thereafter or thereby accept control. The second remote pendant may be made aware that the SLCS is available to pair according to an unpaired message transmitted by the SLCS, according to an message indicating that another remote pendant has released control, and the like.
During normal operation messages, the SCLS may transmit information regarding the SLCS which is to be output by the remote pendant, such as a connection status of the SCLS, a transmit and or receive strength of wireless communication between the SLCS and remote pendant, an SLCS position and or orientation, a thrust output of the SLCS, an external force or perturbation on the SLCS, a battery status of the SLCS, and the like.
During normal operation messages, the remote pendant may transmit one or more remote pendant status and one or more remote pendant events. The remote pendent events may comprise, for example, a user selection of a user mode or command state of the load control system, e.g. idle, maintain relative location, position, and or orientation relative to the carrier, move to position, target mode, user designated position, obstacle avoidance, hold position or orientation, or direct control, an indication of a thrust vector to be output by the load control system, such as a value regarding a position of a joystick in the remote pendant, and the like.
During operation the SLCS and or remote pendant may identify that an error has occurred; errors may comprise, for example, a wireless communication loss, a wireless communication module error, an out-of-bounds control input instruction, a power supply error, or the like. When an error is detected, the SLCS may send a verbose error message request, wherein the verbose error message request requests that the remote pendant provide data from a system or subsystem which may be the subject of or related to the error.
Thereby, an SLCS enhances mission safety and improves performance of carrier and load operations as the SLCS dynamically controls fine location and yaw of a load, separate from motion of the carrier.
Thereby, an SCLS may communicate with a plurality of remote pendants and may manage or select which remote pendant of the plurality of remote pendants is to provide control input to the SLCS, such as based on a paired status, based on an order in which remote pendants paired with the SLCS, based on whether any of the remote pendants is a master pendant, based on whether a remote pendant has released control, based on a priority order among the plurality of remote pendants.
As disclosed herein, an SLCS controls the motion of a suspended load through a system that may be releasably secured to or incorporated into the suspended load or a structure that holds the suspended load. The SLCS is agnostic with respect to the platform from which the load is suspended (e.g., the characteristics of a helicopter “ownship”, or a crane, etc., or other carrier), as it independently determines thrust necessary to stabilize the load or to direct the load in a desired direction. This permits widespread adoption of the system regardless of carrier type, lowering cost and mitigating solution risks.
An SLCS can provide benefits to, for example, helicopter search and rescue (“SAR”) and sling load operations, forest fire helicopters, crane operations, construction sling load operations, and civilian firefighting.
An SLCS may be releasably secured to an existing structure designed to hold other loads, such as litters, cages, platforms, or the like or an SLCS may be integrated into a structures designed to hold other loads.
Reference is now made in detail to the description of the embodiments illustrated in the drawings. While embodiments are described in relation to the drawings and related descriptions, there is no intent to limit the scope to the embodiments disclosed herein. On the contrary, the intent is to cover all alternatives, modifications and equivalents. In alternate embodiments, additional devices, or combinations of illustrated devices, may be added to, or combined, without limiting the scope to the embodiments disclosed herein. For example, the embodiments set forth below are primarily described in the context of a helicopter sling load, search and rescue operations, and/or crane operations. However, these embodiments are illustrative examples and in no way limit the disclosed technology to any particular application or platform.
An operator of crane 110 may need to pickup load 140 from first location 126A in construction site 100 and transport load 140 to second location 126B in construction site 100. First location 126A and second location 126B may be sufficiently far apart that remote pendant wireless transmission 150A cannot maintain a connection with SLCS 105 or first location 126A and second location 126B may be separated by a barrier, wherein the barrier may prevent visual contact by both remote pendant user 120A and remote pendant user 120B or the barrier may prevent first pendant wireless transmission 150A from reaching SLCS 105 when SLCS 105 is in or proximate to second area 126B.
To overcome these and other problems, SLCS 105 may comprise suspended load control system logical components 801 illustrated and discussed in relation to
A more detailed illustration of an SLCS used in a rescue operation may be found in
During a first phase of rescue operation 200, first remote pendant user 220A, second remote pendant user 220B, and third remote pendant user 220C may prefer that second remote pendant user 220B provide control input to SLCS 205. During a second phase of rescue operation 200, first remote pendant user 220A, second remote pendant user 220B, and third remote pendant user 220C may prefer that first remote pendant user 220A provide control input to SLCS 205. During a third phase of rescue operation 200, first remote pendant user 220A, second remote pendant user 220B, and third remote pendant user 220C may prefer that third remote pendant user 220C provide control input to SLCS 205. In addition, as rescue operation 200 is performed, SLCS 205 may move beyond a transmission range of second remote pendant 225B. Coordinating transfer of control among pendant users may exceed the unaided communication capabilities of first remote pendant user 220A, second remote pendant user 220B, and third remote pendant user 220C.
To overcome these and other problems, SLCS 205 may comprise suspended load control system logical components 801 illustrated and discussed in relation to
Opening loop block 305 to closing loop block 330 may iterate while multi-pendant management module 300 is in an unpaired state.
At block 310, multi-pendant management module 300 may send an unpaired message. The unpaired message may comprise, for example, an identifier of an SLCS, such as an identifier of SLCS 1100 or SLCS 1300, an indication of the message type (e.g. a normal operation message, a register or authentication acknowledge message, an unpaired message type, a verbose error request, and the like), an indication that the SLCS is unpaired, an indication of the type of device sending the message (e.g. an SLCS or a remote pendant), a cyclic redundancy check, and the like.
At decision block 315, multi-pendant management module 300 may determine if it receives a message from a remote pendant. If negative or equivalent at decision block 315, including after waiting for a period (not illustrated), multi-pendant management module 300 may return to opening loop block 305, may return to a process which may have called it, or may conclude.
If affirmative or equivalent at decision block 315, at decision block 3250 multi-pendant management module 300 may determine if the pendant message is an authentication or pairing message. For example, a pairing message from a remote pendant may comprise an authentication credential; the authentication credential may comprise, for example, an identifier of an SLCS and or an identifier of a remote pendent. For example, an SLCS may be programmed, e.g. in secure non-volatile memory, with an identifier of a remote pendant with which the SLCS will pair or authenticate; a remote pendant may be programmed, e.g. in secure non-volatile memory, with an identifier of an SLCS with which the remote pendant will pair or authenticate. Each device may obtain its identifier and the identifier of the other device from its respective secure non-volatile memory and send the identifier pair or a product thereof, e.g. a cryptographic hash thereof, to the other party. Decision block 320 identifies this with the text “identifies SLCS identification number or identifies allowed pendant”, wherein the SLCS identification number may be a identification number or authentication credential for the SLCS and the “allowed pendant” may be a identification number or authentication credential of a remote pendant with which multi-pendant management module 300 will pair or authenticate.
As discussed herein, A plurality of remote pendants may authenticate or “pair” with an SLCS by providing an authentication credential; the authentication credential may comprise, for example, an identification number of the SLCS and or of the remote pendant, such as a serial number, a permanent identification number, a hardware address, a hardware key, a MAC address, a cryptographic key, a number or value or signature prepared using a shared private cryptographic key, a number or value or signature prepared using a private key of a public-private cryptographic key system, a number or value or signature prepared using a public key of a public-private cryptographic key system, a non-fungible token, and the like. The authentication credential may be “burned into” or stored in permanent secure memory in an SLCS and remote pendants with which the SLCS is meant to communicate with. The authentication credential may be a combination or product of two or more authentication credentials, such as a cryptographic hash of identification credentials for an SLCS and for a remote pendant.
At decision block 325, multi-pendant management module 300 may determine if the pendant message comprises a successful pair or authentication attempt. If affirmative or equivalent at decision block 325, at block 335 multi-pendant management module 300 may optionally assign an identifier to the paired remote pendant of decision blocks 320 and 325, including a low-bit identifier, which may also be referred to as a transient identifier. A low-bit transient identifier may require relatively less data to be transmitted, compared to an identifier of the remote pendant; a low-bit transient identifier may also be less secure than an identifier of the remote pendant.
At block 340, multi-pendant management module 300 may maintain a priority order of remote pendants paired with or available to be paired with multi-pendant management module 300. The priority order may be based on, for example, the temporal order in which the remote pendants paired with multi-pendant management module 300, an order among remote pendants designated during system design and fabrication (e.g. whether a remote pendant is designated as having higher priority than one or more other remote pendants), a priority order based on user input into remote pendants (e.g. where users of remote pendants agree regarding a priority order and input the priority order into their respective remote pendant), and the like.
If negative or equivalent at decision block 325, at closing loop block 330 multi-pendant management module 300 may return to opening loop block 305.
Opening loop block 345 to closing loop block 355 may iterate while multi-pendant management module 300 is in a paired or authenticated state or condition.
At decision block 350, multi-pendant management module 300 may determine if an interrupt condition has occurred. An interrupt condition may comprise, for example, passage of a timeout interval, a reset of multi-pendant management module 300, e.g. following a power-cycle, or the like.
If affirmative or equivalent at decision block 350, at done or return block 399, multi-pendant management module 300 may conclude, may return to opening loop block 305, and or may return to a process which may have called it.
If negative or equivalent at decision block 350, at block 400, multi-pendant management module 300 may call, perform, or execute suspended load control system paired state operation module 400 as a subroutine or submodule, discussed herein in relation to
At closing loop block 355, multi-pendant management module 300 may return to opening loop block 345 to iterate while multi-pendant management module 300 remains paired or authenticated with at least one remote pendant.
At decision block 405, suspended load control system paired state operation module 400 may determine if an interrupt condition has occurred. For example, an interrupt condition may comprise a timeout, a reset, or the like. If affirmative or equivalent at decision block 405, suspended load control system paired state operation module 400 may return to, for example, block 305 of multi-pendant management module 300.
If negative or equivalent at decision block 405, at block 410 suspended load control system paired state operation module 400 may receive a message from a remote pendant. The message may comprise, for example, a normal operation message, a verbose error response message, a pairing message, an error message, an unpaired remote pendant message, and the like. At block 410, suspended load control system paired state operation module 400 may update a timeout status of the remote pendant which sent the message received at block 410.
At block 500, suspended load control system paired state operation module 400 may call, perform, or execute controlling remote pendant selection module 500 as a subroutine or submodule, discussed herein in relation to
Opening loop block 415 to closing loop block 465 may iterate while suspended load control system paired state operation module 400 has a constant controlling remote pendant. Messages received and sent by suspended load control system paired state operation module 400 between opening loop block 415 to closing loop block 465 may be to and from all of a plurality of remote pendants that are paired with multi-pendant management module 300, notwithstanding that only one of such pendants may be a controlling remote pendant.
At decision block 420, suspended load control system paired state operation module 400 may determine whether the remote pendant message of block 410 was a verbose error response message.
If affirmative or equivalent at decision block 420, at block 425 suspended load control system paired state operation module 400 may log error data provided in the verbose error response message.
At block 430 suspended load control system paired state operation module 400 may determine a next system or subsystem to query for error data, if any.
If negative or equivalent at decision block 420, at decision block 435 suspended load control system paired state operation module 400 may determine whether an error has occurred, e.g. in the SLCS, in a module of the SLCS, in a remote pendant, or the like. If affirmative or equivalent at decision block 435, at block 470 suspended load control system paired state operation module 400 may determine a remote pendant system or subsystem to query for a verbose error response
If negative or equivalent at decision block 435, at block 440 suspended load control system paired state operation module 400 may determine a remote pendant control input or control instruction received in the remote pendant message of block 410. A remote pendant control input or control instruction may only be accepted from the controlling remote pendant. The control input may comprise, for example, an event in the remote pendant, such as a button press or a button event in the remote pendant, wherein the button press or event may comprise a selection of a functional mode or command state of SLCS operational module 900, a release of control by the controlling remote pendant, a joystick position or axis and (or other input), wherein the joystick position or axis may indicate a thrust vector (e.g. an orientation or direction of a thrust vector to be output by a thruster of the SCLS) and a thrust vector magnitude, or the like.
At block 445, suspended load control system paired state operation module 400 may update a functional mode or command state of SLCS operational module 900, may note the control release request, and the like.
At block 450 suspended load control system paired state operation module 400 may determine SLCS information to send to the remote pendant. For example, SLCS information may comprise a connection status (e.g. paired, not paired), an identifier of a controlling pendant (which may be output to both the controlling remote pendant and to other paired but not controlling remote pendants), a wireless communication transmit and or receive strength, a position and or orientation of the SLCS, a status of thrust from thrusters of the SLCS, a battery status information for a battery of the SLCS, an SLCS error, and the like.
At block 455 suspended load control system paired state operation module 400 may determine a message that the remote pendant is to output, e.g. to a user of the remote pendant, e.g. in user interface of the remote pendent, e.g. in a light-emitting diode, in a display screen, in an audio output, or the like. The message to be output may comprise some or all of the SLCS information of block 450 as well as other information to be provided by a module of the SLCS and output in the remote pendant, e.g. the functional mode or command state of SLCS operational module 900, and the like.
At block 460, suspended load control system paired state operation module 400 may send a remote pendant message comprising, for example, an identifier of the remote pendant (including a low-data transient identifier) to which the message is directed, an acknowledgement of the message of block 410, SLCS information of block 450, pendant output of block 455, a verbose error request message, and the like.
At closing loop block 465, suspended load control system paired state operation module 400 may return, for example, to block 415 or to block 410.
At done or return block 499, suspended load control system paired state operation module 400 may conclude or return to a process which may have called it, such as to multi-pendant management module 300.
At decision block 505, controlling remote pendant selection module 500 may determine if more than one pendant is paired or authenticated with suspended load control system multi-pendant management module 300 and or suspended load control system paired state operation module 400. If negative or equivalent at decision block 505, controlling remote pendant selection module 500 may return to, e.g. block 415, and may indicate that the one paired or authenticated remote pendant is the controlling pendant.
If affirmative or equivalent at decision block 505, at decision block 510 controlling remote pendant selection module 500 may optionally determine whether a “master” remote pendant or other pendant with higher priority relative to other paired pendants is paired. This determination may be based on, for example, a priority order, e.g. priority order maintained in block 340.
At block 515, controlling remote pendant selection module 500 may select the master or high priority remote pendant.
If negative or equivalent at decision block 510, at block 520 controlling remote pendant selection module 500 may optionally obtain a pendant authentication, pairing, or registration order (if, for example, priority order is not maintained in block 340).
At block 525, controlling remote pendant selection module 500 may optionally select a first remote pendant to authenticate, pair, or register, which has not also timed out.
At decision block 530, controlling remote pendant selection module 500 may determine whether there has been a successful authentication or pair by an allowed and or selected remote pendant, wherein the selected remote pendant is a remote pendant selected at block 515 or block 525. If negative or equivalent at decision block 530, controlling remote pendant selection module 500 may return to, for example, block 405.
If affirmative or equivalent at decision block 530, at block 535 controlling remote pendant selection module 500 may assign control to the successfully paired and selected pendant. At block 535 controlling remote pendant selection module 500 may further assign a pendant identifier, such as a low data transient identifier, to the remote pendant which has been assigned control.
At decision block 540, controlling remote pendant selection module 500 may determine whether the controlling pendant of block 535 has released control.
If affirmative or equivalent at decision block 540, at decision block 545 controlling remote pendant selection module 500 may determine whether an allowed pendant, e.g. another pendant allowed to pair with suspended load control system multi-pendant management module 300 is already paired with suspended load control system multi-pendant management module 300.
If affirmative or equivalent at decision block 545, at block 550 controlling remote pendant selection module 500 may assign control (to provide control input to SLCS operational module 900 and or SLCS decision and thrust control module 1000) to the next successfully paired remote pendant.
If negative or equivalent at decision block 540 or at decision block 545, or following block 550, controlling remote pendant selection module 500 may proceed to done or return block 599. In done or return block 599, controlling remote pendant selection module 500 may return the controlling pendant of, e.g., block 515, block 535, or of block 550.
At decision block 605, remote pendant multi-pendant management module 600 may determine whether it has received a message from an SLCS. Determination of whether a received message may be based on, for example, whether the received message indicates that the source of the message is an SLCS.
At decision block 610, remote pendant multi-pendant management module 600 may determine whether the received message is from an authenticated SLCS, e.g. an SLCS with which the remote pendant executing remote pendant multi-pendant management module 600 is configured to pair or authenticate with. This determination may be based on whether the received message comprises an authentication credential of an SLCS with which the remote pendant executing remote pendant multi-pendant management module 600 is configured to pair or authenticate with. For example, the remote pendant may comprise secure non-volatile memory comprising an authentication credential of or associated with an SLCS with which remote pendant multi-pendant management module 600 may pair. Such memory and credential may be accessed and the authentication credential confirmed at decision block 610.
If affirmative or equivalent at decision block 605, at block 615, remote pendant multi-pendant management module 600 may send a pair message. The pair message may indicate that the message is a pair message, may indicate the source of the message (e.g. that the message is from a remote pendant), may comprise an authentication credential for the remote pendant executing remote pendant multi-pendant management module 600 (e.g. an identifier of the remote pendant), and a cyclic redundancy check.
At decision block 620, remote pendant multi-pendant management module 600 may determine whether the pair message of block 615 is accepted. Acceptance of the pair message may be indicated by an indication of acceptance in the received message, by an identification number assigned to the remote pendant executing remote pendant multi-pendant management module 600, such as a low-bit transient identification number, and the like.
If affirmative or equivalent at decision block 620, at block 625 remote pendant multi-pendant management module 600 may store an assigned identification number in memory, such as in memory 873.
Opening loop block 630 to closing loop block 635 may iterate while remote pendant multi-pendant management module 600 is in a paired or authenticated state with an SLCS.
At block 700, remote pendant multi-pendant management module 600 may call, perform, or execute remote pendant paired state operation module 700 as a subroutine or submodule, discussed herein in relation to
At closing block 635, while remote pendant paired state operation module 700 remains paired or authenticated with an SLCS, remote pendant multi-pendant management module 600 may return to opening loop block 630.
Following an interrupt condition, such as a timeout condition, a power-cycle, a de-pair indication, or the like, remote pendant multi-pendant management module 600 may proceed to done or return block 699 and may conclude and or return to a process which may have called it.
At decision block 705, remote pendant paired state operation module 700 may determine if an identifier or credential in the received message is an identifier of or associated with the remote pendant, such as an authentication credential and or a low-bit transient identifier stored, for example, in block 625.
If affirmative or equivalent at decision block 705, at decision block 710 remote pendant paired state operation module 700 may determine if a remote pendant error has occurred. If affirmative or equivalent, at block 715, remote pendant paired state operation module 700 may determine the error, such as a wireless communication loss, a wireless communication module error, an out-of-bounds control input instruction, a power supply error, or the like.
At decision block 720, remote pendant paired state operation module 700 may determine if a verbose error message request was received.
If affirmative or equivalent at decision block 720, at block 725 remote pendant paired state operation module 700 may determine a system or subsystem identified in the verbose error request.
At block 730, remote pendant paired state operation module 700 may obtain error regarding the identified system or subsystem.
If negative or equivalent at decision block 720, at block 735 remote pendant paired state operation module 700 may parse the message to obtain SLCS information and information that is to be output in a user-interface of the remote pendant. SLCS information may comprise, for example, such as a connection status of the SCLS, a transmit and or receive strength of wireless communication between the SLCS and remote pendant, an SLCS position and or orientation, a thrust output of the SLCS, an external force or perturbation on the SLCS, a battery status of the SLCS, and the like.
At block 740, remote pendant paired state operation module 700 may obtain remote pendant events and remote pendant status information. The remote pendent events may comprise, for example, a user selection of a user mode or command state of the load control system, e.g. idle, maintain relative location, position, and or orientation relative to the carrier, move to position, target mode, user designated position, obstacle avoidance, hold position or orientation, or direct control, a release of control, and the like. Remote pendant status may comprise, for example, a battery or power supply status, an error, a connection status, and the like.
At block 745, remote pendant paired state operation module 700 may obtain a an indication of a thrust vector to be output by the load control system, such as a value regarding a position of a joystick in the remote pendant.
At block 750, remote pendant paired state operation module 700 may send a message to the SLCS with, for example, an acknowledgement of an SLCS message, a pendant event, control input or instructions to the SLCS, remote pendant status, error data, and the like.
At done or return block 799, remote pendant paired state operation module 700 may conclude and or return to a process which may have called it.
The SLCS processing capacity 820 includes a computer processor and microcontrollers. SLCS memory 825 generally comprises a random-access memory (“RAM”) and permanent non-transitory mass storage device, such as a solid-state drive, and contains navigation systems 826, target data 827, mode or command state information 828, and software or firmware code, instructions, or logic for one or more of suspended load control system multi-pendant management module 300, suspended load control system paired state operation module 400, controlling remote pendant selection module 500, operational module 900 and suspended load control decision and thrust control module 1000. Communication systems 830 include wireless systems 831 such as a wireless transceiver, and wired systems 832. SLCS output 815 includes thrust control 816 via power controllers or ESCs. Power management systems 840 regulate and distribute the power supply from, e.g., batteries or a wired power supply. A data bus couples the various internal systems and logical components of load control system logical components 801.
An interactive display, remote interface, remote pendant, remote positional unit, or target node (herein also referred to as a “remote pendant”) may be a computational unit comprising one or more of remote interface logical components 850; such a unit may be self-powered and carried by a person, e.g. remote pendant 1300 or remote pendant 1400, or hardwired into an airframe. The remote interface logical components 850 receive data from and/or send data to the SLCS, e.g., wirelessly. The data from the SLCS may be displayed in display 861 of remote interface logical components 850; the computational data is parsed and converted to visual, audio, or haptic cues. Remote interface logical components 850 may also communicate to the SLCS the operator's desired command states and operational instructions, as discussed herein.
Remote interface logical components 850 may be in communication with load control system logical components 801 via communication systems 870, which may be wireless 871 or wired 872. Output 860 from remote interface logical components 850 may include information displayed on a screen or display 861, and auditory cues or access to remote audio (such as audio detected by sensors in a load) via audio output 862. Input 865 to remote interface logical components 850 to control a remote pendant or an SLCS may include commands conveyed through touchscreen 866, joystick 867 or other input interface. In various embodiments, remote interface logical components 850 may comprise one or more physical and/or logical devices that collectively provide the functionalities described herein.
Aspects of the system may be embodied in a specialized or special purpose computing device or data processor that is specifically programmed, configured, or constructed to perform one or more of the computer-executable instructions explained in detail herein, in conjunction with suitable memory. Aspects of the system may also be practiced in distributed computing environments where tasks or modules are performed by remote processing devices and memory that are linked through a communications network, such as a local area network (LAN), wide area network (WAN), or the Internet. In a distributed computing environment, modules may be located in both local and remote memory storage devices. As schematically illustrated in
Load control system logical components 801 may work with a remote positional unit, remote interface, or target node comprising one or more remote interface logical components 850, in accordance with one embodiment. The remote positional unit, remote interface, or target node may comprise an internal or external sensor suite, such as sensors 868, configured to communicate, such as wirelessly, with load control system logical components 801 as a positional reference. Sensors 868 may be similar to sensors 805. If sensors 805 are considered the primary sensor suite, a secondary sensor suite location may be the platform or carrier from which a suspension cable is suspended, sensors 868 in or in communication with remote interface logical components 850, and a tertiary sensor suite location may be a location of interest for the load (e.g., for positioning to obtain or deliver the load). Remote interface logical components 850 may further comprise processor 869 and memory 873, which may be similar to processor 820 and memory 825. Memory 873 may comprise software or firmware code, instructions, or logic for one or more modules used by the remote positional unit, remote interface, or target node, such as remote interface module 874. For example, remote interface module 874 may provide control and interface for a remote positional unit, remote interface, or target node, such as to allow it to be turned on/off, to pair it with an SLCS, to input instructions, or the like.
A remote pendant may include a transceiver configured to communicate with load control system logical components 801 via a wireless transceiver and provide a position reference. For example, a remote pendant may be secured to a helicopter ownship or crane below which the load is suspended and/or a remote pendant may be secured to a load.
In some embodiments, the remote pendant may be made of durable polymer or plastic, sized to fit into a hand. The remote pendant may have an external antenna. The remote positional unit, remote interface, or target node may be secured to, e.g., the helicopter by magnets, bolts, or any other securement mechanism. The remote pendant may be dropped to a location on the ground or secured to, e.g., a life preserver or other flotational device, a rescuer, a load to be picked up, a location for a load to be delivered, or an operational specific location.
Aspects of the load control system logical components 801 and/or remote interface logical components 850 may be embodied in a specialized or special purpose computing device or data processor that is specifically programmed, configured, or constructed to perform one or more of the computer-executable instructions explained in detail herein. Aspects of the load control system logical components 801 and/or remote interface logical components 850 may also be practiced in distributed computing environments where tasks or modules are performed by remote processing devices that are linked through a communications network, such as a local area network (LAN), wide area network (WAN), or the Internet. In a distributed computing environment, modules may be located in both local and remote memory storage devices. As schematically illustrated in
In block 905, an SLCS apparatus may be installed onto a load and/or onto a cable from which a load will be suspended. The SLCS apparatus need not be powered on for installation.
In block 910, the SLCS in the apparatus may be started up and operational module 900 activated. In some embodiments, operational module 900 may be initialized by the press of a button located on a face of a control module of the SLCS. Near the accessible external button which may initialize operational module 900, another button may be present that allows for immediate shut down when pressed. In addition to the initialization interface on the center or control module, operational module 900 may also be initialized by an operator not directly next to the system. One or more external operators, including but not limited to a rescuer on the end of the cable, may initialize operational module 900 by pressing a button on one or more remote interface linked wirelessly to operational module 900. One or more modules of a complete SLCS, such as physically separated control unit, remote pendant, fan unit, and the like, may be started up in block 910 and may be paired to function together. During block 910, operational module 900 may determine a relative orientation of fan units which operational module 900 is to control. This determination may be based on sensor information from the fan units, such as a compass heading sampled from each fan unit. This determination may be performed to adjust for fan units which are not parallel to one another, as may be the case when a modular SLCS is deployed on an irregular load, such as a rope or webbing enclosed load, and the fan units may not be parallel. This determination may be used in block 1030, with respect to fan mapping. This determination may not be necessary when the SLCS is in a rigid frame and the fan units may be presumed to be parallel to one another. This determination may produce an error condition if the fan units are not within an acceptable orientation range.
In block 915, operational module 900 is activated in and/or receives a functional mode or command state selected by the operator. In block 920, operational module 900 may perform or call suspended load control decision and thrust control module 1000 as a subroutine or submodule, to implement a functional mode or command state. The functional modes or command states of the system are:
Idle mode 921: internal systems of the SLCS are operating (e.g., operational module 900 observes motion of the SLCS and calculates corrective action), but the thrusters are shut off or maintain an idle speed only, without action to affect the motion of the load.
Maintain relative position vs. ownship mode 922: stabilizes the SLCS with respect to a slung origin point. For example, when SLCS is suspended with a load below a helicopter, SLCS will stay directly below the helicopter. Maintain relative position vs. ownship mode 922 localizes the ownship motion and performs the corrective actions necessary to critically damp any other suspended load motion. If the ownship is traveling at a low speed, maintain relative position vs. ownship mode 922 will couple the velocity so the two entities are moving in unison. Upon a disturbance to the load, maintain relative position vs. ownship mode 922 provides thrust in the direction of the disturbance to counteract the disturbance, eliminating the swing.
Move to/stop at position mode 923: will stabilize an SLCS to a fixed position, counteracting the influence of the weather or small movements of the helicopter or other suspending platform. This mode has the effect of killing all motion. The operator may send the desired target position to SLCS via a remote interface. This may be accomplished in at least two ways:
Target node position 924: The operator may place reference location sensors 868 at the desired lowering location (e.g., location 126B of
User-designated position/orientation 925: The operator may use the remote interface display 861 to send a designated position (e.g., latitude and longitude coordinates) or orientation as a commanded location to user-designated position/orientation 925 module. The system will then steadily direct the suspended load to the desired position or to the desired orientation. The system will simultaneously send feedback to remote interface logical components 850 regarding position, distance, and orientation information.
Hold position mode 926: will resist all motion of an SLCS and maintain current position and/or orientation independent of the ownship's motion. This module has the effect of killing all motion. This module has conditional responses respectively to ownship speed, safety factors, and physical constraints.
Direct control mode 927: Joystick operation of an SLCS in three degrees of freedom. Though operational module 900 is entirely closed loop and does not require external control during operation, there is an option for user control. The operator is able to provide input to direct control mode 927 module, e.g. through a joystick, to directly control positioning, rotation, and thruster output level.
Obstacle avoidance module 929: receives and processes sensor information such as to i) to equalize the distance between sensor locations, such as at fan units, and objects, such as obstacles, sensed in the environment or ii) to measure or receive geometry of a load, measure geometry of obstacles sensed in the environment, determine or receive the position, orientation, and motion of the load, and negotiate the load relative to the obstacle.
In block 930, the operator completes the operation and retrieves SLCS.
In block 935, operational module 900 may be shut down by pushing a button on the interactive display or by pressing the button on the center module of the SLCS apparatus. If the SLCS apparatus includes collapsible frame, propulsion arms or fan units, they may be folded up. If the SLCS apparatus includes removable modules, such as for fan units, a housing, a power supply housing, and the like, the modules may be removed from a load, disassembled. The load may be detached from a load hook or the like, and then a suspension cable may be detached from a hoist ring at the top of the load and/or SLCS. SLCS may then be stowed in or electrically connected to charger and/or any suitable location.
Decision and thrust control module 1000 may operate in a closed loop to understand its position and motion in near real time, determine a most desired system response, and send desired response(s) to the air propulsion system thruster array to mitigate swing of the cable or otherwise control a load during operations
At block 1005, decision and thrust control module 1000 may obtain data from sensors such as, for example, sensors 805, such as accelerometer, gyroscope, magnetometer, GPS, lidar/radar, machine vision, and/or range finders.
In block 1010, decision and thrust control module 1000 combines data from the sensors to obtain a data fusion describing position, orientation, motion, and environment of the SLCS apparatus.
Sensor data is fused and filtered by the SLCS through nonlinear flavors of a Kalman Filter, e.g. an extended Kalman Filter, an unscented Kalman Filter, to yield an accurate representation of the system's state. Closed-loop control methods including fuzzy-tuned proportional, integral, and derivative feedback controllers have bidirectional communication with advanced control methods including deep learning neural nets and future propagated nonlinear Kalman filters, allowing for further real-time system identification.
In block 1015, decision and thrust control module 1000 performs state estimation using non-linear state estimators, e.g. a nonlinear Kalman Filter, to project near-term future motion based on the data fusion and on feedback from the decision and control engine to the state estimator.
In block 1017, decision and thrust control module 1000 receives a functional mode selection, such as according to user input.
In block 1020, decision and thrust control module 1000 takes the state estimation 1015, informed by the user-selected functional mode or command state 1040 (which may be provided from block 920), as well as additional feedback from the thrust and orientation mapping 1025 and output control 1035, and determines a desired direction of motion or rotation of the SLCS.
Algorithmic output is sent to motion or power controllers, such as electronic speed controllers (ESCs), which will send the desired thrust response to the EDF via, for example phase control of pulse modulated power signals. The net thrust output is mapped in real-time through encoders and load cells then sent back to decision and control block 1020 and onward for closed-loop control.
In block 1025, decision and thrust control module 1000 maps desired orientation with thrust vectors from EDF to generate a thrust and orientation mapping to achieve the determined thrust and orientation of the SLCS apparatus.
In block 1030, decision and thrust control module 1000 maps the thrust and orientation mapping to fans and fan thrust vectors and generates a fan mapping to control EDFs to achieve the desired thrust and orientation of the SLCS.
In block 1035, decision and thrust control module 1000 applies the fan mapping to output power control signals to the fans or thrusters (or electronic components controlling the same) to achieve the determined thrust and orientation of the SLCS apparatus, exerting commanded control output and implementing a dynamic response in the form of thrust from the fans.
At done block 1099, decision and thrust control module 1000 may conclude or return to a module which may have called it.
Decision and thrust control module 1000 may be unmanned and automated aside from the high-level operator-selected functional control modes. Net output is a control force to move or stabilize a suspended load.
Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that alternate and/or equivalent implementations may be substituted for the specific embodiments shown and described without departing from the scope of the present disclosure. This application is intended to cover any adaptations or variations of the embodiments discussed herein.
Following are non-limiting examples.
Example 1. A load control system to influence at least one of a position, orientation, or motion of a load suspended by a cable from a carrier, comprising: at least one thruster, a sensor suite, a computer processor, and a computer memory, wherein the computer memory comprises a suspended load control module and a multi-pendant management module; wherein, when executed by the computer processor, the multi-pendant management module is to determine which of a first remote pendant and a second remote pendant is to provide a control input to the suspended load control module; and wherein, when executed by the computer processor, the suspended load control module is to receive the control input, determine a position, orientation, or motion of the load based on a sensor data from the sensor suite, and, in response to the control input, is to cause the at least one thruster to influence at least one of the position, orientation, or motion of the load.
Example 2. The load control system according to Example 1, wherein to determine which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control module, the multi-pendant module is to determine that at least one of the first remote pendant and the second remote pendant is authenticated with respect to the load control system.
Example 3. The load control system according to Example 2, wherein the load control system further comprises a wireless communication system, wherein the wireless communication system is to receive at least one of a first message from the first remote pendant and a second message from the second remote pendant; and wherein to determine that at least one of the first remote pendant and the second remote pendant is authenticated with respect to the load control system, the multi-pendant management module is further to determine that at least one of the first message and the second message comprises an authentication credential.
Example 4. The load control system according to Example 3, wherein the authentication credential comprises at least one of an identifier of the load control system and an identifier of an authenticated remote pendant.
Example 5. The load control system according to Example 4, wherein at least one of the identifier of the load control system or the identifier of the authenticated remote pendant is stored in a non-volatile memory of at least one of the load control system, a non-volatile memory of the first remote pendant, or a non-volatile memory of the second pendant.
Example 6. The load control system according to Example 2, wherein the multi-pendant module is to determine that at least one of the first remote pendant and the second remote pendant is authenticated with respect to the load control system according to a non-transient secure identifier of an authenticated remote pendant and is to assign a transient identifier of an authenticated remote pendant to at least one of the first remote pendant and the second remote pendant.
Example 7. The load control system according to Example 6, wherein the transient identifier of the authenticated remote pendant comprises fewer data bits than the non-transient secure identifier of the authenticated remote pendant.
Example 8. The load control system according to Example 1, wherein to determine which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control module, the multi-pendant module is to allow a first remote pendant to authenticate with the multi-pendant management module to provide the control input to the suspended load control module.
Example 9. The load control system according to Example 1, wherein the multi-pendant management module is to maintain a priority order among the first remote pendant and the second remote pendant, wherein to determine which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control module is based at least in part on the priority order, wherein to maintain the priority order among the first remote pendant and the second remote pendant, the multi-pendant management module is to maintain a list of remote pendants which have authenticated with the multi-pendent management module.
Example 10. The load control system according to Example 9, wherein the multi-pendent management module is further to order the list of remote pendants which have authenticated with the multi-pendent management module based on at least one of an authentication order among the remote pendants which have authenticated with the multi-pendent management module and a user input regarding priority order.
Example 11. The load control system according to Example 9, wherein the multi-pendent management module is further to remove a remote pendant from the list of remote pendants which have authenticated with the multi-pendent management module based on a timeout interval.
Example 12. The load control system according to Example 1, wherein to determine which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control module, the multi-pendant module is to determine that one of the first remote pendant and the second remote pendant is a master remote pendant and is to provide the control input from the master remote pendant to the suspended load control module.
Example 13. The load control system according to Example 1, wherein the multi-pendant management module is to determine that an authenticated session with a remote pendant which has not timed out and is to determine which of the first remote pendant and the second remote pendant are to provide a control input to the suspended load control module based at least in part on the authenticated session with the remote pendant which has not timed out.
Example 14. The load control system according to Example 1, wherein the multi-pendant management module is further to transmit an identity of a controlling remote pendant, wherein the controlling remote pendant is one of the first remote pendant or the second remote pendant determined to provide the control input to the suspended load control module.
Example 15. The load control system according to Example 14, wherein the identity of the controlling remote pendant is the first remote pendant and wherein the multi-pendant management module is further to determine that the first remote pendant has released a right to be the controlling remote pendant.
Example 16. The load control system according to Example 15, wherein the multi-pendant management module is further to determine that the second remote pendant is authenticated with respect to the load control system and is to provide the control input from the second remote pendant to the suspended load control module.
Example 17. The load control system according to Example 1, wherein the multi-pendant management module is to determine that an error has occurred and is to request at least one of the first remote pendant and the second remote pendant to provide an error response.
Example 18. The load control system according to Example 17, wherein the error comprises one of a wireless communication loss, a wireless communication module error, an out-of-bounds control input instruction, or a power supply error and wherein the error response comprises an error data from a subsystem or system of at least one of the first remote pendant and the second remote pendant.
Example 19. The load control system according to Example 1, wherein the control input comprises at least one of a remote pendant status and a remote pendant event.
Example 20. The load control system according to Example 19, wherein the remote pendant event comprises at least one of a user selection of a user mode or command state of the load control system and an indication of a thrust vector to be output by the load control system.
Example 21. The load control system according to Example 19, wherein the remote pendant status comprises at least one of a power supply status and a remote pendant error.
Example 22. The load control system according to Example 1, wherein the suspended load control module determines the position, orientation, or motion by combining the sensor data from the sensor suite through a non-linear filter to determine a current state, wherein the suspended load control module further projects near-term future motion based on the current state with feedback from at least one of a functional mode or command state of an operational module, a thrust and orientation mapping, or a fan mapping.
Example 23. A method to influence at least one of a position, orientation, or motion of a load suspended by a cable from a carrier with a load control apparatus, comprising: the load control apparatus comprising least one thruster of the load control apparatus, a sensor suite, a computer processor, and a computer memory; determining which of a first remote pendant and a second remote pendant is to provide a control input to the load control apparatus, wherein the control input is to control a thrust vector produced by the at least one thruster; receiving the control input; determining a position, orientation, or motion of the load based on a sensor data from the sensor suite, and, in response to the control input, producing the thruster vector to influence at least one of the position, orientation, or motion of the load.
Example 24. The method according to Example 23, wherein determining which of the first remote pendant and the second remote pendant is to provide the control input comprises determining that at least one of the first remote pendant and the second remote pendant is authenticated.
Example 25. The method according to Example 24, further comprising receiving with a wireless communication system at least one of a first message from the first remote pendant and a second message from the second remote pendant; and wherein determining that at least one of the first remote pendant and the second remote pendant is authenticated comprises determining that at least one of the first message and the second message comprises an authentication credential.
Example 26. The method according to Example 25, wherein the authentication credential comprises at least one of an identifier of the load control apparatus and an identifier of an authenticated remote pendant.
Example 27. The method according to Example 26, further comprising obtaining at least one of the identifier of the load control apparatus or the identifier of the authenticated remote pendant from a non-volatile memory of at least one of the load control apparatus, a non-volatile memory of the first remote pendant, or a non-volatile memory of the second pendant.
Example 28. The method according to Example 23, further comprising determining that at least one of the first remote pendant and the second remote pendant is authenticated with respect to the load control apparatus according to non-transient secure identifier of an authenticated remote pendant and assigning a transient identifier of an authenticated remote pendant to at least one of the first remote pendant and the second remote pendant.
Example 29. The method according to Example 28, wherein the transient identifier of the authenticated remote pendant comprises fewer data bits than the non-transient secure identifier of the authenticated remote pendant.
Example 30. The method according to Example 23, wherein determining which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control apparatus comprises allowing a first remote pendant to authenticate to provide the control input to the suspended load control apparatus.
Example 31. The method according to Example 23, further comprising maintaining a priority order among the first remote pendant and the second remote pendant, wherein maintaining the priority order among the first remote pendant and the second remote pendant comprises maintaining a list of remote pendants which have authenticated with the load control apparatus.
Example 32. The method according to Example 31, further comprising ordering the list of remote pendants which have authenticated with the multi-pendent management module based on at least one of an authentication order among the remote pendants which have authenticated with the multi-pendent management module and a user input regarding priority order.
Example 33. The method according to Example 31, further comprising removing a remote pendant from the list of remote pendants which have authenticated with the multi-pendent management module based on a timeout interval.
Example 34. The method according to Example 23, wherein determining which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control apparatus comprises determining that one of the first remote pendant and the second remote pendant is a master remote pendant and providing the control input from the master remote pendant to the suspended load control apparatus.
Example 35. The method according to Example 23, further comprising determining that an authenticated session with a remote pendant which has not timed out and determining which of the first remote pendant and the second remote pendant are to provide the control input to the suspended load control apparatus based at least in part on the authenticated session with the remote pendant which has not timed out.
Example 36. The method according to Example 23, further comprising transmitting an identity of a controlling remote pendant, wherein the controlling remote pendant is one of the first remote pendant or the second remote pendant determined to provide the control input to the suspended load control module.
Example 37. The method according to Example 36, wherein the identity of the controlling remote pendant is associated with the first remote pendant and further comprising determining that the first remote pendant has released a right to be the controlling remote pendant.
Example 38. The method according to Example 37, further comprising determining that the second remote pendant is authenticated with respect to the load control apparatus and providing the control input from the second remote pendant to the suspended load control apparatus.
Example 39. The method according to Example 23, further comprising determining that an error has occurred and requesting at least one of the first remote pendant and the second remote pendant to provide an error response.
Example 40. The method according to Example 39, wherein the error comprises one of a wireless communication loss, a wireless communication module error, an out-of-bounds control input instruction, or a power supply error and wherein the error response comprises an error data from a subsystem or system of at least one of the first remote pendant and the second remote pendant.
Example 41. The method according to Example 23, wherein the control input comprises at least one of a remote pendant status and a remote pendant event.
Example 42. The method according to Example 41, wherein the remote pendant event comprises at least one of a user selection of a user mode or command state of the load control system and an indication of a thrust vector to be output by the load control system.
Example 43. The method according to Example 41, wherein the remote pendant status comprises at least one of a power supply status and a remote pendant error.
Example 44. The method according to Example 23, wherein determining the position, orientation, or motion of the load based on the sensor data from the sensor suite comprises combining the sensor data from the sensor suite through a non-linear filter to determine a current state and wherein producing the thruster vector to influence at least one of the position, orientation, or motion of the load comprises projecting near-term future motion based on the current state with feedback from at least one of a functional mode or command state of an operational module, a thrust and orientation mapping, or a fan mapping.
Example 45. An apparatus to influence at least one of a position, orientation, or motion of a load suspended by a cable from a carrier, comprising: means comprising a computer processor and computer memory to determine which of a first remote pendant and a second remote pendant is to provide a control input to the load control apparatus, wherein the control input is to control a thrust vector produced by the at least one thruster; means to receive the control input; means to determine a position, orientation, or motion of the load based on a sensor data from the sensor suite, and, in response to the control input, means to produce the thruster vector to influence at least one of the position, orientation, or motion of the load.
Example 46. The apparatus according to Example 45, wherein means to determine which of the first remote pendant and the second remote pendant is to provide the control input comprises means to determine that at least one of the first remote pendant and the second remote pendant is authenticated.
Example 47. The apparatus according to Error! Reference source not found., further comprising means to receive with a wireless communication system at least one of a first message from the first remote pendant and a second message from the second remote pendant; and wherein means to determine that at least one of the first remote pendant and the second remote pendant is authenticated comprises means to determine that at least one of the first message and the second message comprises an authentication credential.
Example 48. The apparatus according to Example 47, wherein the authentication credential comprises at least one of an identifier of the load control apparatus and an identifier of an authenticated remote pendant.
Example 49. The apparatus according to Example 48, further comprising means to obtain at least one of the identifier of the load control apparatus or the identifier of the authenticated remote pendant from a non-volatile memory of at least one of the load control apparatus, a non-volatile memory of the first remote pendant, or a non-volatile memory of the second pendant.
Example 50. The apparatus according to Example 45, further comprising means to determine that at least one of the first remote pendant and the second remote pendant is authenticated with respect to the load control apparatus according to non-transient secure identifier of an authenticated remote pendant and means to assign a transient identifier of an authenticated remote pendant to at least one of the first remote pendant and the second remote pendant.
Example 51. The apparatus according to Example 50, wherein the transient identifier of the authenticated remote pendant comprises fewer data bits than the non-transient secure identifier of the authenticated remote pendant.
Example 52. The apparatus according to Example 45, wherein means to determine which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control apparatus comprises means to allow a first remote pendant to authenticate with the suspended load control apparatus to provide the control input to the suspended load control apparatus.
Example 53. The apparatus according to Example 51, further comprising means to maintain a priority order among the first remote pendant and the second remote pendant, wherein means to maintain the priority order among the first remote pendant and the second remote pendant comprises means to maintain a list of remote pendants which have authenticated with the multi-pendent management module.
Example 54. The apparatus according to Example 53, further comprising means to order the list of remote pendants which have authenticated with the multi-pendent management module based on at least one of an authentication order among the remote pendants which have authenticated with the multi-pendent management module and a user input regarding priority order.
Example 55. The apparatus according to Example 53, further comprising means to remove a remote pendant from the list of remote pendants which have authenticated with the multi-pendent management module based on a timeout interval.
Example 56. The apparatus according to Example 45, wherein means to determine which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control apparatus comprises means to determine that one of the first remote pendant and the second remote pendant is a master remote pendant and provide the control input from the master remote pendant to the suspended load control apparatus.
Example 57. The apparatus according to Example 45, further comprising means to determine that an authenticated session with a remote pendant which has not timed out and means to determine which of the first remote pendant and the second remote pendant are to provide the control input to the suspended load control apparatus based at least in part on the authenticated session with the remote pendant which has not timed out.
Example 58. The apparatus according to Example 45, further comprising means to transmit an identity of a controlling remote pendant, wherein the controlling remote pendant is one of the first remote pendant or the second remote pendant determined to provide the control input to the suspended load control module.
Example 59. The apparatus according to Example 58, wherein the identity of the controlling remote pendant is associated with the first remote pendant and further comprising means to determine that the first remote pendant has released a right to be the controlling remote pendant.
Example 60. The apparatus according to Example 59, further comprising means to determine that the second remote pendant is authenticated with respect to the load control apparatus and means to provide the control input from the second remote pendant to the suspended load control apparatus.
Example 61. The apparatus according to Example 45, further comprising means to determine that an error has occurred and requesting at least one of the first remote pendant and the second remote pendant to provide an error response.
Example 62. The apparatus according to Example 61, wherein the error comprises one of a wireless communication loss, a wireless communication module error, an out-of-bounds control input instruction, or a power supply error and wherein the error response comprises an error data from a subsystem or system of at least one of the first remote pendant and the second remote pendant.
Example 63. The apparatus according to Example 45, wherein the control input comprises at least one of a remote pendant status and a remote pendant event.
Example 64. The apparatus according to Example 63, wherein the remote pendant event comprises at least one of a user selection of a user mode or command state of the load control system and an indication of a thrust vector to be output by the load control system.
Example 65. The apparatus according to Example 63, wherein the remote pendant status comprises at least one of a power supply status and a remote pendant error.
Example 66. The apparatus according to Example 45, wherein means to determine the position, orientation, or motion of the load based on the sensor data from the sensor suite comprises means to combine the sensor data from the sensor suite through a non-linear filter to determine a current state and wherein means to produce the thruster vector to influence at least one of the position, orientation, or motion of the load comprises means to project near-term future motion based on the current state with feedback from at least one of a functional mode or command state of an operational module, a thrust and orientation mapping, or a fan mapping.
Example 67. One or more computer-readable media comprising instructions that cause a computer device, in response to execution of the instructions by a processor of the computer device, to: determine which of a first remote pendant and a second remote pendant is to provide a control input to a load control apparatus, wherein the control input is to control a thrust vector produced by an at least one thruster of the load control apparatus; receive the control input; determine a position, orientation, or motion of the load based on a sensor data from the sensor suite, and, in response to the control input, produce the thruster vector to influence at least one of the position, orientation, or motion of the load.
Example 68. The computer-readable media according to Example 67, wherein to determine which of the first remote pendant and the second remote pendant is to provide the control input comprises to determine that at least one of the first remote pendant and the second remote pendant is authenticated.
Example 69. The computer-readable media according to Example 68, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to receive with a wireless communication system at least one of a first message from the first remote pendant and a second message from the second remote pendant; and wherein to determine that at least one of the first remote pendant and the second remote pendant is authenticated comprises to determine that at least one of the first message and the second message comprises an authentication credential.
Example 70. The computer-readable media according to Example 69, wherein the authentication credential comprises at least one of an identifier of the load control apparatus and an identifier of an authenticated remote pendant.
Example 71. The computer-readable media according to Example 70, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to obtain at least one of the identifier of the load control apparatus or the identifier of the authenticated remote pendant from a non-volatile memory of at least one of the load control apparatus, a non-volatile memory of the first remote pendant, or a non-volatile memory of the second pendant.
Example 72. The computer-readable media according to Example 67, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to determine that at least one of the first remote pendant and the second remote pendant is authenticated with respect to the load control apparatus according to non-transient secure identifier of an authenticated remote pendant and to assign a transient identifier of an authenticated remote pendant to at least one of the first remote pendant and the second remote pendant.
Example 73. The computer-readable media according to Example 72, wherein the transient identifier of the authenticated remote pendant comprises fewer data bits than the non-transient secure identifier of the authenticated remote pendant.
Example 74. The computer-readable media according to Example 67, wherein to determine which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control apparatus comprises to allow a first remote pendant to authenticate with the computer device to provide the control input to the suspended load control apparatus.
Example 75. The computer-readable media according to Example 67, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to maintain a priority order among the first remote pendant and the second remote pendant, wherein to maintain the priority order among the first remote pendant and the second remote pendant comprises to maintain a list of remote pendants which have authenticated with the multi-pendent management module.
Example 76. The computer-readable media according to Example 75, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to order the list of remote pendants which have authenticated with the computer device based on at least one of an authentication order among the remote pendants which have authenticated with the computer device and a user input regarding priority order.
Example 77. The computer-readable media according to Example 75, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to remove a remote pendant from the list of remote pendants which have authenticated with the multi-pendent management module based on a timeout interval.
Example 78. The computer-readable media according to Example 67, wherein to determine which of the first remote pendant and the second remote pendant is to provide the control input to the suspended load control apparatus comprises to determine that one of the first remote pendant and the second remote pendant is a master remote pendant and to provide the control input from the master remote pendant to the suspended load control apparatus.
Example 79. The computer-readable media according to Example 67, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to determine that an authenticated session with a remote pendant which has not timed out and to determine which of the first remote pendant and the second remote pendant are to provide the control input to the suspended load control apparatus based at least in part on the authenticated session with the remote pendant which has not timed out.
Example 80. The computer-readable media according to Example 67, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to transmit an identity of a controlling remote pendant, wherein the controlling remote pendant is one of the first remote pendant or the second remote pendant determined to provide the control input to the suspended load control module.
Example 81. The computer-readable media according to Example 80, wherein the identity of the controlling remote pendant is associated with the first remote pendant and wherein, when executed by the processor of the computer device, the instructions further cause the computer device to determine that the first remote pendant has released a right to be the controlling remote pendant.
Example 82. The computer-readable media according to Example 81, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to determine that the second remote pendant is authenticated with respect to the load control apparatus and cause the computer device to provide the control input from the second remote pendant to the suspended load control apparatus.
Example 83. The computer-readable media according to Example 67, wherein, when executed by the processor of the computer device, the instructions further cause the computer device to determine that an error has occurred and requesting at least one of the first remote pendant and the second remote pendant to provide an error response.
Example 84. The computer-readable media according to Example 83, wherein the error comprises one of a wireless communication loss, a wireless communication module error, an out-of-bounds control input instruction, or a power supply error and wherein the error response comprises an error data from a subsystem or system of at least one of the first remote pendant and the second remote pendant.
Example 85. The computer-readable media according to Example 67, wherein the control input comprises at least one of a remote pendant status and a remote pendant event.
Example 86. The computer-readable media according to Example 85, wherein the remote pendant event comprises at least one of a user selection of a user mode or command state of the load control system and an indication of a thrust vector to be output by the load control system.
Example 87. The computer-readable media according to Example 85, wherein the remote pendant status comprises at least one of a power supply status and a remote pendant error.
Example 88. The computer-readable media according to Example 67, wherein to determine the position, orientation, or motion of the load based on the sensor data from the sensor suite comprises to combine the sensor data from the sensor suite through a non-linear filter to determine a current state and wherein to produce the thruster vector to influence at least one of the position, orientation, or motion of the load comprises to project near-term future motion based on the current state with feedback from at least one of a functional mode or command state of an operational module, a thrust and orientation mapping, or a fan mapping.
The present application is a continuation-in-part of pending U.S. non-provisional patent application Ser. No. 16/988,373, filed 2020 Aug. 7, which application is a continuation of expired Patent Cooperation Treaty (PCT) application number PCT/US19/13603, filed 2019 Jan. 15; PCT application number PCT/US19/13603 claims the benefit of expired United States non-provisional patent application No. 62/833,394, filed 2018 Nov. 8, and claims the benefit of expired United States non-provisional patent application No. 62/627,920, filed 2018 Feb. 8; the present application and incorporates the subject matter thereof and claims the benefit of the filing dates thereof by this reference.
Number | Date | Country | |
---|---|---|---|
62833394 | Apr 2019 | US | |
62627920 | Feb 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | PCT/US19/13603 | Jan 2019 | US |
Child | 16988373 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16988373 | Aug 2020 | US |
Child | 18202234 | US |