`Fouche
`
`(10) Patent N0.:
`(45) Date of Patent:
`
`US 6,751,529 B1
`Jun. 15, 2004
`
`US006751529B1
`
`(54) SYSTEM AND METHOD FOR
`CONTROLLING MODEL AIRCRAFT
`
`(75) Inventor: J. Michael Fouche, Huntsville, AL
`(Us)
`(73) Assignee: Neural Robotics, Inc., Huntsville, AL
`(Us)
`
`( * ) Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`
`(21) Appl. No.: 10/449,372
`(22) Filed:
`May 30, 2003
`
`Related US. Application Data
`(60) Provisional application No. 60/385,315, ?led on Jun. 3,
`2002.
`
`(51) Int. Cl.7 .............................................. .. B64C 11/34
`(52) US. Cl. ........................ .. 701/3; 244/3.21; 244/164;
`244/171; 342/29; 340/967
`(58) Field of Search ............................ .. 701/3, 4, 7, 48;
`244/3.21, 164, 171, 181, 183, 158 R, 177,
`179; 342/29, 30; 340/967, 975, 978
`
`(56)
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,553,812 A * 9/1996 Gold et al. ............. .. 244/76 R
`
`
`
`5,797,105 A * 8/1998 Nakaya et al. 5,841,537 A * 11/1998 Doty ........................ .. 356/484
`
`7/2000 Calise et al.
`6,092,919 A
`6,473,676 B2 * 10/2002 KatZ et al. ................... .. 701/4
`
`OTHER PUBLICATIONS
`
`Buschek, H.; Calise, A.J., “a Controllers: Mixed and Fixed”,
`AIAA J. of Guidance, Control, and Dynamics, vol. 20, No.
`1, pp. 34—41, 1997.
`Robinson, Rick, “Better than Human Flight Control Sys
`tems”, Research Horizons, Winter 2000, found at http://
`gtresearchnews.gatech.edu/reshor/rh—win00/?ight.html.
`
`Sugeno, Michio, “Demostration of Unmanned Helicopter
`with FuZZy Control”, 1993, found at http://www.cs.ariZo
`na.edu/japan/www/atip/public/atip.reports.95/
`atip95.13r.html.
`Sugeno, Michio, “FuZZy Logic Controller in an Intelligent,
`Unmanned Helicopter”, 1995, found at http://www.cs.ariZo
`na.edu/japan/www/atip/public/atip.reports.94/
`sugeno.94.html.
`Bluck, John, “NASA Testing New Aircraft Safety Flight
`Control Software”, Release 99—21AR, Apr. 14, 1999, found
`at
`http://amesnews.arc.nasa.gov/releases/1999/99
`21
`AR.html.
`
`(List continued on next page.)
`
`Primary Examiner—Thomas G Black
`Assistant Examiner—Tuan C To
`(74) Attorney, Agent, or Firm—Lanier Ford Shaver &
`Payne RC.
`
`(57)
`
`ABSTRACT
`
`In one embodiment, a method for controlling an aircraft
`comprises providing an attitude error as a ?rst input into a
`neural controller and an attitude rate as a second input into
`the neural controller. The attitude error is calculated from a
`commanded attitude and a current measured attitude, and the
`attitude rate is derived from the current measured attitude.
`The method also comprises processing the ?rst input and the
`second input to generate a commanded servo actuator rate as
`an output of the neural controller. The method further
`comprises generating a commanded actuator position from
`the commanded servo actuator rate and a current servo
`position, and inputting the commanded actuator position to
`a servo motor con?gured to drive an attitude actuator to the
`commanded actuator position. The neural controller is
`developed from a neural network, wherein the neural net
`work is designed without using conventional control laws,
`and the neural network is trained to eliminate the attitude
`error.
`
`28 Claims, 16 Drawing Sheets
`
`224 j
`
`226'\
`
`_ Servo F204
`' Motor
`
`218
`
`222
`
`202 \
`Roll Attitude
`Neural Controller
`
`220
`
`/-216
`
`[*212
`
`Differentiator <
`
`Helicopter Cyclic
`Roll Actuator
`
`l
`
`Helicopter /_ 208
`Dynamics
`
`Attitude /_ 21°
`Sensor
`
`220
`
`Parrot Ex. 1006
`
`
`
`US 6,751,529 B1
`Page 2
`
`OTHER PUBLICATIONS
`
`Saeks, Richard, LoFlyte information found at http://WW
`W.accurate—autornation.corn/Technology/Lo?yte/lo?yte
`.htrnl.
`Rolf, Rysdyk T.; Calise, A.J., “Nonlinear Adaptive Flight
`Control Using Neural Networks”, IEEE Controls Systems
`Magazine, vol. 18, No. 6, Dec. 1998.
`
`Leitner, Jesse; Calise, Anthony J .; Prasad, J .V.R., “Analysis
`of Adaptive Neural NetWorks for Helicopter Flight Con
`trols”, AIAA Journal of Guidance, Control, and Dynamics,
`vol. 20, No. 5, p. 972—979, Sep.—Oct. 1997.
`
`* cited by eXarniner
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 1 0f 16
`
`US 6,751,529 B1
`
`108
`
`20
`W
`
`f“ 110
`
`(Side View)
`
`r 112
`[___J
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 2 0f 16
`
`US 6,751,529 B1
`
`EN
`
`EN
`
`53026:
`
`meEmEE
`
`ma3E<
`
`.owcmw
`
`26553026:
`
`59mEU<zom
`
`VNN
`
`N.07.
`
`.ofiEEmED
`
`oNN
`
`mu3_t<=om
`
`
`
`5:0:80.mSmZ
`
`mrN
`
`
`
`
`
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 3 0f 16
`
`US 6,751,529 B1
`
`wow
`
`2N
`
`568%:
`
`mo_Em:>Q
`
`32%
`
`chmm
`
`
`
`o__o>o538:2;
`
`6533‘50:1
`
`vmm
`
`m.0."—
`
`Bfizcfimtfi
`
`owm
`
`
`
`33:3.:85
`
`
`
`6:03:00_m._:mz
`
`m5
`
`
`
`
`
`
`
`US. Patent
`
`mJ
`
`4002
`
`eehS
`
`4
`
`61
`
`US 6,751,529 B1
`
`5:5833‘28>J2.8555026:
`
`pma
`tOwNmuszt<
`
`mom.2326:
`
`mu_Emc>o
`
`#NV
`
`a..9“—
`
`howmzcmhmfia
`
`owv
`
`$3525>
`
`
`
`5:02:00.9302
`
`m;
`
`
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 5 0f 16
`
`US 6,751,529 B1
`
`output neuron
`
`middle layer of neurons
`
`input neurons
`
`FIG. 5
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 6 6f 16
`
`US 6,751,529 B1
`
`Servo Motor
`
`i
`
`Rotor
`Actuator
`
`V
`Helicopter
`Dynamics
`
`."
`Att'tude
`Sensor
`
`Current Servo Position
`
`Commanded
`
`Servo Rate
`
`b Neural
`Pathways
`
`Attitude Rate
`
`Attitude Error
`
`FIG. 6
`
`Processing
`Neurons
`\J
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 7 0f 16
`
`US 6,751,529 B1
`
`i
`
`r 700
`[- 702
`
`Mount RC Model Helicopter to Test Stand
`PM
`l
`Look Down RC Model Helicopter to Prohibit
`Movement Except in One Axis
`
`/_ 706
`l
`Provide Open-Loop Stimulus to Servo Motor
`
`F 708
`&
`Generate Servo Motor Command Pro?le and
`Attitude Pro?le Data
`
`L
`Select a Training Region
`
`l
`Train Neural Network Using Open-Loop
`Stimulus Data Set
`l
`Tune the Neural Network
`
`F‘ 710
`
`/— 712
`
`714
`
`[- 716
`l
`Calculate Attitude Error input Bias and Add
`Attitude Error Input Bias to the Attitude Error
`Input Neuron of the Neural Network
`/— 718
`l
`Generate Neural Controller and Flight Test RC
`Model Helicopter Using Neural Controller
`
`FIG. 7
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 8 0f 16
`
`US 6,751,529 B1
`
`
`
`Q03 65 0&5, 02:3
`
`20
`
`40
`
`6O
`
`80
`Time (sec)
`
`lOO
`
`120
`
`140
`
`160
`
`FIG. 8
`
`
`
`U.S. Patent
`US. Patent
`
`Jun. 15,2004
`Jun. 15, 2004
`
`Sheet 9 0f 16
`Sheet 9 0f 16
`
`US 6,751,529 B1
`US 6,751,529 B1
`
`
`
`FIG. 9
`FIG. 9
`
`
`
`U.S. Patent
`US. Patent
`
`Jun. 15,2004
`Jun. 15, 2004
`
`Sheet 10 0f 16
`Sheet 10 0f 16
`
`US 6,751,529 B1
`US 6,751,529 B1
`
`FIG.10
`
`FIG. 10
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 11 0f 16
`
`US 6,751,529 B1
`
`-
`
`- Tminirg reg'mto be cave-?tted
`2nd scaledfamml mtwxk
`
`5
`
`.3
`
`Time(mi1s)
`
`FIG. 11
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 12 0f 16
`
`US 6,751,529 B1
`
`140
`
`120
`
`
`
`Attiwde Angle a a a
`
`roll “wwshadedmgmw
`
`FIG. 12
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 13 0f 16
`
`US 6,751,529 B1
`
`i
`20
`
`1
`40
`
`6O
`
`i
`80
`Tm: (see)
`
`100
`
`i
`120
`
`140
`
`160
`
`FIG. 13
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 14 0f 16
`
`US 6,751,529 B1
`
`Current Servo Position
`
`Commanded
`
`Servo Rate
`
`Servo Motor
`
`i
`
`Rotor
`Actuator
`
`Helicopter
`Dynamics
`
`V
`Attitude
`Sensor
`
`Attitude Rate
`j Attitude Error
`
`Performance
`Shaping Constants
`
`FIG. 14
`
`
`
`US. Patent
`
`Jun. 15, 2004
`
`Sheet 15 0f 16
`
`US 6,751,529 B1
`
` -:51.£13,!{25:11:1I:.I§|§....;I.zl:¢..i.iiu\.liil...s.i3T213113;...;6...z...li...t.:.!ni...i..ii...lr.lc|al|2m_
` 32.8530“fl0::mini—wWW9.:93%.,,M.II.
`WT_-ml4.u88P8958;Eco_A809No
`
`
`;Miammo88.mwmwilmifilimmmo_.amaze,Emmi
`
`
`
`
`
`
`
`
`,twang—.58;‘an.9.6m0:33.258:850th5%.:83.5w:2.8cflE0tmn826.3.5:9:;
`
`.InlIll‘Li111;ill]
`
`
`
`
`
`
`
`
`HI»E|xrIIII}I»I>}
`
`,
`
`
`
`
`
`
`
`mw.0.”—
`
`
`
`
`
`
`
`
`
`
`
`
`
`U.S. Patent
`
`Jun. 15,2004
`
`Sheet 16 0f 16
`
`US 6,751,529 B1
`
`iterations lower bound upper bound
`
`bias
`
`neural network
`output
`
`1
`2
`3
`4
`5
`5
`7
`8
`9
`10
`11
`“ 12
`13
`14
`15
`15
`17
`18
`
`40
`-40
`-20
`40
`-5
`-2.5
`-2.5
`4.875
`4.5525
`4.40525
`4.32812
`4.28905
`4.25953
`4.25977
`4.25488
`4.25244
`4.25244
`4.25244
`
`40
`0
`0
`0
`0
`0
`4.25
`4.25
`4.25
`4.25
`4.25
`4.25
`4.25
`4 .25
`4.25
`4.25
`4.25122
`4.25183
`
`1
`
`0
`-20
`40
`5
`-2.5
`4.25
`-1.875
`4.5525
`4.40525
`4.32812
`4.28905
`“11.25953
`4.25977
`4.25488
`4 .25244
`4.25122
`4.25183
`4.25214
`
`0.1745215
`3.2702389
`1.4985907
`0.5905902
`0.1855542
`00003075
`00912329
`0.045101
`0.0223054
`0.0109755
`0.0053279
`0.0025085
`0.0010999
`0.0003953" "
`0.0000435
`00001315
`0.0000435
`0.0000002
`
`FIG. 16
`
`
`
`US 6,751,529 B1
`
`1
`SYSTEM AND METHOD FOR
`CONTROLLING MODEL AIRCRAFT
`
`2
`Even for RC ?Xed-Wing aircraft, the user needs to knoW hoW
`to glide the aircraft to the ground.
`
`RELATED APPLICATION
`
`SUMMARY
`
`The application claims the bene?t of priority under 35
`U.S.C. § 119(c) of US. Provisional Application No. 60/385,
`315 ?led on Jun. 3, 2002, the entirety of Which is incorpo
`rated herein by reference.
`
`BACKGROUND
`
`1. Field
`The present invention generally relates to aircraft control
`techniques and, in particular, to a system and method for
`controlling an aircraft via the use of a neural netWork
`controller.
`2. Description of the Related Art
`Aircraft generally have three ranges or aXes of motion
`(roll, pitch, and yaW), and it is necessary to actively control
`the aircraft’s motion about each of the three aXes of motion
`via one or more aerodynamic actuators. In general, for
`?xed-Wing aircraft (e.g., airplanes), roll, pitch, and yaW are
`primarily controlled via the aircraft’s ailerons, horiZontal
`stabiliZer, and vertical stabiliZer, respectively. For rotary
`Wing aircraft (e.g., helicopters), roll and pitch are generally
`controlled via the aircraft’s main or horiZontal rotor, and
`yaW is generally controlled via the aircraft’s tail or vertical
`rotor. HoWever, it is common for a particular actuator to
`contribute to more than one aXis of motion, and it is possible
`for other types of actuators to be employed in addition to
`and/or in lieu of the aforementioned actuators.
`Properly controlling an aircraft’s motion can be a dif?cult
`task, particularly in environmental conditions (e.g.,
`turbulence) that cause the aircraft to behave in an unpre
`dictable manner. Indeed, most pilots spend an enormous
`amount of time and effort in learning hoW to properly control
`their aircraft.
`Control of model aircraft (i.e., miniature, unmanned
`aircraft) adds an additional layer of dif?culty since there is
`no on-board pilot that can apply the appropriate inputs for
`properly controlling the aircraft. A “pilot on the ground”
`cannot sense nuances in the aircraft movement and, thus, can
`become disoriented very quickly. For eXample, if a helicop
`ter is facing aWay from a pilot (i.e., helicopter nose points in
`same direction as pilot’s nose), then the pilot’s left is the
`helicopter’s left. But, if the helicopter yaWs 180 degrees and
`faces the pilot, then the pilot has to change his/her orienta
`tion and method of thinking because “left is right” and “right
`is left.” A pilot on board Will never face this problem.
`Rotary-Wing model aircraft are inherently unstable in that
`they lack positive dynamic stability. With ?xed-Wing
`aircraft, their actuators can sometimes be positioned or
`con?gured such that the ?xed-Wing aircraft generally main
`tains stable ?ight Without additional input from the actuators
`(also called trimmed ?ight). HoWever, most rotary-Wing
`aircraft ?y in an unstable manner unless control inputs for
`the actuators are continuously provided. One draWback is
`the resulting dif?culty of controlling a remote-controlled
`(RC) aircraft in ?ight.
`For eXample, in order for a user to successfully ?y and
`control a RC helicopter either for fun or business, the user
`has to be an eXpert pilot. In addition to having to knoW hoW
`to ?y, the user also needs to knoW hoW to autorotate the RC
`helicopter in the event that the RC helicopter engine quits or
`stalls in mid air. The skills required to autorotate a helicopter
`is very different from the skills required to ?y the helicopter.
`
`15
`
`25
`
`35
`
`45
`
`55
`
`65
`
`In one embodiment, a method for controlling an aircraft
`comprises providing an attitude error as a ?rst input into a
`neural controller, the attitude error calculated from a com
`manded attitude and a current measured attitude, providing
`an attitude rate as a second input into a neural controller, the
`attitude rate derived from the current measured attitude,
`processing the ?rst input and the second input to generate a
`commanded servo actuator rate as an output of the neural
`controller, generating a commanded actuator position from
`the commanded servo actuator rate and a current servo
`position, and inputting the commanded actuator position to
`a servo motor con?gured to drive an attitude actuator to the
`commanded actuator position, Wherein, the neural controller
`is developed from a neural netWork, the neural netWork
`designed Without using conventional control laWs, the neural
`netWork trained to eliminate the attitude error.
`In another embodiment, an apparatus for controlling an
`aircraft comprises an attitude sensor operable to provide a
`current attitude, a differentiator operable to receive as input
`the current attitude and derive an attitude rate, a neural
`controller operable to receive a plurality of inputs compris
`ing an attitude error and the attitude rate, the attitude error
`calculated from a commanded attitude and the current
`attitude, the neural controller also operable to generate a
`commanded servo rate from the plurality of inputs, the
`commanded servo rate applied to a current actuator position
`to generate a commanded actuator position, and a servo
`motor operable receive the commanded actuator position,
`the servo motor further operable to drive an attitude actuator
`to the commanded actuator position, Wherein the neural
`controller is developed from a neural netWork designed
`Without using conventional control laWs.
`These and other embodiments of the present invention
`Will also become readily apparent to those skilled in the art
`from the folloWing detailed description of the embodiments
`having reference to the attached ?gures, the invention not
`being limited to any particular embodiment(s) disclosed.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`The folloWing draWings incorporated in and forming a
`part of the speci?cation illustrate, and together With the
`detailed description serve to eXplain various aspects of the
`implementation(s) and/or embodiment(s) of the invention
`and not of the invention itself.
`FIGS. 1A and 1B illustrate an exemplary RC model
`helicopter mounted to a 3-aXis test stand suitable for control
`by a neural controller, according to one embodiment.
`FIG. 2 illustrates a block diagram of one embodiment of
`a neural netWork roll attitude control, according to the
`present invention.
`FIG. 3 illustrates a block diagram of one embodiment of
`a neural netWork pitch attitude control, according to the
`present invention.
`FIG. 4 illustrates a block diagram of one embodiment of
`a neural netWork yaW attitude control, according to the
`present invention.
`FIG. 5 illustrates an eXemplary neural netWork for learn
`ing 3-dimensional relationships.
`FIG. 6 illustrates a block diagram of one embodiment of
`an exemplary closed-loop process for a neural netWork
`helicopter attitude control, according to the present inven
`tion.
`
`
`
`US 6,751,529 B1
`
`3
`FIG. 7 illustrates a How chart of one embodiment of a
`method by Which a neural controller is developed, according
`to the present invention.
`FIG. 8 illustrates an example of an operator-induced
`decaying sinusoidal Wave stimulus.
`FIG. 9 illustrates a RC model helicopter mounted on a test
`stand and canted a positive 0t degrees from a roll neutral
`position.
`FIG. 10 illustrates an exemplary depiction of the effect of
`an exponentially decaying sinusoidal Waveform on a RC
`model helicopter mounted to a test stand.
`FIG. 11 illustrates an exemplary graphical depiction of a
`training region, according to the present invention.
`FIG. 12 illustrates an exemplary graphical depiction of a
`training region comprising tWo regions of overshoot,
`according to the present invention.
`FIG. 13 illustrates an exemplary graphical depiction of an
`upper performance-shaping line and a loWer performance
`shaping line about a transient response curve, according to
`the present invention.
`FIG. 14 illustrates a block diagram of one embodiment of
`an exemplary closed-loop process for a neural netWork
`having a neural controller tuning concept, according to the
`present invention.
`FIG. 15 is a table illustrating an exemplary mapping
`betWeen a plurality of input training sets for a RC model
`helicopter roll attitude and its corresponding commanded
`servo rate, according to the present invention.
`FIG. 16 is a table illustrating exemplary chronological
`results of an iterative roll attitude error input bias calculation
`for a RC model helicopter, according to the present inven
`tion.
`
`15
`
`25
`
`DETAILED DESCRIPTION
`
`35
`
`The various embodiments of the present invention and
`their advantages are best understood by referring to FIGS. 1
`through 16 of the draWings. The elements of the draWings
`are not necessarily to scale, emphasis instead being placed
`upon clearly illustrating the principles of the invention.
`Throughout the draWings, like numerals are used for like and
`corresponding parts of the various draWings.
`Turning ?rst to the nomenclature of the speci?cation, at
`least one embodiment described in the detailed description
`that folloWs is presented largely in terms of processes and
`symbolic representations of operations performed by
`computers, including computer components. A computer
`may be any microprocessor or processor (hereinafter
`referred to as processor) controlled device capable of
`enabling or performing the processes and functionality set
`forth herein. The computer may possess input devices such
`as, by Way of example, a keyboard, a keypad, a mouse, a
`microphone, or a touch screen, and output devices such as a
`computer screen, printer, or a speaker. Additionally, the
`computer includes memory such as, Without limitation, a
`memory storage device or an addressable storage medium.
`The computer, and the computer memory, may advanta
`geously contain program logic or other substrate con?gu
`ration representing data and instructions, Which cause the
`computer to operate in a speci?c and prede?ned manner as,
`described herein. The program logic may advantageously be
`implemented as one or more modules. The modules may
`advantageously be con?gured to reside on the computer
`memory and execute on the one or more processors (i.e.,
`computers). The modules include, but are not limited to,
`softWare or hardWare components that perform certain tasks.
`
`45
`
`55
`
`65
`
`4
`Thus, a module may include, by Way of example,
`components, such as, softWare components, processes,
`functions, subroutines, procedures, attributes, class
`components, task components, object-oriented softWare
`components, segments of program code, drivers, ?rmWare,
`microcode, circuitry, data, and the like.
`The program logic can be maintained or stored on a
`computer-readable storage medium. The term “computer
`readable storage medium” refers to any medium that par
`ticipates in providing the symbolic representations of opera
`tions to a processor for execution. Such media may take
`many forms, including, Without limitation, volatile memory,
`nonvolatile memory, ?ash memory, electronic transmission
`media, and the like. Volatile memory includes, for example,
`dynamic memory and cache memory normally present in
`computers. Nonvolatile memory includes, for example, opti
`cal or magnetic disks.
`It should also be understood that the programs, modules,
`processes, methods, and the like, described herein are but
`exemplary implementations and are not related, or limited,
`to any particular computer, apparatus, or computer language.
`Rather, various types of general-purpose computing
`machines or devices may be used With programs constructed
`in accordance With the teachings described herein. Similarly,
`it may prove advantageous to construct a specialiZed appa
`ratus to perform some or all of the method steps described
`herein by Way of dedicated computer systems With hard
`Wired logic or programs stored in non-volatile memory, such
`as, by Way of example, read-only memory (ROM).
`The present disclosure is generally directed to a system
`and corresponding methods that facilitate the control of
`aircraft in ?ight. In accordance With one embodiment of the
`present invention, a servo motor for moving one of the
`aircraft’s actuators is given an open-loop stimulus (e.g., a
`sinusoidal control signal With exponentially decreasing
`amplitude) that causes the servo motor to move the actuator
`such that the aircraft oscillates at least once about one of the
`aircraft’s axis of movement. During the oscillation, data
`indicative of the aircraft’s response to the open-loop stimu
`lus is captured. This data is then utiliZed to train a neural
`netWork used for controlling the aircraft’s actuator.
`More speci?cally, the data is utiliZed to train the neural
`netWork to control the actuator such that the actuator tends
`to return the aircraft to an equilibrium position When dis
`placed from the equilibrium position. In other Words, the
`neural netWork is trained to “Zero-out” an attitude error (i.e.,
`a displacement from the equilibrium position). Once the
`neural netWork is trained, it is implemented as a neural
`controller that is used to control the actuator during actual or
`test ?ight conditions. Based on the aircraft’s ?ight
`performance, the neural controller is tuned by adjusting
`inputs to the neural controller such that the neural controller
`properly maintains the stability of the aircraft.
`Even though the principles of the various embodiments of
`the invention described herein are suitable for controlling
`aircraft in general, for ease and clarity of explanation, the
`invention Will be further disclosed in the context of control
`ling remote controlled (RC) aircraft. More particularly, a
`neural netWork and resulting neural controller suitable for
`controlling a RC model rotary-Wing aircraft such as, by Way
`of example, a helicopter, Will be disclosed. It is appreciated
`that the principles of the invention disclosed herein in
`conjunction With the control of RC model helicopters may
`be utiliZed to control RC model ?xed-Wing aircraft as Well
`as actual rotary and ?xed-Wing aircraft (i.e., non-model
`aircraft).
`
`
`
`US 6,751,529 B1
`
`5
`FIGS. 1A and 1B illustrate an exemplary RC model
`helicopter 10 mounted to a 3-axis test stand 20 suitable for
`control by a neural controller, according to one embodiment.
`As depicted, FIG. 1A illustrates a front view of RC model
`helicopter 10 mounted to test stand 20 (i.e., a holding
`mechanism) and FIG. 1B illustrates a side view of RC model
`helicopter 10 mounted to test stand 20. RC model helicopter
`10 comprises a fuselage 102, a rotor 104 coupled to fuselage
`102, a tail boom 106 coupled to fuselage 102, and a tail rotor
`108 coupled to tail boom 106 substantially at a distal end
`opposite fuselage 102. As used herein,
`the terms
`“connected,” “coupled,” or any variant thereof, means any
`connection or coupling, either direct or indirect, between
`two or more elements; the coupling or connection between
`the elements can be physical,
`logical, or a combination
`thereof.
`
`As depicted, rotor 104 generally functions to control roll
`(i.e., motion about the z-axis)-and pitch (i.e., motion about
`the x-axis), and tail rotor 108 generally functions to control
`yaw (i.e., motion about the y-axis). Rotor 104 is coupled to
`a rotor actuator (not shown) and tail rotor 108 is coupled to
`a tail rotor actuator (not shown). Each rotor is mechanically,
`electrically, or hydraulically coupled or linked to its respec-
`tive actuator. A change in actuator position directly causes a
`change in the lateral position of its coupled rotor, which, in
`turn, affects the roll, pitch, and/or yaw attitude (i.e.,
`the
`helicopter dynamics) of RC model helicopter 10. The X, y,
`and z-axes are indicated in FIGS. 1A and 1B by “dashed”
`lines and are not part of RC model helicopter 10.
`Test stand 20 generally functions to hold RC model
`helicopter 10 and, more particularly, functions to enable RC
`model helicopter 10 to move about a single axis while
`prohibiting movement about
`the other two axes. Stated
`differently, RC model helicopter 10 can be mounted to test
`stand 20 and configured such that RC model helicopter 10 is
`free to move about a single axis of motion (e.g., about the
`x-axis) and unable to move about the other two axes of
`motion (e.g., about the y-axis and z-axis).
`As depicted, test stand 20 comprises an arm 110 coupled
`to a base 112. Arm 110 generally extends from base 112 and
`functions to couple to RC model helicopter 10 at a distal end
`opposite the distal end coupled to base 112.
`In one
`embodiment, arm 110 is coupled to RC model helicopter 10
`at the helicopter’s center of gravity such that no movement
`is created by virtue of RC model helicopter 10 being coupled
`to test stand 20.
`
`For example, to design a neural controller to control the
`z-axis (roll axis) of RC model helicopter 10, a user mounts
`RC model helicopter 10 to test stand 20 and enables move-
`ment only in the z-axis while locking-down or preventing
`movement about the x-axis (pitch axis) and the y-axis (yaw
`axis). The axis of interest (i.e., roll axis) is the only “free”
`axis, and the other two axes (i.e., the pitch and yaw axes) are
`locked-down.
`
`FIG. 2 illustrates a block diagram of one embodiment of
`a neural network roll attitude control, according to the
`present invention. The neural network roll attitude control
`generally functions to control the roll axis of RC model
`helicopter 10. As depicted, the neural network roll attitude
`control block diagram comprises a roll attitude neural con-
`troller 202, a servo motor 204, a helicopter cyclic roll
`actuator 206, a helicopter dynamics 208, an attitude sensor
`210, and a differentiator 212.
`Roll attitude neural controller 202 generally functions to
`control or maintain RC model helicopter 10 in a commanded
`roll attitude. In one embodiment, roll attitude neural con-
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`troller 202 is a software implementation of a plurality of
`equations that define a neural network that
`is taught to
`reduce the roll attitude error to zero. Stated another way, the
`neural network is trained to control the roll actuator of RC
`
`model helicopter 10 such that the angular displacements of
`RC model helicopter 10 about the roll axis are “zeroed out.”
`Designing and teaching a neural network suitable for use in
`designing roll attitude neural controller 202 is further dis-
`cussed below.
`
`Roll attitude neural controller 202 receives as input a roll
`attitude error 214 and a roll attitude rate 216. Roll attitude
`error 214 is the difference between a commanded roll
`
`attitude 218 and a measured (actual) roll attitude 220, and
`roll attitude rate 216 is the derivative of measured roll
`
`attitude 220. Roll attitude neural controller 202 processes
`the inputs and generates a servo actuator rate command 222,
`which is an incremental delta position (negative or positive)
`that is applied to a current actuator position 224 to generate
`a commanded actuator position 226 to servo motor 204.
`In one embodiment, servo actuator rate command 222 is
`multiplied by a delta-time value (rate*delta-time), and the
`resulting value is added to current actuator position 224 (old
`position) to generate commanded actuator position 226 (a
`new position). Stated another way, a new position=old
`position+(rate*delta-time). The new position command is
`then sent to servo motor 204.
`
`Servo motor 204 is coupled to helicopter cyclic roll
`actuator 206 and generally functions to drive helicopter
`cyclic roll actuator 206. Servo motor 204 receives as input
`commanded actuator position 226 and, based on this input,
`drives or controls helicopter cyclic roll actuator 206 to
`accordingly change position in response to commanded
`actuator position 226. In this instance, helicopter cyclic roll
`actuator 206 is coupled to rotor 104, and a change in
`helicopter cyclic roll actuator 206 position directly causes an
`attitude change about the longitudinal axis of rotor 104. In
`particular, servo motor 204 drives helicopter cyclic roll
`actuator 206, which in turn drives the control surface (i.e.,
`rotor 104).
`from the control
`The aerodynamic forces that result
`surface movement cause RC model helicopter 10 to change
`attitude. In particular, the attitude change about the longi-
`tudinal axis of rotor 104 affects helicopter dynamics 208
`and, in particular, the roll attitude of RC model helicopter
`10. Attitude sensor 210 generally functions to measure an
`attitude change and output a new or measured attitude. In
`this instance, attitude sensor 210 measures the roll attitude
`change and outputs measured roll attitude 220, which is used
`to generate roll attitude error 214 and roll attitude rate 216.
`Differentiator 212 generally functions to generate an
`attitude rate from an input attitude measurement. For
`example and in this instance, differentiator 212 receives as
`input measured roll attitude 220 from attitude sensor 210
`and generates roll attitude rate 216 by calculating the
`derivative of measured roll attitude 220. Roll attitude rate
`
`216 is then provided as one input to roll attitude neural
`controller 202.
`
`In one embodiment, servo motor 204, helicopter cyclic
`roll actuator 206, and attitude sensor 210 are housed within
`or as part of RC model helicopter 10 and roll attitude neural
`controller 202 is located external to RC model helicopter 10.
`For example, roll attitude neural controller 202 may be
`housed and execute within a computer. In this embodiment,
`roll attitude neural controller 202 can communicate with the
`
`components housed within RC model helicopter 10 either
`through wireless communication (e.g.,
`radio
`
`
`
`US 6,751,529 B1
`
`7
`
`In
`communication, etc.) or via a physical connection.
`another embodiment, roll attitude neural controller 202 is
`housed within or as part of RC model helicopter 10.
`It
`is appreciated that
`the aforementioned components
`depicted in the neural network roll attitude control are only
`illustrative and the neural network roll attitude control may
`comprise other components and modules not depicted. The
`depicted components and modules may communicate with
`each other and other components comprising the neural
`network roll attitude control through mechanisms such as,
`by way of example, direct memory access,
`interprocess
`communication, procedure and function calls, application
`program interfaces, other various program interfaces, and
`various network and communication protocols.
`Furthermore, the functionality provided for in the compo-
`nents and modules may be combined into fewer components
`or modules or further separated into additional components
`or modules.
`
`FIG. 3 illustrates a block diagram of one embodiment of
`a neural network pitch attitude control, according to the
`present invention. As depicted,
`the neural network pitch
`attitude control comprises a pitch attitude neural controller
`302, a servo motor 304, a helicopter cyclic pitch actuator
`306, helicopter dynamics 208, attitude sensor 210, and a
`differentiator 312.
`
`The neural network pitch attitude control generally func-
`tions to control the pitch axis of RC model helicopter 10 in
`a manner similar to that of the neural network roll attitude
`
`control disclosed above. In particular, pitch attitude neural
`controller 302 generally functions to control or maintain RC
`model helicopter 10 in a commanded pitch attitude. In one
`embodiment, pitch attitude neural controller 302 is a soft-
`ware implementation of a plurality of equations that define
`a neural network that is taught to reduce the pitch attitude
`error to zero.
`
`Pitch attitude neural controller 302 receives as input a
`pitch attitude error 314 and a pitch attitude rate 316. Pitch
`attitude error 314 is the difference between a commanded
`
`pitch attitude 318 and a measured (actual) pitch attitude 320,
`and pitch attitude rate 316 is the derivative of measured pitch
`attitude 320. Pitch attitude neural controller 302 processes
`the inputs and generates a servo actuator rate command 322,
`which is an incremental delta position (negative or positive)
`that is applied to a current actuator position 324 to generate
`a commanded actuator position 326 to servo motor 304.
`Servo motor 304 is coupled to helicopter cyclic pitch
`actuator 306 and generally functions to drive helicopter
`cyclic pitch actuator 306. Servo motor 304 receives as input
`commanded actuator position 326 and, based on this input,
`dr