CN114564036A - Flight trajectory original path rehearsal method and aircraft - Google Patents
Flight trajectory original path rehearsal method and aircraft Download PDFInfo
- Publication number
- CN114564036A CN114564036A CN202210230672.6A CN202210230672A CN114564036A CN 114564036 A CN114564036 A CN 114564036A CN 202210230672 A CN202210230672 A CN 202210230672A CN 114564036 A CN114564036 A CN 114564036A
- Authority
- CN
- China
- Prior art keywords
- flight
- aircraft
- moments
- track
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 85
- 230000001133 acceleration Effects 0.000 claims abstract description 75
- 238000005516 engineering process Methods 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000012937 correction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 6
- 239000011159 matrix material Substances 0.000 description 6
- 230000036461 convulsion Effects 0.000 description 4
- 238000006073 displacement reaction Methods 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- RZVHIXYEVGDQDX-UHFFFAOYSA-N 9,10-anthraquinone Chemical compound C1=CC=C2C(=O)C3=CC=CC=C3C(=O)C2=C1 RZVHIXYEVGDQDX-UHFFFAOYSA-N 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000010006 flight Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/08—Control of attitude, i.e. control of roll, pitch, or yaw
- G05D1/0808—Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05D—SYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
- G05D1/00—Control of position, course, altitude or attitude of land, water, air or space vehicles, e.g. using automatic pilots
- G05D1/10—Simultaneous control of position or course in three dimensions
- G05D1/101—Simultaneous control of position or course in three dimensions specially adapted for aircraft
Landscapes
- Engineering & Computer Science (AREA)
- Aviation & Aerospace Engineering (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Automation & Control Theory (AREA)
- Navigation (AREA)
- Traffic Control Systems (AREA)
Abstract
The embodiment of the invention provides a flight trajectory original path replay method and an aircraft, wherein the method comprises the following steps: shooting a first image and collecting flight state data by the aircraft at a plurality of flight moments, wherein the flight state data comprises at least one of position information, speed information and acceleration information, and the flight track of the aircraft at the plurality of flight moments is determined based on the detected battling operation for the aircraft; the aircraft generates a first track according to flight state data acquired at a plurality of flight moments, and the smoothness degree of the first track is higher than that of the tracks of the aircraft flying at the plurality of flight moments; the aircraft flies according to the generated first track. The corrected first trajectory of the embodiment of the invention can restore the flying trajectory during artificial control as much as possible.
Description
Technical Field
The invention relates to the technical field of aircraft control, in particular to a flight trajectory original path replay method and an aircraft.
Background
Along with the development of the unmanned aerial vehicle technology, the multi-rotor unmanned aerial vehicle is more and more popular and widely applied to the field of aerial photography, and the aerial photography technology can be used in the fields of disaster assessment, emergency rescue and relief, on-site reconnaissance, military drilling and the like. At present, the operation of a common small unmanned aerial vehicle mainly depends on a handheld remote controller of a flyer, so that the small unmanned aerial vehicle is forced to use and have a certain entrance threshold. The flyer needs to possess certain flight technique and certain theoretical knowledge and can be better to use the small unmanned aerial vehicle, thereby limiting the application of the small unmanned aerial vehicle. In a movie shooting scene, a flyer is required to fly and view along the same track as many times as possible, and even a professional flyer is difficult to fly along the same track for human reasons.
In this context, how to make the unmanned aerial vehicle fly autonomously, and the trajectories of multiple flights can be made to approach the same is a technical problem being studied by those skilled in the art.
Disclosure of Invention
In view of this, embodiments of the present invention provide a flight trajectory original-path replaying method and an aircraft, where an obtained optimized first trajectory can restore a flight trajectory during artificial control as much as possible.
The first aspect of the embodiments of the present invention provides a flight trajectory original circuit recurrence method, including:
shooting a first image and collecting flight state data at a plurality of flight moments by an aircraft, wherein the flight state data comprises at least one of position information, speed information and acceleration information, and the flight track of the aircraft at the plurality of flight moments is determined based on the detected batting operation for the aircraft;
the aircraft generates a first track according to the flight state data collected at the flight moments, and the smoothness degree of the first track is higher than that of the tracks of the aircraft flying at the flight moments;
the aircraft flies according to the generated first track.
A second aspect of an embodiment of the present invention provides an aircraft, including a processor, a memory, and a camera, where the memory is configured to store program instructions, and the processor is configured to call the program instructions to perform the following operations:
shooting a first image at a plurality of flight moments and collecting flight state data, wherein the flight state data comprise at least one of position information, speed information and acceleration information, and the flight track of the aircraft at the plurality of flight moments is determined based on the detected batting operation for the aircraft;
generating a first track according to the flight state data acquired at the flight moments, wherein the smoothness degree of the first track is higher than that of the tracks of the aircraft flying at the flight moments;
the aircraft flies according to the generated first track.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments of the present invention or the background art will be briefly described below.
FIG. 1 is a schematic structural diagram of a flight control system according to an embodiment of the present invention;
fig. 2 is a flowchart of a flight trajectory original path replaying method according to an embodiment of the present invention;
fig. 3 is a flowchart of another flight trajectory rehearsal method according to an embodiment of the present invention;
FIG. 4 is a schematic structural diagram of an aircraft in accordance with an embodiment of the present invention;
FIG. 5 is a schematic structural diagram of yet another aircraft in accordance with an embodiment of the invention;
FIG. 6 is a schematic structural diagram of yet another aircraft in accordance with an embodiment of the invention;
fig. 7 is a schematic structural view of another aircraft according to an embodiment of the invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments, which can be obtained by a person skilled in the art without inventive effort based on the embodiments of the present invention, are within the scope of the present invention.
Referring to fig. 1, fig. 1 is a flight control system according to an embodiment of the present invention. The system comprises an aircraft 101, a tripod head 102 mounted on the aircraft 101, and a ground control device 103 for controlling the aircraft or controlling both the aircraft 101 and the tripod head 102. The aircraft may typically be any type of Unmanned Aerial Vehicle (UAV), such as a quad-rotor UAV, a hexa-rotor UAV, or the like. The cradle head 102 mounted on the aircraft may be a three-axis cradle head, that is, the attitude of the cradle head 102 may be controlled on three axes, namely pitch, roll and course, to determine the orientation of the cradle head 102, so that the camera configured on the cradle head 102 can complete tasks such as aerial photography in the flight process.
The aircraft 101 may communicate (e.g., wirelessly) with a control device 103 on the ground. The ground control device 103 may be a controller with a joystick, which controls the aircraft by means of the amount of the joystick. This ground control equipment 103 also can be smart machine such as smart mobile phone, panel computer, can control unmanned aerial vehicle 101 automatic flight through dispose the flight orbit on user interface UI, perhaps controls unmanned aerial vehicle 101 automatic flight through modes such as body feeling.
Referring to fig. 2, fig. 2 is a flowchart illustrating a flight trajectory rehearsal method according to an embodiment of the present invention, where the method may be implemented based on the flight system shown in fig. 1, or based on other architectures; the method includes, but is not limited to, the steps of:
step S201: the aircraft takes first images and collects flight status data at a plurality of flight moments.
Specifically, the aircraft may fly in the air for a period of time, the flight of the aircraft in the period of time may be artificially remotely controlled to fly the aircraft, the multiple flight moments may be partial moments in the period of time, the multiple flight moments are selected from the period of time by what strategy, but not limited thereto, and optionally, the multiple flight moments are determined by the aircraft during the flight according to the first trajectory according to at least one of the flying speed, the battling operation and the preset distance threshold, which is exemplified below:
first, the aircraft takes the moment when the stick-breaking operation for the aircraft is detected every time as the flight moment during the flight. It is understood that the aircraft is generally controlled by a control terminal (e.g., a remote controller, a mobile phone, etc.) which may receive a user's stick-striking operation on a joystick (virtual or physical) during controlling the aircraft, and accordingly, the aircraft may detect whether there is a stick-striking operation on the joystick in real time, and if so, take a time when the user's stick-striking operation is detected as a flight time, that is, a time when the stick-striking operation is detected each time as a flight time. It can be understood that the moment when the user performs the stick-breaking operation on the joystick is usually the turning point of the aircraft during the flight (i.e. the key node of the flight state change), and recording these special moments can help to better restore the flight trajectory later.
Secondly, the flying speed of the aircraft at each flying time is not lower than a preset speed threshold (for example, the threshold may be set to 0.1m/s), that is, if the flying speed of the aircraft at a certain time is small, the aircraft does not take the certain time as the flying time, which can avoid determining the flying time at the time when the displacement of the aircraft changes little within a certain time, for example, the speed of the aircraft is small when the lever-hitting operation is just started. If the displacement change of the aircraft in a certain period of time is small, and the moment in the certain period of time is determined as the flight moment, the subsequently restored flight trajectory is not smooth.
Thirdly, the distance between any two adjacent flying moments of the aircraft in any two time is not less than a preset distance threshold value. In a specific implementation, the aircraft detects its own position in real time, and records the current time as the flight time when the distance of the aircraft changes by a preset distance, for example, it is assumed that the aircraft detects its own position at the 1 st time (starting time), the 2 nd time, the 3 rd time, the 4 th time, the 5 th time, the 6 th time, the 7 th time, the 8 th time, and the 9 th time in sequence in time; then, first, a time whose distance from the 1 st time is not less than the preset distance threshold is determined, then the determined time is taken as a flight time, and assuming that the determined flight time is the 3 rd time, the 3 rd time is taken as a flight time, then a time whose distance from the 3 rd time is not less than the preset threshold is further determined, then the determined time is taken as a flight time, assuming that the determined flight time is the 4 th time, the 4 th time is taken as a flight time, and the rest is similar.
The aircraft collects flight state data at each of the plurality of flight times, the flight state data including at least one of position information, velocity information, and acceleration information, optionally, the flight state data including the position information, optionally, the flight state data including position information and acceleration information, optionally, the flight state data including position information, acceleration information, and velocity information. For example, when the flight status data includes a position, the position information may be specifically determined by at least one of a Positioning System (e.g., (Global Positioning System, GPS), a BeiDou Navigation Satellite System (BDS), a Galileo Satellite Navigation System (GNSS), etc.), a visual Positioning technology, and an Inertial Measurement Unit (IMU), and optionally, the aircraft records an initial position of its own flight, then detects a flight acceleration and a flight direction in real time by the IMU, then calculates a flight speed according to the flight acceleration, further calculates a flight distance according to the flight time and the flight speed, and finally determines a real-time position of the aircraft by combining the flight distance, the flight direction, and the initial position of the flight. For another example, when the flight state data includes acceleration information, the acceleration information may be detected by an acceleration sensor of the aircraft, or may be calculated based on a change in velocity by a preconfigured algorithm for the aircraft. For another example, when the flight status data includes velocity information, the velocity information may be calculated for the aircraft based on changes in its position using a preconfigured algorithm.
In addition, the aircraft can take the first image at each flight moment in the plurality of flight moments, the first images taken by the aircraft at different positions are different, the first images taken by the aircraft at the same position are the same, and the first image taken at each flight moment can be associated with position information to indicate the position where the image is taken. Alternatively, the first image may be a grayscale image, an RGB image, or the like.
Step S202: the aircraft generates a first trajectory from the flight status data collected at the plurality of flight moments.
It will be appreciated that the aircraft first generates a first trajectory from the collected flight status data at a plurality of flight times, the first trajectory running substantially the same as the trajectory of the aircraft during the period of time. For ease of understanding, an alternative way of generating the first trajectory is provided below:
the flight state data includes position information P, velocity information V, and acceleration information a, and a trajectory obtained by sequentially splicing flight sub-trajectories of the aircraft between all two adjacent flight times is the first trajectory, where the sub-trajectory of the aircraft flying between any two adjacent flight times can be described by a 5-order polynomial, and if an earlier time of the any two adjacent flight times is t0, a later time is t1, and a time interval between t1 and t0 is dt, the 5-order polynomial is specifically as follows:
in the formula 1-1, cx0,……,cx5Is the coefficient of the x-axis trajectory polynomial, cy0,……,cy5Is the coefficient of the y-axis trajectory polynomial, cz0,……,cz5Is the coefficient of the z-axis trajectory polynomial, t is the time of flight of the aircraft between any two adjacent flight moments, t is in the interval [0, dt]And (6) taking the value. Next, the coefficients of the x-axis trajectory polynomial, the coefficients of the y-axis trajectory polynomial, and the coefficients of the z-axis trajectory polynomial need to be solved, and the solving principles of the coefficients of the three axial trajectory polynomials are the same, so the following description will be given by taking the solving of the coefficients of the x-axis trajectory polynomial as an example:
an analytical expression of a trajectory coefficient in the X-axis direction is obtained from position, velocity, and acceleration information in the X-axis direction with a minimum Jerk (first derivative of acceleration) variation (minimum Jerk) as an optimization function between the two arbitrary flight times, and it is assumed that flight state data S0 of an earlier flight time of the two arbitrary adjacent flight times is { P ═ P }0,V0,A0,t0In which P is0For the aircraft position at the earlier of any two adjacent flight times, V0For the speed of the aircraft at the earlier of any two adjacent flight moments, A0Acceleration, t, of the aircraft at an earlier of any two adjacent flight moments0The aircraft is at an earlier time of any two adjacent flight times; the flight state data S0 ═ P of the later flight time of the two arbitrary adjacent flight times1,V1,A1,t1In which P is1For the aircraft position at a later time of any two adjacent flight times, V1For the speed of the aircraft at a later time of any two adjacent flight times, A1Acceleration, t, of the aircraft at a later time of any two adjacent flight times1For aircraft in any two adjacent positionsThe later of the flight times; then, the flight state data S0 of the earlier flight time of the two arbitrary adjacent flight times is { P ═ P0,V0,A0,t0The component in the X-axis direction is S0x={Px0,Vx0,Ax0,tx0In which P isx0Denotes the position in the x-axis direction, Vx0Denotes the speed in the x-axis direction, Ax0Representing acceleration in the x-axis direction, tx0Represents time; the flight state data S1 ═ P of the later flight time of the two arbitrary adjacent flight times1,V1,A1,t1The component in the X-axis direction is S1x={Px1,Vx1,Ax1,tx1In which P isx1Denotes the position in the x-axis direction, Vx1Denotes the speed in the x-axis direction, Ax1Representing acceleration in the x-axis direction, tx0Represents time; intermediate variables shown in equations 1-2 can be obtained:
the intermediate variables shown in equations 1-3 can be further derived based on equations 1-2:
the coefficients of the x-axis trajectory polynomial may be further derived based on equations 1-3, as shown in equations 1-4:
the above description has been made of an analytical expression for obtaining the trajectory coefficient in the X axis direction from the position, velocity, and acceleration information in the X axis direction, and an analytical expression for the trajectory coefficient in the Y axis direction and an analytical expression for the trajectory coefficient in the Z axis direction can be obtained based on the same principle. Therefore, the sub-trajectories of the aircraft flying between any two adjacent flying moments can be determined according to the formula 1-1, and then the flying sub-trajectories of the aircraft flying between all two adjacent flying moments are spliced in sequence to obtain the first trajectory.
Step S203: the aircraft takes a second image during flight according to the first trajectory.
Step S204: the aircraft compares the second image to the first image to determine an offset.
Specifically, for example, the aircraft compares the texture in the second image to the texture in the first image to determine an offset. More specifically, the aircraft determines the offset of the aircraft through a closed loop detection method (loop closure), and the specific principle is as follows: selecting a first image closest to a currently-photographed second image from the plurality of first images photographed according to a preconfigured image matching algorithm (for example, an image similarity comparison algorithm based on a bag-of-words model), searching the position of the aircraft at the time of photographing the closest first image, and finally determining the offset between the position of the aircraft on the first track at the time of photographing the current second image and the position of the aircraft at the time of photographing the closest first image, wherein the determined offset is the offset of the aircraft.
It will be appreciated that, in accordance with this principle, the aircraft may determine an offset at various times during flight according to the first trajectory, the determined offset P of the aircraftoffset(t) may also contain a component in the X-axis directionComponent of Y axisAnd component in the Z-axis directionI.e. the offset Poffset(t) can be represented byStep (ii) ofS205: the aircraft corrects the first track according to the offset.
Specifically, the offset determined at the previous time may be used for correction at the next time. Since the first trajectory is obtained by sequentially splicing the flight sub-trajectories between all two adjacent flight times on the first trajectory, the principle of correcting the flight sub-trajectories between any two adjacent flight times by using the offset is described first herein; alternatively, the principle of correction may be to offset the amount Substituting the corrected sub-trajectory into the above equation 1-1 to obtain the corrected sub-trajectory of the flight trajectory between any two adjacent flight moments, as shown in equation 2-1:
and splicing the corrected sub-tracks of the flight tracks between two adjacent flight moments to obtain a corrected first track. Therefore, it can be considered that the aircraft actually flies according to the corrected first trajectory, and the principle that the aircraft controls itself to fly according to the corrected first trajectory can be as follows:
the aircraft determines flight state data of each control moment (it can be understood that the aircraft needs to continuously adjust the state of the aircraft so as to enable the finally flown track to be the corrected first track, and the moment of each state adjustment can be referred to as the control moment) in the flight process according to the corrected first track, wherein the flight state data comprises at least one of position information, speed information and acceleration information; then, the aircraft adjusts its state to the state indicated by the flight state data at each of the control times. That is, the aircraft will know in real time what position the aircraft needs to reach currently, what the flight speed reaches, and what the flight acceleration reaches. Then, the current actual position, the actual flying speed and the actual flying acceleration of the aircraft are adjusted, so that the aircraft reaches the position to be reached, the flying speed to be reached and the flying acceleration to be reached.
The following examples describe the manner in which the position, flight speed, and flight acceleration of the aircraft are known:
it is assumed that the modified first trajectory is formed by splicing n modified sub-trajectories, each modified sub-trajectory of the n modified sub-trajectories is obtained by modifying the flight trajectory between a group of two adjacent flight times (described above), and the modified sub-trajectories obtained by modifying the flight trajectory between two adjacent flight times of different groups may be different. As can be seen from equation 2-1, each modified sub-track is composed of a polynomial of order 5 and contains 6 coefficients, and the coefficients and start-stop times of these polynomials are stored in the following data structure:
in equation 3-1, track _ x [ n ] [6] stores 6 coefficients for the x-axis n modified sub-tracks, for a total of 6 x n coefficients, track _ y [ n ] [6] stores 6 coefficients for the y-axis n modified sub-tracks, for a total of 6 x n coefficients, track _ z [ n ] [6] stores 6 coefficients for the z-axis n modified sub-tracks, for a total of 6 x n coefficients; the projector _ time [ n +1] stores the end times of n modified sub-tracks on the whole time axis, for example, the modified first track is composed of 3 modified sub-tracks, the elapsed times of the 3 modified sub-tracks are 1 second, 2 seconds and 3 seconds, respectively, so that on the time axis, the start time of the modified first track is 0 second, the end time of the first modified sub-track is 1 second, the end time of the second modified sub-track is 3 seconds, the end time of the third modified sub-track is 6 seconds, and 6s is also the time required for finishing flying the modified first track.
The aircraft then performs the following procedure according to the data structure shown in 3-1:
1. setting a global clock, and resetting the time of the clock to 0 when the flight according to the modified first track is started, wherein the 0 is actually the starting time of the modified first track on the time axis.
2. Assuming that the control frequency of the aircraft in the track following process is frequency, that is, a second sends frequency control commands, the control command calculation period is 1/frequency, that is, a control command is calculated every 1/frequency second, so the time increase interval of the global clock is 1/frequency (the clock constantly updates its time according to the formula tick + 1/frequency), each time tick of the clock corresponds to a desired position, velocity and acceleration on the modified first track, and according to the current time tick of the clock, a track _ time [ n +1] is traversed to find which modified sub-track the tick corresponds to, and the found modified mth sub-track satisfies the following formula:
trajectory_time[m]≤tick≤trajectory_time[m+1]3-2
3. calculating the position p which needs to be reached currently according to the corrected parameter of the mth sub-trackdesiredVelocity v to be achieveddesiredAnd the acceleration a to be achieveddesired:
Since the sub-trajectory polynomial is normalized, the tick at this location is also normalized, i.e., normalized
Wherein, trajectory _ time [ m +1]]-trajectory_time[m]Represents the total elapsed time of the m-th sub-track after correction, tick-track _ time m]Indicating the time at which tick time has entered the revised mth sub-track. Then, the required position p is calculated according to the trajectory polynomial shown in the formula 2-1desiredTo be achievedVelocity vdesiredAcceleration a to be achieveddesiredThe formula for calculating each quantity is as follows (ejection _ x [ n ]][6]Abbreviated as tx n][6]):
Position p to be reacheddesiredComprises the following steps:
the formula 4-1 is a matrix form of a linear equation set, the equation set in the formula 2-1 is obtained after expansion, and the position p which needs to be reached in the X axis direction can be obtained after expansion by taking the X axis direction as an exampledesired_x=tx[m][0]+ tx[m][1]*tm 1+tx[m][2]*tm 2+tx[m][3]*tm 3+tx[m][4]*tm 4+tx[m][5]* tm 5Wherein, tx [ m ]][0]Constant term equal to the m-th sub-track polynomial after correctionIn addition, the positions required to be reached by the Y-axis direction and the Z-axis direction can be referred to the description of the X-axis direction. The position p to be reached can be obtained based on the position in the X axial direction, the position in the Y axial direction and the position in the Z axial directiondesired。
Velocity v to be achieveddesiredComprises the following steps:
the formula 4-2 is a matrix form of a linear equation system, and after the linear equation system is expanded, the first derivative of the equation system in the formula 3-1 is obtained, taking the X-axis as an example, and after the linear equation system is expanded, the speed v which is required to be reached by the X-axis can be obtaineddesired_x= tx[m][1]+2*tx[m][2]*tm 1+3*tx[m][3]*tm 2+4*tx[m][4]*tm 3+5* tx[m][5]*tm 4Wherein, tx [ m ]][1]A first order term in the polynomial equal to the mth modified sub-track; in addition, the speeds required to be achieved in the Y-axis direction and the Z-axis direction can be described with reference to the X-axis direction. Speed based on X-axis, speed based on Y-axis and Z-axisThe speed of the motor can obtain the speed v to be reacheddesired。
Acceleration a to be achieveddesiredComprises the following steps:
the formula 4-3 is a matrix form of a linear equation set, the second derivative of the equation set in the formula 3-1 is obtained after expansion, taking the X axial direction as an example, and the acceleration a required to be achieved by the X axial direction can be obtained after expansiondesired_x=2* tx[m][2]+6*tx[m][3]*tm 1+12*tx[m][4]*tm 2+20*tx[m][5]*tm 3Wherein, tx [ m ]][2]A second order term equal to the mth modified sub-trajectory polynomial; in addition, the acceleration required to be achieved in the Y-axis direction and the Z-axis direction can be described with reference to the X-axis direction. The acceleration a to be achieved can be obtained based on the acceleration in the X axial direction, the acceleration in the Y axial direction and the acceleration in the Z axial directiondesired。
From the above principle, the position p to be reached at each moment when flying on the mth corrected sub-track can be obtaineddesiredVelocity v to be achieveddesiredAcceleration a to be achieveddesiredBased on the same principle, the position p which needs to be reached at each moment when the aircraft flies on the whole corrected first track can be deduceddesiredVelocity v to be achieveddesiredAcceleration a to be achieveddesired。
Accordingly, the aircraft will need to reach a position p during flightdesiredVelocity v to be achieveddesirsdAcceleration a to be achieveddesiredSubstituting into a proportional-integral-derivative (PID) control algorithm (or other algorithm) to calculate a control command for instructing the aircraft to make a corresponding adjustment to position p that the aircraft needs to reachdesiredThe speed reaches the required speed vdesiredAnd acceleration reaches the acceleration a to be reacheddesired。
In the method shown in fig. 2, the aircraft collects flight state data of the aircraft during flight, and a first image is taken by a camera; and then generating a first track through the flight state data, shooting a second image in real time in the subsequent flight process according to the first track, comparing the second image with the first image to determine the offset of the aircraft when flying according to the first track, then correcting the first track by using the offset, and continuing to fly according to the corrected first track. Because the offset of the aircraft in flying is considered in the generation of the corrected first track, the iterative error generated in the flying process can be reduced, and the finally generated first track for the autonomous flying of the aircraft can restore the flight track of artificial control as much as possible.
Referring to fig. 3, fig. 3 is a flowchart illustrating a flight trajectory rehearsal method according to an embodiment of the present invention, where the method may be implemented based on the flight system shown in fig. 1, or based on other architectures; the method includes, but is not limited to, the steps of:
step S301: the method comprises the steps that a plurality of flight moments are determined according to at least one of the flying speed, the pole hitting operation and the preset distance threshold value in the flying process of the aircraft, and the flying state data of the aircraft at the flight moments are collected.
Specifically, optionally, the flight of the aircraft in the period of time may be a flight of the aircraft that is artificially remotely controlled, and the plurality of flight moments are selected from the period of time according to what strategy, which is not limited herein, and the following examples include several possible implementations:
first, the aircraft takes the moment when the stick-breaking operation for the aircraft is detected every time as the flight moment during the flight. It is understood that the aircraft is generally controlled by a control terminal (e.g., a remote controller, a mobile phone, etc.) which may receive a user's stick-striking operation on a joystick (virtual or physical) during controlling the aircraft, and accordingly, the aircraft may detect whether there is a stick-striking operation on the joystick in real time, and if so, take a time when the user's stick-striking operation is detected as a flight time, that is, a time when the stick-striking operation is detected each time as a flight time. It can be understood that the moment when the user performs the stick-breaking operation on the joystick is usually the turning point of the aircraft during the flight (i.e. the key node of the flight state change), and recording these special moments can help to better restore the flight trajectory later.
Secondly, the flying speed of the aircraft at each flying time is not lower than a preset speed threshold (for example, the threshold may be set to 0.1m/s), that is, if the flying speed of the aircraft at a certain time is small, the aircraft does not take the certain time as the flying time, which can avoid determining the flying time at the time when the displacement of the aircraft changes little within a certain time, for example, the speed of the aircraft is small when the lever-hitting operation is just started. If the displacement change of the aircraft in a certain period of time is small, and the moment in the certain period of time is determined as the flight moment, the subsequently restored flight trajectory is not smooth.
Thirdly, the distance between any two adjacent flying moments of the aircraft in any two time is not less than a preset distance threshold value. In a specific implementation, the aircraft detects its own position in real time, and records the current time as the flight time when the distance of the aircraft changes by a preset distance, for example, it is assumed that the aircraft detects its own position at the 1 st time (starting time), the 2 nd time, the 3 rd time, the 4 th time, the 5 th time, the 6 th time, the 7 th time, the 8 th time, and the 9 th time in sequence in time; then, first, a time whose distance from the 1 st time is not less than the preset distance threshold is determined, then the determined time is taken as a flight time, and assuming that the determined flight time is the 3 rd time, the 3 rd time is taken as a flight time, then a time whose distance from the 3 rd time is not less than the preset threshold is further determined, then the determined time is taken as a flight time, assuming that the determined flight time is the 4 th time, the 4 th time is taken as a flight time, and the rest is similar.
The aircraft may have a duration of time in flight, the plurality of flight moments may be a fraction of the duration of time, and the unmanned aerial vehicle may collect flight status data at each of the plurality of flight moments, the flight status data including at least one of position information, velocity information, and acceleration information, optionally the flight status data including the position information, optionally the flight status data including position information and acceleration information, optionally the flight status data including position information, acceleration information, and velocity information. For example, when the flight status data includes a position, the position information may be specifically determined by the aircraft via at least one of a Positioning System (e.g., (Global Positioning System, GPS), a BeiDou Navigation Satellite System (BDS), a Galileo Satellite Navigation System (GNSS), etc.), a visual Positioning technique, and an Inertial Measurement Unit (IMU). Optionally, the aircraft records the initial position of its own flight, then detects the flight acceleration and flight direction in real time through the IMU, then calculates the flight speed according to the flight acceleration, further calculates the flight distance according to the time and flight speed of the flight, and finally determines the real-time position of the aircraft by combining the flight distance, flight direction and the initial position of the flight. For another example, when the flight state data includes acceleration information, the acceleration information may be detected by an acceleration sensor of the aircraft, or may be calculated based on a change in velocity by a preconfigured algorithm for the aircraft. For another example, when the flight status data includes velocity information, the velocity information may be calculated for the aircraft based on changes in the aircraft's position using a preconfigured algorithm.
Step S302: the aircraft generates a first trajectory according to flight state data acquired by the aircraft at the plurality of flight moments.
Specifically, the aircraft first generates a first trajectory from the collected flight state data at a plurality of flight times, the first trajectory having a substantially same direction as the trajectory of the aircraft during the period of time, and optionally, the first trajectory being smoother than the trajectory of the aircraft during the period of time. For ease of understanding, an alternative way of generating the first trajectory is provided below:
the flight state data includes position information P, speed information V and acceleration information a, and the trajectory obtained by sequentially splicing the flight sub-trajectories of the aircraft between all two adjacent flight times is the first trajectory, where the sub-trajectory of the aircraft flying between any two adjacent flight times can be described by a 5-order polynomial, and if the earlier time of any two adjacent flight times is t0, the later time is t1, and the time interval between t1 and t0 is dt, the 5-order polynomial is specifically as follows:
in the formula 1-1, cx0,……,cx5Is the coefficient of the x-axis trajectory polynomial, cy0,……,cy5Is the coefficient of the y-axis trajectory polynomial, cz0,……,cz5Is the coefficient of the z-axis trajectory polynomial, t is the time of flight of the aircraft between any two adjacent flight moments, t is in the interval [0, dt]And (6) taking the value. Next, the coefficients of the x-axis trajectory polynomial, the coefficients of the y-axis trajectory polynomial, and the coefficients of the z-axis trajectory polynomial need to be solved, and the solving principles of the coefficients of the three axial trajectory polynomials are the same, so the following description will be given by taking the solving of the coefficients of the x-axis trajectory polynomial as an example:
an analytical expression of a trajectory coefficient in the X-axis direction is obtained from position, velocity, and acceleration information in the X-axis direction with a minimum Jerk (first derivative of acceleration) variation (minimum Jerk) as an optimization function between the two arbitrary flight times, and it is assumed that flight state data S0 of an earlier flight time of the two arbitrary adjacent flight times is { P ═ P }0,V0,A0,t0In which P is0For the aircraft position at an earlier of any two adjacent flight times, V0To fly inThe speed of the device at the earlier of any two adjacent flight times, A0Acceleration, t, of the aircraft at an earlier of any two adjacent flight moments0The aircraft is at an earlier time of any two adjacent flight times; the flight state data S0 ═ P of the later flight time of the two arbitrary adjacent flight times1,V1,A1,t1In which P is1For the aircraft position at a later time of any two adjacent flight times, V1For the speed of the aircraft at a later time of any two adjacent flight times, A1Acceleration, t, of the aircraft at a later time of any two adjacent flight times1The aircraft is at a later moment in any two adjacent flight moments; then, the flight state data S0 of the earlier flight time of the two arbitrary adjacent flight times is { P ═ P0,V0,A0,t0The component in the X-axis direction is S0x={Px0,Vx0,Ax0,tx0In which P isx0Denotes the position in the x-axis direction, Vx0Denotes the speed in the x-axis direction, Ax0Representing acceleration in the x-axis direction, tx0Represents time; the flight state data S1 ═ P of the later flight time of the two arbitrary adjacent flight times1,V1,A1,t1The component in the X-axis direction is S1x={Px1,Vx1,Ax1,tx1In which P isx1Denotes the position in the x-axis direction, Vx1Denotes the speed in the x-axis direction, Ax1Denotes the acceleration in the x-axis direction, tx0Represents time; intermediate variables shown in equations 1-2 can be obtained:
the intermediate variables shown in equations 1-3 can be further derived based on equations 1-2:
the coefficients of the x-axis trajectory polynomial may be further derived based on equations 1-3, as shown in equations 1-4:
the above description has been made of an analytical expression for obtaining the trajectory coefficient in the X axis direction from the position, velocity, and acceleration information in the X axis direction, and an analytical expression for the trajectory coefficient in the Y axis direction and an analytical expression for the trajectory coefficient in the Z axis direction can be obtained based on the same principle. Therefore, the sub-trajectories of the aircraft flying between any two adjacent flying moments can be determined according to the formula 1-1, and then the flying sub-trajectories of the aircraft flying between all two adjacent flying moments are spliced in sequence to obtain the first trajectory.
Step S303: the aircraft flies according to the first generated trajectory.
In an optional scheme, in the process of flying, the aircraft determines a plurality of flying moments according to at least one of a flying speed, a stick-hitting operation and a preset distance threshold, and collects flight state data of the aircraft at the plurality of flying moments, which may specifically be: the method comprises the steps that a plurality of flying moments are determined by an aircraft according to at least one of flying speed, a stick-hitting operation and a preset distance threshold in the flying process, first images are shot at different positions of the aircraft, the first images shot at the same position of the aircraft are the same, and position information can be related to the first images shot at each flying moment to indicate the position of the image. Alternatively, the first image may be a grayscale image, an RGB image, or the like.
In addition, the aircraft flies according to the first trajectory generated, which may be: the aircraft shoots a second image in the process of flying according to the first track; the aircraft comparing the second image to the first image to determine an offset; and the aircraft corrects the first track according to the offset for the aircraft to fly continuously.
The specific principle of determining the offset may be as follows: selecting a first image closest to a currently-photographed second image from the plurality of first images photographed according to a preconfigured image matching algorithm (for example, an image similarity comparison algorithm based on a bag-of-words model), searching the position of the aircraft at the time of photographing the closest first image, and finally determining the offset between the position of the aircraft on the first track at the time of photographing the current second image and the position of the aircraft at the time of photographing the closest first image, wherein the determined offset is the offset of the aircraft. It will be appreciated that, in accordance with this principle, the aircraft may determine an offset at various times during flight according to the first trajectory, the determined offset P of the aircraftoffset(t) may also contain a component in the X-axis directionComponent of Y axisAnd component in the Z-axis directionI.e. the offset Poffset(t) can be represented byOptionally, the offset determined at the previous time may be used for correction at the next time.
Since the first trajectory is obtained by sequentially splicing the flight sub-trajectories between all two adjacent flight times on the first trajectory, the principle of correcting the flight sub-trajectories between any two adjacent flight times by using the offset is described first herein; alternatively, the principle of correction may be to offset the amountSubstituted into the above formula 1-1 to obtainThe corrected sub-trajectory of the flight trajectory between any two adjacent flight moments is shown in equation 2-1:
and splicing the corrected sub-tracks of the flight tracks between two adjacent flight moments to obtain a corrected first track. Therefore, it may be considered that the aircraft actually flies according to the corrected first trajectory, and the controlling of the aircraft to fly according to the corrected first trajectory may specifically include the following operations: firstly, determining flight state data of each control moment in the flight process by the aircraft according to the corrected first track, wherein the flight state data comprises at least one of position information, speed information and acceleration information; the aircraft then adjusts its state at each of the control times to the state indicated by the flight state data at each of the control times. Specifically, the aircraft knows in real time where the aircraft needs to reach, how much the flying speed reaches, and how much the flying acceleration reaches in the flying process according to the corrected first trajectory. Then, the current actual position, the actual flying speed and the actual flying acceleration of the aircraft are adjusted, so that the aircraft reaches the position to be reached, the flying speed to be reached and the flying acceleration to be reached. The following description will be given by way of example to know the current position, flight speed and flight acceleration of the aircraft:
it is assumed that the modified first trajectory is formed by splicing n modified sub-trajectories, each modified sub-trajectory of the n modified sub-trajectories is obtained by modifying the flight trajectory between a group of two adjacent flight times (described above), and the modified sub-trajectories obtained by modifying the flight trajectory between two adjacent flight times of different groups may be different. As can be seen from equation 2-1, each modified sub-track is composed of a polynomial of order 5 and contains 6 coefficients, and the coefficients and start-stop times of these polynomials are stored in the following data structure:
in equation 3-1, track _ x [ n ] [6] stores 6 coefficients for the x-axis n modified sub-tracks, for a total of 6 x n coefficients, track _ y [ n ] [6] stores 6 coefficients for the y-axis n modified sub-tracks, for a total of 6 x n coefficients, track _ z [ n ] [6] stores 6 coefficients for the z-axis n modified sub-tracks, for a total of 6 x n coefficients; the projector _ time [ n +1] stores the end times of n modified sub-tracks on the whole time axis, for example, the modified first track is composed of 3 modified sub-tracks, the elapsed times of the 3 modified sub-tracks are 1 second, 2 seconds and 3 seconds, respectively, so that on the time axis, the start time of the modified first track is 0 second, the end time of the first modified sub-track is 1 second, the end time of the second modified sub-track is 3 seconds, the end time of the third modified sub-track is 6 seconds, and 6s is also the time required for finishing flying the modified first track.
The aircraft then performs the following procedure according to the data structure shown in 3-1:
1. setting a global clock, resetting the time of the clock to 0 when starting to fly according to the modified first track, wherein the 0 is actually the starting time of the modified first track on the time axis.
2. Assuming that the control frequency of the aircraft in the track following process is frequency, that is, a second sends frequency control commands, the control command calculation period is 1/frequency, that is, a control command is calculated every 1/frequency second, so the time increase interval of the global clock is 1/frequency (the clock constantly updates its time according to the formula tick + 1/frequency), each time tick of the clock corresponds to a desired position, velocity and acceleration on the modified first track, and according to the current time tick of the clock, a track _ time [ n +1] is traversed to find which modified sub-track the tick corresponds to, and the found modified mth sub-track satisfies the following formula:
trajectory_time[m]≤tick≤trajectory_time[m+1] 3-2
3. calculating the position p which needs to be reached currently according to the corrected parameter of the mth sub-trackdesiredVelocity v to be achieveddesiredAnd the acceleration a to be achieveddesired:
Since the sub-trajectory polynomial is normalized, the tick at this location is also normalized, i.e., normalized
Wherein, trajectory _ time [ m +1]]-trajectory_time[m]Represents the total elapsed time of the m-th sub-track after correction, tick-track _ time m]Indicating the time at which tick time has entered the revised mth sub-track. Then, the required position p is calculated according to the trajectory polynomial shown in the formula 2-1desiredVelocity v to be achieveddesiredAcceleration a to be achieveddesiredThe respective quantities are calculated as follows (projector _ x [ n ]][6]Abbreviated as tx n][6]):
Position p to be reacheddesiredComprises the following steps:
the formula 4-1 is a matrix form of a linear equation set, the equation set in the formula 2-1 is obtained after expansion, and the position p which needs to be reached in the X axis direction can be obtained after expansion by taking the X axis direction as an exampledesired_=tx[m][0]+ tx[m][1]*tm 1+tx[m][2]*tm 2+tx[m][3]*tm 3+tx[m][4]*tm 4+tx[m][5]* tm 5Wherein, tx [ m ]][0]Constant term equal to the m-th sub-track polynomial after correctionIn addition, Y-axis and Z-axisThe positions to be reached can be described with reference to the X-axis. The position p to be reached can be obtained based on the position in the X-axis direction, the position in the Y-axis direction and the position in the Z-axis directiondesired。
Velocity v to be achieveddesiredComprises the following steps:
the formula 4-2 is a matrix form of a linear equation system, and after the linear equation system is expanded, the first derivative of the equation system in the formula 3-1 is obtained, taking the X-axis as an example, and after the linear equation system is expanded, the speed v which is required to be reached by the X-axis can be obtaineddesired_x= tx[m][1]+2*tx[m][2]*tm 1+3*tx[m][3]*tm 2+4*tx[m][4]*tm 3+5* tx[m][5]*tm 4Wherein, tx [ m ]][1]A first order term in the polynomial equal to the mth modified sub-track; in addition, the speeds required to be achieved in the Y-axis direction and the Z-axis direction can be described with reference to the X-axis direction. Based on the speed of the X axial direction, the speed of the Y axial direction and the speed of the Z axial direction, the speed v to be reached can be obtaineddesired。
Acceleration a to be achieveddesiredComprises the following steps:
the formula 4-3 is a matrix form of a linear equation set, the second derivative of the equation set in the formula 3-1 is obtained after expansion, taking the X axial direction as an example, and the acceleration a required to be achieved by the X axial direction can be obtained after expansiondesired_x=2* tx[m][2]+6*tx[m][3]*tm 1+12*tx[m][4]*tm 2+20*tx[m][5]*tm 3Wherein, tx [ m ]][2]A second order term equal to the mth modified sub-trajectory polynomial; in addition, the acceleration required to be achieved in the Y-axis direction and the Z-axis direction can be described with reference to the X-axis direction. The acceleration a to be achieved can be obtained based on the acceleration in the X axial direction, the acceleration in the Y axial direction and the acceleration in the Z axial directiondesired。
According to the above principle can obtainThe position p to be reached at each moment when flying on the mth corrected sub-trajectorydesiredVelocity v to be achieveddesiredAcceleration a to be achieveddesiredBased on the same principle, the position p which needs to be reached at each moment when the aircraft flies on the whole corrected first track can be deduceddesiredVelocity v to be achieveddesiredAcceleration a to be achieveddesired。
Accordingly, the aircraft will need to reach a position p during flightdesiredVelocity v to be achieveddesiredAcceleration a to be achieveddesiredSubstituting into a proportional-integral-derivative (PID) control algorithm (or other algorithm) to calculate a control command for instructing the aircraft to make a corresponding adjustment to position p that the aircraft needs to reachdesiredThe speed reaches the required speed vdesiredAnd the acceleration reaches the required acceleration adesired。
In the method shown in fig. 3, the aircraft determines a plurality of flight moments during the flight according to at least one of the flight speed, the stick-hitting operation, and the preset distance threshold, then collects the flight state data at the determined plurality of flight moments, generates a first trajectory according to the flight state data, and finally flies according to the first trajectory. Because the flight time is determined according to at least one of the flight speed, the striking operation and the preset distance threshold, most of the determined flight time can be ensured to be the more critical time of the aircraft in the flight process, and the flight track which is artificially controlled can be more accurately restored according to the first track determined by the flight state data acquired at the flight time.
The following describes a pan-tilt follow-up control device and control equipment according to an embodiment of the present invention.
Referring to fig. 4, fig. 4 is a schematic structural diagram of an aircraft 40 according to an embodiment of the present invention, where the aircraft 40 includes an acquisition module 401, a generation module 402, a first shooting module 403, a first determination module 404, and an optimization module 405, where each module is described as follows.
The acquisition module 401 is configured to capture a first image at a plurality of flight moments and acquire flight state data, where the flight state data includes at least one of position information, velocity information, and acceleration information;
the generating module 402 is configured to generate a first trajectory according to flight state data acquired at the plurality of flight moments;
the first shooting module 403 is used for shooting a second image during the flight according to the first track;
a first determination module 404 for comparing the second image with the first image to determine an offset;
the optimization module 405 is configured to modify the first trajectory according to the offset for the aircraft to continue flying.
In an optional scheme, the first determining unit 404 compares the second image with the first image to determine an offset, specifically: the aircraft compares the texture in the second image to the texture in the first image to determine an offset.
In yet another alternative, the aircraft further comprises a second determining module and an adjusting module:
the second determining module is configured to, after the generating module 402 generates the first trajectory according to the flight state data acquired at the multiple flight moments, determine flight state data of each control moment in the flight process according to the first trajectory, where the flight state data includes at least one of position information, velocity information, and acceleration information;
the adjusting module is used for adjusting the state of the adjusting module at each control moment to the state indicated by the flight state data at each control moment.
In yet another alternative, the location information is determined based on at least one of GPS technology, view location technology, and inertial sensor location technology.
In a further optional scheme, the aircraft further comprises a third determining module, wherein the third determining module is used for determining a plurality of flight moments according to at least one of the flying speed, the batting operation and the preset distance threshold value during the flight before the acquiring module captures the first image and acquires the flight state data at the plurality of flight moments.
In another optional scheme, the third determining module determines the flight moments according to at least one of a flight speed, a stick-hitting operation, and a preset distance threshold during the flight of the aircraft, specifically:
and taking the moment when the lever operation aiming at the aircraft is detected every time as the flight moment during the flight of the aircraft.
In yet another alternative, the flight speed of the aircraft at each of the moments of flight is not below a preset speed threshold.
In a further alternative, the distance between any two temporally adjacent moments of flight of the aircraft is not less than a preset distance threshold.
It should be noted that the implementation of each module may also correspond to the corresponding description of the method embodiment shown in fig. 2.
In the aircraft 40 depicted in fig. 4, the aircraft collects flight state data of the aircraft during flight, and a first image is taken through the camera; and then generating a first track through the flight state data, shooting a second image in real time in the subsequent flight process according to the first track, comparing the second image with the first image to determine the offset of the aircraft when flying according to the first track, then correcting the first track by using the offset, and continuing to fly according to the corrected first track. Because the offset of the aircraft in flying is considered in the generation of the corrected first track, the iterative error generated in the flying process can be reduced, and the finally generated first track for the autonomous flying of the aircraft can restore the flight track of artificial control as much as possible.
Referring to fig. 5, fig. 5 is a schematic structural diagram of an aircraft 50 according to an embodiment of the present invention, where the aircraft 50 includes a determining module 501, a generating module 502, and a flying module 503, where each module is described as follows.
The determining module 501 is configured to determine multiple flight moments according to at least one of a flight speed, a stick-hitting operation, and a preset distance threshold in a flight process of an aircraft, and acquire flight state data of the aircraft at the multiple flight moments, where the flight state data includes at least one of position information, speed information, and acceleration information;
the generating module 502 is configured to generate a first trajectory according to flight state data acquired by the aircraft at the multiple flight moments;
the flying module 503 is configured to fly according to the generated first trajectory.
In an optional scheme, the first determining module 501 determines a plurality of flight moments according to at least one of a flight speed, a stick-hitting operation, and a preset distance threshold during a flight of the aircraft, and collects flight state data of the aircraft at the flight moments, specifically:
and in the flying process of the aircraft, the moment of detecting the lever operation aiming at the aircraft each time is taken as the flying moment, and the flying state data of the aircraft at the flying moment is collected.
In an alternative, the flight speed of the aircraft at each of the flight times is not below a preset speed threshold.
In a further alternative, the distance between any two temporally adjacent moments of flight of the aircraft is not less than a preset distance threshold.
In yet another alternative, the location information is determined based on at least one of GPS technology, view location technology, and inertial sensor location technology.
In another optional scheme, the determining module 501 determines multiple flight moments according to at least one of a flight speed, a stick-hitting operation, and a preset distance threshold during a flight of the aircraft, and collects flight state data of the aircraft at the multiple flight moments, specifically:
determining a plurality of flight moments according to at least one of flight speed, a pole hitting operation and a preset distance threshold in the flight process, and shooting a first image and acquiring flight state data of the aircraft at the flight moments;
the flying module 503 flies according to the generated first trajectory, specifically:
firstly, shooting a second image in the process of flying according to the first track;
then, comparing the second image with the first image to determine an offset;
and then, correcting the first track according to the offset for the aircraft to fly continuously.
In another optional scheme, the flying module 503 flies according to the generated first trajectory, specifically:
determining flight state data of each control moment in the flight process according to the first track, wherein the flight state data comprises at least one of position information, speed information and acceleration information;
and adjusting the state of the aircraft to the state indicated by the flight state data at each control moment.
It should be noted that the implementation of each module may also correspond to the corresponding description of the method embodiment shown in fig. 3.
In the aircraft 50 depicted in fig. 5, the aircraft determines a plurality of flight moments during the flight according to at least one of the flight speed, the stick-strike operation, and the preset distance threshold, then collects the flight status data at the determined plurality of flight moments, generates a first trajectory according to the flight status data, and finally flies according to the first trajectory. Because the flight time is determined according to at least one of the flight speed, the striking operation and the preset distance threshold, most of the determined flight time can be ensured to be the more critical time of the aircraft in the flight process, and the flight track which is artificially controlled can be more accurately restored according to the first track determined by the flight state data acquired at the flight time.
Referring to fig. 6, fig. 6 is an aircraft 60 according to an embodiment of the present invention, where the aircraft 60 includes a processor 601, a memory 602, and a camera 603, and the processor 601, the memory 602, and the camera 603 are connected to each other through a bus.
The memory 602 includes, but is not limited to, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or a portable read-only memory (CD-ROM), and the memory 602 is used for related instructions and data. The camera 603 is used to take photographs during flight of the aircraft 70.
The processor 601 may be one or more Central Processing Units (CPUs), and in the case that the processor 601 is one CPU, the CPU may be a single-core CPU or a multi-core CPU.
A processor 601 in the aircraft 60 is configured to read the program code stored in the memory 602 and perform the following operations:
shooting a first image at a plurality of flight moments and collecting flight state data, wherein the flight state data comprises at least one of position information, speed information and acceleration information;
generating a first track according to the flight state data acquired at the plurality of flight moments;
capturing a second image during flight according to the first trajectory;
comparing the second image to the first image to determine an offset;
and correcting the first track according to the offset for the aircraft to fly continuously.
In yet another optional scenario, the processor compares the second image with the first image to determine an offset, specifically: comparing the texture in the second image to the texture in the first image to determine an offset.
In yet another alternative, after the processor generates the first trajectory from the flight status data acquired at the plurality of flight instants, the processor is further configured to:
determining flight information of each control moment in the flight process according to the first track, wherein the flight state data comprises at least one of position information, speed information and acceleration information;
and adjusting the state of the aircraft to the state indicated by the flight state data at each control moment.
In yet another alternative, the location information is determined based on at least one of GPS technology, view location technology, and inertial sensor location technology.
In yet another alternative, the processor, prior to capturing the first image and acquiring the flight status data at the plurality of flight moments, is further configured to:
and determining the plurality of flight moments according to at least one of the flight speed, the stick-hitting operation and a preset distance threshold value in the flight process of the aircraft.
In another optional scheme, the processor determines the plurality of flight moments according to at least one of a flight speed, a stick-hitting operation, and a preset distance threshold during the flight of the aircraft, specifically:
and taking the moment when the lever operation aiming at the aircraft is detected every time as the flight moment in the process of flight.
In yet another alternative, the flight speed of the aircraft at each of the moments of flight is not below a preset speed threshold.
In a further alternative, the distance between any two temporally adjacent moments of flight of the aircraft is not less than a preset distance threshold.
It should be noted that the implementation of each operation may also correspond to the corresponding description of the method embodiment shown in fig. 2.
In the aircraft 60 depicted in fig. 6, the aircraft collects flight status data of the aircraft during flight and takes a first image through a camera; and then generating a first track through the flight state data, shooting a second image in real time in the subsequent flight process according to the first track, comparing the second image with the first image to determine the offset of the aircraft when flying according to the first track, then correcting the first track by using the offset, and continuing to fly according to the corrected first track. Because the offset of the aircraft in flying is considered in the generation of the corrected first track, the iterative error generated in the flying process can be reduced, and the finally generated first track for the autonomous flying of the aircraft can restore the flight track of artificial control as much as possible.
Referring to fig. 7, fig. 7 is an aircraft 70 according to an embodiment of the present invention, where the aircraft 70 includes a processor 701 and a memory 702, and the processor 701 and the memory 702 may be connected to each other through a bus. In addition, the aircraft may also include a camera 703 for taking photographs during flight of the aircraft 70.
The memory 702 includes, but is not limited to, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM), or a portable read-only memory (CD-ROM), and the memory 702 is used for related instructions and data.
The processor 701 may be one or more Central Processing Units (CPUs), and in the case that the processor 701 is one CPU, the CPU may be a single-core CPU or a multi-core CPU.
A processor 701 in the aircraft 70 is configured to read the program code stored in the memory 702 and perform the following operations:
determining a plurality of flight moments according to at least one of flight speed, a pole hitting operation and a preset distance threshold value in the flying process of the aircraft and collecting flight state data of the aircraft at the flight moments, wherein the flight state data comprise at least one of position information, speed information and acceleration information;
generating a first track according to flight state data acquired by the aircraft at the plurality of flight moments;
and controlling the aircraft to fly according to the generated first track.
In an optional scheme, the processor determines a plurality of flight moments according to at least one of a flight speed, a stick-hitting operation and a preset distance threshold value in a flight process of the aircraft and collects flight state data of the aircraft at the flight moments, specifically:
and in the flying process, the moment of each detected lever operation aiming at the aircraft is taken as the flying moment, and the flying state data of the aircraft at the flying moment is collected.
In yet another alternative, the flight speed of the aircraft at each of the moments of flight is not below a preset speed threshold.
In a further alternative, the distance between any two temporally adjacent moments of flight of the aircraft is not less than a preset distance threshold.
In yet another alternative, the location information is determined based on at least one of GPS technology, view location technology, and inertial sensor location technology.
In another optional scheme, the processor determines a plurality of flight moments according to at least one of a flight speed, a stick-hitting operation, and a preset distance threshold during a flight of the aircraft, and collects flight status data of the aircraft at the flight moments, specifically:
determining a plurality of flight moments according to at least one of flight speed, a stick-hitting operation and a preset distance threshold value in the flying process of the aircraft, and shooting a first image and acquiring flight state data of the aircraft at the flight moments;
the processor flies according to the generated first track, specifically:
capturing a second image during flight according to the first trajectory;
comparing the second image to the first image to determine an offset;
and correcting the first track according to the offset for the aircraft to fly continuously.
In another optional scheme, the processor flies according to the generated first trajectory, specifically:
determining flight state data of each control moment in the flight process according to the first track, wherein the flight state data comprises at least one of position information, speed information and acceleration information;
and adjusting the state of the aircraft to the state indicated by the flight state data at each control moment.
It should be noted that the implementation of each operation may also correspond to the corresponding description of the method embodiment shown in fig. 3.
In the aircraft 70 depicted in fig. 7, during the flight, the aircraft determines a plurality of flight moments according to at least one of the flight speed, the stick-strike operation and the preset distance threshold, then collects the flight status data at the determined plurality of flight moments, generates a first trajectory according to the flight status data, and finally flies according to the first trajectory. Because the flying time is determined according to at least one of the flying speed, the striking operation and the preset distance threshold, the determined flying time can be ensured to be the most critical time of the aircraft in the flying process, and the first track determined based on the flying state data acquired at the flying time can be more accurately restored into the manually controlled flying track.
The embodiment of the invention also provides a chip system, which comprises at least one processor, a memory and an interface circuit, wherein the memory, the transceiver and the at least one processor are interconnected through a line, and the at least one memory stores program instructions; the program instructions, when executed by the processor, implement the method flow illustrated in fig. 2 or fig. 3.
Embodiments of the present invention further provide a computer-readable storage medium, where instructions are stored in the computer-readable storage medium, and when the computer-readable storage medium is executed on a network device, the computer-readable storage medium implements the method flow shown in fig. 2 or fig. 3.
Embodiments of the present invention also provide a computer program product, which when run on a processor implements the method flow shown in fig. 2 or fig. 3.
In summary, in the embodiment of the present invention, the aircraft acquires flight state data of the aircraft during a flight process, and a camera captures a first image; and then generating a first track through the flight state data, shooting a second image in real time in the subsequent flight process according to the first track, comparing the second image with the first image to determine the offset of the aircraft when flying according to the first track, then correcting the first track by using the offset, and continuing to fly according to the corrected first track. Because the offset of the aircraft in flying is considered in the generation of the corrected first track, the iterative error generated in the flying process can be reduced, and the finally generated first track for the autonomous flying of the aircraft can restore the flight track of artificial control as much as possible.
It should be understood that the above-described embodiments are only some of the examples of the present invention, and certainly, the scope of the present invention should not be limited by the above-described embodiments, but the skilled person will understand that all or part of the procedures for implementing the above-described embodiments may be implemented and equivalents thereof may be made thereto without departing from the scope of the present invention as defined by the appended claims.
Claims (20)
1. A flight trajectory original path rehearsal method is characterized by comprising the following steps:
the method comprises the steps that an aircraft takes first images at a plurality of flight moments and acquires flight state data, wherein the flight state data comprise at least one of position information, speed information and acceleration information, and the flight track of the aircraft at the flight moments is determined based on detected batting operation aiming at the aircraft;
the aircraft generates a first track according to the flight state data collected at the flight moments, and the smoothness degree of the first track is higher than that of the tracks of the aircraft flying at the flight moments;
the aircraft flies according to the generated first track.
2. The method of claim 1, wherein prior to the aircraft taking the first image and acquiring the flight status data at the plurality of flight moments, further comprising:
and the aircraft determines the flight moments according to at least one of the flight speed, the stick-hitting operation and a preset distance threshold value in the flight process.
3. The method of claim 2, wherein determining the plurality of flight moments during flight of the aircraft based on at least one of flight speed, stick maneuver, and a preset distance threshold comprises:
and the time when the flying vehicle detects the rod striking operation aiming at the flying vehicle in the flying process is taken as the flying time.
4. The method of claim 2, wherein the airspeed of the aircraft at each of the moments of flight is not below a preset airspeed threshold.
5. The method of claim 2, wherein a distance between any two temporally adjacent said moments of flight of said aircraft is not less than a preset distance threshold.
6. The method of claim 1, wherein after the aircraft generates the first trajectory from the flight status data collected at the plurality of flight moments, further comprising:
the aircraft determines flight state data of each control moment in the flight process according to the first track, wherein the flight state data comprises at least one of position information, speed information and acceleration information;
the aircraft adjusts its state at each of the control times to the state indicated by the flight state data at each of the control times.
7. The method of claim 1, further comprising:
the aircraft shoots a second image in the process of flying according to the first track;
the aircraft comparing the second image to the first image to determine an offset;
and the aircraft corrects the first track according to the offset for the aircraft to fly continuously.
8. The method of claim 1, wherein the first trajectory is substantially the same as a trajectory of the aircraft flying at the plurality of moments in flight.
9. The method of claim 1, wherein the first image is associated with the location information.
10. The method according to claim 1 or 9, wherein the location information is determined based on at least one of GPS technology, view location technology and inertial sensor location technology.
11. An aircraft, comprising a processor and a memory, the memory for storing program instructions, the processor for invoking the program instructions to perform the operations of:
shooting first images at a plurality of flight moments and collecting flight state data, wherein the flight state data comprises at least one of position information, speed information and acceleration information, and the flight track of the aircraft at the plurality of flight moments is determined based on the detected batting operation for the aircraft;
generating a first track according to the flight state data acquired at the flight moments, wherein the smoothness degree of the first track is higher than that of the tracks of the aircraft flying at the flight moments;
and controlling the aircraft to fly according to the generated first track.
12. The aircraft of claim 11, wherein the processor, prior to capturing the first image and acquiring the flight status data at the plurality of flight moments, is further configured to:
and determining the plurality of flight moments according to at least one of the flight speed, the stick-hitting operation and a preset distance threshold value in the flying process of the aircraft.
13. The aircraft of claim 12, wherein the processor determines the plurality of flight moments during flight of the aircraft based on at least one of a flight speed, a stick maneuver, and a preset distance threshold, in particular:
and taking the moment when the lever-hitting operation aiming at the aircraft is detected every time as the flight moment in the flight process of the aircraft.
14. The aircraft of claim 12, wherein the speed of flight of the aircraft at each of the moments of flight is not below a preset speed threshold.
15. The aircraft of claim 12, wherein a distance between any two temporally adjacent moments of flight of the aircraft is not less than a preset distance threshold.
16. The aircraft of claim 11, wherein the processor, after generating the first trajectory from the flight status data acquired at the plurality of flight instants, is further configured to:
determining flight information of each control moment in the flight process according to the first track, wherein the flight state data comprises at least one of position information, speed information and acceleration information;
adjusting the state of the aircraft at the each control time to the state indicated by the flight state data at the each control time.
17. The aircraft of claim 11, wherein the processor is further configured to:
taking a second image during flight according to said first trajectory;
comparing the second image to the first image to determine an offset;
and correcting the first track according to the offset for the aircraft to fly continuously.
18. The aircraft of claim 11 wherein the first trajectory is substantially the same as a trajectory of the aircraft flying at the plurality of moments in flight.
19. The aircraft of claim 11 wherein the first image is associated with the location information.
20. The aircraft of claim 11 or 19 wherein the location information is determined based on at least one of GPS technology, perspective location technology and inertial sensor location technology.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210230672.6A CN114564036A (en) | 2017-12-26 | 2017-12-26 | Flight trajectory original path rehearsal method and aircraft |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2017/118755 WO2019127052A1 (en) | 2017-12-26 | 2017-12-26 | Method of repeating flight path and aerial vehicle |
CN202210230672.6A CN114564036A (en) | 2017-12-26 | 2017-12-26 | Flight trajectory original path rehearsal method and aircraft |
CN201780023180.7A CN109074095B (en) | 2017-12-26 | 2017-12-26 | Flight trajectory original path rehearsal method and aircraft |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780023180.7A Division CN109074095B (en) | 2017-12-26 | 2017-12-26 | Flight trajectory original path rehearsal method and aircraft |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114564036A true CN114564036A (en) | 2022-05-31 |
Family
ID=64812408
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210230672.6A Pending CN114564036A (en) | 2017-12-26 | 2017-12-26 | Flight trajectory original path rehearsal method and aircraft |
CN201780023180.7A Active CN109074095B (en) | 2017-12-26 | 2017-12-26 | Flight trajectory original path rehearsal method and aircraft |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780023180.7A Active CN109074095B (en) | 2017-12-26 | 2017-12-26 | Flight trajectory original path rehearsal method and aircraft |
Country Status (2)
Country | Link |
---|---|
CN (2) | CN114564036A (en) |
WO (1) | WO2019127052A1 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116227195A (en) * | 2023-03-02 | 2023-06-06 | 北京国星创图科技有限公司 | Method for correcting real-time state of simulation space environment |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625022A (en) * | 2019-02-27 | 2020-09-04 | 上海博泰悦臻网络技术服务有限公司 | Control method, system, medium and server capable of controlling unmanned aerial vehicle to follow vehicle |
CN111699453A (en) * | 2019-07-01 | 2020-09-22 | 深圳市大疆创新科技有限公司 | Control method, device and equipment of movable platform and storage medium |
CN112585956B (en) * | 2019-11-29 | 2023-05-19 | 深圳市大疆创新科技有限公司 | Track replay method, system, movable platform and storage medium |
CN111290436B (en) * | 2020-03-16 | 2023-04-07 | 北京机电工程研究所 | Aircraft wireless instruction correction method and system |
CN111986522B (en) * | 2020-07-29 | 2022-03-22 | 广州市新航科技有限公司 | Airborne equipment positioning method based on ADS-B signal, airborne equipment and storage medium thereof |
CN114063496A (en) * | 2021-11-02 | 2022-02-18 | 广州昂宝电子有限公司 | Unmanned aerial vehicle control method and system and remote controller for remotely controlling unmanned aerial vehicle |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2322354B (en) * | 1997-02-25 | 2000-05-10 | Fki Engineering Plc | Robot for operating motor vehicle control |
JP2002144263A (en) * | 2000-11-09 | 2002-05-21 | Nippon Telegr & Teleph Corp <Ntt> | Motion teaching and playback device of robot, its method and recording medium recording motion teaching and playback program of robot |
CN103375662A (en) * | 2012-04-28 | 2013-10-30 | 刘建新 | Three-dimensional suspension movement control suspension system for high-altitude shooting and movably shooting method thereof |
US9266611B2 (en) * | 2013-06-20 | 2016-02-23 | University Of Florida Research Foundation, Inc. | Flight path development for remote sensing vehicles in a moving reference frame |
CN103345826B (en) * | 2013-07-05 | 2017-07-18 | 深圳市大疆创新科技有限公司 | Remote terminal, flight assisting system and the method for unmanned vehicle |
CN103941748B (en) * | 2014-04-29 | 2016-05-25 | 百度在线网络技术(北京)有限公司 | Autonomous navigation method and system and Map building method and system |
CN104035446B (en) * | 2014-05-30 | 2017-08-25 | 深圳市大疆创新科技有限公司 | The course generation method and system of unmanned plane |
FR3023016B1 (en) * | 2014-06-30 | 2016-07-01 | Airbus Helicopters | SYSTEM AND METHOD FOR FLIGHT CONTROL IN TRAJECTORY FOR A ROTARY WING AIRCRAFT |
CN104898855B (en) * | 2015-06-05 | 2017-12-19 | 上海交通大学 | Based on text input system and method with rocking bar equipment |
CN106325305B (en) * | 2015-06-29 | 2020-03-20 | 优利科技有限公司 | Camera for ground positioning or navigation, aircraft and navigation method and system thereof |
CN205091959U (en) * | 2015-10-21 | 2016-03-16 | 岳西县恒意机械有限公司 | Unmanned aerial vehicle operation panel |
CN105511488B (en) * | 2015-12-03 | 2018-05-04 | 北京奇虎科技有限公司 | A kind of continuous shooting method and unmanned vehicle based on unmanned vehicle |
CN114995594A (en) * | 2016-03-31 | 2022-09-02 | 奇跃公司 | Interaction with 3D virtual objects using gestures and multi-DOF controllers |
CN105955291B (en) * | 2016-04-29 | 2021-04-27 | 深圳市哈博森科技有限公司 | Unmanned aerial vehicle flight route track recording and automatic flight control mode |
CN106020234B (en) * | 2016-07-26 | 2020-09-08 | 北京奇虎科技有限公司 | Unmanned aerial vehicle flight control method, device and equipment |
CN106595634A (en) * | 2016-11-30 | 2017-04-26 | 深圳市有光图像科技有限公司 | Method for recognizing mobile robot by comparing images and mobile robot |
CN110119154A (en) * | 2016-11-30 | 2019-08-13 | 深圳市大疆创新科技有限公司 | Control method, device and the equipment and aircraft of aircraft |
CN106774398A (en) * | 2016-12-20 | 2017-05-31 | 北京小米移动软件有限公司 | Take photo by plane method and device, unmanned plane |
CN106705963A (en) * | 2016-12-28 | 2017-05-24 | 北京兆易创新科技股份有限公司 | Method and device for automatic course reversal control |
CN206451423U (en) * | 2017-01-20 | 2017-08-29 | 甘肃工业职业技术学院 | A kind of unmanned plane aerophotogrammetry teaching simulating device |
-
2017
- 2017-12-26 CN CN202210230672.6A patent/CN114564036A/en active Pending
- 2017-12-26 CN CN201780023180.7A patent/CN109074095B/en active Active
- 2017-12-26 WO PCT/CN2017/118755 patent/WO2019127052A1/en active Application Filing
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116227195A (en) * | 2023-03-02 | 2023-06-06 | 北京国星创图科技有限公司 | Method for correcting real-time state of simulation space environment |
CN116227195B (en) * | 2023-03-02 | 2023-11-03 | 北京国星创图科技有限公司 | Method for correcting real-time state of simulation space environment |
Also Published As
Publication number | Publication date |
---|---|
CN109074095A (en) | 2018-12-21 |
WO2019127052A1 (en) | 2019-07-04 |
CN109074095B (en) | 2022-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109074095B (en) | Flight trajectory original path rehearsal method and aircraft | |
US10901435B2 (en) | Heading generation method and system of unmanned aerial vehicle | |
US9563200B2 (en) | Method for piloting a rotary wing drone for taking an exposure through an onboard camera with minimization of the disturbing movements | |
CN105242685B (en) | A kind of accompanying flying unmanned plane system and method | |
CN104769496B (en) | Flight video camera with the rope component for positioning and interacting | |
CN109071034A (en) | Switch method, controller and the image stability augmentation equipment of holder operating mode | |
WO2018053877A1 (en) | Control method, control device, and delivery system | |
WO2018098704A1 (en) | Control method, apparatus, and system, unmanned aerial vehicle, and mobile platform | |
WO2018073879A1 (en) | Flight route generation method, flight route generation system, flight vehicle, program, and recording medium | |
CN110268704B (en) | Video processing method, device, unmanned aerial vehicle and system | |
CN106973221B (en) | Unmanned aerial vehicle camera shooting method and system based on aesthetic evaluation | |
US20180024557A1 (en) | Autonomous system for taking moving images, comprising a drone and a ground station, and associated method | |
JP6817422B2 (en) | Information processing device, aerial photography route generation method, aerial photography route generation system, program, and recording medium | |
CN110651466A (en) | Shooting control method and device for movable platform | |
WO2019051640A1 (en) | Control method for pan-tilt, controller, and pan-tilt | |
WO2019227289A1 (en) | Time-lapse photography control method and device | |
US20180048828A1 (en) | Method for capturing image(s), related computer program and electronic system for capturing a video | |
CN113875222B (en) | Shooting control method and device, unmanned aerial vehicle and computer readable storage medium | |
WO2023036260A1 (en) | Image acquisition method and apparatus, and aerial vehicle and storage medium | |
CN110337668B (en) | Image stability augmentation method and device | |
CN110278717B (en) | Method and device for controlling the flight of an aircraft | |
US20170369165A1 (en) | Moving device, method of controlling moving device and storage medium | |
CN111699453A (en) | Control method, device and equipment of movable platform and storage medium | |
Ross et al. | Stochastic real-time optimal control for bearing-only trajectory planning | |
WO2021128184A1 (en) | Control method and control apparatus for movable carrier, and computer-readable storage medium |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |