Patent Publication Number: US-11644850-B2

Title: Aircraft

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application is a U.S. National stage of International Application No. PCT/JP2017/034310, filed on Sep. 22, 2017. 
     BACKGROUND 
     Field of the Invention 
     The present invention generally relates to the field of aircraft. More specifically, the present invention relates to the field of aircraft with terrain following function. 
     Background Information 
     Recently, with the rapid development of unmanned aerial vehicle technology, unmanned aerial vehicles have been used for a wide range of industrial application, such as agricultural uses including spraying, seeding and the like. 
     For the agricultural uses, unmanned aerial vehicles need to fly over the ground (or crops) while maintaining a target altitude relative to the ground (or the crops). For example, for spraying, unmanned aerial vehicles preferably fly 3 to 5 meters above the ground (or 2 to 3 meters above crops). One example of a conventional autonomous flying control of an aircraft is disclosed in Japanese Patent Application Publication No. H11-231049. With such autonomous flying control, an aircraft is controlled to follow a predetermined flight path. In addition, unmanned aerial vehicles are sometimes controlled to maintain a target altitude relative to the ground by detecting the altitude relative to the ground using a ground altimeter. 
     SUMMARY 
     It has been discovered that when such an unmanned aircraft flies along a predetermined flight path over an undulating ground, such as a vineyard, many waypoints are needed to be prepared along the undulating ground together with target altitudes for the waypoint in order for the unmanned aircraft to maintain a target altitude relative to the ground. 
     On the other hand, if a ground altimeter is used, then it is necessary to process the range data for eliminating noise of high frequency components of the range data caused by detecting crops or protrusions of the ground from the range data of the ground altimeter. This causes the delay in detecting the altitude of the unmanned aerial vehicles. Thus, it is difficult to promptly control the altitude of the unmanned aerial vehicles based on the range data of the ground altimeter, which in turn requires extra margin in the target altitude of the unmanned aerial vehicles so as to properly navigate the unmanned aerial vehicles. Therefore, it is difficult to control the unmanned aerial vehicles based on the range data of the ground altimeter to fly over the undulating ground at desired target altitudes for various applications. For these reasons, the terrain following control using the ground altimeter is only used when the unmanned aerial vehicles fly over the ground with little undulation, such as a paddy field, or the ground with gentle undulation, or when the unmanned aerial vehicles fly over the ground at more than 10 meters, such as at 30 meters, from the ground. 
     Generally, the present disclosure is directed to various features of an aircraft with terrain following function. 
     In accordance with one aspect of the present disclosure, an aircraft includes at least one sensor, an altitude actuator, a memory device and an electronic controller. The at least one sensor detects altitude of the aircraft, current position of the aircraft and speed of the aircraft. The altitude actuator changes the altitude of the aircraft. The memory device stores predetermined terrain data of an area. The electronic controller estimates a future position of the aircraft based on a detected current position of the aircraft and a detected speed of the aircraft. The electronic controller controls the altitude actuator based on the future position, a detected altitude of the aircraft and the predetermined terrain data. 
     Also, other features, aspects and advantages of the disclosed aircraft will become apparent to those skilled in the field of manufacturing aircrafts from the following detailed description, which, taken in conjunction with the annexed drawings, discloses several illustrative embodiments of an aircraft with various features. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Referring now to the attached drawings which form a part of this original disclosure: 
         FIG.  1    is a perspective view of an unmanned helicopter in accordance with one embodiment, illustrating the unmanned helicopter flying over a vineyard under a terrain following control. 
         FIG.  2    is a perspective view of the unmanned helicopter illustrated in  FIG.  1   . 
         FIG.  3    is a block diagram of a flight control system of the unmanned helicopter illustrated in  FIG.  1   . 
         FIG.  4    is a top plan view of a flight area of the unmanned helicopter, illustrating a predetermined flight path of the unmanned helicopter set in a prescribed flight area. 
         FIG.  5    is an enlarged perspective view of the prescribed flight area of the unmanned helicopter, illustrating the predetermined flight path mapped on the undulating surface of the ground. 
         FIG.  6    is a flow chart of the terrain following control executed by the flight control system of the unmanned helicopter, illustrating the overall process of the terrain following control. 
         FIG.  7    is a flow chart of the terrain following control executed by the flight control system of the unmanned helicopter, illustrating a calculation process of a future position of the unmanned helicopter. 
         FIG.  8    is a display image displayed on a display in a ground station, showing flight status (future positions) of the unmanned helicopter. 
         FIG.  9    illustrates an example of DEM data of the prescribed flight area, illustrating a two-dimensional contour graph of the prescribed flight area. 
         FIG.  10    is a schematic diagram illustrating the terrain following control executed by the flight control system of the unmanned helicopter. 
         FIG.  11    is a logic circuit diagram illustrating the terrain following control executed by the flight control system of the unmanned helicopter illustrated in  FIG.  1   , illustrating a calculation process of a target vertical velocity of the unmanned helicopter. 
         FIG.  12    is a graph showing control results of the terrain following control in accordance with one embodiment. 
         FIG.  13    is a graph showing control result of a terrain following control in accordance with a comparative example. 
         FIG.  14    is a partial block diagram of a flight control system of an unmanned helicopter in accordance with a modification example. 
     
    
    
     It should be noted that these figures are intended to illustrate the general characteristics of methods, structure and/or materials utilized in certain illustrative embodiments and to supplement the written description provided below. These drawings are not, however, to scale and may not precisely reflect the precise structural or performance characteristics of any given embodiment, and should not be interpreted as defining or limiting the range of values or properties encompassed by illustrative embodiments. The use of similar or identical reference numbers in the various drawings is intended to indicate the presence of a similar or identical element or feature. 
     DETAILED DESCRIPTION OF EMBODIMENTS 
     Selected embodiments will now be explained with reference to the drawings. It will be apparent to those skilled in the art from this disclosure that the following descriptions of the embodiments are provided for illustration only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents. Like reference numerals in the drawings denote like similar or identical elements or features, and thus the descriptions of the similar or identical elements or features may be omitted in later embodiments. 
     Referring initially to  FIG.  1   , an unmanned helicopter  10  (e.g., an aircraft) is illustrated in accordance with one embodiment. As illustrated in  FIG.  1   , the unmanned helicopter  10  flies over a ground GD within a prescribed flight area FA to spray agricultural materials, such as chemicals, fertilizers and seeds, for crops. Specifically, the unmanned helicopter  10  has a terrain following function that performs a terrain following control (described later) to maintain the altitude of the unmanned helicopter  10  relative to a surface of the ground GD at a predetermined target altitude Sz (e.g., a target altitude). In the illustrated embodiment, the predetermined target altitude Sz is set to 3 meters, for example. However, the predetermined target altitude Sz can be set to different value, as needed and/or desired. In the illustrated embodiment, the unmanned helicopter  10  is used for agricultural uses. However, the unmanned helicopter  10  can also be used for a wide range of industrial application other than the agricultural uses. Also, in the illustrated embodiment, the unmanned helicopter  10  is an example of an aircraft or an unmanned aerial vehicle (UAV) with the terrain following function. However, of course, the terrain following function of the present disclosure can be provided to an airplane. The unmanned helicopter  10  generally has similar physical components to a manned helicopter, except for the absence of the cockpit area and windows and except for the size. Also, the unmanned helicopter  10  has a different control systems than the manned helicopter. 
     As illustrated in  FIG.  2   , the unmanned helicopter  10  includes a main body  12  and a tail body  14 . The tail body  14  is coupled to a rear end of the main body  12 . The unmanned helicopter  10  also includes a main rotor  16  rotatably provided at an upper part of the main body  12  and a tail rotor  18  rotatably provided at a rear part of the tail body  14 . In the illustrated embodiment, the unmanned helicopter  10  is a rotorcraft with a single main rotor. However, the unmanned helicopter  10  can be a rotorcraft with at least two main rotors. 
     The unmanned helicopter  10  also has conventional physical configurations. Specifically, the unmanned helicopter  10  has an internal combustion engine  20  (hereinafter “the engine  20 ”), an intake system, an exhaust system and a fuel tank within the man body  12 . Also, the unmanned helicopter  10  has a plurality of (five in this embodiment) servos  22  (see  FIG.  3   ), with three of them connected to a swashplate (not shown) via linkages to change the pitch (angle) of main blades of the main rotor  16  (i.e., an aileron servo, an elevator servo and a pitch servo), one of them connected to tail blades of the tail rotor  18  via a linkage to change the pitch (angle) of the tail blades of the tail rotor  18  (i.e., a rudder servo) and one of them connected to the engine  20  via a linkage to control the throttle of the engine  20  (i.e., a throttle servo). Furthermore, the unmanned helicopter  10  has a pair of skids  24  provided via support legs at the left and right sides of the main body  12 . Also, in the illustrated embodiment, the unmanned helicopter  10  has a pair of cassette-style liquid tanks  26  (e.g., at least one crop dusting tank) and a pair of spray nozzles  28  fluidly connected to the liquid tanks  26 . The liquid tanks  26  holds the agricultural material, such as chemicals, fertilizers and the like, for crops. The spray nozzles  28  spray the agricultural material. Of course, instead of the liquid tanks  26  and the spray nozzles  28 , the unmanned helicopter  10  can have other equipment for agricultural application, such as a granular sprayer for spraying seeds, or other equipment for industrial application, such as various sensors and detectors. Also, in the illustrated embodiment, the unmanned helicopter  10  includes the engine  20 . Of course, instead of the engine  20 , the unmanned helicopter  10  can have another type of a prime mover, such as an electric motor. The unmanned helicopter  10  can also include various conventional components. These physical configurations of the unmanned helicopter  10  are relatively conventional, and thus will not be described in detail for the sake of brevity. Thus, in the illustrated embodiment, the unmanned helicopter  10  includes the servos  22  (e.g., the aileron servo, the elevator servo, the pitch servo and the throttle servo) configured to change the altitude of the unmanned helicopter  10 . 
     Referring now to  FIG.  3   , a flight control system  30  of the unmanned helicopter  10  will be described. Specifically, the flight control system  30  includes a plurality of sensors  32 , an upper processor  34  (e.g., electronic controller), a lower processor  36  (e.g., electronic controller), a wireless receiver  38  (e.g., a wireless communication device), a data communication device  40  and a computer memory  42  (e.g., a data storage device or memory device). In the illustrated embodiment, the various components of the flight control system  30  are provided on the main body  12  or the tail body  14  in a conventional manner. 
     In the illustrated embodiment, the unmanned helicopter  10  can fly using a manual remote control or an autonomous control. Specifically, with the manual remote control, the receiver  38  receives radio signals (e.g., manual control command signals) from a remote controller or wireless transmitter (not shown) that is operated by an operator, and outputs control signals to the servos  22  via the lower processor  36  according to the radio signals. The manual remote control of the unmanned helicopter  10  is relatively conventional, and thus, the manual remote control will not be described in detail. With the autonomous control, the upper processor  34  acquires sensing data from the sensors  32  and input data from the data communication device  40  that wirelessly communicates with a ground station (not shown). The upper processor  34  processes the data according to a control program prescribed in advance to output control signals to the servos  22  via the lower processor  36 . The lower processor  36  select a control mode of the unmanned helicopter  10  between the manual remote control and the autonomous control according to a manual selection performed on the remote controller, or a radio reception status between the wireless receiver  38  and the remote controller, and the like. 
     In the illustrated embodiment, with the autonomous control, the unmanned helicopter  10  flies over the ground GD along a predetermined flight path FP (see  FIG.  4   ) while maintaining the altitude of the unmanned helicopter  10  relative to the ground GD at the predetermined target altitude Sz (i.e., the terrain following control). Specifically,  FIG.  4    illustrates a top plan view of the prescribed flight area FA of the unmanned helicopter  10 . The predetermined flight path FP of the unmanned helicopter  10  is set over the prescribed flight area FA so that the unmanned helicopter  10  can entirely fly over the crops in the prescribed flight area FA. More specifically, in the illustrated embodiment, as illustrated in  FIG.  5   , the predetermined flight path FP (illustrated with dotted line, and partially illustrated with solid line) includes a plurality of waypoints WP that are set only at ends for each pass over the crops in the prescribed flight area FA. In particular, in the illustrated embodiment, the predetermined flight path FP includes waypoints WP as a starting point SP 1  and an ending point EP 1  for a pass over the crops from the starting point SP 1  to the ending point EP 1  without a waypoint between the starting point SP 1  and the ending point EP 1 . Once the unmanned helicopter  10  arrives the ending point EP 1 , the unmanned helicopter  10  automatically flies to a starting point SP 2 , and then automatically flies to an ending point EP 2  for another pass over the crops without a waypoint between the starting point SP 2  and the ending point EP 2 . Thus, in the illustrated embodiment, the upper processor  34  (e.g., the electronic controller) is configured to maintain the predetermined target altitude Sz over the undulating surface of the prescribed flight area FA (e.g., over the uneven terrain of the area). Also, in the illustrated embodiment, the upper processor  34  (e.g., the electronic controller) is further configured to control a flight of the unmanned helicopter  10  that includes the starting point SP 1  (SP 2 ) and the ending point EP 1  (EP 2 ) for each pass over the crops in the prescribed flight area FA, and the predetermined flight path FP (e.g., the flight path) does not include a waypoint between the starting and ending points SP 1  (SP 2 ) and EP 1  (EP 2 ). The flight path FP can be set manually or automatically over the ground GD in a conventional manner. 
     As illustrated in  FIG.  3   , the sensors  32  include an attitude sensor  52 , a heading sensor  54 , an engine revolution sensor  56 , a RTK (Real Time Kinematic) GPS sensor  58 , a single GPS sensor  60  and a barometer  62 . The attitude sensor  52  has a three-axis gyroscope  52 A, a three-axis accelerometer  52 B and an attitude processor  52 C. The gyroscope  52 A detects rotation (angular velocity) about an X-axis, a Y-axis, and a Z-axis of the unmanned helicopter  10 . The accelerometer  52 B detects acceleration along the XYZ axes. In the illustrated embodiment, the X-axis of the unmanned helicopter  10  is a longitudinal axis (or a roll axis) of the unmanned helicopter  10 , and extends along a longitudinal center line of the unmanned helicopter  10 . The Y-axis of the unmanned helicopter  10  is a lateral axis (or a pitch axis) of the unmanned helicopter  10 , and extends laterally perpendicular to the X-axis. The Z-axis of the unmanned helicopter  10  is a vertical axis (or a yaw axis) of the unmanned helicopter  10 , and extends perpendicular to the XY axes. The attitude processor  52 C acquires data from the gyroscope  52 A and the accelerometer  52 B, and process the data to output attitude data indicative of the attitude of the unmanned helicopter  10 . The heading sensor  54  has a three-axis magnetometer  54 A and a heading processor  54 B. The magnetometer  54 A detects the Earth&#39;s magnetic field along the XYZ axes. The heading processor  54 B acquires data from the magnetometer  54 A and the attitude sensor  52 , and process the data to output heading data indicative of the heading of the unmanned helicopter  10 . The RTK GPS sensor  58  receives satellite signals from satellites and correction data from the ground station via the data communication device  40  to output GPS data including the position (e.g., the latitude or north position Pn, the longitude or east position Pe and the altitude Pz relative to a reference ellipsoid) and the speed (the velocity to north Vn (north velocity Vn) and the velocity to east Ve (east velocity Ve)) of the unmanned helicopter  10 . The single GPS sensor  60  receives satellite signals from satellites to output GPS data including the position and the speed of the unmanned helicopter  10 . The barometer  62  detects the atmospheric pressure and the temperature. The configurations of the sensors  32  are relatively conventional, and thus will not be described in detail. In the illustrated embodiment, the sensors  32  include the RTK GPS sensor  58  and the single GPS sensor  60  to detect the position and the speed of the unmanned helicopter  10 . However, the sensor  32  can include different types of sensors to detect the position and the speed of the unmanned helicopter  10 . For example, the position data can be derived from satellite-based positioning systems (global navigation satellite systems, GNSS) other than GPS, such as, GLONASS, Galileo and BeiDou, for example. Thus, in the illustrated embodiment, the unmanned helicopter  10  includes the RTK GPS sensor  58  and the single GPS sensor  60  (e.g., at least one sensor) configured to detect the position (e.g., the current position and the altitude) of the unmanned helicopter  10  and the speed of the unmanned helicopter  10 . The RTK GPS sensor  58  and/or the single GPS sensor  60  is an example of a GPS sensor of the present disclosure. 
     As illustrated in  FIG.  3   , the upper processor  34  includes a sensing module  70 , a navigation module  72 , a maneuver module  74  and a control module  76 . The upper processor  34  includes a microcomputer or processor, such as a CPU (Central Processing Unit). The upper processor  34  is programmed to control the various components of the unmanned helicopter  10 . The computer memory  42  stores processing results and control programs such as ones for controlling the unmanned helicopter  10 . For example, the computer memory  42  stores processing results or the sensing data acquired from the sensors  32 . Thus, the upper processor  34  communicates with the computer memory  42  to store processing results in the computer memory  42  as well as to read the sensing data acquired from the sensors  32  and the stored processing results in the computer memory  42 . It will be apparent to those skilled in the art from this disclosure that the precise structure and algorithms for the upper processor  34  can be any combination of hardware and software that will carry out the functions discussed herein. Furthermore, the upper processor  34  can also include a plurality of processors corresponding to the various modules of the upper processor  34 . 
     The sensing module  70  includes a plurality of (three in  FIG.  3   ) status estimation filters  70 A,  70 B and  70 C and an environment estimation filter  70 D. The status estimation filters  70 A and  70 B each have a GPSINS (Inertial Navigation System). The status estimation filters  70 A and  70 B acquires the GPS data indicative of the position and the speed of the unmanned helicopter  10  from the RTK GPS sensor  58  and the single GPS sensor  60 , respectively. The status estimation filters  70 A and  70 B correct delays and/or errors in the GPS data from the the RTK GPS sensor  58  and the single GPS sensor  60  using the attitude data from the attitude sensor  52  and/or the heading data from the heading sensor  54  to output the position and the speed of the unmanned helicopter  10 . The status estimation filter  70 C acquires the attitude data from the attitude sensor  52 , the atmospheric pressure and the temperature from the barometer  62 , and/or the input data from the data communication device  40 . The status estimation filter  70 C outputs data required for operating the unmanned helicopter  10  when the position and the speed of the unmanned helicopter  10  from the RTK GPS sensor  58  and the single GPS sensor  60  cannot be used for the autonomous control. The environment estimation filter  70 D acquires control deviations (e.g., deviation of the attitude) from the control module  76  and the speed of the unmanned helicopter  10  derived from the status estimation filter  70 A or  70 B, and estimates the airspeed of the unmanned helicopter  10  as an environment estimation value for a navigation target calculation at the navigation module  72  or for a drift control at the maneuver module  74 . The configurations of the sensing module  70  are relatively conventional, and thus the detailed description will be omitted for the sake of brevity. 
     The navigation module  72  includes a filter selection module  72 A, a navigation target calculation module  72 B, a terrain following module  72 C and a terrain data processing module  72 D. The filter selection module  72 A selects one of the status estimation filters  70 A,  70 B and  70 C according to the accuracy of the position and the speed of the unmanned helicopter  10  of the status estimation filters  70 A,  70 B and  70 C and the input data from the data communication device  40  that indicates the selection of one of the status estimation filters  70 A,  70 B and  70 C. Then, the filter selection module  72 A outputs the position and the speed of the unmanned helicopter  10  derived from the selected one of the status estimation filters  70 A,  70 B and  70 C together with the attitude data, the heading data and the engine speed derived from the attitude sensor  52 , the heading sensor  54  and the engine revolution sensor  56 , respectively, as a status estimation value. The navigation target calculation module  72 B calculates navigation target of the unmanned helicopter  10  based on the input data from the data communication device  40 . Specifically, in the illustrated embodiment, the input data from the data communication device  40  includes the positions (the latitude and the longitude) of the waypoints WP that are set along the predetermined flight path FP of the unmanned helicopter  10 , and the predetermined target altitude Sz of the unmanned helicopter  10  relative to the ground GD. The navigation target calculation module  72 B calculates a target position (the latitude or north position and the longitude or east position) and a target speed (the north velocity and the east velocity) of the unmanned helicopter  10  based on the the positions of the waypoints WP, and outputs the target position and the target speed as the navigation target. This navigation target calculation by the navigation target calculation module  72 B is relatively conventional, and thus will not be described in detail. 
     The terrain following module  72 C calculates a target speed (a target velocity in vertical direction Vz (target elevation speed or target vertical velocity Vz)) to maintain the altitude of the unmanned helicopter  10  relative to the ground GD at the predetermined target altitude Sz. Specifically, the terrain following module  72 C calculates the target vertical velocity Vz based on calculation results of the terrain data processing module  72 D, and outputs the target vertical velocity Vz to the maneuver module  74  as the navigation target. The processing of the terrain following module  72 C and the terrain data processing module  72 D (i.e., the terrain following control) will be described in detail later. 
     The maneuver module  74  calculates a maneuver target of the unmanned helicopter  10  based on the navigation target derived from the navigation target calculation module  72 B and the terrain following module  72 C, the control deviations derived from the control module  76  and the environment estimation value from the environment estimation filter  70 D. Specifically, in the illustrated embodiment, the maneuver module  74  includes a maneuver target calculation module  74 A and a drift control module  74 B. The maneuver target calculation module  74 A generates a target attitude, a target speed, a target position and a target engine speed of the unmanned helicopter  10  for the unmanned helicopter  10  to smoothly follow or track the navigation target. The drift control module  74 B corrects the maneuver target to compensate the effect of the wind based on the control deviation (e.g., deviation of the attitude) derived from the control module  76 , for example. This maneuver target calculation by the maneuver module  74  is relatively conventional, and thus will not be described in detail. 
     The control module  76  includes a control value calculation module  76 A and a control signal generation module  76 B. The control value calculation module  76 A calculates control values of the servos  22  such that the status estimation value derived from the navigation module  72  becomes closer to the maneuver target derived from the maneuver module  74 . In particular, in the illustrated embodiment, the control value calculation module  76 A performs a feedback control, and serves as a PID controller, for example. The control signal generation module  76 B generates the control signal applied to the servos  22  according to the control values calculated by the control value calculation module  76 A. The processing of the control module  76  is relatively conventional, and thus will not be described in detail. 
     As illustrated in  FIG.  3   , the sensing module  70 , the navigation module  72 , the maneuver module  74  and the control module  76  also output the data calculated therein to the data communication device  40  so that the ground station can monitor the status of the unmanned helicopter  10 . 
     Referring now to  FIGS.  3 ,  6  and  7   , the terrain following control that is executed by the upper processor  34  (e.g., electronic controller) will be described in detail. As mentioned above, with the terrain following control, the unmanned helicopter  10  flies over the ground GD along the predetermined flight path FP while maintaining the altitude of the unmanned helicopter  10  relative to the ground GD at the predetermined target altitude Sz. 
     Specifically, referring to  FIG.  6   , with the terrain following control (e.g., the aircraft altitude controlling method), the altitude Pz of the unmanned helicopter  10 , the north position Pn and the east position Pe (e.g., the current position) of the unmanned helicopter  10 , and the north velocity Vn and the east velocity Ve (e.g., the speed) of the unmanned helicopter  10  are detected by the RTK GPS sensor  58  and/or the single GPS sensor  60  (step S 10 ). Also, in the illustrated embodiment, in step S 10 , the heading and the attitude (e.g., yaw rate Ω) of the unmanned helicopter  10  are also detected. 
     Furthermore, in step S 12 , the terrain data processing module  72 D estimates a future position of the unmanned helicopter  10  based on the north position Pn and the east position Pe (e.g., the detected current position) and the north velocity Vn and the east velocity Ve (e.g., the detected speed) of the unmanned helicopter  10  derived from the filter selection module  72 A. Also, in the illustrated embodiment, the terrain data processing module  72 D estimates the future position of the unmanned helicopter  10  further based on the heading (e.g., direction) of the unmanned helicopter  10 . In particular, in the illustrated embodiment, the terrain data processing module  72 D estimates a future position after one second, a future position after five seconds, and a future position after ten seconds based on the north position Pn, the east position Pc, the north velocity Vn, the east velocity Ve, and the yaw rate Ω of the unmanned helicopter  10  derived from the filter selection module  72 A. In the illustrated embodiment, Pn represents the current north position (i.e., a north position after zero seconds) of the unmanned helicopter  10 , while Pn(dt) represents a future north position after dt seconds. Similarly, Pc represents the current east position (i.e., an east position after zero seconds), while Pe(dt) represents a future east position after dt seconds. 
     More specifically, as illustrated in  FIG.  7   , the terrain data processing module  72 D of the upper processor  34  (e.g., electronic controller) first determines whether the unmanned helicopter  10  is hovering (step S 20 ). Specifically, the terrain data processing module  72 D determines whether the following condition (1) is satisfied:
 
| Ve|&lt;A  AND | Vn|&lt;A   (I)
 
where Ve (m/s) represents the velocity east, Vn (m/s) represents the velocity north, and A (m/s) represents a threshold. In the illustrated embodiment, the threshold A is set to 0.05 (m/s), for example. In other words, the terrain data processing module  72 D determines whether the velocity east Ve and the velocity north Vn of the unmanned helicopter  10  are within a range (a square) defined by the threshold A. Of course, instead of using the above-mentioned condition (1), hovering of the unmanned helicopter  10  can be determined using the magnitude of the velocity vector (i.e., √(Ve 2 +Vn 2 )) of the unmanned helicopter  10 . Specifically, in this case, hovering of the unmanned helicopter  10  can be determined when the terrain data processing module  72 D determines that the magnitude of the velocity vector is less than a predetermined threshold.
 
     If the condition (I) is satisfied, then the terrain data processing module  72 D determines that the unmanned helicopter  10  is hovering (YES in step S 20 ). Then, the terrain data processing module  72 D determines that the velocity east Ve and the velocity north Vn are zero (Ve=0 and Vn=0), and the future position after dt seconds (Pn(dt). Pe(dt)) is calculated by the following equations (1) in step S 22 :
 
 Pn ( dt )= Pn ; and
 
 Pe ( dt )= Pe.   (1)
 
     On the other hand, if the condition (1) is not satisfied, then the terrain data processing module  72 D determines that the unmanned helicopter  10  is not hovering, and is traveling (NO in step S 20 ). Then, the terrain data processing module  72 D further determines whether the unmanned helicopter  10  is turning (step S 24 ). Specifically, the terrain data processing module  72 D determines whether the following condition (II) is satisfied:
 
|Ω|≥ B   (II)
 
where Ω (rad/s) represents the yaw rate, and B (rad/s) represents a threshold. In the illustrated embodiment, the threshold B is set to π/360 (rad/s) (=0.5 (deg/s)), for example.
 
     If the condition (II) is satisfied, then the terrain data processing module  72 D determines that the unmanned helicopter  10  is turning (YES in step S 24 ). Then, the terrain data processing module  72 D calculates the future position after dt seconds (Pn(dt). Pe(dt)) by the following equations (2) in step S 26 :
 
 Pn ( dt )= Pn+Δn ; and
 
 Pe ( dt )= Pe+Δe   (2)
 
where Δn represents an amount of travel to north during dt seconds, and Δe represents an amount of travel to east during dt seconds. The terrain data processing module  72 D calculates the amounts of travel (Δn, Δe) as follows:
 
Δ n=Δx ·sin ψ+Δ y ·cos ψ;and
 
Δ e=Δx ·cos ψ·Δ y ·sin ψ
 
where Δx represents an amount of travel along the X-axis during dt seconds, Δy represents an amount of travel along the Y-axis during dt seconds, and ψ (rad) represents the direction in which the unmanned helicopter  10  is traveling (i.e., the track over the ground). The terrain data processing module  72 D calculates the amounts of travel (Δx, Δy), and the direction ψ as follows:
 
Δ x=R  sin θ:
 
Δ y=R (1−cos θ)×sign(turn); and
 
ψ=tan −1 ( Vn/Ve ).
 
where R (m) represents a turn radius of the unmanned helicopter  10 , θ (rad) represents an amount of turn during dt seconds, and sign(turn) represents the direction of turn. The terrain data processing module  72 D calculates the turn radius R and the amount of turn θ as follows:
 
 R=V /|Ω|, where  V =√( Ve   2   +Vn   2 ); and
 
θ=Ω· dt.  
 
Also, the sign function sign(turn) represents the direction of turn of the unmanned helicopter  10 , and the parameter “turn” is calculated as follows:
 
turn=sign(Ω).
 
     On the other hand, if the condition (II) is not satisfied, then the terrain data processing module  72 D determines that the unmanned helicopter  10  is not turning, and is traveling straight (NO in step S 24 ). Then, the terrain data processing module  72 D calculates the future position after dt seconds (Pn(dt), Pe(dt)) by the following equations (3) in step S 28 :
 
 Pn ( dt )= Pn+Δn ; and
 
 Pe ( dt )= Pe+Δe   (3)
 
where the amounts of travel (Δn, Δe) are calculated as follows:
 
Δ n=Vn·dt ;and
 
Δ e=Ve·dt.  
 
     In the illustrated embodiment, the terrain data processing module  72 D estimates the future position after one second (Pn( 1 ), Pe( 1 )), the future position after five seconds (Pn( 5 ), Pe( 5 )), and the future position after ten seconds (Pn( 10 ), Pe( 10 )), for example. The estimated future positions are outputted to the data communication device  40  so that the ground station can monitor the status of the unmanned helicopter  10 .  FIG.  8    illustrates a display image displayed on a display in the ground station, showing the estimated future positions of the unmanned helicopter  10  relative to the predetermined flight path FP. Of course, the terrain data processing module  72 D can further estimate different future positions at different timings, as needed and/or desired. Also, the terrain data processing module  72 D does not need to estimate all of the future positions described above. The terrain data processing module  72 D can estimate only the future position after one second (Pn( 1 ), Pe( 1 )), for example. 
     Referring further to  FIG.  6   , in step S 14 , the terrain data processing module  72 D determines the elevation (e.g., the predetermined terrain data) for the future position. Specifically, in the illustrated embodiment, the computer memory  42  stores the digital elevation model (DEM) data (e.g., the predetermined terrain data) for at least the prescribed flight area FA. The DEM data is a pre-mapped three-dimensional terrain data, and includes the elevation (height information relative to a reference ellipsoid) of the terrain&#39;s surface in association with the position. More specifically, in the illustrated embodiment, the DEM data includes datasets each having HAE (height above ellipsoid) data with 1/30 arc-second (approximately 1 meter) resolution, for example.  FIG.  9    illustrates an example of the DEM data of the prescribed flight area FA, illustrating a two-dimensional contour graph of the prescribed flight area FA. In the illustrated embodiment, the terrain data processing module  72 D refers to the DEM data (a corresponding section of the DEM data) in the computer memory  42  to acquire the elevation DEM( 1 ) corresponding to the future position after one second (Pn( 1 ), Pe( 1 )). In the illustrated embodiment, the terrain data processing module  72 D also refers to the DEM data (a corresponding section of the DEM data) in the computer memory  42  to acquire the elevation DEM( 0 ) corresponding to the current position (Pn, Pe) of the unmanned helicopter  10 . In the illustrated embodiment, the DEM data is an example of the predetermined terrain data of the present disclosure. However, the terrain data processing module  72 D can use different type of predetermined terrain data for determining the elevation for the future position. 
     In the illustrated embodiment, the DEM data is generated and stored in advance by scanning the surface of a scanned area that includes the prescribed flight area FA with a laser scanner, such as a laser rangefinder, in an aircraft, for example. In the illustrated embodiment, an unmanned helicopter is used for scanning the surface of the scanned area, for example. The unmanned helicopter is controlled to follow waypoints arranged at 30 meter intervals while automatically maintaining the altitude at 30 meters relative to the surface of the scanned area using a radio altimeter, for example. With this scanning flight, the unmanned helicopter maintains the altitude relative to the surface of the scanned area. Thus, the distance between the laser rangefinder and the surface of the scanned area can be kept constant, which improves the accuracy of the scanning over the entire scanned area even if the scanned area has an uneven terrain. Of course, during this scanning flight, the unmanned helicopter can maintain the altitude different from 30 meters relative to the surface of the scanned area. However, by maintaining the altitude of 30 meters relative to the surface of the scanned area, it can be prevented that blown sand particles or turbulence of the crops due to helicopter downwash interfere the scanning of the surface of the scanned area by the laser rangefinder. Furthermore, once the scanning flight is completed, the post processing for the range data derived from the laser rangefinder is conducted. Specifically, with the post processing, the attitude and position data of the unmanned helicopter are interpolated onto the range data time instances to obtain point cloud data (ground return data). The user can manually edit the point cloud data to remove invalid data due to sand particles caused by helicopter downwash or vehicles located in the scanned area. The point cloud data is further processed to generate the DEM data. Specifically, the scanned area is divided into cells having 1 meter cell size, and the point cloud data is distributed into the cells. Furthermore, each of the cells is divided into 16 sub-cells (four rows and four columns). The points indicating the lowest ground position in the sub-cells are selected, respectively, and the median of the selected points is calculated as the ground position (the elevation) of the cell. This filters out high points which are possibly anomalous returns or the returns from the crops on the scanned area. Then, the ground positions (the elevations) of the cells are stored as the DEM data. The generation of the DEM data is relatively conventional, and thus will not be described in detail. By filtering the range data and adjusting the resolution, the smoothness of the DEM data can be adjusted as needed and/or desired. Of course, the DEM data that is publicly available can also be used for the terrain following control of the unmanned helicopter  10 . In particular, a blank data area can occur in the generated DEM data. Thus, the generated DEM data can be merged with the publicly available DEM data, which is usually coarser than the generated DEM data. With this processing, the DEM data without a blank data area can be generated. Also, if the undulation of the surface of the ground GD is relatively gentle, then it is also possible to generate the DEM data using only publicly available survey results. 
     Referring further to  FIG.  6   , in step S 16 , the terrain following module  72 C calculates the target vertical velocity Vz of the unmanned helicopter  10  based on the elevation from the DEM data and the altitude Pz of the unmanned helicopter  10 . More specifically, as shown in  FIGS.  10  and  11   , the terrain following module  72 C calculates the difference between the altitude Pz (e.g., the detected altitude) and the elevation DEM( 1 ) (e.g., the predetermined terrain data) for the future position (Pn( 1 ), Pe( 1 )). Specifically, as shown in the logic circuit of  FIG.  11   , the terrain following module  72 C subtracts the elevation DEM( 1 ) from the altitude Pz to obtain an altitude value Qz (e.g., DEM altitude) (operation LC 1 ). Furthermore, the terrain following module  72 C calculates the difference between the altitude value Qz and the predetermined target altitude Sz. Specifically, the terrain following module  72 C subtracts the predetermined target altitude Sz from the altitude value Qz to obtain an altitude deviation Dz relative to the predetermined target altitude Sz (operation LC 2 ). The terrain following module  72 C further multiplies the altitude deviation Dz by a predetermined gain Kp to obtain the target vertical velocity Vz (operation LC 3 ). In the illustrated embodiment, when the altitude value Qz is larger than the predetermined target altitude Sz, as illustrated in  FIG.  10   , then the target vertical velocity Vz has a negative value that descends the unmanned helicopter  10 . On the other hand, when the altitude value Qz is smaller than the predetermined target altitude Sz, then the target vertical velocity Vz has a positive value that ascends the unmanned helicopter  10 . 
     Optionally, in the illustrated embodiment, as illustrated in the logic circuit of  FIG.  11   , in step S 16  of  FIG.  6   , the terrain following module  72 C calculates the difference between the elevation DEM( 1 ) for the future position (Pn(l), Pe(l)) and the elevation DEM( 0 ) for the position (Pn, Pe). Specifically, the terrain following module  72 C subtracts the elevation DEM( 0 ) from the elevation DEM( 1 ) to obtain a slope value Sv (operation LC 4 ). The terrain following module  72 C further multiplies the slope value Sv by a predetermined gain Ks to obtain the target vertical velocity Vz (operation LC 3 ). Specifically, in this case, in operation LC 3 , the terrain following module  72 C subtracts the altitude deviation Dz multiplied by the gain Kp from the slope value Sv multiplied by the gain Ks to obtain the target vertical velocity Vz. However, these operations LC 4  and LC 3  are optional as mentioned above, and thus does not need to be performed. Alternatively, when these operations LC 4  and LC 3  are conducted, the gain Ks can be set to be small relative to the gain Kp, such as 1/10 of the gain Kp. In the illustrated embodiment, the elevation DEM( 1 ) for the future position after one second (Pn( 1 ), Pe( 1 )) is used to calculate the target vertical velocity Vz. However, the elevation for different future positions at different timings can be used to calculate the target vertical velocity Vz, as needed and/or desired. 
     As mentioned above, the terrain following module  72 C outputs the target vertical velocity Vz to the maneuver module  74  as part of the navigation target. Referring further to  FIG.  6   , in step S 18 , the maneuver module  74  generates the maneuver target based on the navigation target derived from the navigation module  72 , and the control module  76  controls the servos  22  to achieve the target vertical velocity Vz of the navigation target. Thus, in the illustrated embodiment, the altitude of the unmanned helicopter  10  is controlled based on the future position (Pn( 1 ), Pe( 1 )), the altitude Pz (e.g., detected altitude), and the DEM data (e.g., the predetermined terrain data) of the prescribed flight area FA. Also, in the illustrated embodiment, the control module  76  controls the servos  22  (e.g., the altitude actuator) based on the difference between the altitude Pz (e.g., the detected altitude) and the elevation DEM( 1 ) (e.g., the predetermined terrain data) for the future position (Pn( 1 ), Pe(l)). 
       FIG.  12    illustrates control results of the terrain following control of the present disclosure during flying over the prescribed flight area FA, while  FIG.  13    illustrates control results of a terrain following control of a comparative example during flying over the same flight area FA. In the comparative example, the elevation DEM( 0 ) for the current position (Pn, Pe) is used instead of the elevation DEM( 1 ) for calculating the target vertical velocity Vz according to the logic circuit diagram shown in  FIG.  11   . 
       FIG.  12    shows the altitude of the unmanned helicopter  10  relative to the ground GD, the altitude Pz and the target vertical velocity Vz. As illustrated in  FIG.  12   , the altitude of the unmanned helicopter  10  relative to the ground GD is kept within a range of +/−0.5 meters relative to the predetermined target altitude Sz of 3.0 meter. On the other hand, as illustrated in  FIG.  13   , the altitude relative to the ground GD largely deviates relative to the predetermined target altitude Sz of 3.0 meter (a range of +/−1.5 meters). In particular, as illustrated in  FIG.  13   , the altitude relative to the ground GD is lower than the predetermined target altitude Sz during ascending and is higher than the predetermined target altitude Sz during descending. Thus, with the comparative example, the altitude relative to the ground GD constantly deviates relative to the predetermined target altitude Sz of 3.0 meter. 
     In the illustrated embodiment, the future position of the unmanned helicopter  10  is calculated based on the sensing results (e.g., the position, the speed and the heading) of the unmanned helicopter  10 , and the elevation for the future position is used for the terrain following control. By using the future position and the elevation for the future position, it is not necessary to control the unmanned helicopter  10  sharply. Also, it is not necessary to secure extra margin in the predetermined target altitude Sz since the unmanned helicopter  10  can well follow the terrain of the ground GD. Also, as shown in  FIG.  7   , the future position of the unmanned helicopter  10  can also be calculated even while turning. 
     In the illustrated embodiment, it is not necessary to prepare a large number of waypoints for the terrain following control. Specifically, in the illustrated embodiment, as illustrated in  FIG.  5   , a pair of waypoints WP indicating the starting point SP 1  (SP 2 ) and the ending point EP 1  (EP 2 ) is only needed for each pass. Also, in the illustrated embodiment, each of the waypoints WP does not need to have three-dimensional information, but can only have the two-dimensional information (i.e., the latitude and the longitude). Furthermore, in the illustrated embodiment, it is not necessary to prepare waypoints with altitude information between the starting point SP 1  (SP 2 ) and the ending point EP 1  (EP 2 ). 
     In the illustrated embodiment, the terrain following control is performed by the upper processor  34  (e.g., electronic controller) without a ground altimeter or range finder. Thus, in the illustrated embodiment, the terrain following control can be performed even when the predetermined target altitude Sz is outside the measurement range of the ground altimeter or range finder. Also, when the ground altimeter or range finder is used for the terrain following control, the future position or the elevation for the future position cannot be obtained. Also, the noise reduction for the range data needs to be performed. Thus, the delay in the terrain following control using the ground altimeter or range finder can become larger. Also, when the dead band needs to be set, the control results can get worse. On the other hand, in the illustrated embodiment, the terrain following control can be performed without a ground altimeter or range finder. Thus, the response and the control results in the terrain following control can be improved. 
     In the illustrated embodiment, as shown in  FIG.  3   , the predetermined flight path FP of the unmanned helicopter  10  is provided to the navigation module  72  from the ground station via the data communication device  40 , for example. However, the terrain following control can be performed without having the predetermined flight path FP. Instead of using the predetermined flight path FP, the navigation target calculation module  72 B of the navigation module  72  can generate the navigation target (the target position (the north position and the east position) and the target speed (the north velocity and the east velocity)) based on the control signals derived from the receiver  38  according to the user&#39;s operation of the remote control. In this case, the unmanned helicopter  10  can be navigated horizontally according to the user&#39;s operation (e.g., horizontal speed control using the control sticks of the remote control) while maintaining the predetermined target altitude relative to the ground GD according to the terrain following control. 
     In the illustrated embodiment, the maneuver module  74  generates the maneuver target based on the navigation target to smoothly track the navigation target. In other words, in order to realize a smooth behavior of the unmanned helicopter  10 , the maneuver module  74  generates a smooth subordinate target (maneuver target) for tracking a rough superordinate target (navigation target) generated by the navigation module  72 , and the control module  76  controls the servos  22  to follow the smooth subordinate target. Thus, basically, the unmanned helicopter  10  follows the superordinate target with delay. However, the navigation target is generated using the future position and the elevation for the future position, and thus the delay can be compensated. 
     In the illustrated embodiment, as illustrated in  FIG.  3   , the unmanned helicopter  10  has no ground altimeters. However, as illustrated in  FIG.  14   , the flight control system  30  of the unmanned helicopter  10  can additionally include a ground altimeter  80  (e.g., a ground altitude detector). In the illustrated embodiment, the ground altimeter  80  detects the altitude of the unmanned helicopter  10  relative to the ground GD using at least one of radar and lidar. As illustrated in  FIG.  14   , the ground altimeter  80  outputs the detected altitude to the sensing module  70  (e.g., the status estimation filter  70 C). With this configuration, even if the DEM data or GPS data becomes unavailable, the unmanned helicopter  10  can be properly navigated using the ground altimeter  80 . For example, when the DEM data stored in the computer memory  42  is not matched with an actual terrain of the ground GD, when the DEM data cannot be read from the computer memory  42  (i.e., the DEM data or the computer memory  42  is damaged), or when the unmanned helicopter  10  is flying outside the area for which the DEM data is prepared, the flight control system  30  determines that the DEM data is unavailable. Also, when the accuracy of the GPS data from the RTK-GPS sensor  58  or the single GPS sensor  60  becomes low, and thus the accuracy of the altitude value Qz (the DEM altitude) cannot be ensured, the flight control system  30  determines that the GPS data is unavailable. In this case, the data communication device  40  notifies the operator in the ground station of the status of the unmanned helicopter  10  using the downlink, and the flight control system  30  controls the flight of the unmanned helicopter  10  in the following manner. 
     If the DEM data or GPS data becomes unavailable while the unmanned helicopter  10  is flying under the terrain following control (i.e., normal operation), then the upper processor  34  determines whether the ground altimeter  80  is available. If the ground altimeter  80  is available, then the flight control system  30  ( i ) switches a control mode of the unmanned helicopter  10  to a terrain following control using the ground altimeter  80  and increases the predetermined target altitude Sz by a predetermined value (e.g., an extra margin of 5 meters), and (ii) stops the program flight (i.e., the autonomous control). On the other hand, if the ground altimeter  80  is not available, then the flight control system  30  (i) controls the unmanned helicopter  10  to ascend at a predetermined speed for a predetermined period of time (e.g., ascending at 1 m/s for 3 seconds), and (ii) stops the program flight (i.e., the autonomous control). 
     On the other hand, if the DEM data or GPS data becomes unavailable while the unmanned helicopter  10  is flying under an automatic return control during the link loss procedure in which the program flight cannot be stopped, then the upper processor  34  determines whether the ground altimeter  80  is available. If the ground altimeter  80  is available, then the flight control system  30  ( i ) switches a control mode of the unmanned helicopter  10  to a terrain following control using the ground altimeter  80  and increases the predetermined target altitude Sz by a predetermined value (e.g., a larger extra margin for the automatic return control than that of the normal operation), and (ii) continues the automatic return control. On the other hand, if the ground altimeter  80  is not available, then the flight control system  30  ( i ) controls the unmanned helicopter  10  to ascend at a predetermined speed for a predetermined period of time (e.g., ascending at 1 m/s for 3 seconds), (ii) stops the automatic return control, and (iii) restarts the automatic return control after ascending to a predetermined altitude, which is set by the operator according to the prescribed flight area FA. Thus, in the illustrated embodiment, the terrain following control can be performed while performing the automatic return control during the link loss procedure. 
     In the illustrated embodiment, the predetermined target altitude Sz is preset. However, the predetermined target altitude Sz can be changed according to the accuracy of the GPS data. With the terrain following control using the DEM data, the accuracy of the position in the GPS data greatly affects the accuracy of the altitude value Qz (the DEM altitude) for the terrain following control. When the unmanned helicopter  10  is flying at a low altitude during the terrain following control, higher accuracy of the GPS data is required. Thus, in the illustrated embodiment, if the RTK link loss occurs and the accuracy of the GPS data (e.g., the GPS data from the RTK GPS sensor  58 ) is lowered, then the terrain following control using the DEM data can be stopped. On the other hand, when the predetermined target altitude Sz is set to a high altitude (e.g., 50 meters or more, which exceeds the measurement range of the ground altimeter, etc.), then the terrain following control using the DEM data can be performed even if the accuracy of the GPS data is low. Thus, with the terrain following control using the DEM data, the predetermined target altitude Sz can be limited or changed according to the accuracy of the GPS data. 
     In understanding the scope of the present invention, the term “comprising” and its derivatives, as used herein, are intended to be open ended terms that specify the presence of the stated features, elements, components, groups, integers, and/or steps, but do not exclude the presence of other unstated features, elements, components, groups, integers and/or steps. The foregoing also applies to words having similar meanings such as the terms, “including”, “having” and their derivatives. Also, the terms “part,” “section,” “portion,” “member” or “element” when used in the singular can have the dual meaning of a single part or a plurality of parts. Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which illustrative embodiments of the inventive concepts belong. It will be further understood that terms, such as those defined in commonly-used dictionaries, should be interpreted as having a meaning that is consistent with their meaning in the context of the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein. 
     It will be understood that when an element is referred to as being “connected” or “coupled” to another element, it can be directly connected or coupled to the other element or intervening elements may be present. In contrast, when an element is referred to as being “directly connected” or “directly coupled” to another element, there are no intervening elements present. As used herein the term “and/or” includes any and all combinations of one or more of the associated listed items. Additionally, similar words used to describe the relationship between elements or layers should be interpreted in a like fashion (e.g., “between” versus “directly between”, “above” versus “directly above”, “below” versus “directly below”, “adjacent” versus “directly adjacent,” “on” versus “directly on”). Thus, components that are shown directly connected or contacting each other can have intermediate structures disposed between them unless specified otherwise. 
     Spatially relative terms, such as “forward”, “rearward”, “above”, “below”, “beneath”, “downward”, “vertical”, “horizontal”, and “transverse” as well as any other similar spatial terms may be used herein for the ease of description to describe one element or feature&#39;s relationship to another element(s) or feature(s) of the above embodiments. These terms, as utilized to describe the present invention should be interpreted relative to an unmanned helicopter on a horizontal surface. 
     While only a selected embodiment has been chosen to illustrate the present invention, it will be apparent to those skilled in the art from this disclosure that various changes and modifications can be made herein without departing from the scope of the invention as defined in the appended claims. The structures and functions of one embodiment can be adopted in another embodiment. It is not necessary for all advantages to be present in a particular embodiment at the same time. Every feature which is unique from the prior art, alone or in combination with other features, also should be considered a separate description of further inventions by the applicant, including the structural and/or functional concepts embodied by such feature(s). Thus, the foregoing descriptions of the embodiments according to the present invention are provided for illustration only, and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.