UAV NEVIGATION CALIBRATION METHOD, NON-TRANSITORY COMPUTER-READABLE STORAGE MEDIUM AND UAV IMPLEMENTING THE SAME
20230051574 · 2023-02-16
Inventors
Cpc classification
B64U2201/10
PERFORMING OPERATIONS; TRANSPORTING
B64C39/024
PERFORMING OPERATIONS; TRANSPORTING
International classification
G05D1/10
PHYSICS
Abstract
This application discloses a calibration method for navigation of an UAV including a vector sensor. The calibration method includes: collecting, during a flight of the UAV, a current correction value and current data during a current measurement performed by the vector sensor; acquiring previous data during a previous measurement performed by the vector sensor; acquiring an adjustment quantity according to the current data and the previous data; acquiring a next correction value according to the current correction value and the adjustment quantity; and acquiring next original data during a next measurement performed by the vector sensor, acquiring next valid data according to the next original data and the next correction value , and controlling headings and postures of the UAV according to the next valid data. With the calibration method of this application, the next valid data V.sub.k+1 more closely approximated to a true value can be obtained.
Claims
1. An unmanned aerial vehicle (UAV), comprising: a vector sensor for measuring headings and postures of the UAV; and one or more processors configured to: collect, during a flight of the UAV, a current correction value E.sub.k and current data during a current measurement performed by the vector sensor; acquire previous data during a previous measurement performed by the vector sensor; acquire an adjustment quantity W.sub.k according to the current data and the previous data; acquire a next correction value E.sub.k+1 according to the current correction value E.sub.k and the adjustment quantity W.sub.k , and acquire next original data R.sub.k+1 during a next measurement performed by the vector sensor, and acquire next valid data V.sub.k+1 according to the next original data R.sub.k+1 and the next correction value E.sub.k+1; and control headings and postures of the UAV according to the next valid data V.sub.k+1; wherein: the current data comprises current original data R.sub.k and the previous data comprises previous original data R.sub.k−1, and the one or more processors are further configured to: acquire a weight D.sub.k and an estimated quantity M.sub.k according to the current original data R.sub.k and the previous original data R.sub.k−1; and acquire the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k.
2. The unmanned aerial vehicle (UAV) according to claim 1, wherein a posture of the vector sensor during the previous measurement is different from a posture of the vector sensor during the current measurement.
3. The unmanned aerial vehicle (UAV) according to claim 1, wherein the current data further comprises current valid data V.sub.k; and the one or more processors are further configured to acquire the current valid data V.sub.k according to the current original data R.sub.k and the current correction value E.sub.k .
4. The unmanned aerial vehicle (UAV) according to claim 3, wherein the previous data comprises previous valid data V.sub.k−1; and the one or more processors are further configured to: acquire the weight D.sub.k and the estimated quantity M.sub.k according to the current valid data V.sub.k and the previous valid data V.sub.k−1; and acquire the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k.
5. The unmanned aerial vehicle (UAV) according to claim 1, wherein the one or more processors are further configured to: acquire posture data; and acquire the adjustment quantity W.sub.k according to the current data, the previous data, and the posture data.
6. The unmanned aerial vehicle (UAV) according to claim 1, wherein the one or more processors are further configured to: when the weight D.sub.k is greater than a preset threshold, acquire the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k; and when the weight D.sub.k is less than or equal to the preset threshold, set the adjustment quantity W.sub.k to zero.
7. A calibration method for navigation of an unmanned aerial vehicle (UAV), the UAV including a vector sensor for measuring headings and postures of the UAV, the calibration method comprising: collecting, during a flight of the UAV, a current correction value E.sub.k and current data during a current measurement performed by the vector sensor; acquiring previous data during a previous measurement performed by the vector sensor; acquiring an adjustment quantity W.sub.k according to the current data and the previous data; acquiring a next correction value E.sub.k+1 according to the current correction value E.sub.k and the adjustment quantity W.sub.k , and acquiring next original data R.sub.k+1 during a next measurement performed by the vector sensor, and acquiring next valid data V.sup.k+1 according to the next original data R.sub.k+1 and the next correction value E.sub.k+1; and controlling headings and postures of the UAV according to the next valid data V.sub.k+1; wherein: the current data comprises current original data R.sub.k , the previous data comprises previous original data R.sub.k−1; and the acquiring the adjustment quantity W.sub.k according to the current data and the previous data comprises: acquiring a weight D.sub.k and an estimated quantity M.sub.k according to the current original data R.sub.k and the previous original data R.sub.k−1; and acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k.
8. The calibration method according to claim 7, wherein a posture of the vector sensor during the previous measurement is different from a posture of the vector sensor during the current measurement.
9. The calibration method according to claim 7, wherein the current data further comprises current valid data V.sub.k; and the collecting the current correction value E.sub.k and the current data during the current measurement performed by the vector sensor further comprises acquiring the current valid data V.sub.k according to the current original data R.sub.k and the current correction value E.sub.k.
10. The calibration method according to claim 9, wherein the previous data further comprises previous valid data V.sub.k−1; and the acquiring the adjustment quantity W.sub.k according to the current data and the previous data further comprises: acquiring the weight D.sub.k and the estimated quantity M.sub.k according to the current valid data V.sub.k and the previous valid data V.sub.k−1; and acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k.
11. The calibration method according to claim 7, further comprising: acquiring posture data; and acquiring the adjustment quantity W.sub.k according to the current data, the previous data, and the posture data.
12. The calibration method according to claim 7, wherein the acquiring the adjustment quantity W.sub.k according to the current data and the previous data further comprises: when the weight D.sub.k is greater than a preset threshold, acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k; and when the weight D.sub.k is less than or equal to the preset threshold, setting the adjustment quantity W.sub.k to zero.
13. A non-transitory computer-readable storage medium, storing a computer program, wherein when the computer program is executed by one or more processors, the calibration method according to claim 7 is performed.
14. The non-transitory computer-readable storage medium according to claim 13, wherein a posture of the vector sensor during the previous measurement is different from a posture of the vector sensor during the current measurement.
15. The non-transitory computer-readable storage medium according to claim 13, wherein the current data further comprises current valid data V.sub.k; and the collecting the current correction value E.sub.k and the current data during the current measurement performed by the vector sensor further comprises acquiring the current valid data V.sub.k according to the current original data R.sub.k and the current correction value E.sub.k .
16. The non-transitory computer-readable storage medium according to claim 15, wherein the previous data further comprises previous valid data V.sub.k−1; and the acquiring the adjustment quantity W.sub.k according to the current data and the previous data comprises: acquiring a weight D.sub.k and an estimated quantity M.sub.k according to the current valid data V.sub.k and the previous valid data V.sub.k−1; and acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k.
17. The non-transitory computer-readable storage medium according to claim 13, further comprising: acquiring posture data; and acquiring the adjustment quantity W.sub.k according to the current data, the previous data, and the posture data.
18. The non-transitory computer-readable storage medium according to claim 13, wherein the acquiring the adjustment quantity W.sub.k according to the current data and the previous data further comprises: when the weight D.sub.k is greater than a preset threshold, acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k; and when the weight D.sub.k is less than or equal to the preset threshold, setting the adjustment quantity W.sub.k to zero.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0009] The foregoing and/or additional aspects and advantages of this application will become apparent and comprehensible from the descriptions of the implementations below with reference to the accompanying drawings.
[0010]
[0011]
[0012]
[0013]
[0014]
[0015]
[0016]
[0017]
[0018]
[0019]
[0020]
[0021]
[0022]
[0023]
[0024]
[0025]
[0026]
DETAILED DESCRIPTION
[0027] The following describes embodiments of this application in detail. Examples of the embodiments are shown in the accompanying drawings, and same or similar reference numerals throughout the accompanying drawings indicate same or similar components or components having same or similar functions. The following embodiments described with reference to the accompanying drawings are exemplary, aim to explain this application, and shall not be understood as limiting this application.
[0028] Referring to
[0029] 01: Collecting, during a flight of the UAV 100, a current correction value E.sub.k and current data during a current measurement performed by the vector sensor 40.
[0030] 02: Acquiring previous data during a previous measurement performed by the vector sensor 40.
[0031] 03: Acquiring an adjustment quantity W.sub.k according to the current data and the previous data.
[0032] 04: Acquiring a next correction value E.sub.k+1 according to the current correction value E.sub.k and the adjustment quantity W.sub.k.
[0033] 05: Acquiring next original data R.sub.k during a next measurement performed by the vector sensor 40, and acquiring next valid data V.sub.k+1 according to the next original data R.sub.k+1 and the next correction value E.sub.k+1.
[0034] 06: Controlling headings and postures of the UAV 100 according to the next valid data V.sub.k+1.
[0035] Referring to
[0036] When the SCL pin is at a high level, the processor 30 determines a binary value of a corresponding bit by detecting a level on the SDA pin, so as to collect original heading data and original posture data measured by the vector sensor 40. Then the original heading data and the original posture data are calibrated to obtain target heading data and target posture data. The processor 30 generates a control command according to the calibrated target heading data and target posture data and transmits it to the ESC 60. The ESC 60 is configured to control the electric motor 50 to rotate at a speed according to the control command generated by the processor 30 to drive flying motion parts (such as propellers) of the UAV 100, so as to translate or rotate the UAV 100, and adjust to the target heading and posture to achieve navigation calibration. That is to say, the processor 30 may be configured to: collect, during a flight of the UAV, the current correction value E.sub.k and the current data during the current measurement performed by the vector sensor 40; acquire the previous data during the previous measurement performed by the vector sensor 40;
[0037] acquire the adjustment quantity W.sub.k according to the current data and the previous data; acquire the next correction value E.sub.k +1 according to the current correction value E.sub.k and the adjustment quantity W.sub.k; and acquire the next original data R.sub.k+1 during the next measurement performed by the vector sensor 40, acquire the next valid data V.sub.k+1 according to the next original data R.sub.k+1 and the next correction value E.sub.k+1, and control headings and postures of the UAV according to the next valid data V.sub.k+1.
[0038] In this implementation, UAV refers to any types of unmanned aerial vehicle which may be used in various fields such as aerial photography, surveillance, agriculture, plant protection, courier transportation, disaster rescue, observation of wild animals, surveying and mapping, and news reporting. For example, in home surveillance, UAVs can refer to indoor flying security cameras that fly along a customized flight path to see what is happening in the home no matter where the user is. In the field of plant protection, UAVs can refer to plant protection drones, which are used to perform spraying operations according to set flight routes, such as the spraying of pesticides. Due to external electronic equipment, magnetic field interference and other reasons, navigation system of UAV often has errors which affect the flight path planning and flight safety of the UAV. Therefore, calibration of navigation of the UAV is needed to be carried out, that is to calibrate the heading and posture of the UAV.
[0039] The vector sensor 40 may be a vector sensor 40 having two or more two axes, for example, a two-axis sensor, a three-axis sensor, a six-axis sensor, or a multi-axis sensor, which is not enumerated herein. Depending on a type of a to-be-measured vector, the vector sensor 40 may selectively be a geomagnetic sensor, a gravity acceleration sensor, an angular velocity sensor, an acceleration sensor, or the like, which is not enumerated herein. In some implementations, the vector sensor 40 may be a micro-electro-mechanical system (MEMS) sensor. The MEMS sensor may be configured to measure one or more types of vectors. For example, the MEMS sensor includes six axes, and can have functions of both a three-axis acceleration sensor and a three-axis geomagnetic sensor. The specific type of the MEMS sensor is not limited thereto, and is not enumerated herein.
[0040] In this implementation, the vector sensor 40 may be a combination sensor of a three-axis geomagnetic sensor and a three-axis acceleration sensor, for example. Since the three-axis geomagnetic sensor is a sensor for measuring heading, and the three-axis acceleration sensor is a sensor for measuring posture, Therefore, the processor 30 can collect the heading data and posture data of the UAV at any time through the combined sensor. Specifically, current original data R.sub.k may include current original heading data and current original posture data, previous original data R.sub.k−1 may include previous original heading data and previous original posture data, next original data R.sub.k+1 may include next original heading data and next original posture data; current valid data V.sub.k may include current target heading data and current target posture data, previous valid data V.sub.k−1 may include previous target heading data and previous target posture data, next valid data V.sub.k+1 may include next target heading data and next target posture data. During current calibration, the processor 30 may determine the UAV's current target heading and current target posture according to the current valid data V.sub.k, and then control the UAV to translate or rotate, so that the UAV is adjusted to have the current target heading and current target posture. Similarly, during next calibration, the processor 30 may determine the UAV's next target heading and next target posture according to the next valid data V.sub.k+1, and then control the UAV to translate or rotate, so that the UAV is adjusted to have the next target heading and next target posture. As such, calibration of heading and posture of the UAV is realized. During the flight of the UAV, through the calibration of the headings and postures of the UAV, the accuracy of UAV navigation is improved. Moreover, the entire calibration process is carried out in flight state of the UAV, no manual intervention is required, thus efficiency and convenience of the calibration can be enhanced.
[0041] Referring to
[0042] Referring to
[0043] Since the zero-point offset M.sub.0 is the vector difference between the theoretical zero-point position P.sub.0 and the measurement zero-point position Pe, and the original data R.sub.k acquired based on the measurement zero-point position Pe can reflect the zero-point position Pe, the theoretical zero-point position P.sub.0 can be determined by using the zero-point offset M.sub.0 based on the original data R.sub.k acquired by the vector sensor 40 if the zero-point offset M.sub.0 can be determined, thereby acquiring the accurate valid data V.sub.k. The valid data V.sub.k is data acquired based on an actual zero-point position of the vector sensor 40, that is, data acquired after a zero-point error is eliminated.
[0044] Specifically, referring to
[0045] Referring to
[0046] Referring to
[0047] Further, Referring to
[0048] According to the calibration method and the UAV 100 in the implementations of this application, the adjustment quantity W.sub.k may be acquired according to the current data and the previous data, and the next correction value E.sub.k+1 may be acquired according to the current correction value E.sub.k and the adjustment quantity W.sub.k, to acquire a more accurate correction value, so as to perform zero-point error calibration on the next original data R.sub.k+1 according to the next correction value E.sub.k+1 during a next measurement to acquire next valid data V.sub.k+1 more closely approximating to a true value. In addition, the zero-point calibration process of the vector sensor 40 is performed while the vector sensor 40 normally outputs data, and therefore does not affect the normal use of the vector sensor 40.
[0049] This application is further described below with reference to the accompanying drawings.
[0050] Refer to
[0051] The correction value may be a preset value. For example, the current correction value E.sub.k is a correction value determined according to a plurality of measurements performed in advance or a correction value determined according to experience. This is not limited herein.
[0052] The correction value may alternatively be determined based on an adjustment quantity corresponding to a previous measurement performed by the vector sensor 40. For example, for a next measurement, the current measurement is a previous measurement of the next measurement. Therefore, a next correction value E.sub.k+1 may be determined according to the current correction value E.sub.k and an adjustment quantity W.sub.k corresponding to the current measurement. In another example, the current correction value E.sub.k may be determined according to a previous correction value E.sub.k−1 and an adjustment quantity W.sub.k−1 corresponding to the previous measurement. Specifically, for example, when k=2, the correction value E.sub.2 may be determined according to a correction value E.sub.1 and an adjustment quantity W.sub.1 existing when k=1. In particular, when k=1, the current measurement is a first measurement. Since a correction value E.sub.0 and an adjustment quantity W.sub.0 corresponding to the previous measurement do not exist, the correction value E.sub.1 is a preset value.
[0053] In some implementations, a posture of the vector sensor 40 during the previous measurement is different from a posture of the vector sensor 40 during the current measurement.
[0054] Referring to
[0055] Referring to
[0056] 031: Acquiring a weight D.sub.k and an estimated quantity M.sub.k according to the current original data R.sub.k and the previous original data R.sub.k−1.
[0057] 032: Acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k .
[0058] Referring to
[0059] Referring to
[0060] Specifically, referring to
[0061] Specifically, referring to
A.sub.1.Math.{right arrow over (Me)}={right arrow over (R.sub.k−1)}−{right arrow over (M.sub.0)}; Formula I
A.sub.2.Math.{right arrow over (Me)}={right arrow over (R.sub.k)}−{right arrow over (M.sub.0)}. Formula II
[0062] Formula III is obtained by squaring both sides of the equation of Formula I.
|Me|.sup.2=|{right arrow over (R.sub.k−1)}|.sup.2−2({right arrow over (R.sub.k−1)}.Math.{right arrow over (M.sub.0)})+|M.sub.0|.sup.2. Formula III
[0063] Formula IV is obtained by squaring both sides of the equation of Formula II.
|Me|.sup.2=|{right arrow over (R.sub.k)}|.sup.2−2({right arrow over (R.sub.k)}.Math.{right arrow over (M.sub.0)})+|M.sub.0|.sup.2. Formula IV
[0064] Formula V is obtained by using differences between both sides of each of the equations of Formula III and Formula IV.
|{right arrow over (R.sub.k)}|.sup.2−|{right arrow over (R.sub.k−1)}|.sup.2=2({right arrow over (R.sub.k)}−{right arrow over (R.sub.k−1)}).Math.{right arrow over (M.sub.0)}. Formula V
[0065] Let {right arrow over (M.sub.k)}={right arrow over (R.sub.k)}−{right arrow over (R.sub.k−1)}, and D.sub.k=|{right arrow over (R.sub.k)}|.sup.2−|{right arrow over (R.sub.k−1)}|.sup.2. In this case, Formula V may be revised to Formula VI: D.sub.k=2({right arrow over (M.sub.k)}.Math.{right arrow over (M.sub.0)}). D.sub.k is the weight, and {right arrow over (M.sub.k)} is the estimated amount.
[0066] According to Formula VI, if D.sub.k>0, that is, {right arrow over (M.sub.k)}.Math.{right arrow over (M.sub.0)}>0, it indicates that {right arrow over (M.sub.k)} and {right arrow over (M.sub.0)} are in a same direction, or if D.sub.k<0, that is, {right arrow over (M.sub.k)}.Math.{right arrow over (M.sub.0)}<0, it indicates that {right arrow over (M.sub.k)} and {right arrow over (M.sub.0)} are in different directions. Referring to
[0067] Referring to
[0068] Referring to
[0069] The direction of the adjustment quantity W.sub.k depends on a vector direction of the estimated quantity M.sub.k and a sign of the weight D.sub.k. Referring to
[0070] The magnitude of the adjustment quantity W.sub.k depends on the magnitude of the estimated quantity M.sub.k and the weight D.sub.k. Specifically, |{right arrow over (W.sub.k)}|=α|D.sub.k||{right arrow over (M.sub.k)}. α is a preset empirical factor used to avoid an excessively large value of |{right arrow over (W.sub.k)}| and avoid an excessively large value of the correction value E.sub.k+1, and thereby avoid divergence of the estimated zero-point position P.sub.k+1 and improve a peed of convergence of the zero-point position P.sub.k+1 to the theoretical zero-point position P.sub.0. When the convergence speed is not required, a value of α is 1. |D.sub.k| can reflect a degree of change in the posture of the vector sensor 40 from the previous measurement to the current measurement. |{right arrow over (M.sub.k)}|=|{right arrow over (R.sub.k)}−{right arrow over (R.sub.k−1)}| is a differential process. Due to the impact of noise, during actual measurement, |{right arrow over (M.sub.k)}|=|{right arrow over (R.sub.k)}−{right arrow over (R.sub.k−1)}|+Z, where Z is a noise value. If the degree of change in the posture of the vector sensor 40 from the previous measurement to the current measurement is relatively small, values of |{right arrow over (R.sub.k)}| and |{right arrow over (R.sub.k−1)}| are relatively close, |{right arrow over (R.sub.k)}−{right arrow over (R.sub.k−1)}| is relatively small, and the noise value Z has a relatively large impact on a difference result of |{right arrow over (M.sub.k)}|, which is likely to cause divergence of the estimated zero-point position Pp.sub.k+1. When the degree of change in the posture of the vector sensor 40 from the previous measurement to the current measurement is relatively large, the noise value Z has a relatively small impact on the difference result of |{right arrow over (M.sub.k)}|, so that the estimated zero-point position P.sub.k+1 can converge to the theoretical zero-point position P.sub.0. Therefore, in order to avoid the divergence of the estimated zero-point position P.sub.k+1, it is necessary to use the adjustment quantity W.sub.k to obtain the correction value E.sub.k+1 to determine the convergent estimated zero-point position P.sub.k+1 when the degree of change in the posture of the vector sensor 40 is relatively large. |D.sub.k| is positively correlated with the degree of change in the posture of the vector sensor 40. A larger value of |D.sub.k| indicates a larger degree of change in the posture of the vector sensor 40, and a smaller value of |D.sub.k| indicates a smaller degree of change in the posture of the vector sensor 40. |{right arrow over (D.sub.k)}||{right arrow over (M.sub.k)}| represents a degree of utilization of |{right arrow over (M.sub.k)}|. A larger |D.sub.k| indicates a larger degree of utilization of |{right arrow over (M.sub.k)}| to the value of |{right arrow over (W.sub.k)}|, and thereby indicates a larger degree of adjustment of the correction value E.sub.k by the adjustment quantity W.sub.k and a larger distance between the determined estimated zero-point position P.sub.k+1 and the previous estimated zero-point position P.sub.k. A smaller |D.sub.k| indicates a smaller degree of utilization of |{right arrow over (M.sub.k)}| to the value of |{right arrow over (W.sub.k)}|, and thereby indicates a smaller degree of adjustment of the correction value E.sub.k by the adjustment quantity W.sub.k and a smaller distance between the determined estimated zero-point position P.sub.k+1 and the previous estimated zero-point position P.sub.k.
[0071] Further, in some embodiments, when |Dk| is greater than the preset threshold, the correction value E.sub.k may be adjusted by using the adjustment quantity W.sub.k to obtain the correction value E.sub.k+1. When |Dk| is less than or equal to the preset threshold, it may be considered that the correction value E.sub.k does not require correction. The adjustment quantity W.sub.k may be set to zero to cause E.sub.k+1E.sub.k+0=E.sub.k, or E.sub.k+1=E.sub.k may be directly set. In this case, zero-point calibration is not required. When |D.sub.k+n| is greater than the preset threshold, the correction value E.sub.k+n is acquired by using the adjustment quantity W.sub.k+n.
[0072] Specifically, referring to
[0073] 033: Acquiring a weight D.sub.k and an estimated quantity M.sub.k according to the current data and the previous data.
[0074] 034: When the weight D.sub.k is greater than a preset threshold, acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k .
[0075] 035: When the weight D.sub.k is less than or equal to the preset threshold, setting the adjustment quantity W.sub.k to zero.
[0076] Referring to
[0077] In this way, it can be ensured that the estimated zero-point position P.sub.k+1 determined after the zero-point calibration converges to the theoretical zero-point position P.sub.0, thereby improving the accuracy of the acquired valid data.
[0078] Similarly, when the vector sensor 40 is a vector sensor 40 having more than two axes, the adjustment quantity W.sub.k can still be acquired by using the calibration method in the implementations of this application, and the next correction value E.sub.k+1 can be acquired according to the adjustment quantity W.sub.k and the current correction value E.sub.k . Details are not described herein.
[0079] Refer to Formula VI: D.sub.k=2({right arrow over (M.sub.k)}.Math.{right arrow over (M.sub.0)}). In some implementations, the current data includes the current original data R.sub.k and the current valid data V.sub.k , and the previous data includes the previous valid data V.sub.k−1. The weight D.sub.k and the estimated quantity M.sub.k may be acquired according to the current valid data V.sub.k and the previous valid data V.sub.k−1.
[0080] Specifically, referring to
[0081] 011: Acquiring current valid data V.sub.k according to the current original data R.sub.k and the current correction value E.sub.k.
[0082] Referring to
[0083] Specifically, referring to
[0084] Referring to
[0085] 036: Acquiring a weight D.sub.k and an estimated quantity M.sub.k according to the current valid data V.sub.k and the previous valid data V.sub.k−1.
[0086] 037: Acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k.
[0087] Referring to
[0088] With reference to
[0089] Referring to
[0090] Referring to
[0091] Refer to Formula VI: D.sub.k=2 ({right arrow over (M.sub.k)}.Math.{right arrow over (M.sub.0)}). The weight D.sub.k represents the degree of change in the posture of the vector sensor 40 during the two measurements. In some implementations, the weight D.sub.k may be determined according to the posture data. The posture data is data measured by other sensors that can represent the degree of change in the posture of the vector sensor 40 during the two measurements. In an embodiment, the posture data may be a first angular velocity and a second angular velocity measured by the angular velocity sensor during the two measurements performed by the vector sensor 40. A larger difference between the first angular velocity and the second angular velocity indicates a larger degree of change in the posture of the vector sensor 40 during the two measurements, and thereby indicates a larger determined weight D.sub.k. A type of the posture data is not limited to a rate of change in the angular velocity of the vector sensor 40 during the two measurements, and is not limited herein.
[0092] Specifically, referring to
[0093] 038: Acquiring posture data.
[0094] 039: Acquiring the adjustment quantity W.sub.k according to the current data, the previous data, and the posture data.
[0095] Referring to
[0096] Specifically, the adjustment quantity W.sub.k depends on the weight D.sub.k and the estimated quantity M.sub.k , the weight D.sub.k depends on the posture data, and the estimated quantity M.sub.k depends on the current data and the previous data. Based on the above, if the current data and the previous data are respectively the current original data {right arrow over (R.sub.k)} and the previous original data {right arrow over (R.sub.k−1)}, {right arrow over (M.sub.k)}={right arrow over (R.sub.k)}−{right arrow over (R.sub.k−1)}. If the current data and the previous data are respectively the current valid data V.sub.k and the previous valid data V.sub.k−1, {right arrow over (M.sub.k)}={right arrow over (V.sub.k)}−{right arrow over (V.sub.k−1)}.
[0097] In conclusion, according to the calibration method and the UAV 100 in the implementations of this application, the adjustment quantity W.sub.k may be acquired according to the current data and the previous data, and the next correction value E.sub.k+1 may be acquired according to the current correction value E.sub.k and the adjustment quantity W.sub.k , to acquire a more accurate correction value, so as to perform zero-point error calibration on the next original data R.sub.k+1 according to the next correction value E.sub.k+1 during a next measurement to acquire next valid data V.sub.k+1 more closely approximating to a true value.
[0098] According to the calibration method and the UAV 100 in the implementations of this application, zero-point calibration may be performed during output of the valid data. Specifically, zero-point calibration may be performed during any k.sup.th measurement, so as to dynamically complete zero-point calibration during the use of the vector sensor 40, thereby maintaining the accuracy of the valid data.
[0099] Referring to
[0100] Referring to
[0101] 01: Collecting, during a flight of the UAV 100, a current correction value E.sub.k and current data during a current measurement performed by the vector sensor 40.
[0102] 02: Acquiring previous data during a previous measurement performed by the vector sensor 40.
[0103] 03: Acquiring an adjustment quantity W.sub.k according to the current data and the previous data.
[0104] 04: Acquiring a next correction value E.sub.k+1 according to the current correction value E.sub.k and the adjustment quantity W.sub.k.
[0105] 05: Acquiring next original data R.sub.k+1 during a next measurement performed by the vector sensor 40, and acquiring next valid data V.sub.k+1 according to the next original data R.sub.k+1 and the next correction value E.sub.k+1.
[0106] 06: Controlling headings and postures of the UAV 100 according to the next valid data V.sub.k+1.
[0107] In another example, when the computer program 401 is executed by one or more processors 30, the one or more processors 30 are caused to perform the following calibration method.
[0108] 01: Collecting, during a flight of the UAV 100, a current correction value E.sub.k and current data during a current measurement performed by the vector sensor 40.
[0109] 02: Acquiring previous data during a previous measurement performed by the vector sensor 40.
[0110] 031: Acquiring a weight D.sub.k and an estimated quantity M.sub.k according to the current original data R.sub.k and the previous original data R.sub.k−1.
[0111] 032: Acquiring an adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k;
[0112] 034: When the weight D.sub.k is greater than a preset threshold, acquiring the adjustment quantity W.sub.k according to the weight D.sub.k and the estimated quantity M.sub.k .
[0113] 035: When the weight D.sub.k is less than or equal to the preset threshold, setting the adjustment quantity W.sub.k to zero.
[0114] 04: Acquiring a next correction value E.sub.k+1 according to the current correction value E.sub.k and the adjustment quantity W.sub.k.
[0115] 05: Acquiring next original data R.sub.k+1 during a next measurement performed by the vector sensor 40, and acquiring next valid data V.sub.k+1 according to the next original data R.sub.k+1 and the next correction value E.sub.k+1.
[0116] 06: Controlling headings and postures of the UAV 100 according to the next valid data V.sub.k+1.
[0117] In the descriptions of this specification, descriptions of reference terms such as “some implementations”, “in one example”, or “exemplarily” mean that specific characteristics, structures, materials, or features described with reference to the implementation or example are included in at least one implementation or example of this application. In this specification, schematic descriptions of the foregoing terms are not necessarily with respect to the same implementation or example. Further, the described specific characteristics, structures, materials, or features may be combined in a proper manner in any one or more implementations or examples. In addition, different embodiments or examples described in this specification, as well as features of different embodiments or examples, may be integrated and combined by a person skilled in the art without contradicting each other.
[0118] Any process or method in the flowcharts or described herein in another manner may be understood as indicating a module, a segment, or a part including code of one or more executable instructions for implementing a particular logical function or process step. In addition, the scopes of preferred embodiments of this application include other implementations which do not follow the order shown or discussed, including performing, according to involved functions, the functions basically simultaneously or in a reverse order, which should be understood by a person skilled in the art to which the embodiments of this application belong.
[0119] Although the embodiments of this application are shown and described above, it may be understood that the foregoing embodiments are exemplary, and cannot be understood as a limitation to this application. A person of ordinary skill in the art may make changes, modifications, replacements, and variations to the foregoing embodiments without departing from the scope of this application.