The present invention relates generally to methods and systems for deploying a payload underwater and its variants.
Water vessels or unmanned underwater vehicles can be used to deploy payloads to a water body bed. The payload can be mounted to a frame, which is released into the water. The frame descends until the bed is reached to deploy the payload. In some cases, the payload can be repositioned remotely by, for example, acoustic pulses. Repositioning of the payload can be disrupted by a complicated bed with mostly unknown features and unpredictable oceanographic properties.
Embodiments in accordance with the invention relate to a method and system for deploying a payload underwater. In some embodiments, payload frame includes at least three lead screws, each lead screw connected near a top end of the lead screw to the payload by a corresponding spherical bearing; at least three motors, each motor connected to a bottom end of one of the lead screws, the motor to rotate the lead screw through the corresponding spherical bearing; at least three feet, each foot attached to one of the motors, the feet to support and secure the payload frame on a water body bed; an accelerometer attached to the payload, the accelerometer to measure gravity vectors of the payload; and a microcontroller connected to the accelerometer and the motors. The microcontroller to receive the gravity vectors from the accelerometer and control each of the motors based on the gravity vectors to position the payload in a target orientation.
Embodiments in accordance with the invention are further described herein with reference to the drawings.
For illustrative purposes, the principles of the present disclosure are described by referencing various exemplary embodiments. Although certain embodiments are specifically described herein, one of ordinary skill in the art will readily recognize that the same principles are applicable to and can be employed in other systems and methods.
Before explaining the disclosed embodiments of the present disclosure in detail, it is to be understood that the disclosure is not limited in its application to the details of any particular embodiment shown. Additionally, the terminology used herein is for the purpose of description and not of limitation. Furthermore, although certain methods are described with reference to steps that are presented herein in a certain order, in many instances, these steps may be performed in different order as may be appreciated by one skilled in the art; the method embodiments described are therefore not limited to the particular arrangement of steps disclosed herein.
It is be noted that as used herein and in the appended claims, the singular forms “a”, “an”, and “the” include plural references unless the context clearly dictates otherwise. Furthermore, the terms “a” (or “an”), “one or more” and “at least one” can be used interchangeably herein. The terms “comprising”, “including”, “having” and “constructed from” can also be used interchangeably.
As noted above, a complicated water body bed of mostly unknown features and unpredictable oceanographic properties can disrupt deployment of a payload. Embodiments of the invention describe a payload deployment system that can actively deploy a payload in a target orientation. After the payload deployment system is released and descends to the water body bed, the legs of the payload deployment system can be independently adjusted to properly orientate the payload with respect to the water body bed.
In other embodiments, each motor 104 can provide linear actuation through worm gears instead of coupling each motor 104 shaft directly to the leadscrews 108A-D. In some cases, the motor 104 feet can be configured to auger into the water body bed with a ribbed/helical design. The smooth step function described below in
Each motor 104 may be connected to a stepper motor driver (not shown) to allow commands to be provided to the motor 104.
Because the motor 104A-D does not turn instantaneously, it is useful to use a smooth-step function for linear actuation as described below with respect to
Those skilled in the art will appreciate that while this embodiment shows four legs the payload frame 100 could be implemented with any number of legs so long as the legs were able to support the payload on the water body bed (i.e., the payload frame can be implemented with three or more legs).
The payload 202 is connected to an accelerometer 205. For example, an ADXL337 3-axis accelerometer can be used to measure each gravity vector component in x, y, and z by mapping its ±3 g range to an output voltage range of 0−Vin, which can be sampled at a resolution, n, of 16 bits with an analog-to-digital converter. Given a Vin of 3.3 V, the sensor has a sensitivity of 0.0504 mV/g with a 0 g offset voltage of Vin/2 or 1.65 V. The raw signal can be scaled to [−1, 1] g when the sensor is stationary, where S represents each element of a 1×3 vector, [S1, S2, S3] for gz, gy, and gx, respectively. In some cases, the accelerometer 205 can be mounted to the top of the payload 202. In one example, the +x-axis of the accelerometer 205 can aligned with motor B 204B, −x-axis with motor A 204A, +y-axis with motor D 204D, and −y-axis with motor C 204C. To obtain each gravity component of the accelerometer, the scale and offset can be applied using:
In this example, the accelerometer 205 is oriented so that the accelerometer's 205 x and y coordinates are in line with the motors 204A-D. Furthermore, in some embodiments, the vessel or autonomous underwater vehicle (AUV) should deploy the payload frame 200 so that the accelerometer's 205 coordinate system's x-axis or y-axis is coincident with the steepest gradient of the water body bed. This deployment should reduce error dramatically in the attitude control process. If the payload 202 is not lined up relatively close to the direction of the steepest gradient, then there is a window of approximately +/−30° in which the payload 202 will be able to point directly downward in line with the gravity vector within the predetermined tolerance. The motor 204A-D commands can be configured to fall within the maximum allowable position change based on the length of the lead screws 208A-D. Accordingly, the payload frame 200 is stable and controllable within the desired threshold so long as the payload 202 is oriented in line with the steepest gradient.
The payload 202 can also be related to a virtual bushing joint 203. The virtual bushing joint 203 is an imaginary joint with three prismatic and three revolute primaries, meaning it has six degrees of freedom (6DOF) to enact translational movement in the x, y, and z axes as well as rotate around all three axes. The virtual bushing joint 203 does not physically exist in the system 200 but is useful for model-based design of the controller (not shown). The detected error from the accelerometer 205 indicates how the virtual bushing joint 203 should move to allow for the overall system to achieve the desired orientation. A command is then generated to the adjust the virtual bushing joint 203 with respect to the ground plane 210 (which is coincident with the payload frame 200). The payload 202—and all its solid components, motors 204A-D, and linear actuators 208A-D—are to follow the virtual bushing joint 203 as if rigidly connected to it. The actuation of the motors 204A-D is modeled to observe the linear motion that occurs in simulation. These modeled actuations are used to determine corresponding commands for each motor 204A-D.
The controller 311 sends commands to the motor drivers 307A-D to control actuation of the motors 304A-D. The controller determines an actuation command proportional to the error of the accelerometer 305, based on the inverse kinematics solver inherent in the connection between the virtual bushing joint 203 and the rest of the payload frame 200. The sequence of actuation commands is provided by the controller 311 each time a feedforward loop is completed to reduce any steady-state error from the original iteration. Accordingly, combining each characteristic, the controller 311 can be defined as an inverse kinematics iterative proportional (IKIP) controller. One advantage to this technique is that unless the payload frame 200 becomes unstable due to tipping from an external force, it is unlikely to have any overshoot. With a payload frame 200 for water body bed deployment, overshoot can be catastrophic in that the payload 202 can tip over and be unable to right itself. A disadvantage of this techniques is that there is the possibility of having steady stead error, as well as compounding error with each iteration.
Using a simulated IKIP controller 311 with a virtual bushing joint 203 for the payload 202 described above, a model of the payload frame 200 was executed over 8,281 simulations. In the simulations, the payload frame 200 is rigidly connected to the payload 202, with gravity applied at the body's center of gravity. A smooth step function similar to as described below for
Each simulation started the water body bed plane at a different angle, ranging from −45° to 45° in 1° increments, with respect to the payload frame's 200 x- and y-axis. The maximum allowable angular error defined as 5.4° and the maximum allowable lateral error is 0.095 m, or 3.75 in.
From both the angular and translational data plots obtained from the simulations, it is determined that if the water body bed is only rotated around one axis with respect to the payload's 202 coordinate system, then error is near zero. Accordingly, it is beneficial for the payload's accelerometer 305 to be oriented so that the its x and y coordinates are in line with the motors 304A-D. As discussed above, the vessel or AUV should deploy the payload 202 so that the payload 202 accelerometer's 305 coordinate system's x-axis or y-axis is coincident with the steepest gradient of the water body bed.
Trials with a prototype payload frame 202 were performed to determine linear actuation needed for driving the virtual bushing joint 203 to an orientation of [0, 0] for roll and pitch. The prototype microcontroller 311 was used to read and write data and then integrated into a MATLAB file that implemented the model based IKIP controller described above. Those skilled in the art will appreciate that the modeling could be performed similarly for other target orientations.
In a first trial, the IKIP controller 311 performed deployments with an initial roll of about −18.5° and pitch of about −4°. During the first trial, there are significant motor command oscillations throughout, but the payload frame 202 does converge to zero after 12 iterations. The payload frame 202 achieves the desired 5.4° angular error threshold by iteration 10.
In a second trial, the payload frame 200 drives to zero faster with initial roll and pitch angles of −20° and −2.5°. The payload frame 200 achieves the angular error threshold by iteration 7, although iteration 4 nearly brought the overall angular error back to its starting position. Nevertheless, in this trial, the payload frame 200 behaved desirably with a faster settling time than the first trial, even though the only difference with the setup was that the initial conditions were switched so that there was greater error in roll initially.
In a third trial, the payload frame 200 happens to drive to zero very quickly. When observing the payload frame 200 during this trial, it became clear on the second iteration that the payload frame 200 “skipped” position as the lead screws 208A-D went from rubbing against each other to unimpeded, resulting in a very effective correction but perhaps by chance. Features can be added to the design so that the lead screws 208A-D do not interfere with each other. Nevertheless, the inverse kinematics iterative proportional (IKIP) controller 311 succeeded in driving the payload frame 200 to point directly downward when positioned on an uneven water body bed.
To improve the prototype payload frame 200 further, the linear position of each actuator 208A-D is recorded after each iteration and updated into its model. Then, a threshold of one degree is applied for roll and pitch, so that the same workflow repeats until the criteria are met. Over the course of six iterations, the motor commands derived from the model's inverse kinematics solver approaches zero.
The iterative approach ensures that with reasonable initial conditions, the payload frame 200 can stabilize. This approach certainly does not concern itself with monitoring or controlling angular velocity or acceleration, but in some applications like this one such control is not necessary. The success of the IKIP controller 311 may be able to serve as a testament to the philosophy that sometimes rougher estimation may control a system more robustly in situations where there are so many unknowns. If the kinematics and dynamics of the system were to be defined with exquisite detail, the risk of “overfitting” the system model occurs, allowing for the possibility that some unexpected error that could occur with the system after deployment from the vessel or AUV, some unanticipated environmental factor, or an unforeseen disturbance makes the system respond in an undesirable way. The iterative approach, however, ensures that for most situations, the payload frame 200 can eventually respond in the desired manner, even a design requirement like angular velocity is sacrificed in this case.
The acoustic receiver 313 on the payload 202 processes a signal produced by an active source, a transducer onboard an AUV or other vehicle, from a distance. In response to the signal, the controller 311 can initiate commands for orientating the payload 202 in the target orientation.
Clock 442 displays and provides simulation time as an output. Time sum 444 subtracts tmean 446 from simulation time. Tmean 448 is a constant value provided into the time sum 444. Saturation 446 limits input signal to a predefined upper/lower limit. Sine function 450A-B applies a sinusoidal function. -K- 452A-B is a constant gain multiplier. Gain sum 454 adds the output of 452A to -C- 456, where -C- 456 a gain constant value. U/Y fcn 458 is a custom function provided by the user with input u and output y. X 460 multiples the output of 450A and 458. Mux 462 combines input signals of the same data type and complexity into a virtual vector, which is then provided as output 464 to the model.
Embodiment described above have a payload that is only able to rotate about two axes, although yaw is slightly altered during actuation and translational degrees of freedom are achieved prior to detachment from the vessel or AUV. In other embodiments, the payload can retain rotational DOF but also have organic translational freedom to add robustness to the payload's ability to accurately maintain a desired attitude. In particular, quaternions have the advantage of allowing for easier design of control algorithms through the quaternion error and “dual quaternions, a representation of the special Euclidean group SE(3), are an efficient method for representing rigid body transformations, expressing both rotation and translation” as noted by W. D. Price et al in the related literature. In yet other embodiments, the payload can be equipment with wheels to allow the payload to further localize based on the detected target location.
Embodiments described herein could be secured underneath the AUV with a hydrodynamically designed nose cap. In this case, a servo motor could rotate a positive block that holds the payload on, and with its bottom-heavy design it will land upright. In addition, the AUV would generally need the ability to hold station, preferably with the use of cross-tunnel thrusters. Finally, because of the error incurred when the accelerometer is not aligned with the steepest incline on the water body bed, the AUV should position itself accordingly to prevent error in the payload's attitude control.
In yet other embodiments, a more efficient algorithm to determine the Inverse Kinematics Iterative Proportional controller's commands could be used to improve performance and allow for more advanced control techniques.
The invention may be implemented on virtually any type of computer system regardless of the platform being used. For example, a computer system can include a processor, associated memory, a storage device, and numerous other elements and functionalities typical of today's computers. The computer may also include input means, such as remote controllers, and output means, such as a display. The computer system may be connected to a local area network (LAN) or a wide area network (e.g., the Internet) via a network interface connection. Those skilled in the art will appreciate that these input and output means may take other forms.
Further, those skilled in the art will appreciate that one or more elements of the computer system may be located at a remote location and connected to the other elements over a network. Further, the invention may be implemented on a distributed system having several nodes, where each portion of the invention may be located on a different node within the distributed system. In one embodiment of the invention, the node corresponds to a computer system. Alternatively, the node may correspond to a processor with associated physical memory. The node may alternatively correspond to a processor with shared memory and/or resources. Further, software instructions to perform embodiments of the invention may be stored on a computer readable medium such as a compact disc (CD), a diskette, a tape, a file, or any other computer readable storage device.
This disclosure provides exemplary embodiments of the present invention. The scope of the present invention is not limited by these exemplary embodiments. Numerous variations, whether explicitly provided for by the specification or implied by the specification or not, may be implemented by one of skill in the art in view of this disclosure.
This application claims the benefit of U.S. Provisional Application No. 63/013,380, filed Apr. 21, 2020, which is hereby incorporated in its entirety by reference.
Number | Date | Country | |
---|---|---|---|
63013380 | Apr 2020 | US |