This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.
1. Introduction
In recent years, with the improvement of UAVs performance and control technology, UAVs have been widely used in both civilian [1–3] and military fields [4, 5]. The coordinated control of UAV formations to perform reconnaissance and surveillance, search and rescue, and the realization of communication relays has become a research hotspot and a difficult problem.
Although there have been many successful studies in this field, in leader-follower formation flying, most of the formation problems are solved on the premise of the existence of active communication links [6–9]. The main problem of the above studies is that the task will fail when the communication link fails. Therefore, in [10–12], it is considered to reduce unnecessary communication or realize formation control in the case of communication link failure. However, in previous studies, vision-based formation control focused on the control of mobile robots [13–16]. In [17], they employ a line-of-sight principle to assign the desired speed and develop an extended state observer based on nonperiodic sampling to provide accurate disturbance estimation with guaranteed convergence. Then, they proposed a robust antidisturbance dynamics control protocol and verified the effectiveness of the algorithm by simulation. But With the development of UAV technology, vision-based formation flight research has become an active research topic. In [18], the formation control law is proposed by using the UAV line-of-sight angle information in the neighborhood, and the formation control of the aircraft is realized by controlling the yaw angle and speed. In [19], Wilson et al. uses a quaternion-based unscented Kalman filter to fuse UAV sensors with relative visual observers to improve the accuracy of relative state estimation. In [20], an improved transfer network is used to reduce the misclassification of images and false alarms of noise during the deep learning process which is able to control the formation of two UAVs in the case of communication refusal. In [21] an appointed-time funnel control consisting of a modified funnel variable is proposed to realize the control of quadrotors suffering from environmental disturbances and parametric uncertainties.
Since in the actual application process, it is not only necessary for a single UAV to enter the formation, but also to realize the coordinated control of multiple UAVs. Therefore, an important issue in practical design is the cooperative control of multiple UAVs. In [22], in order to solve the problem of formation control of multiple UAVs, Dehghani et al. take fixed-wing UAVs as the research object, and give a leader-follower formation kinematics formula based on seeker measurement, and adopted robust controllers and disturbance compensators are used to reduce errors in speed measurements and the effects of bounded disturbances. The effectiveness of the controller when the three UAVs fly in a straight line is verified by simulation. In [23], a double-layer formation control is proposed to solve the problem of UAV formation with relative information. Reference [22] uses sliding mode control to realize the control of UAV formation based on relative information. Reference [24] builds on paper [22] to achieve UAV formation control when one UAV cannot directly measure the relative information of the virtual leader. Also to achieve state estimation, [25] embeds a sampler based on switching thresholds to implement a state observer in the case of intermittent measurements. The paper also proposed a tracking differentiator (TD) -based prescribed performance control(TDPPC) in order to enforce system profiles evolve within the redefined performance boundaries with reduced chattering. Finally, a sigmoid function-based TD is utilized to overcome the complexity explosion.
However, when the number of UAVs increases in the above centralized control method, the amount of calculation increases and the real-time performance is poor. The distributed control algorithm has been widely concerned by researchers because it can effectively reduce the overall calculation amount and improve the autonomy of a single UAV [26, 27]. Among them, distributed model predictive control (DMPC) is more suitable for UAV formation control because of its high structural fault tolerance and strong robustness [28]. For example, in [29], a rendezvous algorithm is proposed for heterogeneous unmanned clusters based on DMPC under limited communication. Reference [30] is focused on problem of time extension and packet loss of the networked control system of UAV with DMPC and event-triggered. Moreover, DMPC is used to avoid collision [31, 32]. In [33], state keeping, obstacles avoidance and precision formation control are performed with the use of DMPC based on introducing binary variables. However, a fundamental distinction of the above methods, this paper adopts different nonlinear error models and control methods to realize formation control which can reflect the relationship between the input and the error more intuitively.
The main contribution of this paper compared with existing research in the literature devoted to three dimension UAV formation control can be expressed in two points of view:
(1) Compared with existing studies [17, 21, 22], those in two-dimensional or simple three-dimensional planes, this paper will realize the control of formation in three-dimensional complex trajectories. Unlike [22], which can only achieve formation control of UAVs with direct access to relative information, and [24], which can achieve formation control of four unmanned vehicles with one UAV cannot directly measure the relative information of the virtual leader, the algorithm in this paper can not only achieve formation control with only neighboring UAV information, but also achieve formation control in complex paths of multiple UAVs.
(2) A new cost function is designed by introducing the UAV error state model in the formation neighborhood, and the stability of the formation system is proved by using the Lyapunov function. And different from [21, 24] which requires the use of large value inputs to achieve the stability of the estimated state, this paper adopts the method of DMPC, which considers the UAV state as well as the input constraints to avoid generating large loads on the UAV and can effectively ensure the robustness of the system.
The rest of the paper is organized as follows. Section 2 establishes a stand-alone motion model of UAV, and the neighborhood UAV state estimation model. In Section 3, we derive a three-dimensional error state model through the stand-alone motion model and design the DMPC controller and give the algorithm process. In Section 4, we present the analysis process of the sufficient conditions for the convergence of the single-machine error model and the stability of the formation system. Section 5 conducts simulation and numerical analysis of three examples through MATLAB. Finally, in Section 6, we draw conclusions and give suggestions for future work.
2. Problem Modeling
In order to introduce the UAV formation movement and modeling process, we introduce three coordinate frames
[figure(s) omitted; refer to PDF]
2.1. Single UAV Motion Model
Assuming that there are
By denoting
By denoting
By considering
2.2. Neighborhood UAV State Estimation Model
By denoting
[figure(s) omitted; refer to PDF]
By assuming
Then, the velocity of UAV
By assuming
By considering equations (9) and (11), we can have the acceleration of UAV
3. Distributed Model Predictive Controller Design
In view of the problem that there is no accurate modeling of the three-dimensional space UAV formation error model in the existing literature, this section first establishes the error model based on the state estimation model in the previous section. Then, a cost function based on the error model is given.
Without loss of generality, we give two assumptions of the algorithm as follows:
Assumption 1.
Only the leader can obtain the reference line. Follower UAVs can identify other UAV numbers and obtain relative information of UAVs in the neighborhood without delay according to the information flow transmission topology.
Assumption 2.
The algorithm does not consider the influence of external wind and sensor noise on the UAV.
3.1. State Error Model
Different from [22] and [24], in order to better realize formation control, this paper firstly establishes the UAV error state model in three-dimensional. By assuming
By taking the time derivative of above equation, one can get
To simplify the calculation, define a virtual input:
In actual operation, the input can be calculated according to equation (17). By linearizing equation (16) at
3.2. Formation Control Design
The DMPC-based control design can be described as, at time
3.2.1. Cost Function of Leader
3.2.2. Cost Function of Followers
3.3. Algorithm Flow
We use leader-follower strategy to realize formation control and there is a fixed information flow topology in the formation. In order to distinguish the leader from other UAV in the formation, we use UAV1 to represent the leader. The basic principle of the algorithm is shown in Figure 3.
[figure(s) omitted; refer to PDF]
The process of DMPC can be described as follows:
Step 1: Bind UAV number and priority. Bind the reference to UAV1.
Step 2: At
Step 3: Calculate the optimal input sequence
Step 4: At
4. System Stability Analysis
In the process of solving the UAV formation problem, the stability of the formation plays an important role, which not only reflects the performance of the controller, but also is an important guarantee for the UAV formation system to achieve the expected formation. The main idea of stability analysis is to find a suitable Lyapunov function and prove its degressivity.
According to the above ideas, in the process of cluster stability proof, the following two problems need to be considered: one is the stability of the error state of the single-machine system, and the coefficient relationship is given to ensure the stability of the single-machine system; the second is the stability of the formation system. In the following part, we first give and prove sufficient conditions for single-machine error stability. Then the cost function is used as the Lyapunov function of the system to prove the stability of the formation system.
Theorem 1.
There exists
System equation (18) is asymptotically stable, where
Proof.
From equation (18), we have
We can rewrite the above equation in the following form:
By taking the time derivative of the above equation, one can get
Choose the Lyapunov function as
By considering equations (26) and (27), we have
Since
The error
Substituting equations (31) and (32) into (30), we have
By substituting equations (26) and (31) into (32) and taking the time derivative of it, we have
Let the Lyapunov function with
By taking the time derivative of equation (35) and substituting equation (33) into it, we have
By rewriting the above equation, we can get the equation of the input:
By substituting equations (38) into (34), we have
By substituting equations (26) and (31) into (28), one can get
Let the eigenvalues of system equation (40) be
By considering equation (42), when
Hence, the system is stable under the action of the input equation (43). Theorem 1 gives the sufficient conditions for the stability of the single-UAV error system. Then the cost function is taken as the Lyapunov function to prove the stability of the UAV formation system. According to the one-to-one correspondence between the state space, the error state space, the virtual input and the actual input, the solution of the actual input sequence
At
At
By considering the first
By considering equation (40) and the input which can be expressed as
It can be rewriting as
At
By considering
By subtracting the cost function at time
It can be rewritten as
5. Simulation
In this section, four UAVs are used for simulation. The UAV formation is shown in Figure 4, and the arrows indicate the flow of information.
[figure(s) omitted; refer to PDF]
Table 1 shows the initial state of the UAV in the inertial frame and the expected relative position of each UAV and UAV1. Set the maximum value of the input in the three directions of the UAV to 12 m/s and the minimum value to -12 m/s; the maximum value of the speed in the three directions is 20 m/s; the maximum value of the acceleration change is 10 m/s2. The number of simulations is 200 times, and the sampling time is 0.1s. In order to verify the effectiveness of the algorithm, the simulation will be carried out in three cases: straight flight, fixed turning radius flight and variable turning radius.
Table 1
Initial condition of UAV and desired relative position of followers.
UAV | Initial position | Desired relative position | |
Reference line | — | ||
1 | 8 | ||
2 | 8 | ||
3 | 8 | ||
4 | 8 |
Case 1.
Straight Flight
Figure 5 shows the result of the formulation of the UAV formation when they are flying in a straight line. Figure 5(a) shows the trajectories of the UAV formation. It can be found that the four UAVs can form and maintain a desired formation shape and track the reference line. Figure 5(b) shows the relative distance between UAVs. In this case the distance converges after about 4.3 s. Figure 5(c) shows the velocity of each UAV in three directions. It can be found that the velocity in each direction does not exceed the maximum value and changes smoothly. The control trajectories of UAV are shown in Figure 5(d). In Figure 5(d), the values of the first moment are not equal. This is because the value is the input calculated after the first sample period. In order to test the effect of the algorithm when the formation performs a turning flight, we also conduct experiments of Case 2.
[figure(s) omitted; refer to PDF]
Case 2.
Fixed Turning Radius Flight
Figure 6 shows the result of the formulation of the UAV formation while they are flying with a fixed turning radius. Four UAVs can form and maintain desired formation when they are flying with a fixed radius (Figure 6(a)). Compared to Case 1, the convergence rate of distance shown in Figure 6(b) is slower. It can be found in Figure 6(c) that the velocity can converge to a fixed value determined from the radius of rotation and does not exceed a maximum value. Compared to Figure 5(d), the input curve converges to a fluctuating curve. This is because the direction of the drone needs to be adjusted in time to track the trajectory. In order to further verify the effectiveness of the algorithm, we conduct simulation experiments in Case 3.
[figure(s) omitted; refer to PDF]
Case 3.
Variable Turning Radius Flight
Figure 7 shows the simulation results of the UAV formation under the condition of varying turning radius. The formation of four UAVs can ensure the tracking of the reference line when the turning radius is not large in the early stage. When the turning radius becomes larger, the formation has an error in the tracking of the reference line because the speed has reached the maximum value (Figure 7(c)). This problem will be solved in the next step by improving the performance of the UAV or the control algorithm. However, it can be found in Figure 7(b) that although the distance between UAVs is slower than when flying in a straight line, the four UAVs can form and maintain the ideal formation error. It can be seen from Figure 7(d) that the four UAVs can achieve convergence under the limit of the maximum input value. In order to further verify the control effect of the algorithm on multisortie UAV clusters, we set up Case 4.
[figure(s) omitted; refer to PDF]
Case 4.
Multi-UAVs. (Table2)
Unlike the previous cases with four UAVs, Case 4 simulates the tracking and formation control of eight UAVs in complex trajectories with changing turn radius, and the simulation results are shown in Figure 8. From Figure 8(a), we can see that the algorithm has a better control effect for large-scale clusters. At the same time, the interaircraft distance of UAVs can converge to the specified value relatively quickly (Figure 8(b)). From Figures 8(c) and 8(d), we can see that the algorithm can guarantee the control of the formation while ensuring that the UAV states and inputs satisfy the performance constraints.
Table 2
The initial condition of multi UAVs and desired relative position of followers.
UAV | Initial position | Desired relative position | |
Reference line | — | ||
1 | 8 | ||
2 | 8 | ||
3 | 8 | ||
4 | 8 | ||
5 | 8 | ||
6 | 8 | ||
7 | 8 | ||
8 | 8 |
[figure(s) omitted; refer to PDF]
6. Conclusions
The DMPC-based scheme for formation control of multiple UAVs is studied in this paper. The UAV formation error state equation in three-dimensional case is proposed. By introducing the error of UAV formation, two cost functions are established according to the difference between the leader and the follower. The sufficient conditions for the stability of the UAV formation system are given and proved and the algorithm is simulated in three cases. The numerical results show that the UAV formation of four UAVs can form and maintain the desired formation under condition of straight flight and fixed turning radius. However, in the case of variable turning radius flight, when the turning radius is large, there is an error between the UAV and the reference line due to the limitation of the maximum speed of the UAV. Future work will focus on improving the performance of the DMPC algorithm in order to realize the tracking the reference line with large turning radius and resist external disturbances such as wind speed and sensor errors.
Acknowledgments
This research was funded by the Shandong Natural Science Foundation of China (ZR2020QF057).
[1] V. P. Bacheti, A. S. Brandao, M. Sarcinelli-Filho, "Path-Following with a UGV-UAV Formation Considering that the UAV Lands on the UGV," .
[2] L. J. R. Z. Yuanchen Zhao, "UAV formation control with obstacle avoidance using improved artificial potential fields," ,DOI: 10.23919/chicc.2017.8028347, .
[3] B. Fan, Y. Li, R. Zhang, Q. Fu, "Review on the technological development and application of UAV systems," Chinese Journal of Electronics, vol. 29 no. 2, pp. 199-207, DOI: 10.1049/cje.2019.12.006, 2020.
[4] V. Roberge, M. Labonte, G. Labonte, "Fast genetic algorithm path planner for fixed-wing military UAV using GPU," IEEE Transactions on Aerospace and Electronic Systems, vol. 54 no. 5, pp. 2105-2117, DOI: 10.1109/taes.2018.2807558, 2018.
[5] S. K. Chaturvedi, R. Sekhar, S. Banerjee, H. Kamal, "Comparative review study of military and civilian unmanned aerial vehicles (UAVs)," INCAS bulletin, vol. 11 no. 3, pp. 183-198, DOI: 10.13111/2066-8201.2019.11.3.16, 2019.
[6] O. Turnbull, J. Lawry, M. Lowenberg, A. Richards, "A cloned linguistic decision tree controller for real-time path planning in hostile environments," Fuzzy Sets and Systems, vol. 293,DOI: 10.1016/j.fss.2015.08.017, 2016.
[7] J. Zhang, J. Yan, P. Zhang, X. Kong, "Collision avoidance in fixed-wing UAV formation flight based on a consensus control algorithm," IEEE Access, vol. 6, pp. 43672-43682, DOI: 10.1109/access.2018.2864169, 2018.
[8] J. Zhang, J. Zhang, P. Zhang, "Multi-UAV formation control based on a novel back-stepping approach," IEEE Transactions on Vehicular Technology, vol. 69 no. 3, pp. 2437-2448, DOI: 10.1109/tvt.2020.2964847, 2020.
[9] C. L. Zhao, S. W. Dai, G. R. Zhao, "UAV Formation Control Based on Distributed Model Predictive," Control Control And Decision Making, 2021.
[10] Y. Kartal, K. Subbarao, N. R. Gans, A. Dogan, F. Lewis, "Distributed backstepping based control of multiple UAV formation flight subject to time delays," IET Control Theory & Applications, vol. 14 no. 12, pp. 1628-1638, DOI: 10.1049/iet-cta.2019.1151, 2020.
[11] Y. Lin, M. Wang, X. Zhou, G. Ding, S. Mao, "Dynamic spectrum interaction of UAV flight formation communication with priority: a deep reinforcement learning approach," IEEE Transactions on Cognitive Communications and Networking, vol. 6 no. 3, pp. 892-903, DOI: 10.1109/tccn.2020.2973376, 2020.
[12] Q. Hu, J. Zhang, "Relative position finite-time coordinated tracking control of spacecraft formation without velocity measurements," ISA Transactions, vol. 54, pp. 60-74, DOI: 10.1016/j.isatra.2014.08.004, 2015.
[13] C.-ming Zou, H. Shan, H.-xing Li, "Vehicle Cooperative Formation Control Based on Model Prediction," Control Engineering, 2020.
[14] K. LU, M. Wang, L. Dai L, "Vision-Based Fixed-Time Platoon Formation Control of Multi-Agent Systems," Proceeding of the 2020 39th Chinese Control Conference (CCC), .
[15] Z. Miao, H. Zhong, J. Lin, Y. Wang, "Vision-Based Formation Control of Mobile Robots with FOV Constraints and Unknown Feature Depth- ScienceDirect," IEEE Transactions on Control Systems Technology 29.5, vol. 29 no. 5, pp. 2231-2238, 2021.
[16] T. I. Fossen, "Line-of-sight path-following control utilizing an extended Kalman filter for estimation of speed and course over ground from GNSS positions," Journal of Marine Science and Technology, vol. 27 no. 1, pp. 806-813, DOI: 10.1007/s00773-022-00872-y, 2022.
[17] X. Shao, J. Zhang, W. Zhang, "Distributed cooperative surrounding control for mobile robots with uncertainties and aperiodic sampling," IEEE Transactions on Intelligent Transportation Systems,DOI: 10.1109/tits.2022.3189201, 2022.
[18] M. J. TahkTahk, C. S. Park, C. K. Ryoo, "Line-of-Sight guidance laws for formation flight," Journal of Guidance, Control, and Dynamics, vol. 28 no. 4, pp. 708-716, DOI: 10.2514/1.9605, 2005.
[19] D. B. Wilson, A. H. Goktogan, S. Sukkarieh, "A Vision Based Relative Navigation Framework for Formation Flight," .
[20] J. Dunn, R. Tron, "Temporal siamese networks for clutter mitigation applied to vision-based quadcopter formation control," IEEE Robotics and Automation Letters, vol. 6 no. 1, pp. 32-39, DOI: 10.1109/lra.2020.3028056, 2021.
[21] W. Zhang, X. Shao, W. Zhang, J. Qi, H. Li, "Unknown input observer-based appointed-time funnel control for quadrotors," Aerospace Science and Technology, vol. 126,DOI: 10.1016/j.ast.2022.107351, 2022.
[22] M. A. Dehghani, M. B. Menhaj, "Integral sliding mode formation control of fixed-wing unmanned aircraft using seeker as a relative measurement system," Aerospace Science and Technology, vol. 58, pp. 318-327, DOI: 10.1016/j.ast.2016.08.011, 2016.
[23] Z. Zhao, J. Wang, Y. Chen, S. Ju, "Iterative learning-based formation control for multiple quadrotor unmanned aerial vehicles," International Journal of Advanced Robotic Systems, vol. 17 no. 2,DOI: 10.1177/1729881420911520, 2020.
[24] D Wang, "Research on Multi UAV Distributed Formation Maintenance and Reconfiguration Control Method," Tianjin University, 2019.
[25] X. Shao, Y. Shi, W. Zhang, "Neural-network-based constrained output-feedback control for MEMS gyroscopes considering scarce transmission bandwidth," IEEE Transactions on Cybernetics. Systems,DOI: 10.1109/tcyb.2021.3070137, 2021.
[26] Y. N. Jia, X. Y Tian, Q. Li, "Review of Research Progress on UAV Cluster Acta Aeronautica Sinica," vol. 41 no. S1, 2020.
[27] X. K. Wang, "Overview and future development of small fixed wing UAV cluster," Acta Aeronautica Sinica, vol. 41 no. 04, pp. 20-45, 2020.
[28] A. Grancharova, E. I. Johansen, T. A. Johansen, "Rotary-wing UAVs trajectory planning by distributed linear MPC with reconfigurable communication network topologies," IFAC Proceedings Volumes, vol. 46 no. 27, pp. 198-205, DOI: 10.3182/20130925-2-de-4044.00020, 2013.
[29] D. Lapandic, L. Persson, D. V. Dimarogonas, B. Wahlberg, "Aperiodic Communication for MPC in Autonomous Cooperative Landing," IFAC-PapersOnLine, vol. 54 no. 6, pp. 113-118, DOI: 10.1016/j.ifacol.2021.08.532, 2021.
[30] D. Jang, C. Y. Son, J. Yoo, H. J. Kim, K. H. Johansson, "Efficient networked UAV control using event-triggered predictive control," IFAC-PapersOnLine, vol. 52 no. 15, pp. 412-417, DOI: 10.1016/j.ifacol.2019.11.710, 2019.
[31] Z. Dong, X. Xu, X. Zhang, X. Zhou, X. Liu, X. Li, "Real-time Motion Planning Based on MPC with Obstacle Constraint Convexification for Autonomous Ground Vehicles," .
[32] Y. Kuriki, T. Namerikawa, "Formation Control with Collision Avoidance for a Multi-UAV System Using Decentralized MPC and Consensus-Based Control," .
[33] A. Papen, R. Vandenhoeck, J. Bolting, F. Defay, "Collision-free rendezvous maneuvers for formations of unmanned aerial vehicles," IFAC-PapersOnLine, vol. 50 no. 1, pp. 282-289, DOI: 10.1016/j.ifacol.2017.08.047, 2017.
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer
Copyright © 2022 Qi-jie Chen et al. This is an open access article distributed under the Creative Commons Attribution License (the “License”), which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited. Notwithstanding the ProQuest Terms and Conditions, you may use this content in accordance with the terms of the License. https://creativecommons.org/licenses/by/4.0/
Abstract
A distributed model predictive control method is used to transform the formation and maintenance problem of fixed-wing UAV formation during flight into an online rolling optimization problem to solve in this paper. Firstly, the state estimation model of the neighborhood UAV is established according to the relative information of the UAV. Secondly, the error state model in the three-dimensional inertial coordinate frame of the UAV is established without considering the time delay, sensor error, and external interference. Thirdly, a cost function is designed by introducing the error state of the UAV in the neighborhood. Finally, four UAVs are used to verify that under the action of the controller, the UAVs can quickly form and maintain the desired formation while tracking the reference line.
You have requested "on-the-fly" machine translation of selected content from our databases. This functionality is provided solely for your convenience and is in no way intended to replace human translation. Show full disclaimer
Neither ProQuest nor its licensors make any representations or warranties with respect to the translations. The translations are automatically generated "AS IS" and "AS AVAILABLE" and are not retained in our systems. PROQUEST AND ITS LICENSORS SPECIFICALLY DISCLAIM ANY AND ALL EXPRESS OR IMPLIED WARRANTIES, INCLUDING WITHOUT LIMITATION, ANY WARRANTIES FOR AVAILABILITY, ACCURACY, TIMELINESS, COMPLETENESS, NON-INFRINGMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. Your use of the translations is subject to all use restrictions contained in your Electronic Products License Agreement and by using the translation functionality you agree to forgo any and all claims against ProQuest or its licensors for your use of the translation functionality and any output derived there from. Hide full disclaimer