WO2019127052A1 - Method of repeating flight path and aerial vehicle - Google Patents

Method of repeating flight path and aerial vehicle Download PDF

Info

Publication number
WO2019127052A1
WO2019127052A1 PCT/CN2017/118755 CN2017118755W WO2019127052A1 WO 2019127052 A1 WO2019127052 A1 WO 2019127052A1 CN 2017118755 W CN2017118755 W CN 2017118755W WO 2019127052 A1 WO2019127052 A1 WO 2019127052A1
Authority
WO
WIPO (PCT)
Prior art keywords
flight
aircraft
trajectory
state data
image
Prior art date
Application number
PCT/CN2017/118755
Other languages
French (fr)
Chinese (zh)
Inventor
胡骁
吴博
颜江
刘昂
郭灼
Original Assignee
深圳市大疆创新科技有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 深圳市大疆创新科技有限公司 filed Critical 深圳市大疆创新科技有限公司
Priority to CN202210230672.6A priority Critical patent/CN114564036A/en
Priority to CN201780023180.7A priority patent/CN109074095B/en
Priority to PCT/CN2017/118755 priority patent/WO2019127052A1/en
Publication of WO2019127052A1 publication Critical patent/WO2019127052A1/en

Links

Images

Classifications

    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/08Control of attitude, i.e. control of roll, pitch, or yaw
    • G05D1/0808Control of attitude, i.e. control of roll, pitch, or yaw specially adapted for aircraft
    • GPHYSICS
    • G05CONTROLLING; REGULATING
    • G05DSYSTEMS FOR CONTROLLING OR REGULATING NON-ELECTRIC VARIABLES
    • G05D1/00Control of position, course or altitude of land, water, air, or space vehicles, e.g. automatic pilot
    • G05D1/10Simultaneous control of position or course in three dimensions
    • G05D1/101Simultaneous control of position or course in three dimensions specially adapted for aircraft

Definitions

  • the present invention relates to the field of aircraft control technology, and in particular, to a flight path original road replay method and an aircraft.
  • Aerial photography technology can be used in disaster assessment, rescue and disaster relief, on-site reconnaissance, military exercises and other fields.
  • the commonly used small drone operation mainly relies on the hand-held remote control of the flying hand, forcing the use of the small drone to have a certain entry threshold.
  • the flying hand needs to have certain flight technology and certain theoretical knowledge to be able to use the small drone better, thus limiting the application of the small drone.
  • the flying hand is required to fly along the same trajectory as many times as possible. Due to human reasons, even a professional flying hand can hardly make multiple flights along the same trajectory.
  • the embodiment of the present invention provides a flight path original road replay method and an aircraft, and the obtained optimized first track can restore the flight trajectory of the artificial control as much as possible.
  • a first aspect of the embodiments of the present invention provides a flight path original path replay method, where the method includes:
  • the aircraft captures the first image and collects flight state data at a plurality of flight times, the flight state data including at least one of position information, speed information, and acceleration information;
  • the aircraft generates a first trajectory based on flight state data collected at the plurality of flight times;
  • the aircraft captures a second image during flight in accordance with the first trajectory
  • the aircraft compares the second image with the first image to determine an offset
  • the aircraft corrects the first trajectory based on the offset for the aircraft to continue flying.
  • a second aspect of the embodiments of the present invention provides a method for replaying a flight path original path, where the method includes:
  • the aircraft determines a plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight and collects flight state data of the aircraft at the plurality of flight times, the flight state data including At least one of position information, speed information, and acceleration information;
  • the aircraft generates a first trajectory according to flight state data collected by the aircraft at the plurality of flight moments;
  • the aircraft flies in accordance with the generated first trajectory.
  • a third aspect of the embodiments of the present invention provides an aircraft, including a processor, a memory, and a camera, the memory for storing program instructions, the processor for calling the program instructions to perform the following operations:
  • the flight state data includes at least one of position information, speed information, and acceleration information;
  • the first trajectory is modified for the aircraft to continue flying according to the offset.
  • a fourth aspect of the embodiments of the present invention provides an aircraft, the aircraft comprising a processor and a memory, the memory is configured to store program instructions, and the processor is configured to invoke the program instructions to perform the following operations:
  • the data includes at least one of position information, speed information, and acceleration information;
  • the aircraft flight is controlled in accordance with the generated first trajectory.
  • the aircraft collects the flight state data of the aircraft during the flight, and captures the first image by the camera; then generates the first trajectory by using the flight state data, and then shoots in real time during the flight according to the first trajectory.
  • a second image the second image is compared with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then the first trajectory is corrected using the offset, and the corrected first The trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
  • FIG. 1 is a schematic structural view of a flight control system according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a method for replaying a flight path original path according to an embodiment of the present invention
  • FIG. 3 is a flowchart of still another method for replaying a flight path original path according to an embodiment of the present invention
  • FIG. 4 is a schematic structural view of an aircraft according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of still another aircraft according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural view of still another aircraft according to an embodiment of the present invention.
  • FIG. 7 is a schematic structural diagram of still another aircraft according to an embodiment of the present invention.
  • FIG. 1 is a flight control system according to an embodiment of the present invention.
  • the system includes an aircraft 101, a platform 102 mounted on the aircraft 101, and a ground control device 103 for controlling the aircraft or simultaneously controlling the aircraft 101 and the platform 102.
  • the aircraft can typically be an Unmanned Aerial Vehicle (UAV), such as a four-rotor UAV, a six-rotor UAV, and the like.
  • UAV Unmanned Aerial Vehicle
  • the pan/tilt head 102 mounted on the aircraft may be a three-axis pan/tilt head, that is, the attitude of the pan/tilt head 102 may be controlled on three axes of a pitch pitch, a roll roll, and a heading yaw, so as to determine the orientation of the pan/tilt head 102,
  • the camera disposed on the pan/tilt head 102 enables tasks such as aerial photography during flight.
  • the aircraft 101 can communicate (e.g., wirelessly) with a control device 103 on the ground.
  • the ground control device 103 can be a controller with a rocker that controls the aircraft by the amount of the bar.
  • the ground control device 103 can also be a smart device such as a smart phone or a tablet computer.
  • the drone 101 can be controlled to automatically fly by configuring a flight trajectory on the user interface UI, or the drone 101 can be controlled to fly automatically by means of a somatosensory or the like.
  • FIG. 2 is a method for replaying a flight path original path according to an embodiment of the present invention.
  • the method may be implemented based on the flight system shown in FIG. 1 or may be implemented based on other architectures; Not limited to the following steps:
  • Step S201 The aircraft captures the first image and collects flight state data at a plurality of flight moments.
  • the aircraft may fly in the air for a period of time, and the flight of the aircraft during the period may be artificially remotely controlled by the aircraft, and the plurality of flight moments may be part of the time of the period, the plurality of flight moments
  • the strategy is selected from the period of time and is not limited herein.
  • the aircraft is determined according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight according to the first trajectory.
  • the multiple flight moments are illustrated below:
  • the aircraft will each time detect the moment of the striking operation for the aircraft as the flight time during the flight.
  • the aircraft is usually controlled by a control terminal (for example, a remote controller, a mobile phone, etc.), and the control terminal may receive the user for the operating lever (virtual or physical) during the control of the aircraft.
  • the striking operation correspondingly, the aircraft will detect in real time whether there is a strut operation for the operating lever, and if so, the time when the user's striking operation is detected as a flight moment, that is, each time the strut operation is detected
  • the moments are all used as flight moments. It can be understood that the moment when the user performs the strut operation on the operating rod is usually the turning point of the aircraft during the flight (ie, the key node of the flight state change), and writing these special moments can help to further restore the flight path. .
  • the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold (for example, the threshold may be set to 0.1 m/s), that is, if the aircraft is flying at a certain moment.
  • the speed is very small, then the aircraft does not use the moment as the flight time. This can avoid determining the flight time when the aircraft changes the displacement at a certain time, for example, when the aircraft is initially engaged in the operation of the joystick.
  • the speed is small. If the displacement of the aircraft is small during a certain period of time and the time of the certain period of time is determined as the flight time, the flight path of the subsequent restoration will not be smooth.
  • the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
  • the aircraft may detect its position in real time, and record the current time as a flight time every time the distance is changed by itself, for example, assume that the aircraft is sequentially in time sequence at the first time (starting time) ), the second time, the third time, the fourth time, the fifth time, the sixth time, the seventh time, the eighth time, the ninth time, the position of the self is detected; then, the first time is determined relative to the first time The distance is not less than the preset distance threshold, and then the determined time is taken as the flight time.
  • the determined flight time is the third time, then the third time is taken as the flight time, and then further determined relative to the third time. The time of the moment is not less than the time of the preset threshold, and then the determined time is taken as the flight time. If the determined flight time is the fourth time, then the fourth time is taken as the flight time, and so on.
  • the aircraft may collect flight state data at each of the plurality of flight times, the flight state data including at least one of position information, speed information, and acceleration information.
  • the flight state data includes the position information.
  • the flight state data includes location information and acceleration information.
  • the flight state data includes location information, acceleration information, and speed information.
  • the location information may be specifically a positioning system of the aircraft (eg, Global Positioning System (GPS), BeiDou Navigation Satellite System (BDS), Galileo.
  • GPS Global Positioning System
  • BDS BeiDou Navigation Satellite System
  • Galileo Galileo
  • the aircraft Determining at least one of a satellite navigation system (GNSS), a visual positioning technology, and an Inertial Measurement Unit (IMU), optionally, the aircraft records the starting position of its own flight, Then, the IMU detects the flight acceleration and flight direction in real time, and then calculates the flight speed according to the flight acceleration, and then calculates the flight distance according to the flight time and flight speed. Finally, it is determined by the distance of the flight, the flight direction and the starting position of the flight. The location of the aircraft in real time. For another example, when the flight state data includes acceleration information, the acceleration information may be detected by the aircraft through an acceleration sensor, or may be calculated by the aircraft based on a change in speed by a pre-configured algorithm. As another example, when the flight state data includes speed information, the speed information can be calculated for the aircraft using a pre-configured algorithm based on changes in its position.
  • GNSS satellite navigation system
  • IMU Inertial Measurement Unit
  • the aircraft may capture a first image at each flight time of the plurality of flight times, the first image captured by the aircraft at different positions is different, and the first image captured by the aircraft at the same position is the same, each flight time
  • the first image taken can be associated with location information to indicate where the image was taken.
  • the first image may be a grayscale image, an RGB image, or the like.
  • Step S202 The aircraft generates a first trajectory based on the flight state data collected at the plurality of flight times.
  • the aircraft first generates a first trajectory according to collecting flight state data at a plurality of flight moments, the first trajectory being substantially the same as the trajectory of the trajectory of the aircraft flying during the above period of time.
  • a 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-tracks of the aircraft between all two adjacent flight moments is the first trajectory, wherein the aircraft is
  • the sub-tracks flying between any two adjacent flight moments can be described by a 5th-order polynomial, assuming that the earlier of the two adjacent flight moments is t0, the later time is t1, between t1 and t0 The time interval is dt, then the 5th order polynomial is as follows:
  • Equation 1-1 c x0 , ..., c x5 are the coefficients of the x-axis trajectory polynomial, c y0 , ..., c y5 are the coefficients of the y-axis trajectory polynomial, c z0 , ..., c z5 is The coefficient of the z-axis trajectory polynomial, t is the time the aircraft flies between any two adjacent flight moments, and t takes the value in the interval [0, dt].
  • t is the time the aircraft flies between any two adjacent flight moments, and t takes the value in the interval [0, dt].
  • the minimum jerk (first derivative of acceleration) variation (minimum jerk) is used as an optimization function between the two flight moments, and the X-axis trajectory coefficient is obtained according to the position, velocity and acceleration information in the X-axis direction.
  • Equation 1-2 The intermediate variables shown in Equations 1-3 can be further derived based on Equation 1-2:
  • Equations 1-4 The coefficients of the x-axis trajectory polynomial can be further obtained based on Equations 1-3, as shown in Equations 1-4:
  • the above describes the analytic expression of the trajectory coefficient of the X-axis based on the position, velocity, and acceleration information in the X-axis.
  • the analytic formula of the trajectory coefficient of the Y-axis and the trajectory coefficient of the Z-axis can be obtained. Analytic. In this way, the sub-track of the aircraft flying between any two adjacent flight moments can be determined according to formula 1-1, and then the flight sub-tracks of the aircraft between all two adjacent flight moments are sequentially spliced.
  • the above first trajectory can be obtained.
  • Step S203 The aircraft captures a second image during flight according to the first trajectory.
  • Step S204 The aircraft compares the second image with the first image to determine an offset.
  • the aircraft compares the texture in the second image with the texture in the first image to determine an offset. More specifically, the aircraft determines the offset of the aircraft by a loop closure, the specific principle is as follows: according to a pre-configured image matching algorithm (for example, an image similarity comparison algorithm based on a word bag model) Selecting a first image closest to the currently captured second image from the plurality of first images captured above, searching for the position of the aircraft when the first image is captured, and finally determining that the aircraft is capturing the current image. The offset between the position on the first trajectory of the second image and the position of the aircraft when the first image is taken is determined by the offset of the aircraft.
  • a pre-configured image matching algorithm for example, an image similarity comparison algorithm based on a word bag model
  • the aircraft can determine the offset of the aircraft at the respective moments in the flight according to the first trajectory, and the determined offset P offset (t) of the aircraft can also include the component of the X-axis.
  • Y-axis component And Z-axis components That is, the offset P offset (t) can be expressed as Step S205: The aircraft corrects the first trajectory according to the offset.
  • the offset determined at the previous moment can be used for correction at a later time. Since the first trajectory is sequentially spliced by the flight sub-tracks between all two adjacent flight moments on the first trajectory, the use of the offset pair between any two adjacent flight moments is first described herein.
  • the principle of the modified sub-track is corrected; alternatively, the principle of correction can be the offset Substituting into Equation 1-1 above to obtain the corrected sub-track of the flight path between any two adjacent flight moments, as shown in Equation 2-1:
  • the corrected first track is obtained by splicing the corrected sub-tracks of the flight paths between all two adjacent flight moments. 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 each control moment during the flight according to the corrected first trajectory (it is understood that the aircraft needs to constantly adjust the state of the aircraft so that the final flight trajectory is the corrected trajectory a trajectory, the time of each adjustment state may be referred to as flight state data of the control time), the flight state data including at least one of position information, speed information, and acceleration information; then, the aircraft is in each of the The control time adjusts its own state to the state indicated by the flight state data for each of the control times. That is to say, the aircraft will know in real time what position the aircraft needs to reach, how much the flight speed is reached, and how much the flight acceleration is reached. It will then adjust its current actual position, actual flight speed, and actual flight acceleration to bring the aircraft to the desired position, to the desired flight speed, and to achieve the required flight acceleration.
  • each of the corrected sub-tracks is a flight between two adjacent flight moments.
  • the trajectory correction is obtained (described above), and the corrected sub-tracks obtained after the correction of the flight trajectory between two adjacent flight moments of different groups may be different.
  • each modified sub-track is composed of a 5th-order polynomial and contains 6 coefficients. The coefficients and start and end times of these polynomials are in the following data structure:
  • trajectory_x[n][6] stores 6 coefficients of n modified sub-tracks in the x-axis, for a total of 6*n coefficients
  • trajectory_y[n][6] stores the y-axis 6 coefficients of n corrected sub-tracks, a total of 6*n coefficients
  • trajectory_z[n][6] stores 6 coefficients of n modified sub-tracks in the z-axis, for a total of 6*n coefficients
  • Trajectory_time[n+1] stores the end time of the n corrected sub-tracks on the entire time axis, for example, the corrected first track is composed of three corrected sub-tracks, and the three corrected sub-tracks
  • the elapsed time is 1 second, 2 seconds, and 3 seconds, respectively, then on the time axis, the start time of the corrected first track is 0th second, and the end time of the first corrected sub track is 1st second.
  • the end time of the second corrected sub-track is the third second, and
  • trajectory_time[m+1]-trajectory_time[m] represents the total elapsed time of the corrected mth sub-track
  • tick-trajectory_time[m] represents the time when the tick time has entered the corrected m-th sub-track.
  • the desired position p desired is:
  • Equation 4-1 is a matrix form of a linear system of equations. After expansion, it is the system of equations in Equation 2-1.
  • the position that the X-axis needs to reach is obtained after expansion.
  • p desired_x tx[m][ 0]+tx[m][1]*t m 1 +tx[m][2]*t m 2 +tx[m][3]*t m 3 +tx[m][4]*t m 4 +tx[m][5]*t m 5 , where tx[m][0] is equal to the constant term of the mth subtrack polynomial after correction
  • the position that the Y axis and the Z axis need to reach can be referred to the description of the X axis.
  • the desired position p desired can be
  • the speed v desired to be achieved is:
  • Equation 4-2 is a matrix form of a linear system of equations. After expansion, it is the first derivative of the system of equations in Equation 3-1. Taking the x-axis as an example, the speed that the X-axis needs to reach can be obtained after expansion.
  • v desired_x tx [m][1]+2*tx[m][2]*t m 1 +3*tx[m][3]*t m 2 +4*tx[m][4]*t m 3 +5 *tx[m][5]*t m 4 , where tx[m][1] is equal to the first-order term in the polynomial of the m-th modified sub-track; in addition, the Y-axis and the Z-axis need to be reached The speed can be described with reference to the X-axis. Based on the velocity in the X-axis, the velocity in the Y-axis, and the velocity in the Z-axis, the desired velocity v desired can be obtained.
  • the acceleration a desired to be achieved is:
  • Equation 4-3 is a matrix form of a linear system of equations. After expansion, it is the second derivative of the system of equations in Equation 3-1.
  • tx[m][2] is equal to the second-order term of the m-th modified sub-track polynomial; in addition, the acceleration required to be achieved in the Y-axis and the Z-axis may be referred to the description of the X-axis.
  • the desired acceleration a desired Based on the acceleration in the X-axis, the acceleration in the Y-axis, and the acceleration in the Z-axis, the desired acceleration a desired can be obtained.
  • the position p desired to be reached at each moment when flying on the m-th modified sub-track can be obtained, the desired speed v desired , the required acceleration a desired , and the same principle can be used to launch the
  • the position p desired at each moment is required, the speed v desired to be achieved, and the required acceleration a desired .
  • the position that the aircraft will need to reach during flight is desired , the speed v desired is required, and the required acceleration a desired is substituted into a proportional-integral-derivative (PID) control algorithm ( Or other algorithm) to calculate a control command for instructing the aircraft to adjust accordingly such that the position of the aircraft needs to be reached p desired , the speed reaches the desired speed v desired , and the acceleration reaches the desired acceleration a Desired .
  • PID proportional-integral-derivative
  • the aircraft collects flight state data of the aircraft during flight, and captures a first image through the camera; then generates a first trajectory through the flight state data, and subsequently follows the process of flying according to the first trajectory Taking a second image in real time, comparing the second image with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then using the offset to correct the first trajectory, and following the correction
  • the first trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
  • FIG. 3 is a method for replaying a flight path original path according to an embodiment of the present invention.
  • the method may be implemented based on the flight system shown in FIG. 1 or may be implemented based on other architectures; Not limited to the following steps:
  • Step S301 The aircraft determines a plurality of flight moments according to at least one of a flight speed, a strut operation and a preset distance threshold during flight and collects flight state data of the aircraft at the plurality of flight moments.
  • the flight of the aircraft during the period of time may be artificially remotely controlled by the aircraft, and the plurality of flight moments are selected by the strategy from the period of time, which is not limited herein.
  • the flight of the aircraft during the period of time may be artificially remotely controlled by the aircraft, and the plurality of flight moments are selected by the strategy from the period of time, which is not limited herein.
  • the aircraft will each time detect the moment of the striking operation for the aircraft as the flight time during the flight.
  • the aircraft is usually controlled by a control terminal (for example, a remote controller, a mobile phone, etc.), and the control terminal may receive the user for the operating lever (virtual or physical) during the control of the aircraft.
  • the striking operation correspondingly, the aircraft will detect in real time whether there is a strut operation for the operating lever, and if so, the time when the user's striking operation is detected as a flight moment, that is, each time the strut operation is detected
  • the moments are all used as flight moments. It can be understood that the moment when the user performs the strut operation on the operating rod is usually the turning point of the aircraft during the flight (ie, the key node of the flight state change), and writing these special moments can help to further restore the flight path. .
  • the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold (for example, the threshold may be set to 0.1 m/s), that is, if the aircraft is flying at a certain moment.
  • the speed is very small, then the aircraft does not use the moment as the flight time. This can avoid determining the flight time when the aircraft changes the displacement at a certain time, for example, when the aircraft is initially engaged in the operation of the joystick.
  • the speed is small. If the displacement of the aircraft is small during a certain period of time and the time of the certain period of time is determined as the flight time, the flight path of the subsequent restoration will not be smooth.
  • the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
  • the aircraft may detect its position in real time, and record the current time as a flight time every time the distance is changed by itself, for example, assume that the aircraft is sequentially in time sequence at the first time (starting time) ), the second time, the third time, the fourth time, the fifth time, the sixth time, the seventh time, the eighth time, the ninth time, the position of the self is detected; then, the first time is determined relative to the first time The distance is not less than the preset distance threshold, and then the determined time is taken as the flight time.
  • the determined flight time is the third time, then the third time is taken as the flight time, and then further determined relative to the third time. The time of the moment is not less than the time of the preset threshold, and then the determined time is taken as the flight time. If the determined flight time is the fourth time, then the fourth time is taken as the flight time, and so on.
  • the aircraft may fly in the air for a period of time, the plurality of flight moments may be part of the time period, and the unmanned person collects flight state data at each of the plurality of flight times, the flight state data includes At least one of the location information, the speed information, and the acceleration information.
  • the flight state data includes the location information.
  • the flight state data includes location information and acceleration information.
  • the flight state data includes Location information, acceleration information, and speed information.
  • the location information may be specifically a positioning system of the aircraft (eg, Global Positioning System (GPS), BeiDou Navigation Satellite System (BDS), Galileo.
  • the aircraft records the starting position of its own flight, and then detects the flight acceleration and the flight direction through the IMU in real time, and then calculates the flight speed according to the flight acceleration, and then calculates the flight distance according to the flight time and the flight speed, and finally The real-time position of the aircraft is determined in conjunction with the distance of the flight, the direction of flight, and the starting position of the flight.
  • the flight state data includes acceleration information
  • the acceleration information may be detected by the aircraft through an acceleration sensor, or may be calculated by the aircraft based on a change in speed by a pre-configured algorithm.
  • the speed information can be calculated for the aircraft using a pre-configured algorithm based on changes in its position.
  • Step S302 The aircraft generates a first trajectory according to flight state data collected by the aircraft at the plurality of flight moments.
  • the aircraft first generates a first trajectory according to collecting flight state data at a plurality of flight times, the first trajectory being substantially the same as a trajectory of the trajectory of the aircraft flying in the foregoing period of time, optionally, the first trajectory is The trajectory of the aircraft flying during the above period of time is smoother.
  • a 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-tracks of the aircraft between all two adjacent flight moments is the first trajectory, wherein the aircraft is
  • the sub-tracks flying between any two adjacent flight moments can be described by a 5th-order polynomial, assuming that the earlier of the two adjacent flight moments is t0, the later time is t1, between t1 and t0 The time interval is dt, then the 5th order polynomial is as follows:
  • Equation 1-1 c x0 , ..., c x5 are the coefficients of the x-axis trajectory polynomial, c y0 , ..., c y5 are the coefficients of the y-axis trajectory polynomial, c z0 , ..., c z5 is The coefficient of the z-axis trajectory polynomial, t is the time the aircraft flies between any two adjacent flight moments, and t takes the value in the interval [0, dt].
  • t is the time the aircraft flies between any two adjacent flight moments, and t takes the value in the interval [0, dt].
  • the minimum jerk (first derivative of acceleration) variation (minimum jerk) is used as an optimization function between the two flight moments, and the X-axis trajectory coefficient is obtained according to the position, velocity and acceleration information in the X-axis direction.
  • Equation 1-2 The intermediate variables shown in Equations 1-3 can be further derived based on Equation 1-2:
  • Equations 1-4 The coefficients of the x-axis trajectory polynomial can be further obtained based on Equations 1-3, as shown in Equations 1-4:
  • the above describes the analytic expression of the trajectory coefficient of the X-axis based on the position, velocity, and acceleration information in the X-axis.
  • the analytic formula of the trajectory coefficient of the Y-axis and the trajectory coefficient of the Z-axis can be obtained. Analytic. In this way, the sub-track of the aircraft flying between any two adjacent flight moments can be determined according to formula 1-1, and then the flight sub-tracks of the aircraft between all two adjacent flight moments are sequentially spliced.
  • the above first trajectory can be obtained.
  • Step S303 The aircraft flies according to the generated first trajectory.
  • the aircraft determines a plurality of flight times and collects flight states of the aircraft at the plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight.
  • the data may be specifically: the aircraft determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and captures the first image and collects the aircraft at the multiple flight moments.
  • Flight state data wherein the first image captured by the aircraft at different locations is different, the first image captured by the aircraft at the same location is the same, and the first image captured at each flight time may be associated with the location information to indicate the image Where was it taken?
  • the first image may be a grayscale image, an RGB image, or the like.
  • the aircraft may fly according to the generated first trajectory, and may be: the aircraft captures a second image during flight according to the first trajectory; the aircraft performs the second image with the first image Comparing to determine an offset; the aircraft corrects the first trajectory based on the offset for the aircraft to continue flying.
  • the specific principle of determining the offset may be as follows: selecting a picture from the plurality of first images captured above according to a pre-configured image matching algorithm (for example, an image similarity comparison algorithm based on a word bag model) The first image closest to the second image, the position of the aircraft when the first image is captured, and finally the position of the aircraft on the first track when the current second image is captured, and the shooting The offset between the positions of the aircraft when the first image is closest, the offset determined is the offset of the aircraft.
  • the aircraft can determine the offset of the aircraft at the respective moments in the flight according to the first trajectory, and the determined offset P offset (t) of the aircraft can also include the component of the X-axis. Y-axis component And Z-axis components That is, the offset P offset (t) can be expressed as Alternatively, the offset determined at the previous moment can be used for correction at a later time.
  • Equation 1-1 the principle of correction can be the offset Substituting into Equation 1-1 above to obtain the corrected sub-track of the flight path between any two adjacent flight moments, as shown in Equation 2-1:
  • the corrected first track is obtained by splicing the corrected sub-tracks of the flight paths between all two adjacent flight moments. Therefore, it can be considered that the aircraft actually flies according to the corrected first trajectory, and the aircraft controlling itself to fly according to the corrected first trajectory may specifically include the following operations: First, the aircraft determines the flight according to the corrected first trajectory. Flight status data for each control time, the flight status data including at least one of position information, speed information, and acceleration information; then, the aircraft adjusts its own state to the flight at each control time at each control time The status indicated by the status data. Specifically, the aircraft knows in real time what position the aircraft needs to reach during the modified first trajectory flight, how much the flight speed is reached, and how much the flight acceleration is reached.
  • each of the corrected sub-tracks is a flight between two adjacent flight moments.
  • the trajectory correction is obtained (described above), and the corrected sub-tracks obtained after the correction of the flight trajectory between two adjacent flight moments of different groups may be different.
  • each modified sub-track is composed of a 5th-order polynomial and contains 6 coefficients. The coefficients and start and end times of these polynomials are in the following data structure:
  • trajectory_x[n][6] stores 6 coefficients of n modified sub-tracks in the x-axis, for a total of 6*n coefficients
  • trajectory_y[n][6] stores the y-axis 6 coefficients of n corrected sub-tracks, a total of 6*n coefficients
  • trajectory_z[n][6] stores 6 coefficients of n modified sub-tracks in the z-axis, for a total of 6*n coefficients
  • Trajectory_time[n+1] stores the end time of the n corrected sub-tracks on the entire time axis, for example, the corrected first track is composed of three corrected sub-tracks, and the three corrected sub-tracks
  • the elapsed time is 1 second, 2 seconds, and 3 seconds, respectively, then on the time axis, the start time of the corrected first track is 0th second, and the end time of the first corrected sub track is 1st second.
  • the end time of the second corrected sub-track is the third second, and
  • control frequency of the aircraft during the trajectory following is frequency, that is, the frequency control command is sent for one second
  • control command calculation period is 1/frequency, that is, the control command is calculated every 1/frequency second
  • trajectory_time[m+1]-trajectory_time[m] represents the total elapsed time of the corrected mth sub-track
  • tick-trajectory_time[m] represents the time when the tick time has entered the corrected m-th sub-track.
  • the desired position p desired is:
  • Equation 4-1 is a matrix form of a linear system of equations. After expansion, it is the system of equations in Equation 2-1.
  • the position that the X-axis needs to reach is obtained after expansion.
  • p desired_x tx[m][ 0]+tx[m][1]*t m 1 +tx[m][2]*t m 2 +tx[m][3]*t m 3 +tx[m][4]*t m 4 +tx[m][5]*t m 5 , where tx[m][0] is equal to the constant term of the mth subtrack polynomial after correction
  • the position that the Y axis and the Z axis need to reach can be referred to the description of the X axis.
  • the desired position p desired can be
  • the speed v desired to be achieved is:
  • Equation 4-2 is a matrix form of a linear system of equations. After expansion, it is the first derivative of the system of equations in Equation 3-1. Taking the x-axis as an example, the speed required to reach the X-axis is obtained.
  • v desired_x tx [m][1]+2*tx[m][2]*t m 1 +3*tx[m][3]*t m 2 +4*tx[m][4]*t m 3 +5 *tx[m][5]*t m 4 , where tx[m][1] is equal to the first-order term in the polynomial of the m-th modified sub-track; in addition, the Y-axis and the Z-axis need to be reached The speed can be described with reference to the X-axis. Based on the velocity in the X-axis, the velocity in the Y-axis, and the velocity in the Z-axis, the desired velocity v desired can be obtained.
  • the acceleration a desired to be achieved is:
  • Equation 4-3 is a matrix form of a linear system of equations. After expansion, it is the second derivative of the system of equations in Equation 3-1.
  • tx[m][2] is equal to the second-order term of the m-th modified sub-track polynomial; in addition, the acceleration required to be achieved in the Y-axis and the Z-axis may be referred to the description of the X-axis.
  • the desired acceleration a desired Based on the acceleration in the X-axis, the acceleration in the Y-axis, and the acceleration in the Z-axis, the desired acceleration a desired can be obtained.
  • the position p desired to be reached at each moment when flying on the m-th modified sub-track can be obtained, the desired speed v desired , the required acceleration a desired , and the same principle can be used to launch the
  • the position p desired at each moment is required, the speed v desired to be achieved, and the required acceleration a desired .
  • the position that the aircraft will need to reach during flight is desired , the speed v desired is required, and the required acceleration a desired is substituted into a proportional-integral-derivative (PID) control algorithm ( Or other algorithm) to calculate a control command for instructing the aircraft to adjust accordingly such that the position of the aircraft needs to be reached p desired , the speed reaches the desired speed v desired , and the acceleration reaches the desired acceleration a Desired .
  • PID proportional-integral-derivative
  • the aircraft determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and then collects the flight state at the determined plurality of flight moments.
  • the data generates a first trajectory based on the flight state data, and finally flies according to the first trajectory. Since the flight time is determined according to at least one of a flight speed, a strut operation, and a preset distance threshold, it can be ensured that the determined flight time is mostly a time when the aircraft is relatively critical during the flight, and thus based on such a flight
  • the first trajectory determined by the flight state data collected at any time can more accurately restore the artificially controlled flight trajectory.
  • pan/tilt following control device and control device according to the embodiment of the present invention will be described below.
  • FIG. 4 is a schematic structural diagram of an aircraft 40 according to an embodiment of the present invention.
  • the aircraft 40 includes an acquisition module 401, a generation module 402, a first imaging module 403, a first determination module 404, and an optimization module 405.
  • the description of each module is as follows.
  • the acquiring module 401 is configured to capture a first image and collect flight state data at a plurality of flight moments, where the flight state data includes at least one of position information, speed information, and acceleration information;
  • the generating module 402 is configured to generate a first trajectory according to the flight state data collected at the multiple flight moments;
  • the first shooting module 403 is configured to capture a second image during flight according to the first trajectory
  • the first determining module 404 is configured to compare the second image with the first image to determine an offset amount
  • the optimization module 405 is configured to modify the first trajectory according to the offset for the aircraft to continue flying.
  • the first determining unit 404 compares the second image with the first image to determine an offset, specifically: the aircraft will be in the second image.
  • the texture is compared to the texture in the first image to determine an offset.
  • the aircraft further includes a second determining module and an adjusting module:
  • the second determining module is configured to determine flight state data of each control moment during the flight according to the first trajectory after the generating module 402 generates the first trajectory according to the flight state data collected at the plurality of flight moments, the flight state
  • the data includes at least one of position information, speed information, and acceleration information;
  • the adjustment module is operative to adjust its state to the state indicated by the flight state data for each control instant at each control instant.
  • the location information is determined based on at least one of a GPS technology, a viewing angle positioning technique, and an inertial sensor positioning technique.
  • the aircraft further includes a third determining module, the third determining module is configured to fly before the acquiring module captures the first image and collects flight state data at a plurality of flight times.
  • the plurality of flight moments are determined according to at least one of a flight speed, a strut operation, and a preset distance threshold.
  • the third determining module determines the multiple flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft, specifically:
  • the time at which the striking operation for the aircraft is detected each time during the flight of the aircraft is taken as the flight time.
  • the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold.
  • the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
  • each module may also correspond to the corresponding description of the method embodiment shown in FIG. 2 .
  • the aircraft collects flight state data of the aircraft during flight, and captures a first image through the camera; then generates a first trajectory from the flight state data, and subsequently follows the first trajectory
  • the second image is captured in real time, and the second image is compared with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then the first trajectory is corrected by using the offset, and corrected according to the correction After the first trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
  • FIG. 5 is a schematic structural diagram of an aircraft 50 according to an embodiment of the present invention.
  • the aircraft 50 includes a determining module 501, a generating module 502, and a flight module 503, wherein each module is described as follows.
  • the determining module 501 is configured to determine a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft, and collect flight state data of the aircraft at the plurality of flight moments, the flight state
  • the 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 the flight state data collected by the aircraft at the multiple flight moments;
  • the flight module 503 is configured to fly according to the generated first trajectory.
  • the first determining module 501 determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft, and collects the aircraft at the Flight status data for each flight time, specifically:
  • the time at which the striking operation for the aircraft is detected each time during the flight of the aircraft is taken as the flight time, and the flight state data of the aircraft at the flight time is collected.
  • the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold.
  • the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
  • the location information is determined based on at least one of a GPS technology, a perspective positioning technique, and an inertial sensor positioning technique.
  • the determining module 501 determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft and collects the aircraft at the plurality of flight moments.
  • Flight status data specifically:
  • the flight module 503 flies according to the generated first trajectory, specifically:
  • the first trajectory is then modified based on the offset for the aircraft to continue flying.
  • the flight module 503 flies according to the generated first trajectory, specifically:
  • flight state data of each control moment during flight including at least one of position information, speed information, and acceleration information
  • the state of the aircraft is adjusted to the state indicated by the flight state data for each control time at each of the control times.
  • each module may also correspond to the corresponding description of the method embodiment shown in FIG. 3 .
  • the aircraft determines a plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and then collects the flight at the determined plurality of flight times.
  • the status data generates a first trajectory based on the flight state data, and finally flies according to the first trajectory. Since the flight time is determined according to at least one of a flight speed, a strut operation, and a preset distance threshold, it can be ensured that the determined flight time is mostly a time when the aircraft is relatively critical during the flight, and thus based on such a flight
  • the first trajectory determined by the flight state data collected at any time can more accurately restore the artificially controlled flight trajectory.
  • FIG. 6 is an aircraft 60 according to an embodiment of the present invention.
  • the aircraft 60 includes a processor 601, a memory 602, and a camera 603.
  • 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 compact disc read-only memory (CD-ROM) is used for related instructions and data.
  • Camera 603 is used to capture aircraft during flight 70.
  • the processor 601 may be one or more central processing units (CPUs). In the case where the processor 601 is a CPU, the CPU may be a single core CPU or a multi-core CPU.
  • CPUs central processing units
  • the processor 601 in the aircraft 60 is configured to read the program code stored in the memory 602 and perform the following operations:
  • the flight state data includes at least one of position information, speed information, and acceleration information;
  • the first trajectory is modified based on the offset for the aircraft to continue flying.
  • the processor compares the second image with the first image to determine an offset, specifically: the texture in the second image and the first The textures in an image are compared to determine the offset.
  • the processor is further configured to: after generating the first trajectory according to the flight state data collected at the multiple flight moments:
  • the flight state data including at least one of position information, speed information, and acceleration information
  • the state of the aircraft is adjusted to the state indicated by the flight state data for each control time at each of the control times.
  • the location information is determined based on at least one of a GPS technology, a viewing angle positioning technique, and an inertial sensor positioning technique.
  • the processor is also used to: before taking the first image and collecting flight state data at multiple flight times:
  • the plurality of flight times are determined according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft.
  • the processor determines the multiple flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft, specifically:
  • the time at which the striking operation for the aircraft is detected each time during the flight is taken as the flight time.
  • the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold.
  • the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
  • each operation may also correspond to the corresponding description of the method embodiment shown in FIG. 2 .
  • the aircraft collects flight state data of the aircraft during flight and captures a first image through the camera; then generates a first trajectory from the flight state data, and subsequently follows the first trajectory
  • the second image is captured in real time, and the second image is compared with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then the first trajectory is corrected by using the offset, and corrected according to the correction After the first trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
  • FIG. 7 is an aircraft 70 provided by an embodiment of the present invention.
  • the aircraft 70 includes a processor 701 and a memory 702.
  • the processor 701 and the memory 702 can be connected to each other through a bus.
  • the aircraft may also include a camera 703 for photographing 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 A compact disc read-only memory (CD-ROM) is used for the associated instructions and data.
  • RAM random access memory
  • ROM read-only memory
  • EPROM erasable programmable read only memory
  • CD-ROM compact disc read-only memory
  • the processor 701 may be one or more central processing units (CPUs). In the case where the processor 701 is a CPU, the CPU may be a single core CPU or a multi-core CPU.
  • CPUs central processing units
  • the processor 701 in the aircraft 70 is configured to read the program code stored in the memory 702 and perform the following operations:
  • the aircraft flight is controlled in accordance with the generated first trajectory.
  • the processor determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft, and collects the aircraft at the multiple flight moments.
  • Flight status data specifically:
  • the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold.
  • the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
  • the location information is determined based on at least one of a GPS technology, a perspective positioning technique, and an inertial sensor positioning technique.
  • the processor determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft and collects the aircraft in the plurality of Flight status data at the moment of flight, specifically:
  • the processor flies according to the generated first trajectory, specifically:
  • the first trajectory is modified for the aircraft to continue flying according to the offset.
  • the processor flies according to the generated first trajectory, specifically:
  • flight state data of each control moment during flight including at least one of position information, speed information, and acceleration information
  • the state of the aircraft is adjusted to the state indicated by the flight state data for each control time at each of the control times.
  • each operation may also correspond to the corresponding description of the method embodiment shown in FIG. 3 .
  • the aircraft determines a plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and then collects the flight at the determined plurality of flight times.
  • the status data generates a first trajectory based on the flight state data, and finally flies according to the first trajectory. Since the flight time is determined according to at least one of a flight speed, a strut operation, and a preset distance threshold, it can be ensured that the determined flight time is mostly a time when the aircraft is relatively critical during the flight, and thus based on such a flight
  • the first trajectory determined by the flight state data collected at any time can more accurately restore the artificially controlled flight trajectory.
  • the embodiment of the present invention further provides a chip system including at least one processor, a memory and an interface circuit, the memory, the transceiver and the at least one processor are interconnected by a line, and the at least one memory stores program instructions When the program instruction is executed by the processor, the method flow shown in FIG. 2 or FIG. 3 is implemented.
  • the embodiment of the invention further provides a computer readable storage medium, wherein the computer readable storage medium stores instructions, and when it runs on the network device, implements the method flow shown in FIG. 2 or FIG.
  • the embodiment of the present invention further provides a computer program product, which implements the method flow shown in FIG. 2 or FIG. 3 when the computer program product runs on a processor.
  • the aircraft collects flight state data of the aircraft during flight, and captures a first image by the camera; and then generates a first trajectory by using the flight state data, and subsequently follows the first trajectory.
  • the second image is captured in real time, and the second image is compared with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then the first trajectory is corrected by using the offset, and corrected according to the correction After the first trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.

Abstract

Provided in embodiments of the present invention are a method of repeating a flight path and an aerial vehicle. The method comprises: an aerial vehicle capturing a first image and collecting flight state data at a plurality of flight instants, the flight state data comprising at least one of position information, speed information and acceleration information; the aerial vehicle generating a first path according to the flight state data collected at the plurality of flight instants; the aerial vehicle capturing a second image when flying according to the first path; the aerial vehicle comparing the second image to the first image to determine a shift amount; and the aerial vehicle modifying the first path according to the shift amount for the aerial vehicle to continue the flight. In the embodiment of the present invention, the modified first path can closely reproduce a flight path generated under manual control.

Description

一种飞行轨迹原路复演方法及飞行器Flight path original road replay method and aircraft
本专利文件披露的内容包含受版权保护的材料。该版权为版权所有人所有。版权所有人不反对任何人复制专利与商标局的官方记录和档案中所存在的该专利文件或该专利披露。The disclosure of this patent document contains material that is subject to copyright protection. This copyright is the property of the copyright holder. The copyright owner has no objection to the reproduction of the patent document or the patent disclosure in the official records and files of the Patent and Trademark Office.
技术领域Technical field
本发明涉及飞行器控制技术领域,尤其涉及一种飞行轨迹原路复演方法及飞行器。The present invention relates to the field of aircraft control technology, and in particular, to a flight path original road replay method and an aircraft.
背景技术Background technique
随着无人机技术的发展,多旋翼无人机越来越普及,被广泛应用于航拍领域,航拍技术可用于灾情评估、抢险救灾、现场侦察、军事演练等领域。目前,常用的小型无人机操作主要依赖于飞手的手持遥控器,迫使小型无人机的使用存在一定的入门门槛。飞手需要具备一定的飞行技术以及一定的理论知识才能够较好的使用小型无人机,从而限制了小型无人机的应用。在电影拍摄场景中,要求飞手尽可能多次沿着同一轨迹飞行取景,由于人为原因,即便是专业的飞手,也很难做到多次飞行都能沿着同一轨迹飞行。With the development of drone technology, multi-rotor UAVs are becoming more and more popular, and are widely used in aerial photography. Aerial photography technology can be used in disaster assessment, rescue and disaster relief, on-site reconnaissance, military exercises and other fields. At present, the commonly used small drone operation mainly relies on the hand-held remote control of the flying hand, forcing the use of the small drone to have a certain entry threshold. The flying hand needs to have certain flight technology and certain theoretical knowledge to be able to use the small drone better, thus limiting the application of the small drone. In the movie shooting scene, the flying hand is required to fly along the same trajectory as many times as possible. Due to human reasons, even a professional flying hand can hardly make multiple flights along the same trajectory.
在这种背景下,如何使得无人机自主飞行,且能够达到多次飞行的轨迹趋近一致是本领域的技术人员正在研究的技术问题。In this context, how to make the drone autonomously fly, and the trajectory that can reach multiple flights is consistent is a technical problem that those skilled in the art are studying.
发明内容Summary of the invention
有鉴于此,本发明实施例提供一种飞行轨迹原路复演方法及飞行器,得到的优化后的第一轨迹能够尽可能还原人为控制时的飞行的轨迹。In view of this, the embodiment of the present invention provides a flight path original road replay method and an aircraft, and the obtained optimized first track can restore the flight trajectory of the artificial control as much as possible.
本发明实施例第一方面提供了一种飞行轨迹原路复演方法,该方法包括:A first aspect of the embodiments of the present invention provides a flight path original path replay method, where the method includes:
飞行器在多个飞行时刻拍摄第一图像和采集飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;The aircraft captures the first image and collects flight state data at a plurality of flight times, the flight state data including at least one of position information, speed information, and acceleration information;
所述飞行器根据在所述多个飞行时刻采集的飞行状态数据生成第一轨迹;The aircraft generates a first trajectory based on flight state data collected at the plurality of flight times;
所述飞行器在按照所述第一轨迹飞行过程中拍摄第二图像;The aircraft captures a second image during flight in accordance with the first trajectory;
所述飞行器将所述第二图像与所述第一图像进行比较以确定偏移量;The aircraft compares the second image with the first image to determine an offset;
所述飞行器根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。The aircraft corrects the first trajectory based on the offset for the aircraft to continue flying.
本发明实施例第二方面提供了一种飞行轨迹原路复演方法,该方法包括:A second aspect of the embodiments of the present invention provides a method for replaying a flight path original path, where the method includes:
飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集所述飞行器在所述多个飞行时刻的飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;The aircraft determines a plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight and collects flight state data of the aircraft at the plurality of flight times, the flight state data including At least one of position information, speed information, and acceleration information;
所述飞行器根据所述飞行器在所述多个飞行时刻采集的飞行状态数据生成第第一轨迹;The aircraft generates a first trajectory according to flight state data collected by the aircraft at the plurality of flight moments;
所述飞行器按照生成的所述第一轨迹飞行。The aircraft flies in accordance with the generated first trajectory.
本发明实施例第三方面提供了一种飞行器,该飞行器包括处理器、存储器和摄像头,该存储器用于存储程序指令,该处理器用于调用该程序指令来执行如下操作:A third aspect of the embodiments of the present invention provides an aircraft, including a processor, a memory, and a camera, the memory for storing program instructions, the processor for calling the program instructions to perform the following operations:
按照在多个飞行时刻拍摄第一图像和采集飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Taking the first image and collecting flight state data at a plurality of flight times, the flight state data includes at least one of position information, speed information, and acceleration information;
根据在所述多个飞行时刻采集的飞行状态数据生成第一轨迹;Generating a first trajectory according to flight state data collected at the plurality of flight times;
在按照所述第一轨迹飞行过程中拍摄第二图像;Taking a second image during flight according to the first trajectory;
将所述第二图像与所述第一图像进行比较以确定偏移量;Comparing the second image with the first image to determine an offset;
根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。The first trajectory is modified for the aircraft to continue flying according to the offset.
本发明实施例第四方面提供了一种飞行器,该飞行器包括处理器和存储器,该存储器用于存储程序指令,该处理器用于调用该程序指令来执行如下操作:A fourth aspect of the embodiments of the present invention provides an aircraft, the aircraft comprising a processor and a memory, the memory is configured to store program instructions, and the processor is configured to invoke the program instructions to perform the following operations:
在所述飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集所述飞行器在所述多个飞行时刻的飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining a plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft and acquiring flight state data of the aircraft at the plurality of flight times, the flight state The data includes at least one of position information, speed information, and acceleration information;
根据所述飞行器在所述多个飞行时刻采集的飞行状态数据生成第一轨迹;Generating a first trajectory according to flight state data acquired by the aircraft at the plurality of flight moments;
按照生成的所述第一轨迹控制所述飞行器飞行。The aircraft flight is controlled in accordance with the generated first trajectory.
采用本发明实施例,该飞行器在飞行的过程中采集飞行器的飞行状态数据,以及通过摄像头拍摄第一图像;然后通过该飞行状态数据生成第一轨迹,后续按照第一轨迹飞行的过程中实时拍摄第二图像,再将第二图像与第一图像对比以确定该飞行器按照第一轨迹飞行时的偏移量,接着使用该偏移量对该第一轨迹进行修正,并按照修正后的第一轨迹继续飞行。由于修正后的第一轨迹的生 成考虑到了飞行器飞行时的偏移量,因此能够减少飞行过程中所产生的迭代误差,使得最终的产生的用于飞行器自主飞行的第一轨迹能够尽可能地还原人为控制的飞行轨迹。According to the embodiment of the present invention, the aircraft collects the flight state data of the aircraft during the flight, and captures the first image by the camera; then generates the first trajectory by using the flight state data, and then shoots in real time during the flight according to the first trajectory. a second image, the second image is compared with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then the first trajectory is corrected using the offset, and the corrected first The trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
附图说明DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings to be used in the embodiments will be briefly described below. Obviously, the drawings in the following description are only some of the present invention. For the embodiments, those skilled in the art can obtain other drawings according to the drawings without any creative work.
图1是本发明实施例的一种飞行控制系统的结构示意图;1 is a schematic structural view of a flight control system according to an embodiment of the present invention;
图2为本发明实施例的一种飞行轨迹原路复演方法的流程图;2 is a flowchart of a method for replaying a flight path original path according to an embodiment of the present invention;
图3为本发明实施例的又一种飞行轨迹原路复演方法的流程图;3 is a flowchart of still another method for replaying a flight path original path according to an embodiment of the present invention;
图4为本发明实施例的一种飞行器的结构示意图;4 is a schematic structural view of an aircraft according to an embodiment of the present invention;
图5为本发明实施例的又一种飞行器的结构示意图;FIG. 5 is a schematic structural diagram of still another aircraft according to an embodiment of the present invention; FIG.
图6为本发明实施例的又一种飞行器的结构示意图;6 is a schematic structural view of still another aircraft according to an embodiment of the present invention;
图7为本发明实施例的又一种飞行器的结构示意图。FIG. 7 is a schematic structural diagram of still another aircraft according to an embodiment of the present invention.
具体实施方式Detailed ways
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without departing from the inventive scope are the scope of the present invention.
请参见图1,图1为本发明实施例的一种飞行控制系统。该系统包括飞行器101、搭载在该飞行器101上的云台102,以及用于飞行器进行控制或者同时对飞行器101和云台102进行控制的地面控制设备103。该飞行器通常可以是各类型的无人机(Unmanned Aerial Vehicle,UAV),例如四旋翼UAV、六旋翼UAV等。搭载在飞行器上的云台102可以是三轴云台,即该云台102的姿态可以在俯仰pitch、横滚roll以及航向yaw三个轴上进行控制,以便于确定出云台102的朝向,使得配置在云台102上的摄像头能够完成飞行过程中的航拍等任务。Please refer to FIG. 1. FIG. 1 is a flight control system according to an embodiment of the present invention. The system includes an aircraft 101, a platform 102 mounted on the aircraft 101, and a ground control device 103 for controlling the aircraft or simultaneously controlling the aircraft 101 and the platform 102. The aircraft can typically be an Unmanned Aerial Vehicle (UAV), such as a four-rotor UAV, a six-rotor UAV, and the like. The pan/tilt head 102 mounted on the aircraft may be a three-axis pan/tilt head, that is, the attitude of the pan/tilt head 102 may be controlled on three axes of a pitch pitch, a roll roll, and a heading yaw, so as to determine the orientation of the pan/tilt head 102, The camera disposed on the pan/tilt head 102 enables tasks such as aerial photography during flight.
该飞行器101可以与地面的控制设备103进行通信(例如,无线通信)。该地面控制设备103可以是带摇杆的控制器,通过杆量来对飞行器进行控制。该地面控制设备103也可以为智能手机、平板电脑等智能设备,可以通过在用户界面UI上配置飞行轨迹来控制无人机101自动飞行,或者通过体感等方式来控制无人机101自动飞行。The aircraft 101 can communicate (e.g., wirelessly) with a control device 103 on the ground. The ground control device 103 can be a controller with a rocker that controls the aircraft by the amount of the bar. The ground control device 103 can also be a smart device such as a smart phone or a tablet computer. The drone 101 can be controlled to automatically fly by configuring a flight trajectory on the user interface UI, or the drone 101 can be controlled to fly automatically by means of a somatosensory or the like.
请参阅图2,图2是本发明实施例提供的一种飞行轨迹原路复演方法,该方法可以基于图1所示的飞行系统来实现,也可以基于其他架构来实现;该方法包括但不限于如下步骤:Referring to FIG. 2, FIG. 2 is a method for replaying a flight path original path according to an embodiment of the present invention. The method may be implemented based on the flight system shown in FIG. 1 or may be implemented based on other architectures; Not limited to the following steps:
步骤S201:飞行器在多个飞行时刻拍摄第一图像和采集飞行状态数据。Step S201: The aircraft captures the first image and collects flight state data at a plurality of flight moments.
具体地,该飞行器在空中飞行会持续一段时间,该飞行器在该一段时间的飞行可以是人为遥控该飞行器飞行的,该多个飞行时刻可以为该一段时间上的部分时刻,该多个飞行时刻是通过什么策略从该一段时间上选择出来的此处不做限定,可选的,该飞行器在按照第一轨迹飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定该多个飞行时刻,下面进行举例说明:Specifically, the aircraft may fly in the air for a period of time, and the flight of the aircraft during the period may be artificially remotely controlled by the aircraft, and the plurality of flight moments may be part of the time of the period, the plurality of flight moments The strategy is selected from the period of time and is not limited herein. Optionally, the aircraft is determined according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight according to the first trajectory. The multiple flight moments are illustrated below:
第一种,该飞行器在飞行的过程中将每次检测到针对该飞行器的打杆操作的时刻均作为飞行时刻。可以理解的是,该飞行器通常是由控制终端(例如,遥控器、手机等终端)来控制的,该控制终端在控制该飞行器的过程中可能会接收到用户针对操作杆(虚拟的或者实体的)的打杆操作,相应地,该飞行器会实时检测是否有针对该操作杆的打杆操作,如果有则将检测到用户打杆操作的时间作为一个飞行时刻,即每次检测到打杆操作的时刻均作为飞行时刻。可以理解的是,用户对操作杆执行打杆操作的时刻通常为该飞行器在飞行过程中的转折点(即飞行状态变化的关键节点),将这些特殊时刻记下来能够帮助后续更好地还原飞行轨迹。First, the aircraft will each time detect the moment of the striking operation for the aircraft as the flight time during the flight. It can be understood that the aircraft is usually controlled by a control terminal (for example, a remote controller, a mobile phone, etc.), and the control terminal may receive the user for the operating lever (virtual or physical) during the control of the aircraft. The striking operation, correspondingly, the aircraft will detect in real time whether there is a strut operation for the operating lever, and if so, the time when the user's striking operation is detected as a flight moment, that is, each time the strut operation is detected The moments are all used as flight moments. It can be understood that the moment when the user performs the strut operation on the operating rod is usually the turning point of the aircraft during the flight (ie, the key node of the flight state change), and writing these special moments can help to further restore the flight path. .
第二种,该飞行器在每个该飞行时刻的飞行速度均不低于预设速度阈值(例如,该阈值可以设置为0.1m/s),也即是说,如果某个时刻该飞行器的飞行速度很小,那么飞行器不将该某个时刻作为飞行时刻,这样做能够避免将飞行器在某时间内位移变化很小的时刻确定飞行时刻,例如,刚开始对操作杆执行打杆操作时飞行器的速度很小。若飞行器在某段时间内位移变化很小,并将该某段时间内的时刻确定为飞行时刻,则会导致后续还原的飞行轨迹不平滑。Secondly, the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold (for example, the threshold may be set to 0.1 m/s), that is, if the aircraft is flying at a certain moment. The speed is very small, then the aircraft does not use the moment as the flight time. This can avoid determining the flight time when the aircraft changes the displacement at a certain time, for example, when the aircraft is initially engaged in the operation of the joystick. The speed is small. If the displacement of the aircraft is small during a certain period of time and the time of the certain period of time is determined as the flight time, the flight path of the subsequent restoration will not be smooth.
第三种,该飞行器在任意两个时间上相邻的该飞行时刻之间的距离不小于 预设距离阈值。在具体实现上可以为,该飞行器实时检测自身的位置,在自身的距离每改变预设距离时将当前时刻记录为飞行时刻,例如,假设该飞行器按照时间顺序依次在第1时刻(起始时刻)、第2时刻、第3时刻、第4时刻、第5时刻、第6时刻、第7时刻、第8时刻、第9时刻上检测了自身的位置;那么,首先确定相对于第1时刻的距离不小于该预设距离阈值的时刻,然后将确定出的时刻作为飞行时刻,假设确定出的飞行时刻为第3时刻,那么就将第3时刻作为飞行时刻,然后进一步确定相对于该第3时刻的距离不小于该预设阈值的时刻,然后将将确定出的时刻作为飞行时刻,假设确定出的飞行时刻为第4时刻,那么就将第4时刻作为飞行时刻,其余依此类推。Third, the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold. In a specific implementation, the aircraft may detect its position in real time, and record the current time as a flight time every time the distance is changed by itself, for example, assume that the aircraft is sequentially in time sequence at the first time (starting time) ), the second time, the third time, the fourth time, the fifth time, the sixth time, the seventh time, the eighth time, the ninth time, the position of the self is detected; then, the first time is determined relative to the first time The distance is not less than the preset distance threshold, and then the determined time is taken as the flight time. If the determined flight time is the third time, then the third time is taken as the flight time, and then further determined relative to the third time. The time of the moment is not less than the time of the preset threshold, and then the determined time is taken as the flight time. If the determined flight time is the fourth time, then the fourth time is taken as the flight time, and so on.
该飞行器会在该多个飞行时刻中每个飞行时刻采集飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项,可选的,该飞行状态数据包括该位置信息,可选的,该飞行状态数据包括位置信息和加速度信息,可选的,该飞行状态数据包括位置信息、加速度信息和速度信息。例如,当该飞行状态数据包括位置时,该位置信息可以具体为该飞行器通过定位系统(例如,(全球定位系统Global Positioning System,GPS),北斗卫星导航系统(BeiDou Navigation Satellite System,BDS),伽利略卫星导航系统(Galileo satellite navigation system,GNSS)等)、视觉定位技术和惯性测量单元(Inertial measurement unit,IMU)中至少一项确定的,可选的,该飞行器记录自身的飞行的起始位置,然后通过IMU实时检测飞行加速度和飞行方向,再根据飞行加速度求出飞行速度,进而根据已飞行的时间和飞行速度计算飞行的距离,最后结合飞行的距离、飞行方向以及飞行的起始位置确定出飞行器实时的位置。再如,当该飞行状态数据包括加速度信息时,该加速度信息可以为该飞行器通过加速度传感器检测得到的,也可以为该飞行器通过预先配置的算法基于速度的变化情况计算出来的。再如,当该飞行状态数据包括速度信息时,该速度信息可以为该飞行器使用预先配置的算法基于自身位置的变化情况计算出来的。The aircraft may collect flight state data at each of the plurality of flight times, the flight state data including at least one of position information, speed information, and acceleration information. Optionally, the flight state data includes the position information. Optionally, the flight state data includes location information and acceleration information. Optionally, the flight state data includes location information, acceleration information, and speed information. For example, when the flight state data includes a location, the location information may be specifically a positioning system of the aircraft (eg, Global Positioning System (GPS), BeiDou Navigation Satellite System (BDS), Galileo. Determining at least one of a satellite navigation system (GNSS), a visual positioning technology, and an Inertial Measurement Unit (IMU), optionally, the aircraft records the starting position of its own flight, Then, the IMU detects the flight acceleration and flight direction in real time, and then calculates the flight speed according to the flight acceleration, and then calculates the flight distance according to the flight time and flight speed. Finally, it is determined by the distance of the flight, the flight direction and the starting position of the flight. The location of the aircraft in real time. For another example, when the flight state data includes acceleration information, the acceleration information may be detected by the aircraft through an acceleration sensor, or may be calculated by the aircraft based on a change in speed by a pre-configured algorithm. As another example, when the flight state data includes speed information, the speed information can be calculated for the aircraft using a pre-configured algorithm based on changes in its position.
另外,该飞行器会在该多个飞行时刻中每个飞行时刻拍摄第一图像,该飞行器在不同位置拍摄的第一图像不相同,该飞行器在相同位置拍摄的第一图像相同,每个飞行时刻拍摄的第一图像均可以关联位置信息,以表明该图像是在什么位置拍摄的。可选的,该第一图像可以为灰度图、RGB图像等。In addition, the aircraft may capture a first image at each flight time of the plurality of flight times, the first image captured by the aircraft at different positions is different, and the first image captured by the aircraft at the same position is the same, each flight time The first image taken can be associated with location information to indicate where the image was taken. Optionally, the first image may be a grayscale image, an RGB image, or the like.
步骤S202:该飞行器根据在该多个飞行时刻采集的飞行状态数据生成第 一轨迹。Step S202: The aircraft generates a first trajectory based on the flight state data collected at the plurality of flight times.
可以理解的是,该飞行器首先根据在多个飞行时刻采集飞行状态数据生成第一轨迹,该第一轨迹与该飞行器在上述一段时间飞行的轨迹的走向大致相同。为了便于理解,下面提供生成该第一轨迹的一种可选方式:It can be understood that the aircraft first generates a first trajectory according to collecting flight state data at a plurality of flight moments, the first trajectory being substantially the same as the trajectory of the trajectory of the aircraft flying during the above period of time. For ease of understanding, an alternative way of generating the first trajectory is provided below:
该飞行状态数据包括位置信息P、速度信息V和加速度信息A,飞行器在所有的两个相邻飞行时刻之间的飞行子轨迹依次进行拼接得到的轨迹即为该第一轨迹,其中,飞行器在任意两个相邻飞行时刻之间飞行的子轨迹可以通过5阶多项式来描述,假设该任意两个相邻飞行时刻的中的较早时刻为t0,较晚时刻为t1,t1与t0之间的时间间隔为dt,那么,该5阶多项式具体如下: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-tracks of the aircraft between all two adjacent flight moments is the first trajectory, wherein the aircraft is The sub-tracks flying between any two adjacent flight moments can be described by a 5th-order polynomial, assuming that the earlier of the two adjacent flight moments is t0, the later time is t1, between t1 and t0 The time interval is dt, then the 5th order polynomial is as follows:
Figure PCTCN2017118755-appb-000001
Figure PCTCN2017118755-appb-000001
在公式1-1中,c x0,……,c x5是x轴向轨迹多项式的系数,c y0,……,c y5是y轴向轨迹多项式的系数,c z0,……,c z5是z轴向轨迹多项式的系数,t是飞行器在任意两个相邻飞行时刻之间飞行的时间,t在区间[0,dt]上取值。接下来需要求解x轴向轨迹多项式的系数、y轴向轨迹多项式的系数和z轴向轨迹多项式的系数,这三种轴向轨迹多项式的系数的求解原理相同,因此下面以x轴向轨迹多项式的系数的求解为例进行举例描述: In Equation 1-1, c x0 , ..., c x5 are the coefficients of the x-axis trajectory polynomial, c y0 , ..., c y5 are the coefficients of the y-axis trajectory polynomial, c z0 , ..., c z5 is The coefficient of the z-axis trajectory polynomial, t is the time the aircraft flies between any two adjacent flight moments, and t takes the value in the interval [0, dt]. Next, we need to solve 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. The coefficients of the three axial trajectory polynomials are solved in the same way, so the following is the x-axis trajectory polynomial. The solution of the coefficient is described as an example:
在该任意两个飞行时刻之间以最小化Jerk(加速度的一阶导数)变化量(minimum jerk)为优化函数,根据X轴方向上的位置、速度、加速度信息,得到X轴向的轨迹系数的解析式,假设该任意两个相邻飞行时刻中较早飞行时刻的飞行状态数据S0={P 0,V 0,A 0,t 0},其中,P 0为飞行器在任意两个相邻飞行时刻中较早时刻的位置,V 0为飞行器在任意两个相邻飞行时刻中较早时刻的速度,A 0为飞行器在任意两个相邻飞行时刻中较早时刻的加速度,t 0为飞行器在任意两个相邻飞行时刻中较早时刻;该任意两个相邻飞行时刻中较晚飞行时刻的飞行状态数据S0={P 1,V 1,A 1,t 1},其中,P 1为飞行器在任意两个相邻飞行时刻中较晚时刻的位置,V 1为飞行器在任意两个相邻飞行时刻中较晚时刻的速度,A 1为飞行器在任意两个相邻飞行时刻中较晚时刻的加速度,t 1为飞行器在任意两个相邻飞行时刻中较晚时刻;那么,该任意两个相邻飞行时刻中较早飞行时刻的飞行状态数据S0={P 0,V 0,A 0,t 0}在X轴向的分量为 S0 x={P x0,V x0,A x0,t x0},其中,P x0表示x轴向的位置,V x0表示x轴向的速度,A x0表示x轴向的加速度,t x0表示时间;该任意两个相邻飞行时刻中较晚飞行时刻的飞行状态数据S1={P 1,V 1,A 1,t 1}在X轴向的分量为S1 x={P x1,V x1,A x1,t x1},其中,P x1表示x轴向的位置,V x1表示x轴向的速度,A x1表示x轴向的加速度,t x0表示时间;可得到公式1-2所示的中间变量: The minimum jerk (first derivative of acceleration) variation (minimum jerk) is used as an optimization function between the two flight moments, and the X-axis trajectory coefficient is obtained according to the position, velocity and acceleration information in the X-axis direction. The analytic expression assumes that the flight state data S0={P 0 , V 0 , A 0 , t 0 } of the earlier flight time of any two adjacent flight moments, where P 0 is the aircraft in any two adjacent At the earlier moment in the flight time, V 0 is the speed of the aircraft at an earlier time in any two adjacent flight moments, and A 0 is the acceleration of the aircraft at an earlier time in any two adjacent flight moments, t 0 is The aircraft is at an earlier time in any two adjacent flight moments; the flight state data S0={P 1 , V 1 , A 1 , t 1 } of the later flight moments of any two adjacent flight moments, wherein, P 1 is the position of the aircraft at a later time in any two adjacent flight moments, V 1 is the speed of the aircraft at a later time in any two adjacent flight moments, and A 1 is the aircraft in any two adjacent flight moments acceleration at any later time, t 1 is the aircraft Adjacent flight time is later in time; then, the flight time of the earlier time of flight of the flight state data of any two adjacent S0 = {P 0, V 0 , A 0, t 0} in the X-axis direction component Is S0 x = {P x0 , V x0 , A x0 , t x0 }, where P x0 represents the position of the x-axis, V x0 represents the velocity in the x-axis, A x0 represents the acceleration in the x-axis, and t x0 represents Time; the flight state data S1={P 1 , V 1 , A 1 , t 1 } of the later flight moments of any two adjacent flight moments is S1 x ={P x1 , V x1 , A x1 , t x1 }, where P x1 represents the position in the x-axis, V x1 represents the velocity in the x-axis, A x1 represents the acceleration in the x-axis, and t x0 represents the time; Intermediate variable:
Figure PCTCN2017118755-appb-000002
Figure PCTCN2017118755-appb-000002
基于公式1-2可以进一步得到公式1-3所示的中间变量:The intermediate variables shown in Equations 1-3 can be further derived based on Equation 1-2:
Figure PCTCN2017118755-appb-000003
Figure PCTCN2017118755-appb-000003
基于公式1-3可以进一步得到x轴向轨迹多项式的系数,如公式1-4所示:The coefficients of the x-axis trajectory polynomial can be further obtained based on Equations 1-3, as shown in Equations 1-4:
Figure PCTCN2017118755-appb-000004
Figure PCTCN2017118755-appb-000004
以上描述了根据X轴向上的位置、速度、加速度信息,得到X轴向的轨迹系数的解析式,根据同样的原理可以得到Y轴向的轨迹系数的解析式和Z轴向的轨迹系数的解析式。这样一来,就可以根据公式1-1确定飞行器在任意两个相邻飞行时刻之间飞行的子轨迹,然后将飞行器在所有的两个相邻飞行时刻之间的飞行子轨迹依次进行拼接即可得到上述第一轨迹。The above describes the analytic expression of the trajectory coefficient of the X-axis based on the position, velocity, and acceleration information in the X-axis. According to the same principle, the analytic formula of the trajectory coefficient of the Y-axis and the trajectory coefficient of the Z-axis can be obtained. Analytic. In this way, the sub-track of the aircraft flying between any two adjacent flight moments can be determined according to formula 1-1, and then the flight sub-tracks of the aircraft between all two adjacent flight moments are sequentially spliced. The above first trajectory can be obtained.
步骤S203:该飞行器在按照该第一轨迹飞行过程中拍摄第二图像。Step S203: The aircraft captures a second image during flight according to the first trajectory.
步骤S204:该飞行器将该第二图像与该第一图像进行比较以确定偏移量。Step S204: The aircraft compares the second image with the first image to determine an offset.
具体地,例如,该飞行器将该第二图像中的纹理与该第一图像中的纹理进行比较以确定偏移量。更具体来说,该飞行器通过闭环检测方法(loop closure)来确定该飞行器的偏移量,具体原理如下:根据预先配置的图像匹配算法(例如,基于词袋模型进行图像相似度比较算法)从以上拍摄的大量第一图像中选择出一张与当前拍摄的第二图像最接近的第一图像,再查找拍摄该最接近的第 一图像时该飞行器的位置,最后确定该飞行器拍摄该当前的第二图像时在该第一轨迹上的位置,与拍摄该最接近的第一图像时该飞行器的位置之间的偏移量,确定出来的偏移量即为该飞行器的偏移。Specifically, for example, the aircraft compares the texture in the second image with the texture in the first image to determine an offset. More specifically, the aircraft determines the offset of the aircraft by a loop closure, the specific principle is as follows: according to a pre-configured image matching algorithm (for example, an image similarity comparison algorithm based on a word bag model) Selecting a first image closest to the currently captured second image from the plurality of first images captured above, searching for the position of the aircraft when the first image is captured, and finally determining that the aircraft is capturing the current image. The offset between the position on the first trajectory of the second image and the position of the aircraft when the first image is taken is determined by the offset of the aircraft.
可以理解的是,根据该原理该飞行器可以确定在按照第一轨迹飞行过程中的各个时刻的偏移量,确定出的该飞行器的偏移量P offset(t)同样可以包含X轴向的分量
Figure PCTCN2017118755-appb-000005
Y轴向的分量
Figure PCTCN2017118755-appb-000006
和Z轴向的分量
Figure PCTCN2017118755-appb-000007
即该偏移量P offset(t)可表示为
Figure PCTCN2017118755-appb-000008
步骤S205:该飞行器根据该偏移量修正该第一轨迹。
It can be understood that, according to the principle, the aircraft can determine the offset of the aircraft at the respective moments in the flight according to the first trajectory, and the determined offset P offset (t) of the aircraft can also include the component of the X-axis.
Figure PCTCN2017118755-appb-000005
Y-axis component
Figure PCTCN2017118755-appb-000006
And Z-axis components
Figure PCTCN2017118755-appb-000007
That is, the offset P offset (t) can be expressed as
Figure PCTCN2017118755-appb-000008
Step S205: The aircraft corrects the first trajectory according to the offset.
具体地,前一时刻确定的偏移量可以用于后一时刻做修正。由于该第一轨迹由该第一轨迹上所有的两个相邻飞行时刻之间的飞行子轨迹依次进行拼接得到,因此这里先描述使用该偏移量对其中任意两个相邻飞行时刻之间的飞行子轨迹进行修正的原理;可选的,修正的原理可以为将该偏移量
Figure PCTCN2017118755-appb-000009
Figure PCTCN2017118755-appb-000010
代入到上述公式1-1中,以得到该任意两个相邻飞行时刻之间的飞行轨迹修正后的子轨迹,如公式2-1所示:
Specifically, the offset determined at the previous moment can be used for correction at a later time. Since the first trajectory is sequentially spliced by the flight sub-tracks between all two adjacent flight moments on the first trajectory, the use of the offset pair between any two adjacent flight moments is first described herein. The principle of the modified sub-track is corrected; alternatively, the principle of correction can be the offset
Figure PCTCN2017118755-appb-000009
Figure PCTCN2017118755-appb-000010
Substituting into Equation 1-1 above to obtain the corrected sub-track of the flight path between any two adjacent flight moments, as shown in Equation 2-1:
Figure PCTCN2017118755-appb-000011
Figure PCTCN2017118755-appb-000011
所有的两个相邻飞行时刻之间的飞行轨迹修正后的子轨迹拼接可得到修正后的第一轨迹。因此,可以认为该飞行器实际是按照修正后的第一轨迹飞行,该飞行器控制自身按照修正后的第一轨迹飞行的原理可以为以下方式:The corrected first track is obtained by splicing the corrected sub-tracks of the flight paths between all two adjacent flight moments. 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 each control moment during the flight according to the corrected first trajectory (it is understood that the aircraft needs to constantly adjust the state of the aircraft so that the final flight trajectory is the corrected trajectory a trajectory, the time of each adjustment state may be referred to as flight state data of the control time), the flight state data including at least one of position information, speed information, and acceleration information; then, the aircraft is in each of the The control time adjusts its own state to the state indicated by the flight state data for each of the control times. That is to say, the aircraft will know in real time what position the aircraft needs to reach, how much the flight speed is reached, and how much the flight acceleration is reached. It will then adjust its current actual position, actual flight speed, and actual flight acceleration to bring the aircraft to the desired position, to the desired flight speed, and to achieve the required flight acceleration.
下面对获知该飞行器需要达到的位置,飞行速度,以及飞行加速度的方式进行举例描述:The following is an example of the way to know the position, flight speed, and flight acceleration that the aircraft needs to reach:
假设该修正后的第一轨迹由n个修正后的子轨迹拼接而成,该n个修正后的子轨迹中每个修正后的子轨迹均为一组两个相邻飞行时刻之间的飞行轨迹修正得到(以上已有描述),不同组的两个相邻飞行时刻之间的飞行轨迹修正后得到的修正后的子轨迹可以不同。由公式2-1可知,每个修正后的子轨迹都由5阶多项式组成且包含6个系数,这些多项式的系数和起止时间存在以下数据结构中:It is assumed that the corrected first trajectory is formed by splicing n corrected sub-tracks, and each of the corrected sub-tracks is a flight between two adjacent flight moments. The trajectory correction is obtained (described above), and the corrected sub-tracks obtained after the correction of the flight trajectory between two adjacent flight moments of different groups may be different. It can be known from Equation 2-1 that each modified sub-track is composed of a 5th-order polynomial and contains 6 coefficients. The coefficients and start and end times of these polynomials are in the following data structure:
Figure PCTCN2017118755-appb-000012
Figure PCTCN2017118755-appb-000012
在公式3-1中,trajectory_x[n][6]存储了x轴向n个修正后的子轨迹的6个系数,总共6*n个系数,trajectory_y[n][6]存储了y轴向n个修正后的子轨迹的6个系数,总共6*n个系数,trajectory_z[n][6]存储了z轴向n个修正后的子轨迹的6个系数,总共6*n个系数;trajectory_time[n+1]存储了n个修正后的子轨迹在整个时间轴上的结束时刻,例如修正后的第一轨迹由3个修正后的子轨迹组成,这3个修正后的子轨迹的经过时间分别为1秒,2秒和3秒,那么在时间轴上,该修正后的第一轨迹的起始时刻是第0秒,第一个修正后的子轨迹的结束时刻是第1秒,第二个修正后的子轨迹的结束时刻是第3秒,第三个修正后的子轨迹的结束时刻是第6秒,6s也是飞行完该修正后的第一轨迹所需的时间。In Equation 3-1, trajectory_x[n][6] stores 6 coefficients of n modified sub-tracks in the x-axis, for a total of 6*n coefficients, and trajectory_y[n][6] stores the y-axis 6 coefficients of n corrected sub-tracks, a total of 6*n coefficients, trajectory_z[n][6] stores 6 coefficients of n modified sub-tracks in the z-axis, for a total of 6*n coefficients; Trajectory_time[n+1] stores the end time of the n corrected sub-tracks on the entire time axis, for example, the corrected first track is composed of three corrected sub-tracks, and the three corrected sub-tracks The elapsed time is 1 second, 2 seconds, and 3 seconds, respectively, then on the time axis, the start time of the corrected first track is 0th second, and the end time of the first corrected sub track is 1st second. The end time of the second corrected sub-track is the third second, and the end time of the third corrected sub-track is the sixth second, and 6s is also the time required to complete the corrected first track.
然后,该飞行器根据3-1所示的数据结构来执行如下流程:Then, the aircraft performs the following process according to the data structure shown in 3-1:
1、设置一个全局的时钟,当开始按照修正后的第一轨迹飞行时把时钟的时间重置为0,这个0实际上就是修正后的第一轨迹在时间轴上的起始时刻。2、假设该飞行器对轨迹跟随过程中的控制频率为frequency,即一秒钟发送frequency次控制指令,则控制指令计算周期为1/frequency,也就是每隔1/frequency秒计算一次控制指令,所以全局时钟的时间增长间隔是1/frequency(时钟按照公式tick=tick+1/frequency不断更新自己的时间),时钟的每一个时间tick都在修正后的第一轨迹上对应了一个期望的位置、速度 和加速度,根据时钟当前的时间tick,遍历一遍trajectory_time[n+1],从而找到tick对应哪一段修正后的子轨迹,查找到的修正后的第m个子轨迹满足下式:1. Set a global clock. When starting to fly according to the corrected first trajectory, reset the clock time to 0. This 0 is actually the starting time of the corrected first trajectory on the time axis. 2. It is assumed that the control frequency of the aircraft during the trajectory following is frequency, that is, the frequency control command is sent for one second, then the control command calculation period is 1/frequency, that is, the control command is calculated every 1/frequency second, so The time increment interval of the global clock is 1/frequency (the clock constantly updates its time according to the formula tick=tick+1/frequency), and each time tick of the clock corresponds to a desired position on the corrected first track, Speed and acceleration, according to the current time tick of the clock, traversing trajectory_time[n+1], so as to find which modified sub-track corresponding to the tick, the corrected m-th sub-track is found to satisfy the following formula:
trajectory_time[m]≤tick≤trajectory_time[m+1]      3-2Trajectory_time[m]≤tick≤trajectory_time[m+1] 3-2
3、根据修正后的第m个子轨迹的参数计算当前需要达到的位置p desired,需要达到的速度v desired,以及需要达到的加速度a desired3. Calculate the current desired position p desired according to the modified parameter of the mth sub-track, the desired speed v desired , and the acceleration to be achieved a desired :
由于子轨迹多项式是归一化的,所以这个地方的tick也要归一化,即Since the sub-track polynomial is normalized, the tick in this place is also normalized, ie
Figure PCTCN2017118755-appb-000013
Figure PCTCN2017118755-appb-000013
其中,trajectory_time[m+1]-trajectory_time[m]表示修正后的第m个子轨迹的总经过时间,tick-trajectory_time[m]表示tick时刻已经进入修正后的第m个子轨迹的时间。然后根据公式2-1所示的轨迹多项式计算需要得到的位置p desired,需要达到的速度v desired,需要达到的加速度a desired,各个量的计算公式如下(trajectory_x[n][6]简写为tx[n][6]): Where trajectory_time[m+1]-trajectory_time[m] represents the total elapsed time of the corrected mth sub-track, and tick-trajectory_time[m] represents the time when the tick time has entered the corrected m-th sub-track. Then, according to the trajectory polynomial shown in Equation 2-1, the required position p desired is obtained . The required velocity v desired , the required acceleration a desired , and the calculation formula of each amount is as follows (trajectory_x[n][6] is abbreviated as tx [n][6]):
需要达到的位置p desired为: The desired position p desired is:
Figure PCTCN2017118755-appb-000014
Figure PCTCN2017118755-appb-000014
公式4-1是线性方程组的矩阵形式,展开之后就是公式2-1中的方程组,以x轴向为例,展开后可得到X轴向需要达到的位置p desired_x=tx[m][0]+tx[m][1]*t m 1+tx[m][2]*t m 2+tx[m][3]*t m 3+tx[m][4]*t m 4+tx[m][5]*t m 5,其中,tx[m][0]等于修正后的第m个子轨迹多项式的常数项
Figure PCTCN2017118755-appb-000015
另外,Y轴向和Z轴向需要达到的位置可以参照X轴向的描述。基于X轴向的位置、Y轴向的位置和Z轴向的位置即可得到需要达到的位置p desired
Equation 4-1 is a matrix form of a linear system of equations. After expansion, it is the system of equations in Equation 2-1. Taking the x-axis as an example, the position that the X-axis needs to reach is obtained after expansion. p desired_x =tx[m][ 0]+tx[m][1]*t m 1 +tx[m][2]*t m 2 +tx[m][3]*t m 3 +tx[m][4]*t m 4 +tx[m][5]*t m 5 , where tx[m][0] is equal to the constant term of the mth subtrack polynomial after correction
Figure PCTCN2017118755-appb-000015
In addition, the position that the Y axis and the Z axis need to reach can be referred to the description of the X axis. Based on the position of the X-axis, the position of the Y-axis, and the position of the Z-axis, the desired position p desired can be obtained.
需要达到的速度v desired为: The speed v desired to be achieved is:
Figure PCTCN2017118755-appb-000016
Figure PCTCN2017118755-appb-000016
公式4-2是线性方程组的矩阵形式,展开之后就是公式3-1中的方程组的一阶导数,以x轴向为例,展开后可得到X轴向需要达到的速度v desired_x= tx[m][1]+2*tx[m][2]*t m 1+3*tx[m][3]*t m 2+4*tx[m][4]*t m 3+5*tx[m][5]*t m 4,其中,tx[m][1]等于第m个修正后的子轨迹的多项式中的一阶项;另外,Y轴向和Z轴向需要达到的速度可以参照X轴向的描述。基于X轴向的速度、Y轴向的速度和Z轴向的速度即可得到需要达到的速度v desiredEquation 4-2 is a matrix form of a linear system of equations. After expansion, it is the first derivative of the system of equations in Equation 3-1. Taking the x-axis as an example, the speed that the X-axis needs to reach can be obtained after expansion. v desired_x = tx [m][1]+2*tx[m][2]*t m 1 +3*tx[m][3]*t m 2 +4*tx[m][4]*t m 3 +5 *tx[m][5]*t m 4 , where tx[m][1] is equal to the first-order term in the polynomial of the m-th modified sub-track; in addition, the Y-axis and the Z-axis need to be reached The speed can be described with reference to the X-axis. Based on the velocity in the X-axis, the velocity in the Y-axis, and the velocity in the Z-axis, the desired velocity v desired can be obtained.
需要达到的加速度a desired为: The acceleration a desired to be achieved is:
Figure PCTCN2017118755-appb-000017
Figure PCTCN2017118755-appb-000017
公式4-3是线性方程组的矩阵形式,展开之后就是公式3-1中的方程组的二阶导数,以x轴向为例,展开后可得到X轴向需要达到的加速度a desired_x=2*tx[m][2]+6*tx[m][3]*t m 1+12*tx[m][4]*t m 2+20*tx[m][5]*t m 3,其中,tx[m][2]等于第m个修正后的子轨迹多项式的二阶项;另外,Y轴向和Z轴向需要达到的加速度可以参照X轴向的描述。基于X轴向的加速度、Y轴向的加速度和Z轴向的加速度即可得到需要达到的加速度a desiredEquation 4-3 is a matrix form of a linear system of equations. After expansion, it is the second derivative of the system of equations in Equation 3-1. Taking the x-axis as an example, the acceleration required to reach the X-axis can be obtained a desired_x = 2 *tx[m][2]+6*tx[m][3]*t m 1 +12*tx[m][4]*t m 2 +20*tx[m][5]*t m 3 Where tx[m][2] is equal to the second-order term of the m-th modified sub-track polynomial; in addition, the acceleration required to be achieved in the Y-axis and the Z-axis may be referred to the description of the X-axis. Based on the acceleration in the X-axis, the acceleration in the Y-axis, and the acceleration in the Z-axis, the desired acceleration a desired can be obtained.
根据以上原理可以得到要在第m个修正后的子轨迹上飞行时,在各个时刻需要达到的位置p desired,需要达到的速度v desired,需要达到的加速度a desired,基于同样原理即可推出该飞行器在整个修正后的第一轨迹上飞行时,在各个时刻需要达到的位置p desired,需要达到的速度v desired,需要达到的加速度a desiredAccording to the above principle, the position p desired to be reached at each moment when flying on the m-th modified sub-track can be obtained, the desired speed v desired , the required acceleration a desired , and the same principle can be used to launch the When the aircraft is flying on the entire corrected first trajectory, the position p desired at each moment is required, the speed v desired to be achieved, and the required acceleration a desired .
相应地,该飞行器在飞行的过程中将需要达到的位置p desired,需要达到的速度v desired,需要达到的加速度a desired代入到比例-积分-导数(proportion-integral-derivative,PID)控制算法(或者其他算法)来计算控制命令,该控制命令用于指示该飞行器做相应调整以使该飞行器的位置需要达到的位置p desired,速度达到需要达到的速度v desired,以及加速度达到需要达到的加速度a desiredCorrespondingly, the position that the aircraft will need to reach during flight is desired , the speed v desired is required, and the required acceleration a desired is substituted into a proportional-integral-derivative (PID) control algorithm ( Or other algorithm) to calculate a control command for instructing the aircraft to adjust accordingly such that the position of the aircraft needs to be reached p desired , the speed reaches the desired speed v desired , and the acceleration reaches the desired acceleration a Desired .
在图2所示的方法中,该飞行器在飞行的过程中采集飞行器的飞行状态数据,以及通过摄像头拍摄第一图像;然后通过该飞行状态数据生成第一轨迹,后续按照第一轨迹飞行的过程中实时拍摄第二图像,再将第二图像与第一图像对比以确定该飞行器按照第一轨迹飞行时的偏移量,接着使用该偏移量对该第一轨迹进行修正,并按照修正后的第一轨迹继续飞行。由于修正后的第一轨迹的生成考虑到了飞行器飞行时的偏移量,因此能够减少飞行过程中所产生的迭 代误差,使得最终的产生的用于飞行器自主飞行的第一轨迹能够尽可能地还原人为控制的飞行轨迹。In the method shown in FIG. 2, the aircraft collects flight state data of the aircraft during flight, and captures a first image through the camera; then generates a first trajectory through the flight state data, and subsequently follows the process of flying according to the first trajectory Taking a second image in real time, comparing the second image with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then using the offset to correct the first trajectory, and following the correction The first trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
请参阅图3,图3是本发明实施例提供的一种飞行轨迹原路复演方法,该方法可以基于图1所示的飞行系统来实现,也可以基于其他架构来实现;该方法包括但不限于如下步骤:Referring to FIG. 3, FIG. 3 is a method for replaying a flight path original path according to an embodiment of the present invention. The method may be implemented based on the flight system shown in FIG. 1 or may be implemented based on other architectures; Not limited to the following steps:
步骤S301:飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集该飞行器在该多个飞行时刻的飞行状态数据。Step S301: The aircraft determines a plurality of flight moments according to at least one of a flight speed, a strut operation and a preset distance threshold during flight and collects flight state data of the aircraft at the plurality of flight moments.
具体地,可选的,该飞行器在该一段时间的飞行可以是人为遥控该飞行器飞行的,该多个飞行时刻是通过什么策略从该一段时间上选择出来的此处不做限定,下面例举几种可能的实现方案:Specifically, optionally, the flight of the aircraft during the period of time may be artificially remotely controlled by the aircraft, and the plurality of flight moments are selected by the strategy from the period of time, which is not limited herein. Several possible implementations:
第一种,该飞行器在飞行的过程中将每次检测到针对该飞行器的打杆操作的时刻均作为飞行时刻。可以理解的是,该飞行器通常是由控制终端(例如,遥控器、手机等终端)来控制的,该控制终端在控制该飞行器的过程中可能会接收到用户针对操作杆(虚拟的或者实体的)的打杆操作,相应地,该飞行器会实时检测是否有针对该操作杆的打杆操作,如果有则将检测到用户打杆操作的时间作为一个飞行时刻,即每次检测到打杆操作的时刻均作为飞行时刻。可以理解的是,用户对操作杆执行打杆操作的时刻通常为该飞行器在飞行过程中的转折点(即飞行状态变化的关键节点),将这些特殊时刻记下来能够帮助后续更好地还原飞行轨迹。First, the aircraft will each time detect the moment of the striking operation for the aircraft as the flight time during the flight. It can be understood that the aircraft is usually controlled by a control terminal (for example, a remote controller, a mobile phone, etc.), and the control terminal may receive the user for the operating lever (virtual or physical) during the control of the aircraft. The striking operation, correspondingly, the aircraft will detect in real time whether there is a strut operation for the operating lever, and if so, the time when the user's striking operation is detected as a flight moment, that is, each time the strut operation is detected The moments are all used as flight moments. It can be understood that the moment when the user performs the strut operation on the operating rod is usually the turning point of the aircraft during the flight (ie, the key node of the flight state change), and writing these special moments can help to further restore the flight path. .
第二种,该飞行器在每个该飞行时刻的飞行速度均不低于预设速度阈值(例如,该阈值可以设置为0.1m/s),也即是说,如果某个时刻该飞行器的飞行速度很小,那么飞行器不将该某个时刻作为飞行时刻,这样做能够避免将飞行器在某时间内位移变化很小的时刻确定飞行时刻,例如,刚开始对操作杆执行打杆操作时飞行器的速度很小。若飞行器在某段时间内位移变化很小,并将该某段时间内的时刻确定为飞行时刻,则会导致后续还原的飞行轨迹不平滑。Secondly, the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold (for example, the threshold may be set to 0.1 m/s), that is, if the aircraft is flying at a certain moment. The speed is very small, then the aircraft does not use the moment as the flight time. This can avoid determining the flight time when the aircraft changes the displacement at a certain time, for example, when the aircraft is initially engaged in the operation of the joystick. The speed is small. If the displacement of the aircraft is small during a certain period of time and the time of the certain period of time is determined as the flight time, the flight path of the subsequent restoration will not be smooth.
第三种,该飞行器在任意两个时间上相邻的该飞行时刻之间的距离不小于预设距离阈值。在具体实现上可以为,该飞行器实时检测自身的位置,在自身的距离每改变预设距离时将当前时刻记录为飞行时刻,例如,假设该飞行器按 照时间顺序依次在第1时刻(起始时刻)、第2时刻、第3时刻、第4时刻、第5时刻、第6时刻、第7时刻、第8时刻、第9时刻上检测了自身的位置;那么,首先确定相对于第1时刻的距离不小于该预设距离阈值的时刻,然后将确定出的时刻作为飞行时刻,假设确定出的飞行时刻为第3时刻,那么就将第3时刻作为飞行时刻,然后进一步确定相对于该第3时刻的距离不小于该预设阈值的时刻,然后将将确定出的时刻作为飞行时刻,假设确定出的飞行时刻为第4时刻,那么就将第4时刻作为飞行时刻,其余依此类推。Third, the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold. In a specific implementation, the aircraft may detect its position in real time, and record the current time as a flight time every time the distance is changed by itself, for example, assume that the aircraft is sequentially in time sequence at the first time (starting time) ), the second time, the third time, the fourth time, the fifth time, the sixth time, the seventh time, the eighth time, the ninth time, the position of the self is detected; then, the first time is determined relative to the first time The distance is not less than the preset distance threshold, and then the determined time is taken as the flight time. If the determined flight time is the third time, then the third time is taken as the flight time, and then further determined relative to the third time. The time of the moment is not less than the time of the preset threshold, and then the determined time is taken as the flight time. If the determined flight time is the fourth time, then the fourth time is taken as the flight time, and so on.
该飞行器在空中飞行会持续一段时间,该多个飞行时刻可以为该一段时间上的部分时刻,该无人机会在该多个飞行时刻中每个飞行时刻采集飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项,可选的,该飞行状态数据包括该位置信息,可选的,该飞行状态数据包括位置信息和加速度信息,可选的,该飞行状态数据包括位置信息、加速度信息和速度信息。例如,当该飞行状态数据包括位置时,该位置信息可以具体为该飞行器通过定位系统(例如,(全球定位系统Global Positioning System,GPS),北斗卫星导航系统(BeiDou Navigation Satellite System,BDS),伽利略卫星导航系统(Galileo satellite navigation system,GNSS)等)、视觉定位技术和惯性测量单元(Inertial measurement unit,IMU)中至少一项确定的。可选的,该飞行器记录自身的飞行的起始位置,然后通过IMU实时检测飞行加速度和飞行方向,再根据飞行加速度求出飞行速度,进而根据已飞行的时间和飞行速度计算飞行的距离,最后结合飞行的距离、飞行方向以及飞行的起始位置确定出飞行器实时的位置。再如,当该飞行状态数据包括加速度信息时,该加速度信息可以为该飞行器通过加速度传感器检测得到的,也可以为该飞行器通过预先配置的算法基于速度的变化情况计算出来的。再如,当该飞行状态数据包括速度信息时,该速度信息可以为该飞行器使用预先配置的算法基于自身位置的变化情况计算出来的。The aircraft may fly in the air for a period of time, the plurality of flight moments may be part of the time period, and the unmanned person collects flight state data at each of the plurality of flight times, the flight state data includes At least one of the location information, the speed information, and the acceleration information. Optionally, the flight state data includes the location information. Optionally, the flight state data includes location information and acceleration information. Optionally, the flight state data includes Location information, acceleration information, and speed information. For example, when the flight state data includes a location, the location information may be specifically a positioning system of the aircraft (eg, Global Positioning System (GPS), BeiDou Navigation Satellite System (BDS), Galileo. Determined by at least one of a Galileo satellite navigation system (GNSS), a visual positioning technology, and an Inertial Measurement Unit (IMU). Optionally, the aircraft records the starting position of its own flight, and then detects the flight acceleration and the flight direction through the IMU in real time, and then calculates the flight speed according to the flight acceleration, and then calculates the flight distance according to the flight time and the flight speed, and finally The real-time position of the aircraft is determined in conjunction with the distance of the flight, the direction of flight, and the starting position of the flight. For another example, when the flight state data includes acceleration information, the acceleration information may be detected by the aircraft through an acceleration sensor, or may be calculated by the aircraft based on a change in speed by a pre-configured algorithm. As another example, when the flight state data includes speed information, the speed information can be calculated for the aircraft using a pre-configured algorithm based on changes in its position.
步骤S302:该飞行器根据该飞行器在该多个飞行时刻采集的飞行状态数据生成第一轨迹。Step S302: The aircraft generates a first trajectory according to flight state data collected by the aircraft at the plurality of flight moments.
具体地,该飞行器首先根据在多个飞行时刻采集飞行状态数据生成第一轨迹,该第一轨迹与该飞行器在上述一段时间飞行的轨迹的走向大致相同,可选的,该第一轨迹比该飞行器在上述一段时间飞行的轨迹更平滑。为了便于理解, 下面提供生成该第一轨迹的一种可选方式:Specifically, the aircraft first generates a first trajectory according to collecting flight state data at a plurality of flight times, the first trajectory being substantially the same as a trajectory of the trajectory of the aircraft flying in the foregoing period of time, optionally, the first trajectory is The trajectory of the aircraft flying during the above period of time is smoother. For ease of understanding, an alternative way of generating the first trajectory is provided below:
该飞行状态数据包括位置信息P、速度信息V和加速度信息A,飞行器在所有的两个相邻飞行时刻之间的飞行子轨迹依次进行拼接得到的轨迹即为该第一轨迹,其中,飞行器在任意两个相邻飞行时刻之间飞行的子轨迹可以通过5阶多项式来描述,假设该任意两个相邻飞行时刻的中的较早时刻为t0,较晚时刻为t1,t1与t0之间的时间间隔为dt,那么,该5阶多项式具体如下: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-tracks of the aircraft between all two adjacent flight moments is the first trajectory, wherein the aircraft is The sub-tracks flying between any two adjacent flight moments can be described by a 5th-order polynomial, assuming that the earlier of the two adjacent flight moments is t0, the later time is t1, between t1 and t0 The time interval is dt, then the 5th order polynomial is as follows:
Figure PCTCN2017118755-appb-000018
Figure PCTCN2017118755-appb-000018
在公式1-1中,c x0,……,c x5是x轴向轨迹多项式的系数,c y0,……,c y5是y轴向轨迹多项式的系数,c z0,……,c z5是z轴向轨迹多项式的系数,t是飞行器在任意两个相邻飞行时刻之间飞行的时间,t在区间[0,dt]上取值。接下来需要求解x轴向轨迹多项式的系数、y轴向轨迹多项式的系数和z轴向轨迹多项式的系数,这三种轴向轨迹多项式的系数的求解原理相同,因此下面以x轴向轨迹多项式的系数的求解为例进行举例描述: In Equation 1-1, c x0 , ..., c x5 are the coefficients of the x-axis trajectory polynomial, c y0 , ..., c y5 are the coefficients of the y-axis trajectory polynomial, c z0 , ..., c z5 is The coefficient of the z-axis trajectory polynomial, t is the time the aircraft flies between any two adjacent flight moments, and t takes the value in the interval [0, dt]. Next, we need to solve 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. The coefficients of the three axial trajectory polynomials are solved in the same way, so the following is the x-axis trajectory polynomial. The solution of the coefficient is described as an example:
在该任意两个飞行时刻之间以最小化Jerk(加速度的一阶导数)变化量(minimum jerk)为优化函数,根据X轴方向上的位置、速度、加速度信息,得到X轴向的轨迹系数的解析式,假设该任意两个相邻飞行时刻中较早飞行时刻的飞行状态数据S0={P 0,V 0,A 0,t 0},其中,P 0为飞行器在任意两个相邻飞行时刻中较早时刻的位置,V 0为飞行器在任意两个相邻飞行时刻中较早时刻的速度,A 0为飞行器在任意两个相邻飞行时刻中较早时刻的加速度,t 0为飞行器在任意两个相邻飞行时刻中较早时刻;该任意两个相邻飞行时刻中较晚飞行时刻的飞行状态数据S0={P 1,V 1,A 1,t 1},其中,P 1为飞行器在任意两个相邻飞行时刻中较晚时刻的位置,V 1为飞行器在任意两个相邻飞行时刻中较晚时刻的速度,A 1为飞行器在任意两个相邻飞行时刻中较晚时刻的加速度,t 1为飞行器在任意两个相邻飞行时刻中较晚时刻;那么,该任意两个相邻飞行时刻中较早飞行时刻的飞行状态数据S0={P 0,V 0,A 0,t 0}在X轴向的分量为S0 x={P x0,V x0,A x0,t x0},其中,P x0表示x轴向的位置,V x0表示x轴向的速度,A x0表示x轴向的加速度,t x0表示时间;该任意两个相邻飞行时刻中较晚飞行时刻的飞行状态数据S1={P 1,V 1,A 1,t 1}在X轴向的分量为 S1 x={P x1,V x1,A x1,t x1},其中,P x1表示x轴向的位置,V x1表示x轴向的速度,A x1表示x轴向的加速度,t x0表示时间;可得到公式1-2所示的中间变量: The minimum jerk (first derivative of acceleration) variation (minimum jerk) is used as an optimization function between the two flight moments, and the X-axis trajectory coefficient is obtained according to the position, velocity and acceleration information in the X-axis direction. The analytic expression assumes that the flight state data S0={P 0 , V 0 , A 0 , t 0 } of the earlier flight time of any two adjacent flight moments, where P 0 is the aircraft in any two adjacent At the earlier moment in the flight time, V 0 is the speed of the aircraft at an earlier time in any two adjacent flight moments, and A 0 is the acceleration of the aircraft at an earlier time in any two adjacent flight moments, t 0 is The aircraft is at an earlier time in any two adjacent flight moments; the flight state data S0={P 1 , V 1 , A 1 , t 1 } of the later flight moments of any two adjacent flight moments, wherein, P 1 is the position of the aircraft at a later time in any two adjacent flight moments, V 1 is the speed of the aircraft at a later time in any two adjacent flight moments, and A 1 is the aircraft in any two adjacent flight moments acceleration at any later time, t 1 is the aircraft Adjacent flight time is later in time; then, the flight time of the earlier time of flight of the flight state data of any two adjacent S0 = {P 0, V 0 , A 0, t 0} in the X-axis direction component Is S0 x = {P x0 , V x0 , A x0 , t x0 }, where P x0 represents the position of the x-axis, V x0 represents the velocity in the x-axis, A x0 represents the acceleration in the x-axis, and t x0 represents Time; the flight state data S1={P 1 , V 1 , A 1 , t 1 } of the later flight moments of any two adjacent flight moments is S1 x ={P x1 , V x1 , A x1 , t x1 }, where P x1 represents the position in the x-axis, V x1 represents the velocity in the x-axis, A x1 represents the acceleration in the x-axis, and t x0 represents the time; Intermediate variable:
Figure PCTCN2017118755-appb-000019
Figure PCTCN2017118755-appb-000019
基于公式1-2可以进一步得到公式1-3所示的中间变量:The intermediate variables shown in Equations 1-3 can be further derived based on Equation 1-2:
Figure PCTCN2017118755-appb-000020
Figure PCTCN2017118755-appb-000020
基于公式1-3可以进一步得到x轴向轨迹多项式的系数,如公式1-4所示:The coefficients of the x-axis trajectory polynomial can be further obtained based on Equations 1-3, as shown in Equations 1-4:
Figure PCTCN2017118755-appb-000021
Figure PCTCN2017118755-appb-000021
以上描述了根据X轴向上的位置、速度、加速度信息,得到X轴向的轨迹系数的解析式,根据同样的原理可以得到Y轴向的轨迹系数的解析式和Z轴向的轨迹系数的解析式。这样一来,就可以根据公式1-1确定飞行器在任意两个相邻飞行时刻之间飞行的子轨迹,然后将飞行器在所有的两个相邻飞行时刻之间的飞行子轨迹依次进行拼接即可得到上述第一轨迹。The above describes the analytic expression of the trajectory coefficient of the X-axis based on the position, velocity, and acceleration information in the X-axis. According to the same principle, the analytic formula of the trajectory coefficient of the Y-axis and the trajectory coefficient of the Z-axis can be obtained. Analytic. In this way, the sub-track of the aircraft flying between any two adjacent flight moments can be determined according to formula 1-1, and then the flight sub-tracks of the aircraft between all two adjacent flight moments are sequentially spliced. The above first trajectory can be obtained.
步骤S303:该飞行器按照生成的该第一轨迹飞行。Step S303: The aircraft flies according to the generated first trajectory.
在一种可选的方案中,该飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集该飞行器在该多个飞行时刻的飞行状态数据,可以具体为:飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻,并在该多个飞行时刻拍摄第一图像和采集该飞行器的飞行状态数据,其中,该飞行器在不同位置拍摄的第一图像不相同,该飞行器在相同位置拍摄的第一图像相同,每个飞行时刻拍摄的第一图像均可以关联位置信息,以表明该图像是在什么位置拍摄的。可选的,该第一图像可以为灰度图、RGB图像等。In an optional solution, the aircraft determines a plurality of flight times and collects flight states of the aircraft at the plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight. The data may be specifically: the aircraft determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and captures the first image and collects the aircraft at the multiple flight moments. Flight state data, wherein the first image captured by the aircraft at different locations is different, the first image captured by the aircraft at the same location is the same, and the first image captured at each flight time may be associated with the location information to indicate the image Where was it taken? Optionally, the first image may be a grayscale image, an RGB image, or the like.
另外,该飞行器按照生成的该第一轨迹飞行,可以为:所述飞行器在按照 所述第一轨迹飞行过程中拍摄第二图像;所述飞行器将所述第二图像与所述第一图像进行比较以确定偏移量;所述飞行器根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。In addition, the aircraft may fly according to the generated first trajectory, and may be: the aircraft captures a second image during flight according to the first trajectory; the aircraft performs the second image with the first image Comparing to determine an offset; the aircraft corrects the first trajectory based on the offset for the aircraft to continue flying.
其中,确定偏移量的具体原理可以如下:根据预先配置的图像匹配算法(例如,基于词袋模型进行图像相似度比较算法)从以上拍摄的大量第一图像中选择出一张与当前拍摄的第二图像最接近的第一图像,再查找拍摄该最接近的第一图像时该飞行器的位置,最后确定该飞行器拍摄该当前的第二图像时在该第一轨迹上的位置,与拍摄该最接近的第一图像时该飞行器的位置之间的偏移量,确定出来的偏移量即为该飞行器的偏移。可以理解的是,根据该原理该飞行器可以确定在按照第一轨迹飞行过程中的各个时刻的偏移量,确定出的该飞行器的偏移量P offset(t)同样可以包含X轴向的分量
Figure PCTCN2017118755-appb-000022
Y轴向的分量
Figure PCTCN2017118755-appb-000023
和Z轴向的分量
Figure PCTCN2017118755-appb-000024
即该偏移量P offset(t)可表示为
Figure PCTCN2017118755-appb-000025
可选的,前一时刻确定的偏移量可以用于后一时刻做修正。
The specific principle of determining the offset may be as follows: selecting a picture from the plurality of first images captured above according to a pre-configured image matching algorithm (for example, an image similarity comparison algorithm based on a word bag model) The first image closest to the second image, the position of the aircraft when the first image is captured, and finally the position of the aircraft on the first track when the current second image is captured, and the shooting The offset between the positions of the aircraft when the first image is closest, the offset determined is the offset of the aircraft. It can be understood that, according to the principle, the aircraft can determine the offset of the aircraft at the respective moments in the flight according to the first trajectory, and the determined offset P offset (t) of the aircraft can also include the component of the X-axis.
Figure PCTCN2017118755-appb-000022
Y-axis component
Figure PCTCN2017118755-appb-000023
And Z-axis components
Figure PCTCN2017118755-appb-000024
That is, the offset P offset (t) can be expressed as
Figure PCTCN2017118755-appb-000025
Alternatively, the offset determined at the previous moment can be used for correction at a later time.
由于该第一轨迹由该第一轨迹上所有的两个相邻飞行时刻之间的飞行子轨迹依次进行拼接得到,因此这里先描述使用该偏移量对其中任意两个相邻飞行时刻之间的飞行子轨迹进行修正的原理;可选的,修正的原理可以为将该偏移量
Figure PCTCN2017118755-appb-000026
代入到上述公式1-1中,以得到该任意两个相邻飞行时刻之间的飞行轨迹修正后的子轨迹,如公式2-1所示:
Since the first trajectory is sequentially spliced by the flight sub-tracks between all two adjacent flight moments on the first trajectory, the use of the offset pair between any two adjacent flight moments is first described herein. The principle of the modified sub-track is corrected; alternatively, the principle of correction can be the offset
Figure PCTCN2017118755-appb-000026
Substituting into Equation 1-1 above to obtain the corrected sub-track of the flight path between any two adjacent flight moments, as shown in Equation 2-1:
Figure PCTCN2017118755-appb-000027
Figure PCTCN2017118755-appb-000027
所有的两个相邻飞行时刻之间的飞行轨迹修正后的子轨迹拼接可得到修正后的第一轨迹。因此,可以认为该飞行器实际是按照修正后的第一轨迹飞行,该飞行器控制自身按照修正后的第一轨迹飞行可以具体包括如下操作:首先,该飞行器根据修正后的第一轨迹确定飞行过程中每个控制时刻的飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;然后,该飞行器在该每个控制时刻将自身的状态调整到该每个控制时刻的飞行状态数据所指示的状态。具体地,该飞行器实时获知该飞行器按照修正后的第一轨 迹飞行过程中需要达到什么位置,飞行速度达到多少,以及飞行加速度达到多少。然后将对自己当前实际的位置,实际的飞行速度,以及实际的飞行加速度进行调整,以使该飞行器达到需要达到的位置,达到需要达到的飞行速度,以及达到需要达到的飞行加速度。下面对获知该飞行器当前需要达到的位置,飞行速度,以及飞行加速度的方式进行举例描述:The corrected first track is obtained by splicing the corrected sub-tracks of the flight paths between all two adjacent flight moments. Therefore, it can be considered that the aircraft actually flies according to the corrected first trajectory, and the aircraft controlling itself to fly according to the corrected first trajectory may specifically include the following operations: First, the aircraft determines the flight according to the corrected first trajectory. Flight status data for each control time, the flight status data including at least one of position information, speed information, and acceleration information; then, the aircraft adjusts its own state to the flight at each control time at each control time The status indicated by the status data. Specifically, the aircraft knows in real time what position the aircraft needs to reach during the modified first trajectory flight, how much the flight speed is reached, and how much the flight acceleration is reached. It will then adjust its current actual position, actual flight speed, and actual flight acceleration to bring the aircraft to the desired position, to the desired flight speed, and to achieve the required flight acceleration. The following is an example of the way to know the location, flight speed, and flight acceleration that the aircraft currently needs to reach:
假设该修正后的第一轨迹由n个修正后的子轨迹拼接而成,该n个修正后的子轨迹中每个修正后的子轨迹均为一组两个相邻飞行时刻之间的飞行轨迹修正得到(以上已有描述),不同组的两个相邻飞行时刻之间的飞行轨迹修正后得到的修正后的子轨迹可以不同。由公式2-1可知,每个修正后的子轨迹都由5阶多项式组成且包含6个系数,这些多项式的系数和起止时间存在以下数据结构中:It is assumed that the corrected first trajectory is formed by splicing n corrected sub-tracks, and each of the corrected sub-tracks is a flight between two adjacent flight moments. The trajectory correction is obtained (described above), and the corrected sub-tracks obtained after the correction of the flight trajectory between two adjacent flight moments of different groups may be different. It can be known from Equation 2-1 that each modified sub-track is composed of a 5th-order polynomial and contains 6 coefficients. The coefficients and start and end times of these polynomials are in the following data structure:
Figure PCTCN2017118755-appb-000028
Figure PCTCN2017118755-appb-000028
在公式3-1中,trajectory_x[n][6]存储了x轴向n个修正后的子轨迹的6个系数,总共6*n个系数,trajectory_y[n][6]存储了y轴向n个修正后的子轨迹的6个系数,总共6*n个系数,trajectory_z[n][6]存储了z轴向n个修正后的子轨迹的6个系数,总共6*n个系数;trajectory_time[n+1]存储了n个修正后的子轨迹在整个时间轴上的结束时刻,例如修正后的第一轨迹由3个修正后的子轨迹组成,这3个修正后的子轨迹的经过时间分别为1秒,2秒和3秒,那么在时间轴上,该修正后的第一轨迹的起始时刻是第0秒,第一个修正后的子轨迹的结束时刻是第1秒,第二个修正后的子轨迹的结束时刻是第3秒,第三个修正后的子轨迹的结束时刻是第6秒,6s也是飞行完该修正后的第一轨迹所需的时间。In Equation 3-1, trajectory_x[n][6] stores 6 coefficients of n modified sub-tracks in the x-axis, for a total of 6*n coefficients, and trajectory_y[n][6] stores the y-axis 6 coefficients of n corrected sub-tracks, a total of 6*n coefficients, trajectory_z[n][6] stores 6 coefficients of n modified sub-tracks in the z-axis, for a total of 6*n coefficients; Trajectory_time[n+1] stores the end time of the n corrected sub-tracks on the entire time axis, for example, the corrected first track is composed of three corrected sub-tracks, and the three corrected sub-tracks The elapsed time is 1 second, 2 seconds, and 3 seconds, respectively, then on the time axis, the start time of the corrected first track is 0th second, and the end time of the first corrected sub track is 1st second. The end time of the second corrected sub-track is the third second, and the end time of the third corrected sub-track is the sixth second, and 6s is also the time required to complete the corrected first track.
然后,该飞行器根据3-1所示的数据结构来执行如下流程:Then, the aircraft performs the following process according to the data structure shown in 3-1:
1、设置一个全局的时钟,当开始按照修正后的第一轨迹飞行时把时钟的时间重置为0,这个0实际上就修正后的第一轨迹在时间轴上的起始时刻。1. Set a global clock. When starting to fly according to the corrected first trajectory, reset the clock time to 0. This 0 is actually the starting time of the corrected first trajectory on the time axis.
2、假设该飞行器对轨迹跟随过程中的控制频率为frequency,即一秒钟发送frequency次控制指令,则控制指令计算周期为1/frequency,也就是每隔 1/frequency秒计算一次控制指令,所以全局时钟的时间增长间隔是1/frequency(时钟按照公式tick=tick+1/frequency不断更新自己的时间),时钟的每一个时间tick都在修正后的第一轨迹上对应了一个期望的位置、速度和加速度,根据时钟当前的时间tick,遍历一遍trajectory_time[n+1],从而找到tick对应哪一段修正后的子轨迹,查找到的修正后的第m个子轨迹满足下式:2. It is assumed that the control frequency of the aircraft during the trajectory following is frequency, that is, the frequency control command is sent for one second, then the control command calculation period is 1/frequency, that is, the control command is calculated every 1/frequency second, so The time increment interval of the global clock is 1/frequency (the clock constantly updates its time according to the formula tick=tick+1/frequency), and each time tick of the clock corresponds to a desired position on the corrected first track, Speed and acceleration, according to the current time tick of the clock, traversing trajectory_time[n+1], so as to find which modified sub-track corresponding to the tick, the corrected m-th sub-track is found to satisfy the following formula:
trajectory_time[m]≤tick≤trajectory_time[m+1]        3-2Trajectory_time[m]≤tick≤trajectory_time[m+1] 3-2
3、根据修正后的第m个子轨迹的参数计算当前需要达到的位置p desired,需要达到的速度v desired,以及需要达到的加速度a desired3. Calculate the current desired position p desired according to the modified parameter of the mth sub-track, the desired speed v desired , and the acceleration to be achieved a desired :
由于子轨迹多项式是归一化的,所以这个地方的tick也要归一化,即Since the sub-track polynomial is normalized, the tick in this place is also normalized, ie
Figure PCTCN2017118755-appb-000029
Figure PCTCN2017118755-appb-000029
其中,trajectory_time[m+1]-trajectory_time[m]表示修正后的第m个子轨迹的总经过时间,tick-trajectory_time[m]表示tick时刻已经进入修正后的第m个子轨迹的时间。然后根据公式2-1所示的轨迹多项式计算需要得到的位置p desired,需要达到的速度v desired,需要达到的加速度a desired,各个量的计算公式如下(trajectory_x[n][6]简写为tx[n][6]): Where trajectory_time[m+1]-trajectory_time[m] represents the total elapsed time of the corrected mth sub-track, and tick-trajectory_time[m] represents the time when the tick time has entered the corrected m-th sub-track. Then, according to the trajectory polynomial shown in Equation 2-1, the required position p desired is obtained . The required velocity v desired , the required acceleration a desired , and the calculation formula of each amount is as follows (trajectory_x[n][6] is abbreviated as tx [n][6]):
需要达到的位置p desired为: The desired position p desired is:
Figure PCTCN2017118755-appb-000030
Figure PCTCN2017118755-appb-000030
公式4-1是线性方程组的矩阵形式,展开之后就是公式2-1中的方程组,以x轴向为例,展开后可得到X轴向需要达到的位置p desired_x=tx[m][0]+tx[m][1]*t m 1+tx[m][2]*t m 2+tx[m][3]*t m 3+tx[m][4]*t m 4+tx[m][5]*t m 5,其中,tx[m][0]等于修正后的第m个子轨迹多项式的常数项
Figure PCTCN2017118755-appb-000031
另外,Y轴向和Z轴向需要达到的位置可以参照X轴向的描述。基于X轴向的位置、Y轴向的位置和Z轴向的位置即可得到需要达到的位置p desired
Equation 4-1 is a matrix form of a linear system of equations. After expansion, it is the system of equations in Equation 2-1. Taking the x-axis as an example, the position that the X-axis needs to reach is obtained after expansion. p desired_x =tx[m][ 0]+tx[m][1]*t m 1 +tx[m][2]*t m 2 +tx[m][3]*t m 3 +tx[m][4]*t m 4 +tx[m][5]*t m 5 , where tx[m][0] is equal to the constant term of the mth subtrack polynomial after correction
Figure PCTCN2017118755-appb-000031
In addition, the position that the Y axis and the Z axis need to reach can be referred to the description of the X axis. Based on the position of the X-axis, the position of the Y-axis, and the position of the Z-axis, the desired position p desired can be obtained.
需要达到的速度v desired为: The speed v desired to be achieved is:
Figure PCTCN2017118755-appb-000032
Figure PCTCN2017118755-appb-000032
公式4-2是线性方程组的矩阵形式,展开之后就是公式3-1中的方程组的一阶导数,以x轴向为例,展开后可得到X轴向需要达到的速度v desired_x=tx[m][1]+2*tx[m][2]*t m 1+3*tx[m][3]*t m 2+4*tx[m][4]*t m 3+5*tx[m][5]*t m 4,其中,tx[m][1]等于第m个修正后的子轨迹的多项式中的一阶项;另外,Y轴向和Z轴向需要达到的速度可以参照X轴向的描述。基于X轴向的速度、Y轴向的速度和Z轴向的速度即可得到需要达到的速度v desiredEquation 4-2 is a matrix form of a linear system of equations. After expansion, it is the first derivative of the system of equations in Equation 3-1. Taking the x-axis as an example, the speed required to reach the X-axis is obtained. v desired_x =tx [m][1]+2*tx[m][2]*t m 1 +3*tx[m][3]*t m 2 +4*tx[m][4]*t m 3 +5 *tx[m][5]*t m 4 , where tx[m][1] is equal to the first-order term in the polynomial of the m-th modified sub-track; in addition, the Y-axis and the Z-axis need to be reached The speed can be described with reference to the X-axis. Based on the velocity in the X-axis, the velocity in the Y-axis, and the velocity in the Z-axis, the desired velocity v desired can be obtained.
需要达到的加速度a desired为: The acceleration a desired to be achieved is:
Figure PCTCN2017118755-appb-000033
Figure PCTCN2017118755-appb-000033
公式4-3是线性方程组的矩阵形式,展开之后就是公式3-1中的方程组的二阶导数,以x轴向为例,展开后可得到X轴向需要达到的加速度a desired_x=2*tx[m][2]+6*tx[m][3]*t m 1+12*tx[m][4]*t m 2+20*tx[m][5]*t m 3,其中,tx[m][2]等于第m个修正后的子轨迹多项式的二阶项;另外,Y轴向和Z轴向需要达到的加速度可以参照X轴向的描述。基于X轴向的加速度、Y轴向的加速度和Z轴向的加速度即可得到需要达到的加速度a desiredEquation 4-3 is a matrix form of a linear system of equations. After expansion, it is the second derivative of the system of equations in Equation 3-1. Taking the x-axis as an example, the acceleration required to reach the X-axis can be obtained a desired_x = 2 *tx[m][2]+6*tx[m][3]*t m 1 +12*tx[m][4]*t m 2 +20*tx[m][5]*t m 3 Where tx[m][2] is equal to the second-order term of the m-th modified sub-track polynomial; in addition, the acceleration required to be achieved in the Y-axis and the Z-axis may be referred to the description of the X-axis. Based on the acceleration in the X-axis, the acceleration in the Y-axis, and the acceleration in the Z-axis, the desired acceleration a desired can be obtained.
根据以上原理可以得到要在第m个修正后的子轨迹上飞行时,在各个时刻需要达到的位置p desired,需要达到的速度v desired,需要达到的加速度a desired,基于同样原理即可推出该飞行器在整个修正后的第一轨迹上飞行时,在各个时刻需要达到的位置p desired,需要达到的速度v desired,需要达到的加速度a desiredAccording to the above principle, the position p desired to be reached at each moment when flying on the m-th modified sub-track can be obtained, the desired speed v desired , the required acceleration a desired , and the same principle can be used to launch the When the aircraft is flying on the entire corrected first trajectory, the position p desired at each moment is required, the speed v desired to be achieved, and the required acceleration a desired .
相应地,该飞行器在飞行的过程中将需要达到的位置p desired,需要达到的速度v desired,需要达到的加速度a desired代入到比例-积分-导数(proportion-integral-derivative,PID)控制算法(或者其他算法)来计算控制命令,该控制命令用于指示该飞行器做相应调整以使该飞行器的位置需要达到的位置p desired,速度达到需要达到的速度v desired,以及加速度达到需要达到的加速度a desiredCorrespondingly, the position that the aircraft will need to reach during flight is desired , the speed v desired is required, and the required acceleration a desired is substituted into a proportional-integral-derivative (PID) control algorithm ( Or other algorithm) to calculate a control command for instructing the aircraft to adjust accordingly such that the position of the aircraft needs to be reached p desired , the speed reaches the desired speed v desired , and the acceleration reaches the desired acceleration a Desired .
在图3所示的方法中,该飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻,然后在确定的多个飞行时刻去采集飞行状态数据并根据飞行状态数据生成第一轨迹,最后按照该第一轨迹来飞行。由于飞行时刻是按照飞行速度、打杆操作和预设距离阈值中至少一项来确定,因此能够保证确定的飞行时刻大部分都是飞行器在飞行过程中比较关键的时刻,因此基于在这样的飞行时刻采集的飞行状态数据确定的第一轨迹,能够更准确地还原人为控制的飞行轨迹。In the method shown in FIG. 3, the aircraft determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and then collects the flight state at the determined plurality of flight moments. The data generates a first trajectory based on the flight state data, and finally flies according to the first trajectory. Since the flight time is determined according to at least one of a flight speed, a strut operation, and a preset distance threshold, it can be ensured that the determined flight time is mostly a time when the aircraft is relatively critical during the flight, and thus based on such a flight The first trajectory determined by the flight state data collected at any time can more accurately restore the artificially controlled flight trajectory.
下面对本发明实施例的云台随动控制装置和控制设备进行说明。The pan/tilt following control device and control device according to the embodiment of the present invention will be described below.
请参见图4,图4是本发明实施例的一种飞行器40的结构示意图,该飞行器40包括采集模块401、生成模块402、第一拍摄模块403、第一确定模块404和优化模块405,其中,各个模块的描述如下。Referring to FIG. 4, FIG. 4 is a schematic structural diagram of an aircraft 40 according to an embodiment of the present invention. The aircraft 40 includes an acquisition module 401, a generation module 402, a first imaging module 403, a first determination module 404, and an optimization module 405. The description of each module is as follows.
采集模块401用于在多个飞行时刻拍摄第一图像和采集飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;The acquiring module 401 is configured to capture a first image and collect flight state data at a plurality of flight moments, where the flight state data includes at least one of position information, speed information, and acceleration information;
生成模块402用于根据在该多个飞行时刻采集的飞行状态数据生成第一轨迹;The generating module 402 is configured to generate a first trajectory according to the flight state data collected at the multiple flight moments;
第一拍摄模块403用于在按照该第一轨迹飞行过程中拍摄第二图像;The first shooting module 403 is configured to capture a second image during flight according to the first trajectory;
第一确定模块404用于将该第二图像与该第一图像进行比较以确定偏移量;The first determining module 404 is configured to compare the second image with the first image to determine an offset amount;
优化模块405用于根据该偏移量修正该第一轨迹以供该飞行器继续飞行。The optimization module 405 is configured to modify the first trajectory according to the offset for the aircraft to continue flying.
在一种可选的方案中,所述第一确定单元404将所述第二图像与所述第一图像进行比较以确定偏移量,具体为:所述飞行器将所述第二图像中的纹理与所述第一图像中的纹理进行比较,以确定偏移量。In an optional solution, the first determining unit 404 compares the second image with the first image to determine an offset, specifically: the aircraft will be in the second image. The texture is compared to the texture in the first image to determine an offset.
在又一种可选的方案中,该飞行器还包括第二确定模块和调整模块:In still another alternative, the aircraft further includes a second determining module and an adjusting module:
该第二确定模块用于在生成模块402根据在该多个飞行时刻采集的飞行状态数据生成第一轨迹之后,根据该第一轨迹确定飞行过程中每个控制时刻的飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;The second determining module is configured to determine flight state data of each control moment during the flight according to the first trajectory after the generating module 402 generates the first trajectory according to the flight state data collected at the plurality of flight moments, the flight state The data includes at least one of position information, speed information, and acceleration information;
调整模块用于在该每个控制时刻将自身的状态调整到该每个控制时刻的飞行状态数据所指示的状态。The adjustment module is operative to adjust its state to the state indicated by the flight state data for each control instant at each control instant.
在又一种可选的方案中,该位置信息为基于GPS技术、视角定位技术和惯性传感器定位技术中至少一项确定得到。In yet another alternative, the location information is determined based on at least one of a GPS technology, a viewing angle positioning technique, and an inertial sensor positioning technique.
在又一种可选的方案中,该飞行器还包括第三确定模块,该第三确定模块用于在该采集模块在飞行器在多个飞行时刻拍摄第一图像和采集飞行状态数据之前,在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定该多个飞行时刻。In still another optional aspect, the aircraft further includes a third determining module, the third determining module is configured to fly before the acquiring module captures the first image and collects flight state data at a plurality of flight times. The plurality of flight moments are determined according to at least one of a flight speed, a strut operation, and a preset distance threshold.
在又一种可选的方案中,该第三确定模块在该飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定该多个飞行时刻,具体为:In still another optional solution, the third determining module determines the multiple flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft, specifically:
在该飞行器飞行的过程中将每次检测到针对该飞行器的打杆操作的时刻均作为飞行时刻。The time at which the striking operation for the aircraft is detected each time during the flight of the aircraft is taken as the flight time.
在又一种可选的方案中,该飞行器在每个该飞行时刻的飞行速度均不低于预设速度阈值。In still another alternative, the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold.
在又一种可选的方案中,该飞行器在任意两个时间上相邻的该飞行时刻之间的距离不小于预设距离阈值。In still another alternative, the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
需要说明的是,各个模块的实现还可以对应参照图2所示的方法实施例的相应描述。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 .
在图4所描述的飞行器40中,该飞行器在飞行的过程中采集飞行器的飞行状态数据,以及通过摄像头拍摄第一图像;然后通过该飞行状态数据生成第一轨迹,后续按照第一轨迹飞行的过程中实时拍摄第二图像,再将第二图像与第一图像对比以确定该飞行器按照第一轨迹飞行时的偏移量,接着使用该偏移量对该第一轨迹进行修正,并按照修正后的第一轨迹继续飞行。由于修正后的第一轨迹的生成考虑到了飞行器飞行时的偏移量,因此能够减少飞行过程中所产生的迭代误差,使得最终的产生的用于飞行器自主飞行的第一轨迹能够尽可能地还原人为控制的飞行轨迹。In the aircraft 40 depicted in FIG. 4, the aircraft collects flight state data of the aircraft during flight, and captures a first image through the camera; then generates a first trajectory from the flight state data, and subsequently follows the first trajectory The second image is captured in real time, and the second image is compared with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then the first trajectory is corrected by using the offset, and corrected according to the correction After the first trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
请参见图5,图5是本发明实施例的一种飞行器50的结构示意图,该飞行器50包括确定模块501、生成模块502和飞行模块503,其中,各个模块的描述如下。Referring to FIG. 5, FIG. 5 is a schematic structural diagram of an aircraft 50 according to an embodiment of the present invention. The aircraft 50 includes a determining module 501, a generating module 502, and a flight module 503, wherein each module is described as follows.
确定模块501用于在飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集该飞行器在该多个飞行时刻的 飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;The determining module 501 is configured to determine a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft, and collect flight state data of the aircraft at the plurality of flight moments, the flight state The data includes at least one of position information, speed information, and acceleration information;
生成模块502用于根据该飞行器在该多个飞行时刻采集的飞行状态数据生成第一轨迹;The generating module 502 is configured to generate a first trajectory according to the flight state data collected by the aircraft at the multiple flight moments;
飞行模块503用于按照生成的该第一轨迹飞行。The flight module 503 is configured to fly according to the generated first trajectory.
在一种可选的方案中,该第一确定模块501在飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集该飞行器在该多个飞行时刻的飞行状态数据,具体为:In an optional solution, the first determining module 501 determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft, and collects the aircraft at the Flight status data for each flight time, specifically:
在飞行器飞行的过程中将每次检测到针对该飞行器的打杆操作的时刻均作为该飞行时刻,并采集该飞行器在该飞行时刻的飞行状态数据。The time at which the striking operation for the aircraft is detected each time during the flight of the aircraft is taken as the flight time, and the flight state data of the aircraft at the flight time is collected.
在一种可选的方案中,该飞行器在每个该飞行时刻的飞行速度均不低于预设速度阈值。In an alternative, the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold.
在又一种可选的方案中,该飞行器在任意两个时间上相邻的该飞行时刻之间的距离不小于预设距离阈值。In still another alternative, the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
在又一种可选的方案中,该位置信息为基于GPS技术、视角定位技术和惯性传感器定位技术中至少一项确定。In still another alternative, the location information is determined based on at least one of a GPS technology, a perspective positioning technique, and an inertial sensor positioning technique.
在又一种可选的方案中,确定模块501在飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集该飞行器在该多个飞行时刻的飞行状态数据,具体为:In still another optional manner, the determining module 501 determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft and collects the aircraft at the plurality of flight moments. Flight status data, specifically:
在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻,并在该多个飞行时刻拍摄第一图像和采集该飞行器的飞行状态数据;Determining a plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and capturing a first image and acquiring flight state data of the aircraft at the plurality of flight times;
该飞行模块503按照生成的该第一轨迹飞行,具体为:The flight module 503 flies according to the generated first trajectory, specifically:
首先,在按照所述第一轨迹飞行过程中拍摄第二图像;First, taking a second image during flight according to the first trajectory;
然后,将所述第二图像与所述第一图像进行比较以确定偏移量;Then comparing the second image with the first image to determine an offset;
接着,根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。The first trajectory is then modified based on the offset for the aircraft to continue flying.
在又一种可选的方案中,飞行模块503按照生成的该第一轨迹飞行,具体为:In still another optional solution, the flight module 503 flies according to the generated first trajectory, specifically:
根据该第一轨迹确定飞行过程中每个控制时刻的飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining, according to the first trajectory, flight state data of each control moment during flight, the flight state data including at least one of position information, speed information, and acceleration information;
在该每个控制时刻将飞行器的状态调整到该每个控制时刻的飞行状态数据所指示的状态。The state of the aircraft is adjusted to the state indicated by the flight state data for each control time at each of the control times.
需要说明的是,各个模块的实现还可以对应参照图3所示的方法实施例的相应描述。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 .
在图5所描述的飞行器50中,该飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻,然后在确定的多个飞行时刻去采集飞行状态数据并根据飞行状态数据生成第一轨迹,最后按照该第一轨迹来飞行。由于飞行时刻是按照飞行速度、打杆操作和预设距离阈值中至少一项来确定,因此能够保证确定的飞行时刻大部分都是飞行器在飞行过程中比较关键的时刻,因此基于在这样的飞行时刻采集的飞行状态数据确定的第一轨迹,能够更准确地还原人为控制的飞行轨迹。In the aircraft 50 depicted in FIG. 5, the aircraft determines a plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and then collects the flight at the determined plurality of flight times. The status data generates a first trajectory based on the flight state data, and finally flies according to the first trajectory. Since the flight time is determined according to at least one of a flight speed, a strut operation, and a preset distance threshold, it can be ensured that the determined flight time is mostly a time when the aircraft is relatively critical during the flight, and thus based on such a flight The first trajectory determined by the flight state data collected at any time can more accurately restore the artificially controlled flight trajectory.
请参见图6,图6是本发明实施例提供的一种飞行器60,该飞行器60包括处理器601、存储器602和摄像头603,该处理器601、存储器602和摄像头603通过总线相互连接。Referring to FIG. 6, FIG. 6 is an aircraft 60 according to an embodiment of the present invention. The aircraft 60 includes a processor 601, a memory 602, and a camera 603. The processor 601, the memory 602, and the camera 603 are connected to each other through a bus.
存储器602包括但不限于是随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),该存储器602用于相关指令及数据。摄像头603用于在飞行器70飞行过程中拍摄。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 compact disc read-only memory (CD-ROM) is used for related instructions and data. Camera 603 is used to capture aircraft during flight 70.
处理器601可以是一个或多个中央处理器(central processing unit,CPU),在处理器601是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。The processor 601 may be one or more central processing units (CPUs). In the case where the processor 601 is a CPU, the CPU may be a single core CPU or a multi-core CPU.
该飞行器60中的处理器601用于读取该存储器602中存储的程序代码,执行以下操作:The processor 601 in the aircraft 60 is configured to read the program code stored in the memory 602 and perform the following operations:
按照在多个飞行时刻拍摄第一图像和采集飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Taking the first image and collecting flight state data at a plurality of flight times, the flight state data includes at least one of position information, speed information, and acceleration information;
根据在该多个飞行时刻采集的飞行状态数据生成第一轨迹;Generating a first trajectory according to flight state data collected at the plurality of flight times;
在按照该第一轨迹飞行过程中拍摄第二图像;Taking a second image during flight according to the first trajectory;
将该第二图像与该第一图像进行比较以确定偏移量;Comparing the second image with the first image to determine an offset;
根据该偏移量修正该第一轨迹以供该飞行器继续飞行。The first trajectory is modified based on the offset for the aircraft to continue flying.
在又一种可选的方案中,所述处理器将所述第二图像与所述第一图像进行比较以确定偏移量,具体为:将所述第二图像中的纹理与所述第一图像中的纹理进行比较,以确定偏移量。In still another optional solution, the processor compares the second image with the first image to determine an offset, specifically: the texture in the second image and the first The textures in an image are compared to determine the offset.
在又一种可选的方案中,该处理器根据在所述多个飞行时刻采集的飞行状态数据生成第一轨迹之后,还用于:In still another optional solution, the processor is further configured to: after generating the first trajectory according to the flight state data collected at the multiple flight moments:
根据该第一轨迹确定飞行过程中每个控制时刻的飞行信息,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining, according to the first trajectory, flight information of each control moment during flight, the flight state data including at least one of position information, speed information, and acceleration information;
在该每个控制时刻将该飞行器的状态调整到该每个控制时刻的飞行状态数据所指示的状态。The state of the aircraft is adjusted to the state indicated by the flight state data for each control time at each of the control times.
在又一种可选的方案中,该位置信息为基于GPS技术、视角定位技术和惯性传感器定位技术中至少一项确定得到。In yet another alternative, the location information is determined based on at least one of a GPS technology, a viewing angle positioning technique, and an inertial sensor positioning technique.
在又一种可选的方案中,该处理器在多个飞行时刻拍摄第一图像和采集飞行状态数据之前,还用于:In yet another alternative, the processor is also used to: before taking the first image and collecting flight state data at multiple flight times:
在该飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定该多个飞行时刻。The plurality of flight times are determined according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft.
在又一种可选的方案中,该处理器在该飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定该多个飞行时刻,具体为:In still another optional solution, the processor determines the multiple flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft, specifically:
在飞行的过程中将每次检测到针对该飞行器的打杆操作的时刻均作为飞行时刻。The time at which the striking operation for the aircraft is detected each time during the flight is taken as the flight time.
在又一种可选的方案中,该飞行器在每个该飞行时刻的飞行速度均不低于预设速度阈值。In still another alternative, the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold.
在又一种可选的方案中,该飞行器在任意两个时间上相邻的该飞行时刻之间的距离不小于预设距离阈值。In still another alternative, the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
需要说明的是,各个操作的实现还可以对应参照图2所示的方法实施例的相应描述。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 .
在图6所描述的飞行器60中,该飞行器在飞行的过程中采集飞行器的飞行状态数据,以及通过摄像头拍摄第一图像;然后通过该飞行状态数据生成第一轨迹,后续按照第一轨迹飞行的过程中实时拍摄第二图像,再将第二图像与第一图像对比以确定该飞行器按照第一轨迹飞行时的偏移量,接着使用该偏移 量对该第一轨迹进行修正,并按照修正后的第一轨迹继续飞行。由于修正后的第一轨迹的生成考虑到了飞行器飞行时的偏移量,因此能够减少飞行过程中所产生的迭代误差,使得最终的产生的用于飞行器自主飞行的第一轨迹能够尽可能地还原人为控制的飞行轨迹。In the aircraft 60 depicted in FIG. 6, the aircraft collects flight state data of the aircraft during flight and captures a first image through the camera; then generates a first trajectory from the flight state data, and subsequently follows the first trajectory The second image is captured in real time, and the second image is compared with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then the first trajectory is corrected by using the offset, and corrected according to the correction After the first trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
请参见图7,图7是本发明实施例提供的一种飞行器70,该飞行器70包括处理器701和存储器702,该处理器701和存储器702可通过总线相互连接。另外,该飞行器还可以包括摄像头703,用于在飞行器70飞行过程中拍摄。Referring to FIG. 7, FIG. 7 is an aircraft 70 provided by an embodiment of the present invention. The aircraft 70 includes a processor 701 and a memory 702. The processor 701 and the memory 702 can be connected to each other through a bus. Additionally, the aircraft may also include a camera 703 for photographing during flight of the aircraft 70.
存储器702包括但不限于随机存储记忆体(random access memory,RAM)、只读存储器(read-only memory,ROM)、可擦除可编程只读存储器(erasable programmable read only memory,EPROM)、或便携式只读存储器(compact disc read-only memory,CD-ROM),存储器702用于相关指令及数据。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 A compact disc read-only memory (CD-ROM) is used for the associated instructions and data.
处理器701可以是一个或多个中央处理器(central processing unit,CPU),在处理器701是一个CPU的情况下,该CPU可以是单核CPU,也可以是多核CPU。The processor 701 may be one or more central processing units (CPUs). In the case where the processor 701 is a CPU, the CPU may be a single core CPU or a multi-core CPU.
该飞行器70中的处理器701用于读取该存储器702中存储的程序代码,执行以下操作:The 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 times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft and collecting flight state data of the aircraft at the plurality of flight times, the flight state data including location information At least one of speed information and acceleration information;
根据该飞行器在该多个飞行时刻采集的飞行状态数据生成第一轨迹;Generating a first trajectory according to flight state data acquired by the aircraft at the plurality of flight moments;
按照生成的该第一轨迹控制该飞行器飞行。The aircraft flight is controlled in accordance with the generated first trajectory.
在一种可选的方案中,该处理器在该飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集该飞行器在该多个飞行时刻的飞行状态数据,具体为:In an optional solution, the processor determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft, and collects the aircraft at the multiple flight moments. Flight status data, specifically:
飞行的过程中将每次检测到针对该飞行器的打杆操作的时刻均作为飞行时刻,并采集该飞行器在该飞行时刻的飞行状态数据。During the flight, each time the hitting operation for the aircraft is detected as the flight time, and the flight state data of the aircraft at the flight time is collected.
在又一种可选的方案中,该飞行器在每个该飞行时刻的飞行速度均不低于预设速度阈值。In still another alternative, the flight speed of the aircraft at each of the flight moments is not lower than a preset speed threshold.
在又一种可选的方案中,该飞行器在任意两个时间上相邻的该飞行时刻之 间的距离不小于预设距离阈值。In still another alternative, the distance between the flight moments adjacent to the aircraft at any two times is not less than a preset distance threshold.
在又一种可选的方案中,该位置信息为基于GPS技术、视角定位技术和惯性传感器定位技术中至少一项确定。In still another alternative, the location information is determined based on at least one of a GPS technology, a perspective positioning technique, and an inertial sensor positioning technique.
在又一种可选的方案中,该处理器在该飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集该飞行器在所述多个飞行时刻的飞行状态数据,具体为:In still another optional manner, the processor determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during the flight of the aircraft and collects the aircraft in the plurality of Flight status data at the moment of flight, specifically:
在该飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻,并在该多个飞行时刻拍摄第一图像和采集该飞行器的飞行状态数据;Determining a plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft, and capturing a first image and acquiring flight state data of the aircraft at the plurality of flight times;
该处理器按照生成的该第一轨迹飞行,具体为:The processor flies according to the generated first trajectory, specifically:
在按照所述第一轨迹飞行过程中拍摄第二图像;Taking a second image during flight according to the first trajectory;
将所述第二图像与所述第一图像进行比较以确定偏移量;Comparing the second image with the first image to determine an offset;
根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。The first trajectory is modified for the aircraft to continue flying according to the offset.
在又一种可选的方案中,该处理器按照生成的所述第一轨迹飞行,具体为:In still another optional solution, the processor flies according to the generated first trajectory, specifically:
根据该第一轨迹确定飞行过程中每个控制时刻的飞行状态数据,该飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining, according to the first trajectory, flight state data of each control moment during flight, the flight state data including at least one of position information, speed information, and acceleration information;
在该每个控制时刻将该飞行器的状态调整到该每个控制时刻的飞行状态数据所指示的状态。The state of the aircraft is adjusted to the state indicated by the flight state data for each control time at each of the control times.
需要说明的是,各个操作的实现还可以对应参照图3所示的方法实施例的相应描述。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 .
在图7所描述的飞行器70中,该飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻,然后在确定的多个飞行时刻去采集飞行状态数据并根据飞行状态数据生成第一轨迹,最后按照该第一轨迹来飞行。由于飞行时刻是按照飞行速度、打杆操作和预设距离阈值中至少一项来确定,因此能够保证确定的飞行时刻大部分都是飞行器在飞行过程中比较关键的时刻,因此基于在这样的飞行时刻采集的飞行状态数据确定的第一轨迹,能够更准确地还原人为控制的飞行轨迹。In the aircraft 70 depicted in FIG. 7, the aircraft determines a plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and then collects the flight at the determined plurality of flight times. The status data generates a first trajectory based on the flight state data, and finally flies according to the first trajectory. Since the flight time is determined according to at least one of a flight speed, a strut operation, and a preset distance threshold, it can be ensured that the determined flight time is mostly a time when the aircraft is relatively critical during the flight, and thus based on such a flight The first trajectory determined by the flight state data collected at any time can more accurately restore the artificially controlled flight trajectory.
本发明实施例还提供一种芯片系统,该芯片系统包括至少一个处理器,存储器和接口电路,该存储器、该收发器和该至少一个处理器通过线路互联,该 至少一个存储器中存储有程序指令;该程序指令被该处理器执行时,实现图2或图3所示的方法流程。The embodiment of the present invention further provides a chip system including at least one processor, a memory and an interface circuit, the memory, the transceiver and the at least one processor are interconnected by a line, and the at least one memory stores program instructions When the program instruction is executed by the processor, the method flow shown in FIG. 2 or FIG. 3 is implemented.
本发明实施例还提供一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在网络设备上运行时,实现图2或图3所示的方法流程。The embodiment of the invention further provides a computer readable storage medium, wherein the computer readable storage medium stores instructions, and when it runs on the network device, implements the method flow shown in FIG. 2 or FIG.
本发明实施例还提供一种计算机程序产品,当该计算机程序产品在处理器上运行时,实现图2或图3所示的方法流程。The embodiment of the present invention further provides a computer program product, which implements the method flow shown in FIG. 2 or FIG. 3 when the computer program product runs on a processor.
综上,在本发明实施例中,该飞行器在飞行的过程中采集飞行器的飞行状态数据,以及通过摄像头拍摄第一图像;然后通过该飞行状态数据生成第一轨迹,后续按照第一轨迹飞行的过程中实时拍摄第二图像,再将第二图像与第一图像对比以确定该飞行器按照第一轨迹飞行时的偏移量,接着使用该偏移量对该第一轨迹进行修正,并按照修正后的第一轨迹继续飞行。由于修正后的第一轨迹的生成考虑到了飞行器飞行时的偏移量,因此能够减少飞行过程中所产生的迭代误差,使得最终的产生的用于飞行器自主飞行的第一轨迹能够尽可能地还原人为控制的飞行轨迹。In summary, in the embodiment of the present invention, the aircraft collects flight state data of the aircraft during flight, and captures a first image by the camera; and then generates a first trajectory by using the flight state data, and subsequently follows the first trajectory. The second image is captured in real time, and the second image is compared with the first image to determine an offset of the aircraft when flying according to the first trajectory, and then the first trajectory is corrected by using the offset, and corrected according to the correction After the first trajectory continues to fly. Since the generation of the corrected first trajectory takes into account the offset of the flight of the aircraft, it is possible to reduce the iteration error generated during the flight, so that the resulting first trajectory for the autonomous flight of the aircraft can be restored as much as possible. Artificially controlled flight path.
可以理解,以上所揭露的仅为本发明实施例的部分实施例而已,当然不能以此来限定本发明之权利范围,本领域普通技术人员可以理解实现上述实施例的全部或部分流程,并依本发明权利要求所作的等同变化,仍属于发明所涵盖的范围。It is to be understood that the foregoing is only a part of the embodiments of the present invention, and the scope of the present invention is not limited thereto. Those skilled in the art can understand the implementation of all or part of the above embodiments. Equivalent variations of the claims of the invention are still within the scope of the invention.

Claims (31)

  1. 一种飞行轨迹原路复演方法,其特征在于,包括:A flight path original road replay method, characterized in that:
    飞行器在多个飞行时刻拍摄第一图像和采集飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;The aircraft captures the first image and collects flight state data at a plurality of flight times, the flight state data including at least one of position information, speed information, and acceleration information;
    所述飞行器根据在所述多个飞行时刻采集的飞行状态数据生成第一轨迹,所述第一轨迹用于供所述飞行器飞行;The aircraft generates a first trajectory based on flight state data collected at the plurality of flight times, the first trajectory being used for flight of the aircraft;
    所述飞行器在按照所述第一轨迹飞行过程中拍摄第二图像;The aircraft captures a second image during flight in accordance with the first trajectory;
    所述飞行器将所述第二图像与所述第一图像进行比较以确定偏移量;The aircraft compares the second image with the first image to determine an offset;
    所述飞行器根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。The aircraft corrects the first trajectory based on the offset for the aircraft to continue flying.
  2. 根据权利要求1所述的方法,其特征在于,所述飞行器将所述第二图像与所述第一图像进行比较以确定偏移量,包括:The method of claim 1 wherein said aircraft compares said second image with said first image to determine an offset comprises:
    所述飞行器将所述第二图像中的纹理与所述第一图像中的纹理进行比较,以确定偏移量。The aircraft compares the texture in the second image to the texture in the first image to determine an offset.
  3. 根据权利要求1所述的方法,其特征在于,所述飞行器根据在所述多个飞行时刻采集的飞行状态数据生成第一轨迹之后,还包括:The method according to claim 1, wherein the aircraft further comprises: after generating the first trajectory according to the flight state data collected at the plurality of flight moments, further comprising:
    所述飞行器根据所述第一轨迹确定飞行过程中每个控制时刻的飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining, according to the first trajectory, flight state data of each control moment during flight, the flight state data including at least one of position information, speed information, and acceleration information;
    所述飞行器在所述每个控制时刻将自身的状态调整到所述每个控制时刻的飞行状态数据所指示的状态。The aircraft adjusts its state to the state indicated by the flight state data for each of the control moments at each of the control instants.
  4. 根据权利要求1所述的方法,其特征在于,所述位置信息为基于GPS技术、视觉定位技术和惯性传感器定位技术中至少一项确定得到。The method of claim 1 wherein the location information is determined based on at least one of a GPS technology, a visual positioning technique, and an inertial sensor positioning technique.
  5. 根据权利要求1-4任一项所述的方法,其特征在于,所述飞行器在多个飞行时刻拍摄第一图像和采集飞行状态数据之前,还包括:The method according to any one of claims 1 to 4, wherein before the aircraft captures the first image and collects flight state data at a plurality of flight times, the aircraft further comprises:
    所述飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定所述多个飞行时刻。The aircraft determines the plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight.
  6. 根据权利要求5所述的方法,其特征在于,所述飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定所述多个飞行时刻,包括:The method according to claim 5, wherein the aircraft determines the plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight, including:
    所述飞行器在飞行的过程中将每次检测到针对所述飞行器的打杆操作的时刻均作为飞行时刻。The aircraft will each time detect the moment of the striking operation for the aircraft as the flight time during the flight.
  7. 根据权利要求5所述的方法,其特征在于,所述飞行器在每个所述飞行时刻的飞行速度均不低于预设速度阈值。The method of claim 5 wherein said aircraft has a flight speed at each of said flight moments that is not below a preset speed threshold.
  8. 根据权利要求5所述的方法,其特征在于,所述飞行器在任意两个时间上相邻的所述飞行时刻之间的距离不小于预设距离阈值。The method of claim 5 wherein the distance between said flight moments adjacent to said aircraft at any two times is not less than a predetermined distance threshold.
  9. 一种飞行轨迹原路复演方法,其特征在于,包括:A flight path original road replay method, characterized in that:
    飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集所述飞行器在所述多个飞行时刻的飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;The aircraft determines a plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight and collects flight state data of the aircraft at the plurality of flight times, the flight state data including At least one of position information, speed information, and acceleration information;
    所述飞行器根据所述飞行器在所述多个飞行时刻采集的飞行状态数据生成第第一轨迹;The aircraft generates a first trajectory according to flight state data collected by the aircraft at the plurality of flight moments;
    所述飞行器按照生成的所述第一轨迹飞行。The aircraft flies in accordance with the generated first trajectory.
  10. 根据权利要求9所述的方法,其特征在于,所述飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集所述飞行器在所述多个飞行时刻的飞行状态数据,包括:The method according to claim 9, wherein the aircraft determines a plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight and collects the aircraft in the Flight status data for multiple flight times, including:
    所述飞行器在飞行的过程中将每次检测到针对所述飞行器的打杆操作的时刻均作为所述飞行时刻,并采集所述飞行器在所述飞行时刻的飞行状态数据。The aircraft will each time detect the moment of the striking operation for the aircraft as the flight time during the flight, and collect flight state data of the aircraft at the flight time.
  11. 根据权利要求9所述的方法,其特征在于,所述飞行器在每个所述飞行时刻的飞行速度均不低于预设速度阈值。The method of claim 9 wherein said aircraft has a flight speed at each of said flight moments that is not below a preset speed threshold.
  12. 根据权利要求9所述的方法,其特征在于,所述飞行器在任意两个时 间上相邻的所述飞行时刻之间的距离不小于预设距离阈值。The method of claim 9 wherein the distance between said flight moments adjacent to said aircraft at any two times is not less than a predetermined distance threshold.
  13. 根据权利要求9-12任一项所述的方法,其特征在于,所述位置信息为基于GPS技术、视觉定位技术和惯性传感器定位技术中至少一项确定。The method of any of claims 9-12, wherein the location information is determined based on at least one of a GPS technology, a visual positioning technique, and an inertial sensor positioning technique.
  14. 根据权利要求13任一项所述的方法,其特征在于,所述飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集所述飞行器在所述多个飞行时刻的飞行状态数据,包括:The method according to any one of claims 13 to 13, wherein the aircraft determines a plurality of flight times and collects the aircraft according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight. Flight status data at the plurality of flight times, including:
    飞行器在飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻,并在所述多个飞行时刻拍摄第一图像和采集所述飞行器的飞行状态数据;The aircraft determines a plurality of flight moments according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight, and captures the first image and acquires flight state data of the aircraft at the plurality of flight moments;
    所述飞行器按照生成的所述第一轨迹飞行,包括:The aircraft flies according to the generated first trajectory, including:
    所述飞行器在按照所述第一轨迹飞行过程中拍摄第二图像;The aircraft captures a second image during flight in accordance with the first trajectory;
    所述飞行器将所述第二图像与所述第一图像进行比较以确定偏移量;The aircraft compares the second image with the first image to determine an offset;
    所述飞行器根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。The aircraft corrects the first trajectory based on the offset for the aircraft to continue flying.
  15. 根据权利要求14所述的方法,其特征在于,所述飞行器按照生成的所述第一轨迹飞行,包括:The method of claim 14, wherein the aircraft flies according to the generated first trajectory comprises:
    所述飞行器根据所述第一轨迹确定飞行过程中每个控制时刻的飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining, according to the first trajectory, flight state data of each control moment during flight, the flight state data including at least one of position information, speed information, and acceleration information;
    所述飞行器在所述每个控制时刻将自身的状态调整到所述每个控制时刻的飞行状态数据所指示的状态。The aircraft adjusts its state to the state indicated by the flight state data for each of the control moments at each of the control instants.
  16. 一种飞行器,其特征在于,所述飞行器包括处理器、存储器和摄像头,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行如下操作:An aircraft, characterized in that the aircraft comprises a processor, a memory and a camera, the memory is for storing program instructions, and the processor is for calling the program instructions to perform the following operations:
    按照在多个飞行时刻拍摄第一图像和采集飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Taking the first image and collecting flight state data at a plurality of flight times, the flight state data includes at least one of position information, speed information, and acceleration information;
    根据在所述多个飞行时刻采集的飞行状态数据生成第一轨迹;Generating a first trajectory according to flight state data collected at the plurality of flight times;
    在按照所述第一轨迹飞行过程中拍摄第二图像;Taking a second image during flight according to the first trajectory;
    将所述第二图像与所述第一图像进行比以确定偏移量;Comparing the second image to the first image to determine an offset;
    根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。The first trajectory is modified for the aircraft to continue flying according to the offset.
  17. 根据权利要16所述的飞行器,其特征在于,所述处理器将所述第二图像与所述第一图像进行比较以确定偏移量,具体为:The aircraft according to claim 16, wherein the processor compares the second image with the first image to determine an offset, specifically:
    将所述第二图像中的纹理与所述第一图像中的纹理进行比较,以确定偏移量。The texture in the second image is compared to the texture in the first image to determine an offset.
  18. 根据权利要求16所述的飞行器,其特征在于,所述处理器根据在所述多个飞行时刻采集的飞行状态数据生成第一轨迹之后,还用于:The aircraft according to claim 16, wherein the processor is further configured to: after generating the first trajectory according to the flight state data collected at the plurality of flight moments:
    根据所述第一轨迹确定飞行过程中每个控制时刻的飞行信息,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining, according to the first trajectory, flight information of each control moment during flight, the flight state data including at least one of position information, speed information, and acceleration information;
    在所述每个控制时刻将所述飞行器的状态调整到所述每个控制时刻的飞行状态数据所指示的状态。The state of the aircraft is adjusted to the state indicated by the flight state data for each of the control times at each of the control moments.
  19. 根据权利要求16所述的飞行器,其特征在于,所述位置信息为基于GPS技术、视角定位技术和惯性传感器定位技术中至少一项确定得到。The aircraft of claim 16 wherein said position information is determined based on at least one of a GPS technology, a perspective positioning technique, and an inertial sensor positioning technique.
  20. 根据权利要求16-19任一项所述的飞行器,其特征在于,所述处理器在多个飞行时刻拍摄第一图像和采集飞行状态数据之前,还用于:The aircraft according to any one of claims 16 to 19, wherein the processor is further configured to: before taking the first image and collecting flight state data at a plurality of flight moments:
    在所述飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定所述多个飞行时刻。The plurality of flight times are determined based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft.
  21. 根据权利要求20所述的飞行器,其特征在于,所述处理器在所述飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定所述多个飞行时刻,具体为:The aircraft according to claim 20, wherein said processor determines said plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight of said aircraft, specifically for:
    在飞行的过程中将每次检测到针对所述飞行器的打杆操作的时刻均作为飞行时刻。The time at which the striking operation for the aircraft is detected each time during the flight is taken as the flight time.
  22. 根据权利要求20所述的飞行器,其特征在于,所述飞行器在每个所 述飞行时刻的飞行速度均不低于预设速度阈值。The aircraft according to claim 20, wherein said aircraft has a flight speed at each of said flight moments not lower than a preset speed threshold.
  23. 根据权利要求20所述的飞行器,其特征在于,所述飞行器在任意两个时间上相邻的所述飞行时刻之间的距离不小于预设距离阈值。The aircraft of claim 20 wherein the distance between said flight moments adjacent to said aircraft at any two times is not less than a predetermined distance threshold.
  24. 一种飞行器,其特征在于,所述飞行器包括处理器和存储器,所述存储器用于存储程序指令,所述处理器用于调用所述程序指令来执行如下操作:An aircraft, characterized in that the aircraft comprises a processor and a memory, the memory is for storing program instructions, and the processor is configured to call the program instructions to perform the following operations:
    在所述飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集所述飞行器在所述多个飞行时刻的飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining a plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft and acquiring flight state data of the aircraft at the plurality of flight times, the flight state The data includes at least one of position information, speed information, and acceleration information;
    根据所述飞行器在所述多个飞行时刻采集的飞行状态数据生成第一轨迹;Generating a first trajectory according to flight state data acquired by the aircraft at the plurality of flight moments;
    按照生成的所述第一轨迹控制所述飞行器飞行。The aircraft flight is controlled in accordance with the generated first trajectory.
  25. 根据权利要求24所述的飞行器,其特征在于,所述处理器在所述飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻并采集所述飞行器在所述多个飞行时刻的飞行状态数据,具体为:The aircraft according to claim 24, wherein said processor determines a plurality of flight times and collects said plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight of said aircraft The flight state data of the aircraft at the plurality of flight moments is specifically:
    飞行的过程中将每次检测到针对所述飞行器的打杆操作的时刻均作为飞行时刻,并采集所述飞行器在所述飞行时刻的飞行状态数据。The time at which the striking operation for the aircraft is detected each time during flight is taken as the flight time, and the flight state data of the aircraft at the flight time is collected.
  26. 根据权利要求24所述的飞行器,其特征在于,所述飞行器在每个所述飞行时刻的飞行速度均不低于预设速度阈值。The aircraft according to claim 24, wherein said aircraft has a flight speed at each of said flight moments not lower than a preset speed threshold.
  27. 根据权利要求24所述的飞行器,其特征在于,所述飞行器在任意两个时间上相邻的所述飞行时刻之间的距离不小于预设距离阈值。The aircraft according to claim 24, wherein the distance between said flight moments adjacent to said aircraft at any two times is not less than a preset distance threshold.
  28. 根据权利要求24-27任一项所述的飞行器,其特征在于,所述位置信息为基于GPS技术、视角定位技术和惯性传感器定位技术中至少一项确定。The aircraft according to any one of claims 24 to 27, wherein the position information is determined based on at least one of a GPS technology, a perspective positioning technique, and an inertial sensor positioning technique.
  29. 根据权利要求28任一项所述的飞行器,其特征在于,所述处理器在所述飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项 确定多个飞行时刻并采集所述飞行器在所述多个飞行时刻的飞行状态数据,具体为:The aircraft according to any one of claims 28 to 28, wherein the processor determines a plurality of flight times based on at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft and Collecting flight state data of the aircraft at the plurality of flight moments, specifically:
    在所述飞行器飞行的过程中根据飞行速度、打杆操作和预设距离阈值中至少一项确定多个飞行时刻,并在所述多个飞行时刻拍摄第一图像和采集所述飞行器的飞行状态数据;Determining a plurality of flight times according to at least one of a flight speed, a strut operation, and a preset distance threshold during flight of the aircraft, and capturing a first image and acquiring a flight state of the aircraft at the plurality of flight times data;
    所述处理器按照生成的所述第一轨迹飞行,具体为:The processor flies according to the generated first trajectory, specifically:
    在按照所述第一轨迹飞行过程中拍摄第二图像;Taking a second image during flight according to the first trajectory;
    将所述第二图像与所述第一图像进行比较以确定偏移量;Comparing the second image with the first image to determine an offset;
    根据所述偏移量修正所述第一轨迹以供所述飞行器继续飞行。The first trajectory is modified for the aircraft to continue flying according to the offset.
  30. 根据权利要求28所述的飞行器,其特征在于,所述处理器按照生成的所述第一轨迹飞行,具体为:The aircraft according to claim 28, wherein the processor flies according to the generated first trajectory, specifically:
    根据所述第一轨迹确定飞行过程中每个控制时刻的飞行状态数据,所述飞行状态数据包括位置信息、速度信息和加速度信息中至少一项;Determining, according to the first trajectory, flight state data of each control moment during flight, the flight state data including at least one of position information, speed information, and acceleration information;
    在所述每个控制时刻将所述飞行器的状态调整到所述每个控制时刻的飞行状态数据所指示的状态。The state of the aircraft is adjusted to the state indicated by the flight state data for each of the control times at each of the control moments.
  31. 一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有程序指令,当所述程序指令在处理器上运行时,实现权利要求1-15任一所述的方法。A computer readable storage medium, wherein the computer readable storage medium stores program instructions that, when executed on a processor, implement the method of any of claims 1-15.
PCT/CN2017/118755 2017-12-26 2017-12-26 Method of repeating flight path and aerial vehicle WO2019127052A1 (en)

Priority Applications (3)

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
CN201780023180.7A CN109074095B (en) 2017-12-26 2017-12-26 Flight trajectory original path rehearsal method and aircraft
PCT/CN2017/118755 WO2019127052A1 (en) 2017-12-26 2017-12-26 Method of repeating flight path and aerial vehicle

Applications Claiming Priority (1)

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

Publications (1)

Publication Number Publication Date
WO2019127052A1 true WO2019127052A1 (en) 2019-07-04

Family

ID=64812408

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2017/118755 WO2019127052A1 (en) 2017-12-26 2017-12-26 Method of repeating flight path and aerial vehicle

Country Status (2)

Country Link
CN (2) CN109074095B (en)
WO (1) WO2019127052A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290436A (en) * 2020-03-16 2020-06-16 北京机电工程研究所 Aircraft wireless instruction correction method and system

Families Citing this family (6)

* Cited by examiner, † Cited by third party
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
WO2021000225A1 (en) * 2019-07-01 2021-01-07 深圳市大疆创新科技有限公司 Method and apparatus for controlling movable platform, and device and storage medium
CN112585956B (en) * 2019-11-29 2023-05-19 深圳市大疆创新科技有限公司 Track replay method, system, movable platform and storage medium
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
CN116227195B (en) * 2023-03-02 2023-11-03 北京国星创图科技有限公司 Method for correcting real-time state of simulation space environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103941748A (en) * 2014-04-29 2014-07-23 百度在线网络技术(北京)有限公司 Autonomous navigation method and system and map modeling method and system
CN104035446A (en) * 2014-05-30 2014-09-10 深圳市大疆创新科技有限公司 Unmanned aerial vehicle course generation method and system
US20150226575A1 (en) * 2013-06-20 2015-08-13 University Of Florida Research Foundation, Inc. Flight path development for remote sensing vehicles in a moving reference frame
CN106325305A (en) * 2015-06-29 2017-01-11 优利科技有限公司 Geo-location or navigation type camera, aircraft, and navigation method and system thereof
CN106705963A (en) * 2016-12-28 2017-05-24 北京兆易创新科技股份有限公司 Method and device for automatic course reversal control

Family Cites Families (15)

* Cited by examiner, † Cited by third party
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
CN103345826B (en) * 2013-07-05 2017-07-18 深圳市大疆创新科技有限公司 Remote terminal, flight assisting system and the method for unmanned vehicle
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
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
WO2018098678A1 (en) * 2016-11-30 2018-06-07 深圳市大疆创新科技有限公司 Aircraft control method, device, and apparatus, and aircraft
CN106774398A (en) * 2016-12-20 2017-05-31 北京小米移动软件有限公司 Take photo by plane method and device, unmanned plane
CN206451423U (en) * 2017-01-20 2017-08-29 甘肃工业职业技术学院 A kind of unmanned plane aerophotogrammetry teaching simulating device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150226575A1 (en) * 2013-06-20 2015-08-13 University Of Florida Research Foundation, Inc. Flight path development for remote sensing vehicles in a moving reference frame
CN103941748A (en) * 2014-04-29 2014-07-23 百度在线网络技术(北京)有限公司 Autonomous navigation method and system and map modeling method and system
CN104035446A (en) * 2014-05-30 2014-09-10 深圳市大疆创新科技有限公司 Unmanned aerial vehicle course generation method and system
CN106325305A (en) * 2015-06-29 2017-01-11 优利科技有限公司 Geo-location or navigation type camera, aircraft, and navigation method and system thereof
CN106705963A (en) * 2016-12-28 2017-05-24 北京兆易创新科技股份有限公司 Method and device for automatic course reversal control

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111290436A (en) * 2020-03-16 2020-06-16 北京机电工程研究所 Aircraft wireless instruction correction method and system
CN111290436B (en) * 2020-03-16 2023-04-07 北京机电工程研究所 Aircraft wireless instruction correction method and system

Also Published As

Publication number Publication date
CN114564036A (en) 2022-05-31
CN109074095A (en) 2018-12-21
CN109074095B (en) 2022-04-01

Similar Documents

Publication Publication Date Title
WO2019127052A1 (en) Method of repeating flight path and aerial vehicle
US10901435B2 (en) Heading generation method and system of unmanned aerial vehicle
US11649052B2 (en) System and method for providing autonomous photography and videography
CN109952755B (en) Flight path generation method, flight path generation system, flight object, and recording medium
CN109071034A (en) Switch method, controller and the image stability augmentation equipment of holder operating mode
WO2018098704A1 (en) Control method, apparatus, and system, unmanned aerial vehicle, and mobile platform
CN105242685B (en) A kind of accompanying flying unmanned plane system and method
CN110268704B (en) Video processing method, device, unmanned aerial vehicle and system
WO2019126958A1 (en) Yaw attitude control method, unmanned aerial vehicle, and computer readable storage medium
WO2018193574A1 (en) Flight path generation method, information processing device, flight path generation system, program and recording medium
CN110651466A (en) Shooting control method and device for movable platform
CN107643758A (en) Shoot the autonomous system and method that include unmanned plane and earth station of mobile image
WO2019051640A1 (en) Control method for pan-tilt, controller, and pan-tilt
CN113875222B (en) Shooting control method and device, unmanned aerial vehicle and computer readable storage medium
CN110337668B (en) Image stability augmentation method and device
Valenti et al. An autonomous flyer photographer
CN110771137A (en) Time-delay shooting control method and device
CN110099206B (en) Robot-based photographing method, robot and computer-readable storage medium
CN111699453A (en) Control method, device and equipment of movable platform and storage medium
WO2021115192A1 (en) Image processing device, image processing method, program and recording medium
JP6997170B2 (en) Shape generation method, image acquisition method, mobile platform, flying object, program and recording medium
CN116907506A (en) Unmanned aerial vehicle-based track memory method, device and equipment
CN115933758A (en) Cloud deck motion control method and system, cloud deck and computer readable storage medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 17936434

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 17936434

Country of ref document: EP

Kind code of ref document: A1