LIU YANCHAO (US)
WO2021092260A1 | 2021-05-14 | |||
WO2020227247A1 | 2020-11-12 |
US20210254360A1 | 2021-08-19 | |||
US20180178665A1 | 2018-06-28 | |||
US20160244187A1 | 2016-08-25 | |||
US20170081043A1 | 2017-03-23 | |||
US20200062419A1 | 2020-02-27 |
CLAIMS 1. A smart landing platform system, comprising: a platform having a top side and bottom side and for landing a drone on the top side, the platform having a geometrical center, a center of gravity and a weight; a digital scale disposed beneath the platform for providing measurements of a weight distribution of the platform and the drone; and a control unit communicatively connected to the digital scale for instantaneous data collection and storing logic including a statistical inference algorithm based on a nonlinear least squares model to perform an automated pre-flight safety check for the drone. 2. The smart landing platform system according to claim 1, wherein the digital scale includes a plurality of digital load cells located at vertices of a regular polygon having a geometrical center overlapping with the geometrical center of the platform. 3. The smart landing platform system according to claim 2, wherein the plurality of digital load cells include four load cells. 4. The smart landing platform system according to any of claims 1-3, wherein the platform is flat and rigid. 5. A method of performing automated pre-flight safety check for a drone with propellers, the method comprising the steps of: providing a smart landing platform system including; a platform having a top side and a bottom side and for landing a drone on the top side, the platform having a geometrical center, a center of gravity and a weight; a digital scale disposed beneath the platform for providing measurements of a weight distribution of the platform and the drone; and a control unit communicatively connected to the digital scale for instantaneous data collection and storing logic including a statistical inference algorithm based on a nonlinear least squares model to perform an automated pre-flight safety check for the drone; measuring the weight of the platform in different statuses; estimating a weight change of the platform between the different statuses; estimating a force acting on the drone and positions of the propellers based on the estimated weight change of the platform between the different statuses using a nonlinear least squares model; and automatedly performing the pre-flight safety check for the drone to determine anomalies based on the estimated force acting on the drone and positions of the propellers with respect to respective nominal values. 6. The method according to claim 5, wherein the different statuses includes a first status being a stable status when the platform is placed on the load cells without the drone on the platform, a second status being a stable status when the drone is on the platform with the propellers not spinning, and a third status being a variable status corresponding to at least one of the propellers is spinning. 7. The method according to claim 5 or 6, wherein the position of each propeller includes a center point location and orientation of the propeller. 8. The method according to any of claims 5-7, wherein the anomalies includes damaged propellers, payload imbalance, and/or motor malfunction. 9. The method according to any of claims 5-8, wherein the anomalies are determined based on a principle of a resultant of all forces acting on the drone is zero when the drone is in equilibrium. 10. The method according to any of claims 5-9, wherein the damaged propellers are detected by comparing the measured values of the output force against what is expected for an intact propeller. 11. The method according to any of claims 5-10, wherein the damaged propellers are detected by evaluating whether the center of gravity of the drone is aligned with the geometric center of the drone. 12. The method according to any of claims 5-11, further comprising setting an initial load on each load cell to zero before putting the platform on the load cells. 13. The method according to any of claims 5-12, wherein the propellers located at vertices of a regular polygon have a center overlapping with the geometrical center of the platform. 14. The method according to any of claims 5-13, wherein the drone has a pair of propellers connected by a rigid arm. 15. The method according to any of claims 5-14, wherein the drone has a plurality of pairs of propellers, each pair of propellers connected by a rigid arm. 16. The method according to any of claims 6-15, wherein the third status is a variable status corresponding to when one of the propellers is spinning. 17. A system of integrated smart landing platforms, comprising: a plurality of smart landing platforms for a drone, wherein each of the plurality of smart landing platforms comprises: a platform having a top side and a bottom side and for landing a drone on the top side, the platform having a geometrical center, a center of gravity and a weight; a digital scale disposed beneath the platform for providing measurements of a weight distribution of the platform and the drone; and a control unit communicatively connected to the digital scale for instantaneous data collection and storing logic including a statistical inference algorithm based on a nonlinear least squares model to perform automated pre-flight safety check for the drone. 18. The system of claim 17, wherein the plurality of smart landing platforms are distributed at a plurality of locations. 19. The system of claim 17 or 18, wherein at least some of the smart landing platforms are located on rooftops of buildings. 20. The system of any of claims 17-19, further comprising one or more charging devices capable of powering one or more drones. |
[0059] A. Estimating the location and orientation of a single pair of propellers
[0060] Figure 3 shows a pair of propellers l 1 and located centrosymmetrically around point 0, presumably linked by an rigid arm. Let l 1 O = I' 1 O = l 1 and the angle between and x-axis be α 1 . Suppose that the propeller pair rotates around 0 by 0 and translates by x DC and y DC , then the symmetric center will be moved to (x DC ,y DC )) and the x and the y-coordinate of propeller will be respectively, and those of I' 1 will be respectively. Suppose the propeller pair lies somewhere in the plane, and the location of each propeller is measured |S| times, and denote the measurements for respectively. It is assumed that there exists Gaussian noise in the measurements. To recover the center point location and the arm’s orientation from these noisy measurements the sum of the squared errors between the estimate values (variables) and the measurement values (parameters) is minimized, leading to a least squares model with nonlinear geometric constraints. [0061] The above problem can be written as an (almost) unconstrained nonlinear optimization problem with bounds on the variable θ , as follows. [0062] This problem can be solved by a numeric optimization solver. To simplify the solution process, the analytical solution for this problem is derived, as stated in Proposition 1. Proposition 1 The optimal solution ( x DC∗ , y DC∗ , θ ∗ ) to problem (2) is: where and n is any nonnegative even integer that makes θ ∗ fall in the interval (− п , п ]. [0063] The (sufficient) optimality condition states that any point x ∗ at which and is positive definite is a strong local minimizer of ƒ. The formulae for in the above proposition are derived by setting the partial derivatives of equation (2) with respective to each variable to zero. To show that the first-order solution is indeed a minimizer of the function, it is shown that the Hessian matrix is positive semi-definite at the calculated ( x DC∗ , y DC∗ , θ ∗ ) values. The detailed proof is given in Appendix B. [0064] B. Model and analytical solution for multiple propeller pairs [0065] The above-described model is extened to account for a general air frame architecture with multiple pairs of propellers. Figure 4 demonstrates such a generic set up with n ≥ 2 pairs of propellers I i to I′ i . For each propeller pair L i , the distance to its symmetric center is l i and the angle between L i and the x-axis ^ α^^^ ^^^^ . Note that it is not required that all arms are of equal length. The least squares model for estimating the center point location and air frame orientation can be formulated similarly to the single pair of propellers condition, then define ƒ( x DC , y DC , θ ) to denote the general function to optimize, to write min ƒ( x DC , y DC , θ ) as follows. [0066] The analytical solution for problem (4) is not as straightforward to express as that for the single-arm problem (2). It requires a recursive functional evaluation. Furthermore, in each recursive step the intermediate variable must be projected into the desired angular range of [− п /2, п /2]. The following lemma is put forward to justify the uniqueness of the results from the range projection operator [⋅] ⋅ ⋅, which is defined and used subsequently. [0067] Lemma 3.1 there exists a unique such that Proof. Assume that ∃ m, n ∈ ℤ such that and thus, n − m < 1. On the other hand, when n < m, n − m > −1 can be obtained by the same way, thus −1 < n − m < 1. Since m, n ∈ ℤ, n − m = 0. Thus, the uniqueness of n is established. According to Lemma 3.1, such ann as n ∗ can be denoted. Define to be α + . Then for every α, there exists a unique value for [0068] Proposition 2 The optimal solution ( x DC∗ , y DC∗ , θ ∗ ) to problem (4) is: where [0069] The proof of Proposition 2 is similar to the proof of Proposition 1. The partial derivatives are obtained to calculate critical point, and obtain all the second partial derivatives to get the Hessian matrix H ƒ . Finally ( x DC∗ , y DC∗ , θ ∗ ) is proved as the local minimum point for problem (4). The detailed proof is given in Appendix C. C. Measurement Principles and Procedure [0070] Theorem 3.2 (Equilibrium, J. Meriam and L. Kraige, Engineering Mechanics, vol 1, Statics. John Wiley & sons, 2011, page 109) When a body is in equilibrium, the resultant of all forces acting on it is zero. Thus, the resultant force R and the resultant couple ^^^^ are both zero, and the equilibrium equations are: R = ∑ F = 0 (5) and M = ∑ M = 0 (6) These requirements are both necessary and sufficient conditions for equilibrium. [0071] Theorem 3.2 implies that, at equilibrium, the magnitude and position of an unknown force can always be obtained by the other known forces in the system. So, define as a function that given change of scale reading at time t under status the “known forces”), to calculate the new force to the system at time t compared with time 0 with magnitude W t and the x and y-coordinates x t , y t . Then: [0072] Figure 5 shows a sketch of the platform, and the platform instantiates the “body” in equilibrium referred to in Theorem 3.2. At equilibrium, equation (5) is instantiated by (7), which states that the resultant force of the support forces from four measure points w 1 , w 2 , w 3 and w 4 and all forces on the platform W is zero. Equation (6) is instantiated by (8) and (9), which states that the resultant moment of support forces and all forces on the platform is also zero. For simplicity, the propellers’ wind effect on the platform was ignored, which is indeed negligible in practice as evidenced in physical demonstrations shown and/or described herein. Equations (7), (8) and (9) can be summarized as a general function to calculate the new force and its position, given in Algorithm 1. The complete testing procedure for a quadcopter drone is given in Algorithm 2. Calculation details for each status ^^^^ are given in Appendix A. [0073] III. Experiments [0074] In this section, experiments are performed with both simulated data and a real system under different parameter settings to validate Proposition 2 and demonstrate the practical use and effectiveness of the proposed procedures. [0075] A. Simulation experiment [0076] In this example, simulation experiments were performed on a Dell Precision Tower 3420 computer with an Intel Core i7-7700 CPU @ 3.60 GHz, 32.0 GB RAM and 64-bit Windows 10 Enterprise Operating System. LINDOGlobal solver (via GAMS 30.1.0) was used for global optimizer. Relative optimality threshold was set to 10 −7 . Python 3.7 was used for implementing the analytical method. [0077] 1) Experiments on Different Numbers of Propellers [0078] Two datasets were generated in this example. In order to observe the effects of the number of propellers on solution time, 6 multicopters with 2, 4, 6, 8, 10, and 12 propellers were simulated, and used a sample of 50 for each propeller. The arm length l i was chosen randomly between 10 cm and 30 cm, and the propeller angle α i for each pair i was randomly chosen in the interval (0, ^^^^). For each of simulated multicopter, 20 batches ( b = 1,2, ... ,20) were generated. In each batch, the x and y-coordinates of the geometric centers of the multicopter were randomly generated within [−2,2] cm and the yaw angle of drone θ b was randomly generated within [−0.99 п , 0.99 п ]. Then the x and y-coordinates for different propeller positions can be generated as: whee r ∈ is is random error uniformly distributed in the range [−1.5,1.5] cm. The model was solved using both the analytical method given in Proposition 2 and the numerical solver LINDOGlobal. The solution time for each case was then recorded. Taking the average solution time of all batches within each propeller count setting, the results shown in Figure 7 were obtained. [0079] As shown in Figure 7, the time taken for the global optimization method increases significantly as the structure of the multicopter becomes more complex. A mulitcopter with 12 propellers requires 125.1 seconds for the numerical solver to get the exact position, the analytical method included in methods of the present invention requires less than 0.1 second to achieve the same result. [0080] The results are compared with the ground-truth values used for generating the datasets, and the differences are summarized in Table 4. The distribution of the differences are not significantly different from normal distribution, which is expected. [0081] To control for the effect of sample size, experiments with the same total sample size (1680) were performed. So for this experiment, the sample size was adjusted to keep the total sample size constant for different number of propellers. Values for were generated by the same method in equations (9) to (12), where i ∈ {{1}, {1,2}, ... , {1,2, ... ,9}}, s = 1,2, ... ,420/ I and b = 1,2, ... ,20. Twenty batches of multicopters with the number of propellers ranging from 2 to 18 were simulated, all having an arm length of 10 √ 2 cm, all propellers being located at the vertices of a regular polygon, and the initial angle α 1 being set at a position such that the x-axis bisects the angle between arm L 1 andL′ 1 . In each batch, x and y-coordinate of the geometric centers of the multicopter were randomly generated within [−2,2] cm and the yaw of drone θ b was randomly generated within [−0.99 п , 0.99 п ]. For each propeller number setting, the average value of the distance difference (mean of distance error) between the model-predicted translation and the actual position was used, and the average value of the angle difference (mean of angle error) between the model-predicted rotation and the actual rotation angle to obtain the experimental results in Figure 8 and Figure 9, respectively. It can be seen that the number of propellers of the multicopter does not affect the accuracy of the predicted positions when the total sample size is held constant. [0082] Figure 10 shows the solution time of the analytical method and numerical solver for each number of propellers and the same total number of samples. Since the solution time for some batches in numerical solver was longer than 3600 seconds (the process was terminated when solution time reaches 3600 seconds for efficiency and any solution time longer than 3600 seconds were recorded as 3600s), and the median was used to present the results. The number of propellers and the solution time are roughly positively correlated for numerical solver, while the solution time in analytical method remains consistently small despite the increasing number of propellers involved in the system. [0083] 2) Experiments on Different Sample Sizes [0084] To understand how the sample size of each propeller affects the solution time, 6 sample sizes: 50, 100, 150, 200, 250 and 300 were generated in this example, using a centrosymmetrical quadcopter structure with two pairs of propellers (i.e., i = 2). The arm length is . The initial angles between the arms to x-axis are 3 The method to generate x DC , y DC and θ is the same as above. Propellers position were obtained for the quadcopter by equations (10), (11), (12) and (13), where i = 1,2, s ∈ {{1,2, ... ,50}, {1,2, ... ,100}, ... , {1,2, ... ,300}} and b = 1,2, ... ,20. The solution time of the two methods for this dataset is presented in Figure 16. [0085] In Figure 16, there is a clear increasing trend of computing time as more samples are taken. For a standard quadcopter, it took the numerical solver 11.8 seconds to solve an instance of 50 samples, and the analytical method took only 0.028 seconds on average. The analytical method remained robust in solution time even if the sample size becomes as large as 300. [0086] Table 5 shows that as the sample size increases, there is a decreasing trend in positional and angular errors, though the decrease is not strictly monotone. To get a more detailed picture, an additional set of experiments was performed with increasing sample sizes from 1 to 200 while keeping other settings unchanged. The mean and standard deviation of the errors in distance and angle was obtained, as presented in Figure 11 and Figure 12. Figure 11 shows that the error in distance is strongly influenced by the number of samples when the number of samples is less than 50; beyond 50, the variation gradually flattens out. Figure 12 shows that the error in angle hardly varies with the number of samples, except for a few outliers, the mean value is within ±0.001 and the standard deviation is within 0.01, for a sample size over 10. In practice, the optimized number of samples can be chosed to achieve the desired accuracy based on the relationship between the error in distance and the sample size. [0087] B. Experiments on a real drone platform [0088] 1) Material and Apparatus [0089] In this experiment, the weight change of the scale system was measured in different status, and obtaining the center of gravity of the drone and propellers’ positions using Algorithm 1 and Algorithm 2. [0090] As shown in Figure 13, four digital load cells were placed beneath the platform to take measurements. Each load cell includes 1 TAL220 10kg load cell 102, 1 SparkFun OpenScale microcontroller 104, and a wooden base 106. A USB hub parallel-connected the four scales sets to a personal computer (PC) (not shown) for synchronized data collection. The platform was made by a 23-3/4" × 23-3/4" polystyrene louver, of dimension 603.25 mm × 603.25 mm × 12.8 mm. Each hole of the platform is 12.55 mm × 12.55 mm, and the slat between each adjacent two holes is 1.65 mm in width. [0091] The platform 100 and the quadcopter 200 used in the experiment are shown in Figure 1. The load cells used in these experiments are strain gauge load cells, which are capable of accurately measuring small changes in weight with one-gram. The microcontroller connected to each load cell is able to send the instantaneous load cell reading to the PC every 200 ms. The quadcopter structure was made of 3D printed parts and carbon fiber square tubes. For the quadcopter, four 2212/920kV brushless motors were used, each connected to an Simonk 30A Firmware Brushless ESC. The propellers were DJI 9450, and the battery was a 5000mAh 4-cell LiPo battery pack. [0092] 2) Procedure Outline [0093] Before the test process, microcontrollers’ baud rate was set to 11520 bps, set board report interval to 200 ms, vary the output of each propeller (8% - 60%), and set spin time for each propeller to 5 seconds during the motor test. During the test process, all load cells were first tared to zero, the platform set onto the load cell system, and the initial readings obtained. This step, mentioned in Algorithm 2 lines 1 to 7, is for obtaining the weight of the platform. Afterwards, the drone was put onto the platform at a location marked before the process, and obtain the new readings. These readings were used for obtaining the center of gravity and weight of the drone by the steps described in lines 8 to 11 in the Algorithm 2 and the method in Algorithm 1. Finally, the propellers were spun in sequence and the readings were recorded. The readings were used for obtaining the position and force of all propellers by steps described in Algorithm 2 in lines 12 to 19. The action commands were sent to the drone by the Mission Planner software through a direct USB data link. [0094] Motor output intensity and duration, drone position, and propeller with different damage situations were varied, and experiment results recorded below. [0095] 3) Results and Analysis [0096] Table 6 and Table 7 show the errors between the translation obtained by the model and the actual translation for different motor outputs (30%, 40% and 50%) in the experimental results, respectively. The experiment was repeated by different ^^^^ ^^^^ settings. [0097] The box plots (Figure 14 and Figure 15) show the average values of translational and rotational errors for different motor output conditions, respectively. The whiskers show extreme values of the results. The plots show both translational error and rotational error are lower when the motor output is 40%. This finding can be used in future practice to make the detection results more accurate by selecting the appropriate motor output in the testing procedure. For instance, for the quadcopter used in these experiments, 40% output level has been the most suitable.
[0098] 4) Damaged Propeller Tests [0099] Field tests were performed using a set of damaged propellers having damage levels of 0%, 15%, 31% and 55% as shown in Figure 18. From the experimental results in Figure 20, it can be seen that although the propellers are damaged to a large extent, the method is still able to obtain the precise position and the geometric center of the quadcopter. Figure 19 shows output force for each propeller condition. Each successive aggregated points represents a collection of weight reduction values (output force) over a period of time for a given motor output condition for that propeller. By comparing the measured values of the output force against what is expected for an intact propeller, the algorithm is able to identify the damaged propellers and estimate the degree of damage. [00100] IV. [00101] Figure 22 provides a schematic view of a smart landing platform according to the embodiments of the present invention. A quadcopter is landed on a top surface of the platform. The platform is a flat surface supported by four digital load cells J1, J2, J3 and J4. In this example, the platform is a rectangular shape. The load cells are each located at one corner of the bottom of the rectangular platform such that the the four load cells form a rectangle which geometrical center overlaps with the geometrical center of the rectangular platform. When the quadcopter is landed on the platform, the system is in an equilibrium state such that the downward force W equals to the sum of the load cell readings W1, W2, W3 and W4. The load cell readings are collected periodically and the measurement data are sent to a computer for processing. [00102] A smart landing platform according to embodiments of the present invention can provide guidance when the platform is ready for landing, provide estimation of the states which the drones or the platform are in, such as when there is no drone on the platform, or when a drone is landed on the platform with the propellers not spinning, or when a drone is landed on the platform with one or more of the propellers spinning. The present smart landing platform can also provide fault diagnosis such as damaged propellers, payload imbalance, and/or motor malfunction by comparing the measured values of the output force against what is expected for an intact propeller or by evaluating whether the center of gravity of the drone is aligned with the geometric center of the drone. The present smart landing platform can also provide information signalling when there is no fault being detected and the drone is ready for flight. Figure 23 is a flowchart showing the functions of the present smart landing platform. [00103] The present invention provides methods for automatically performing safety checks for multicopter drones to support unmanned deployment of drones in various application domains. The challenge involved acquisition and fusion of the multicopter status data with weight measurement data from a smart landing platform. To detect component anomalies, a nonlinear least squares model is included in methods according to aspects of the present invention to estimate the amount of translation and rotation of the multicopter’s airframe with respect to the nominal values. Based on the properties of the model, the analytical formula for its solution was derived and the uniqueness of the solution was proved. Simulation results have validated the superiority of the analytical approach over numerical solvers in solution time, particularly for problem instances with large sample sizes. The experiments conducted on real drone platforms have verified the robustness and the practical value of the proposed approach. [00104] V. Appendices [00105] A. Details of calculation in each status K Given different status K:
[00106] B. Proof of Proposition 1 [00107] To prove, it is only needed to show that the optimal solution is a minimum point for equation (2) in the given domain. Take the derivative of equation (2), to get
[00108] Let y be the angle between the arm and the x-axis after rotating an angle of θ from the initial position α, then according to Figures 21A and 21B, [00109] Take the second derivative of equation (38), to get [00110] Substitute θ ∗ for θ in the equation, to obtain: When is selected arbitrarily. [00111] Let the derivatives in equations (36) and (37), respectively, be zero. The following is obtained: and the leading principal minors of H ƒ 1 at ( x DC∗ , y DC∗ , θ ∗ ): So ( x DC∗ , y DC∗ , θ ∗ ) is a local minimum point for ƒ 1 ( x DC , y DC , θ ). [00112] C. Proof of Proposition 2 [00113] [00114] The partial derivatives are: [00115] From equation (48): = [00116] Substitute θ ∗ for θ in the equation, to obtain: y00117] When is selected arbitrarily. The following is obtained: [00118] The second partial derivative of x DC and y DC is taken: [00119] The proof that ( x DC∗ , y DC∗ , θ ∗ ) is a local minimum point for ƒ( x DC , y DC , θ ) in which i ∈ ℐ is similar to the proof of i = 1 condition. [00120] As will be clear to those of skill in the art, the embodiments of the present invention illustrated and discussed herein may be altered in various ways without departing from the scope or teaching of the present invention. Also, elements and aspects of one embodiment may be combined with elements and aspects of another embodiment. It is the following claims, including all equivalents, which define the scope of the invention.