28
Appendix A LabVIEW Functions Data Acquisition Conguration Block Diagram Functions palette Programming Structures Flat Sequence Structure Left click once on the icon. Left double click onto the block diagram. Right click side of the frame Left click on Add Frame Beforeor after. Right click side of the frame Left click on Insert Frame. Block Diagram Functions palette Instrument I/O Serial VISA Congure Serial Port Timeout (10s) VISA resource name (COM10) Baud rate (38400) Data bit (8) Flow control (none) Parity (none) Stop bit (1) Block Diagram Functions palette Instrument I/O VISA Write Right click on write buffer terminal String Palette String Constant Input cas the constant text string to represent scaled mode operation. Block Diagram Functions palette Instrument I/O VISA Write Right click on write buffer terminal String Palette String Constant Input Cas the constant text string to represent continuous mode of operation or Enter the hex string numbers to change to other modes of operation. © Springer Nature Singapore Pte Ltd. 2018 T. S. Ng, Flight Systems and Control, Springer Aerospace Technology, https://doi.org/10.1007/978-981-10-8721-9 213

Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

  • Upload
    buidiep

  • View
    230

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

Appendix ALabVIEW Functions

✓ Data Acquisition Configuration

➢ Block Diagram � Functions palette � Programming � Structures � FlatSequence Structure

• Left click once on the icon.• Left double click onto the block diagram.• Right click side of the frame � Left click on ‘Add Frame Before’ or after.• Right click side of the frame � Left click on ‘Insert Frame’.

➢ Block Diagram � Functions palette � Instrument I/O � Serial � VISAConfigure Serial Port

• Timeout (10s)• VISA resource name (COM10)• Baud rate (38400)• Data bit (8)• Flow control (none)• Parity (none)• Stop bit (1)

➢ Block Diagram � Functions palette � Instrument I/O � VISA � Write

• Right click on write buffer terminal � String Palette � String Constant• Input “c” as the constant text string to represent scaled mode operation.

➢ Block Diagram � Functions palette � Instrument I/O � VISA � Write

• Right click on write buffer terminal � String Palette � String Constant• Input “C” as the constant text string to represent continuous mode of operation

or• Enter the hex string numbers to change to other modes of operation.

© Springer Nature Singapore Pte Ltd. 2018T. S. Ng, Flight Systems and Control, Springer Aerospace Technology,https://doi.org/10.1007/978-981-10-8721-9

213

Page 2: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

✓ Compute Checksum

➢ Block Diagram � Functions palette � Programming � Structures � WhileLoop

➢ Block Diagram � Functions palette � Programming � Application Control �Property Node

• Right click on application � Select class � VISA � I/O session � Instr• Right click on property � Select property � Serial settings � Number of

bytes at serial port

➢ Block Diagram � Functions palette � Instrument I/O � VISA � VISAAdvanced � VISA Property Node

➢ Block Diagram � Functions palette � Instrument I/O � VISA � Read➢ Block Diagram � Functions palette � Programming � String � Match

Pattern

• Right click on regular expression � string palette � String constant• Input string ‘5555’ for the header expression.• Right click onto the string � hex display• Ensure the display is in hex form, else re-enter the header expression.

➢ Block Diagram � Functions palette � Programming � String �Path/Array/String Conversion � String To Byte Array

➢ Block Diagram � Functions palette � Programming � Array � Search 1DArray

➢ Block Diagram � Functions palette � Programming � Numeric � Subtract➢ Block Diagram� Functions palette� Programming� Array� Array Subset➢ Block Diagram � Functions palette � Programming � Array � Index Array➢ Block Diagram � Functions palette � Programming � Numeric � Data

Manipulation � Join Numbers➢ Block Diagram � Functions palette � Programming� Comparison� Equal?➢ Block Diagram � Functions palette � Programming � Boolean � Or➢ Block Diagram � Functions palette � Programming � String � String

Length➢ Block Diagram � Functions palette � Programming � Timing � Time Delay

• Double click on the icon and set the timing value.

➢ Block Diagram � Functions palette � Programming � Timing � Wait untilnext ms multiple

• Right click left side of icon � Create � Constant• Input 10 (10 ms) for 100 Hz.

214 Appendix A: LabVIEW Functions

Page 3: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

✓ Summing Elements Of An Array (Sub VI)

➢ Block Diagram � Functions palette � Programming � Structures � ForLoop

• Right Click on “For Loop” border � Add Register• Right Click on left side of Shift Register input terminal � Create � Constant

➢ Block Diagram � Functions palette � Programming � Array � ArrayConstant

➢ Block Diagram � Functions palette � Programming � Numeric �Conversion � To Unsigned Quad Integer

➢ Block Diagram � Functions palette � Programming � Numeric �Conversion � To Unsigned Word Integer

• At “U16” or “U8” output terminal � Create � Indicator

➢ Block Diagram � Functions palette � Programming � Numeric � Add➢ Block Diagram � Functions palette � Programming � Numeric � Quotient

& Remainder➢ Block Diagram � Functions palette � Programming � Numeric �

Conversion � To Unsigned Byte Integer➢ Front Panel top right hand corner pattern icon, right click to select a pattern

• Left click onto one of the portion on the pattern, then left click to select the inputicon variable in the front panel, to link them up.

• Left click onto another portion on the pattern, then left click to select an outputicon variable in the front panel.

• Repeat until all input and output variables are linked with the sub VI pattern.• Lastly, drag the ready built sub VI icon to place it in the main block diagram.

✓ Building Internal VI (Computation)

➢ Front Panel� Controls palette �Modern� Array, Matrix & Cluster � Array

• Front Panel � Controls palette � Modern � Numeric � Numeric Indicator• Left click on numeric indicator � Drag onto the empty array box on the right of

the array icon.• Right click the array icon on the Block Diagram � Representation � U8

➢ Block Diagram � Functions palette � Programming � Array � Index Array

• Right click on the index terminal � Create � Constant• Left double click onto the constant to change the number.

➢ Block Diagram � Functions palette � Programming � Numeric � DataManipulation � Join Numbers

• Left click onto one of the portion on the pattern, then left click to select the inputicon in the front panel.

Appendix A: LabVIEW Functions 215

Page 4: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

• Left click onto another portion on the pattern, then left click to select the outputicon in the front panel.

• Repeat the previous step to select the rest of the output parameters for theconnector.

• Lastly, drag the ready built sub VI icon to place it in the main block diagram.

✓ Display Graph Chart & Save File

➢ Front Panel � Controls palette � Modern � Graph � Waveform Chart

• Double click onto the graph chart to display the icon in the block diagram.• Double click onto the graph icon to display the graph back in the front panel.

➢ Block Diagram � Functions palette � Programming � Cluster, Class &Variant � Bundle

• Drag down bundle icon to have more input elements.• Right click on bundle icon output � Create � Indicator

➢ Block Diagram � Functions palette � Express � Output � Write ToMeasurement File

• To create a save button on the front panel, right click on the enable terminal �Create � Control

➢ Block Diagram � Functions palette � Express � Signal Manipulation �Merge Signals

➢ Block Diagram � Functions palette � Programming � Cluster, Class &Variant � Unbundle

• Output elements are auto created by the input cluster

➢ Block Diagram � Functions palette � Programming � Structures � WhileLoop

• Left click once on the icon.• Left double click onto the block diagram.• Right click onto the terminal of the stop button � Create Control

➢ Right click on the time output terminal � Create � Indicator➢ Right click on the absolute pressure output terminal � Create � Indicator➢ Right click on the pitot pressure output terminal � Create � Indicator

✓ Tap GPS NMEA Sentences

➢ C � Program file (x86) � National Instruments � LabVIEW 2015 � vi.lib �InstrIOAsst � IIOA.llb � ConsumeBefore.vi

216 Appendix A: LabVIEW Functions

Page 5: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

• Right click on the ‘before’ terminal � Create � constant• Key in the string command for the GPS sentence to retrieve (for example

$GPGGA).• Right click on the ‘ASCII’ terminal � Create � constant• Change the boolean constant to true.

➢ Block Diagram � Functions palette � Programming � Cluster, Class &Variants � Unbundle By Name

• Left click onto the icon then left click onto the block diagram.• Connect up the error output of the consumebefore.vi into the input of Unbundle

By Name.• Right click on the icon � select item � status• Connect up the output of the Unbundle By Name icon.• Right click the while loop stop button and change to ‘continue if true’.• Link it to the Unbundle By Name icon output.

➢ Block Diagram � Functions palette � Programming � Structures � CaseStructure

• Left click once on the icon and left double click it onto the block diagram.• Select ‘True’ case and join the input string from one end to the other end of the

case structure.• Right click on the right tunnel and choose “Use default if unwired’.• Select ‘False’ case and join the input string to the false case structure.• Connect up the Boolean input to the case selector on the left border of the case

structure.

➢ Block Diagram � Functions palette � Programming � String � StringSubset

• Right click on the length input � Create � constant• Input the length number into the constant.• Right click on the offset input � Create � constant• Input the offset number into the constant.• Link up the string input.• Link up the substring output.

➢ Block Diagram � Functions palette � Programming � String �Number/String Conversion � Decimal String To Number

• Link up the string input.• Link up the number output

➢ Block Diagram � Functions palette � Programming � String �Number/String Conversion � Fract/Exp String To Number

• Link up the string input.• Link up the number output.

Appendix A: LabVIEW Functions 217

Page 6: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

➢ Block Diagram � Functions palette � Programming � Cluster, Class &Variants � Bundle

• Connect up the input terminals.• Connect up the output terminal.

➢ To display the cluster, right click � Create � Indicator

• Link the cluster output to the indicator.

➢ Block Diagram � Functions palette � Instrument I/O � VISA � VISA Read

• Connect up the VISA resource name, VISA resource name out and bothinput/output of the error lines.

• Right click � Create � constant• Link up the constant to the byte count input of the VISA read icon.• Key in ‘500’ as the byte count number.• Connect up the read buffer output of the icon to the ‘response string input’ of the

consumebefore.vi.

✓ Catch ‘S’ Mode

➢ Block Diagram � Functions palette � Programming � String � MatchPattern

• Right click on regular expression � string palette � String constant• Input string ‘5555 53’ for the header expression.• Right click onto the string � hex display• Ensure the display is in hex form, else re-enter the header expression.• The ‘byte array to string’ converts the input byte array into string format output

for the ‘Match Pattern’ string input.

➢ Block Diagram � Functions palette � Programming� Comparison� Equal?

• Input from the regular expression of the ‘Match Pattern’ into one terminal of theequal function.

• Connect the match substring output of the ‘Match Pattern’ into the other inputterminal of the equal function.

➢ Block Diagram � Functions palette � Programming � Structures � CaseStructure

• Left click onto the icon, left double click it onto the block diagram.• Block Diagram � Functions palette � Programming � Boolean � False

Constant• Click on it and placed inside the ‘False’ Case Structure.• Link the output to the Case Structure border to create a terminal.• Right click on the link terminal � Create � Indicator

218 Appendix A: LabVIEW Functions

Page 7: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

• Switch the Case selector to ‘True’.• Block Diagram � Functions palette � Programming � Boolean � True

Constant• Click on it and placed inside the ‘True’ Case Structure.• Link the output to the same terminal of the Case Structure border.• Link the output of the equal function to the case selector.

✓ Display GPS Data

➢ Refer to ‘Building Internal VI’ to create an array in the front panel.➢ Block Diagram� Functions palette� Programming� Array� Array Subset➢ Block Diagram � Functions palette � Programming � Array � Reverse 1D

Array➢ Block Diagram � Functions palette � Programming � String �

String/Path/Array Conversion � Byte Array To String➢ Block Diagram � Functions palette � Programming � Numeric � Data

Manipulation � Type Cast

• Right click onto the type � Create � constant• Right click on the constant to select replace � Programming � Numeric �

Numeric constant• Select the constant, under representation to change the data to I32.

➢ Refer to the last step of the ‘Building Internal VI’ to link up all the parameterswith the pattern portions of the newly created VI.

➢ Block Diagram � Functions palette � Programming � Structures � CaseStructure

• Place the newly created VI onto the ‘True’ case structure.• Create indicators for all the output of the VI and link the input array to it.• Switch to ‘False’ case structure to wire the input across the case structure.• Right click onto the terminal to select ‘Use Default If Unwired’.

➢ Block Diagram � Functions palette � Programming � Comparison �Greater Than 0?

➢ Block Diagram � Functions palette � Programming� Comparison� Equal?➢ Block Diagram � Functions palette � Programming � Boolean � And

• Link the equal and greater than 0? functions’ output into the 2 input of the ‘And’function.

• Link the output of the ‘And’ function to the case selector.

✓ Create A Retrieve Token Sub-VI

➢ Create new VI from the LabVIEW menu � File � New VI.➢ Draw the functional blocks in the block diagram.

Appendix A: LabVIEW Functions 219

Page 8: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

➢ Block Diagram � Functions palette � Programming � String � AdditionalString Functions � Scan string For Tokens

• Create Boolean true and link it to the ‘Allow empty tokens?’ input.• Create a string control and link it to the input string.• Create a I32 control and link it to the offset input.• Connect up the string out to the string input of the String Subset function.• Connect up the offset past token to the offset of the String Subset function.• Right click on the delimiters � Create � constant• Link the constant to the delimiters input of the ‘Scan For Tokens’ function.• Key in a comma in the delimiter constant.• Right click on the token string output � Create � Indicator• Join the string out from the ‘Scan for Tokens’ to the string in of the ‘String

subset’.• Right click on the substring output of the ‘String Subset’ � Create �

Indicator

➢ In the front panel or block diagram, right click onto the VI icon at the top rightcorner � VI Properties � Icon Text

• Key in ‘Retrieve’ in the line1 text.• Key in ‘Tokens’ in the line2 text.

➢ In the front panel, right click onto the pattern icon beside the VI icon at the topright corner � Patterns � to choose a pattern.

• Left click on a divider in the pattern and then left click on an item in the frontpanel to link them up as one representation.

• Repeat the same for the rest of the items in the front panel.

✓ Build 3D Model

➢ Block Diagram � Functions palette � Programming � File I/O � Build Path

• Right click onto the base path terminal � File I/O Palette � File Constants �Current VI’s Path

• Right click onto the name or relative path terminal � File I/O Palette � FileConstants � Path Constant

• Key in the path directory for the model.

➢ Create another build path icon and output from the appended path of the previousbuild path into the base path input of this icon.

➢ Create a path constant to input the file name to save, under the name path.➢ Block Diagram � Functions palette � Programming � File I/O � Write To

Text File

• Link the output of the second ‘Build Path’ to the input of the ‘Write To TextFile’.

• Create another ‘Write To Text File’.

220 Appendix A: LabVIEW Functions

Page 9: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

• Link the 2 ‘Write To Text File’ text string input together.• Right click onto the text string � Create � control• Double click the string control to view in the front panel.• In the front panel, key in the model description to draw the model using the

VRML language.

➢ Block Diagram � Functions palette � Programming � File I/O � AdvancedFile Functions � Generate Temporary File Path

• Link the output of this icon to the input of the second ‘Write To Text File’.• Link the error line of the icon to the error input of the second “Write To Text

File’.

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � File Loading � Load VRML File

• Connect the output of the icon to the border on the right side of the eventstructure.

• Also link it to the ‘Close Reference’ input.• Link the error line from the second ‘Write To Text File’ to the icon error input.

➢ Block Diagram � Functions palette � Programming � File I/O � AdvancedFile Functions � Delete

• Right click onto the temporary file extension terminal � Create > constant• Input the file extension (wrl) in the string constant created.• Connect the output of this icon to the input of the ‘Delete’, ‘Load VRML File’

and one of the ‘Write To Text File’.• Link the error line from the output of ‘Load VRML File’ to the input error line

of the ‘Delete’ icon.• Link the error out of the icon to the error in of the ‘Close Reference’.

➢ Block Diagram � Functions palette � Programming � Application Control �Close Reference

➢ Block Diagram � Functions palette � Programming � Dialog & UserInterface � Simple Error Handler

➢ Front Panel � Controls palette � Modern � Graph � 3D Picture

• Double click onto the 3D Picture to locate it in the block diagram.• Connect up the 3D Picture to the ‘Load VRML File’ read scene file output.

➢ Block Diagram � Functions palette � Programming � Structures � WhileLoop

• Put everything inside the while loop.• Front Panel � Controls palette � Modern � Boolean � Stop Button• Double click onto the button to show in block diagram.• Link this button to the loop condition of the ’while loop’.

➢ Front Panel � Controls palette � Modern � Boolean � Stop Button

Appendix A: LabVIEW Functions 221

Page 10: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

• Right click � properties � under ‘label’ key in ‘Apply Changes’• Under properties � operation � select ‘switched when pressed’• Under properties � select ‘boolean text’• Right click on the button � Create � local variable• Right click onto the terminal � Create � constant• Ensure the local variable and its button lie inside the ‘Apply Changes’ event.

✓ Interface 3D Model To IMU

➢ Block Diagram � Functions palette � Programming � File I/O � Build Path

• Right click on ‘name or relative path’ to create a constant and key in the filename (*.wrl).

• Right click on the ‘base path’ to create a constant and key in the path directorywhere the model was stored.

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � File Loading � Load VRML File

• Connect up the output of the ‘Build Path’ to the input of the ‘Load VRML File’.

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Transformations � Set Scale

• Right click ‘scale’ output to create a constant and key in the scaling values(1;1;1).

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Transformations � Set Translation

• Right click ‘translation’ output to create a constant and key in the 3-axestranslational values.

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Transformations � Rotate Y-axis

• Right click on ‘angle’ output to create a constant and key in 180.• Right click on ‘relative’ to create a constant and select True.• You can create other X or Z axis and set the angle of rotation by the same

procedure.

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Geometries �Create 3D Axis

• Create constants to set the length, radius and colour.• Set other parameters like the name, label axis?, half plane?, and label size.

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Object � Create Object

• Create a constant to input the object name.

222 Appendix A: LabVIEW Functions

Page 11: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Object � Add Object

• Connect up the scene object output from the ‘Create Object’ to the scene objectinput of the ‘Add Object’.

• Connect up the scene object output of the Rotate Z-axis to the new object in ofthe ‘Add Object’.

➢ Block Diagram � Functions palette � Programming � Dialog & UserInterface � Merge Errors

• Link up the error line of the ‘Create 3D axis’ with the error line of the ‘CreateObject’ using merge errors.

• Link up the model error line with the created axis error line and output into the‘Add Object’ error input.

➢ Block Diagram� Functions palette� Programming� Array� Array Subset

• Right click on the index and length terminals � Create � constant• Enter the index as well as the length constant values.• Link the signal line of the IMU into the n-dimensional inputs of the various

array subsets drawn.

➢ Block Diagram � Functions palette � Programming � Numeric � DataManipulation � Type Cast

• Right click onto the type � Create � constant• Right click on the constant to select replace � Programming � Numeric �

Numeric constant• Select the constant, under representation to change the data to I16.• Join the output of the ‘Array Subset’ into the ‘Type Cast’ input.

➢ Block Diagram � Functions palette � Programming � Structures � ForLoop

• Right click onto the loop count terminal � Create � constant• Input a one into the constant value to loop only once.

➢ Block Diagram � Functions palette � Mathematics � Elementary & SpecialFunctions � Trigonometric Functions � Inverse Cosine

➢ Block Diagram � Functions palette � Mathematics � Elementary & SpecialFunctions � Trigonometric Functions � Inverse Sine

➢ Block Diagram � Functions palette � Mathematics � Elementary & SpecialFunctions � Trigonometric Functions � Inverse Tangent (2 input)

➢ Block Diagram � Functions palette � Programming � Comparison � LessOr Equal?

➢ Block Diagram � Functions palette � Programming � Comparison � Select

• Link the output from the shift register into the ‘True’ input of the selection.

Appendix A: LabVIEW Functions 223

Page 12: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

• Link the output starting from the trigonometric function to the offset, into the‘False’ input of the selection.

➢ Block Diagram � Functions palette � Programming � Numeric � AbsoluteValue

➢ Block Diagram � Functions palette � Programming � Numeric �Divide/Multiply/Subtract

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Transformations � Clear Transformations

• Link the scene object output from the ‘Add Object’ through the ‘For Loop’ tothe object refnum input of the ‘Clear Transformations’.

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Object � Find Object

• Right click object name terminal � Create � constant• Key in the object name to find.• Link the object refnum output from the ‘Clear Transformation’ to the scene

refnum input of the ‘Find Object’.

➢ Block Diagram � Functions palette � Programming � Graphics & Sound �3D Picture Control � Transformations � Rotate Y-axis / Rotate X-axis /Rotate Z-axis

• Right click onto the angle unit terminal � Create > constant• Select ‘radians’ for the constant value.• Right click on ‘relative’ to create a constant and select True.• Link from the output of its relevant select function to their relevant angular

inputs of each of its XYZ rotational axis functions.• Link the object refnumoutput of the ‘Find Object’ to the input of the ‘Rotate

X-axis’.

➢ Front Panel � Controls palette � Modern � Graph � 3D Picture

• Double click onto the 3D Picture to locate it in the block diagram.• Connect up the 3D Picture to the ‘Rotate Z-axis’ output through the ‘For Loop’.

➢ Outside the ‘For Loop’ of the Block Diagram � Functions palette �Programming � Application Control � Invoke Node

• Right click onto the function � Link to � Pane � 3D IMU Model• Right click onto the function � Select Method � Setup Camera• Right click ‘Camera Position’ terminal � Create � constant• Input ‘3’ for the Z value• Right click ‘Up Direction’ terminal � Create � constant• Input ‘1’ for the Z value• Right click ‘Target’ terminal � Create � constant

224 Appendix A: LabVIEW Functions

Page 13: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

➢ Link up the error line from the ‘Add Object’ into the ‘For Loop’, through the‘Clear Transformation’, ‘Find Object’ and Rotate XYZ axes, with the error linefrom the ‘Camera Setup’.

• Merge the error lines into the ‘Close Reference’.

➢ Block Diagram � Functions palette � Programming � Application Control �Close Reference

➢ Block Diagram � Functions palette � Programming � Dialog & UserInterface � Simple Error Handler

➢ Right click onto the border of the external while loop to select ‘Add ShiftRegister’

• Join from the output of the ‘Select’ through the ‘For Loop’ to the input of theshift register.

• Join from the left shift register to the ‘True’ of the ‘Select’ function.• Right Click on left side of shift register input terminal � Create � Constant

✓ Close VISA

➢ Block Diagram � Functions palette � Instrument I/O � Serial � VISA Close➢ Block Diagram � Functions palette � Programming � Dialog & User

Interface � General Error Handler➢ Link the error out of the ‘VISA Close’ to the error in of the ‘General Error

Handler’.

✓ Wirings

Left click on the wiring starting terminal, drag the wiring to the destination point.Left click button once to end the wiring terminal.

✓ To Remove

Left click onto the item to be delete and click delete.

✓ To Save A File

➢ Double click the ‘Write To Measurement File’ icon

• Configure to save file format as ‘lvm’ file.• Later on, can use text or word document to read the file.

OR

➢ LabVIEW Menu bar � Operate � Log at completion

• Save under a filename

Appendix A: LabVIEW Functions 225

Page 14: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

➢ Block Diagram � Functions palette � Programming � File I/O � Write ToText File

• Connect the string to the text input.• Key in the file path in the file dialog.

✓ To Create An Executable File (vi)

➢ LabVIEW Menu bar � Tools � Build Application (exe) from vi

• Click continue on the pop-up prompt to create a LabVIEW project (lvproj).• Click onto the executable file to open � Property Window � Information• (Leave the directory filename as it is) Click on build button to create the vi.

✓ To Type A Text

➢ Left double click on the mouse for the text box to appear.

• Key in inside the text box.

✓ To Concatenate Strings

➢ Block Diagram � Functions palette � Programming � String � ConcatenateStrings

• Right click on right or left side of a border � select add shift register• Link concatenate icon output terminal to the shift register on the right.• Connect up one input terminal to the left shift register.• Right click on the left shift register � Create � constant• Join the constant to the left shift register to null the input.• Connect up the other input terminal to the incoming signal.

✓ To Show An Indicator In Front Panel

➢ Right click on the item or line � Create � Indicator

• Connect the indicator to the item line.

226 Appendix A: LabVIEW Functions

Page 15: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

Appendix BTricopter Graphical Programming

© Springer Nature Singapore Pte Ltd. 2018T. S. Ng, Flight Systems and Control, Springer Aerospace Technology,https://doi.org/10.1007/978-981-10-8721-9

227

Page 16: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

Upd

ateTricopter

Mod

el:‘TrueCon

ditio

n’(Cou

rtesyOfNationalInstrumentLabVIEW)

228 Appendix B: Tricopter Graphical Programming

Page 17: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

Roll

Pitch

Yaw

Upd

ateTricopter

Mod

el:‘False

Con

ditio

n’(From

NILabVIEW

Example)

Appendix B: Tricopter Graphical Programming 229

Page 18: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

InitializeTricopter

Mod

el(ExtractsFrom

LabVIEW

exam

plewith

mod

ificatio

n)

230 Appendix B: Tricopter Graphical Programming

Page 19: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

Appendix CQuestions

Questions:

1. What devices/device can be used during landing to slow down an airplane.

a. Spoilersb. Brakesc. Reverse thrustersd. All above

2. Which of the following phases does not occur during taking off.

a. Transitionb. Approachc. Ground rolld. Climb out

3. An aircraft designed for low speed flight has

a. High aspect ratiob. High maximum lift coefficientc. Large wing ratiod. Both b and c are correct

4. The Cessna Skyhawk/Bombardier Learjet use what kind of engines

a. Propeller/Turbofanb. Propeller/Turbojetc. Turbofan/Turbojetd. Turbofan/Propeller

5. What is the minimum configuration for the 3D dead reckoning?

a. 3 orthogonal magnetometers and 1 accelerometer.b. 3 orthogonal accelerometers and 3 orthogonal gyroscopesc. 3 orthogonal IMUsd. 3 orthogonal gyroscopes and 3 orthogonal compasses.

© Springer Nature Singapore Pte Ltd. 2018T. S. Ng, Flight Systems and Control, Springer Aerospace Technology,https://doi.org/10.1007/978-981-10-8721-9

231

Page 20: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

6. What happens when the yoke is pushed in/forward?

a. The aircraft rolls to the rightb. The aircraft pitches upc. The elevators deflect upwardsd. The elevators deflect downwards

7. Which device is used to increase lift during take-off?

a. Ruddersb. Flapsc. Spoilersd. Ailerons

8. What happens when the yoke is turned to the left?

a. The right aileron deflects upwardsb. The right aileron deflects downwardsc. The right elevator deflects upwardsd. The right elevator deflects downwards

9. Which is true for steady flight?

a. In steady level flight, T = D, L = Wb. In steady climb, T 6¼ D, L 6¼ Wc. Both A and B are wrongd. Both A and B are correct

10. Which of the following is correct for the equation: L = 12 p V 2 S CL

a. p-density, V-velocity, S-wing circumference, CL-lift coef.b. p-pressure, V-velocity, S-wing area, CL-lift coef.c. p-density, V-velocity, S-wing area, CL-lift coef.d. p-pressure, V-velocity, S-wing circumference, CL-lift coef.

11. To determine how fast your airplane climbs or descents, the instrument that youneed to look at is…

a. Airspeed indicatorb. Vertical speed indicatorc. Altimeterd. Attitude indicator

12. To maintain steady level and unaccelerated flight, you basically adjust…

a. The pitch attitude such that the lift is equal the weight of the airplaneb. The thrust level such that it is equal to the dragc. The pitch and thrust such that the thrust and lift is in equilibrium with the

drag and weight of the airplaned. The airspeed such that it is constant

232 Appendix C: Questions

Page 21: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

13. The Skyhawk and Learjet takeoff at how many knots

a. 50 knots and 80 knotsb. 40 knots and 70 knotsc. 80 knots and 100 knotsd. 40 knots and 100 knots

14. For an airplane in the takeoff run, the lift force is equal to weight..

a. At any point when the airplane is still on the groundb. At any point after the aircraft has lifted off the groundc. Only at a particular instant when the aircraft is about to lift off the ground.d. None of the above

15. During power-off gliding flight, the equilibrium glide angle is a function of…

a. Drag onlyb. Lift-to-drag ratio onlyc. Altitude and airspeedd. Lift-to-drag ratio and airspeed

16. One of the assumptions that we use in order to estimate the lift coefficient CL ofa particular aircraft at takeoff is…

a. The lift force is constantb. The drag is constantc. The weight is constantd. All of the above

17. When you control the aircraft, the following controller surfaces mainly affect…[link each of the left to the right answer]

• Lift (at takeoff) Ailerons• Roll Elevators• Pitch Flaps• Yaw Rudder

18. When the wing flap is deflected downward, the aircraft

a. Lift increaseb. Lift increase and drag increasec. Lift increase and drag decreased. Lift decrease and drag decrease

19. If a glider is in a steady (constant velocity) descent, the glider’s flight path is asimple straight line as shown in figure. If we know the distance (d = 4km), thealtitude (h = 3km) flown and weight (w = mg = 1N), find the lift, drag andglider angle.

Appendix C: Questions 233

Page 22: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

20. Which is the lift force vector and drag force vector.

21. Which is correct for a mass m accelerating at a, on a slope angle h.

a. a – gb. g sinh + ac. mg sinhd. a + mg sinh

22. Several beams of similar length also have similar cross-sectional area but dif-ferent cross-sectional geometry. They all have constant flexural rigiditythroughout the span of the beam and are made of the same material. The beamwith the highest natural frequencies is the one

a. Which is excited the fastestb. With the highest density

234 Appendix C: Questions

Page 23: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

c. With the highest second moment of aread. All of the above

23. Flutter speed occurs when

a. Extracted energy is greater than the energy that the structure can dissipate.b. Extracted energy is less than the energy that the structure can dissipate.c. Extracted energy equals to the energy that the structure can dissipate.d. None of the above.

24. The slenderness of a beam is dependent on its

a. Length and cross-sectional areab. Cross-sectional area and second moment of areac. Length, cross-sectional area and second moment of aread. Cross-sectional shape and cross-sectional area

25. The condition for the use of Euler beam theory is dependent on

a. Mass of the beamb. Slenderness of the beamc. Cross-sectional aread. All of the above

26. For the signal of a system, the fast-fourier transform (FFT) was used totransform the

a. Displacement-time response to velocity-frequency response.b. Displacement-time response to amplitude-frequency response.c. Amplitude-time response to amplitude-frequency response.d. Amplitude-time response to displacement-frequency response.

27. Aerodynamic forces could lead to deflection and changes in load on the aircraftwhich in turn produces coupling effect on

(a) Tail buffering(b) Flutter(c) Wing divergence(d) All of the above

28. What is the main difference between the differential GPS and the conventionalGPS?

(a) The differential GPS consists of the conventional GPS with the groundstation.

(b) The differential GPS needs a larger number of satellites.(c) The differential GPS uses a ground transmitter instead of satellites.(d) The differential GPS computes the analytical derivative of the distance.

Appendix C: Questions 235

Page 24: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

29. A continuous system possesses

(a) An infinite number of natural frequencies and mode shapes.(b) A fixed number of natural frequencies and mode shapes.(c) Zero natural frequencies but several mode shapes.(d) A single natural frequency and mode shape.

30. Beams of similar length and cross-sectional area with different cross-sectionalshapes will cause differences in

(a) Stiffnesses(b) Natural frequencies(c) 2nd moments of area(d) All of the above

236 Appendix C: Questions

Page 25: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

References

1. http://en.wikipedia.org/wiki/IGRF. International Geomagnetic Field.2. http://www.ngdc.noaa.gov/geomag-web/. Declination Calculator.3. https://en.wikipedia.org/wiki/Earth%27s_magnetic_field. Magnetic Dipole.4. https://physics.ucsd.edu/neurophysics/Manuals/Honeywell/HMC%201001%20and%

20HMC%201002.pdf. Magnetic Sensor HMB 1022.5. http://www.datasheet4u.com/datasheet-pdf/Fairchild/KA358/pdf.php?id=389660. Op-Amp.6. http://www.alldatasheet.com/datasheet-pdf/pdf/48924/AD/ADXL202AE.html. Acceleration

Sensor.7. https://en.wikipedia.org/wiki/OneWeb_satellite_constellation. Satellite Constellation.8. http://radiosurplus.it/pdf/GPS25LPSeries_TechnicalSpecification.pdf. Garmin GPS.9. https://rechneronline.de/earth-radius/. Earth Radius Calculator.10. http://www.knifeedge.com/downloads/RealFlight%20G3.5%20Manual.pdf. G3.5 Simulation

Tool.11. Anderson, J. D. (1999). Aircraft performance and design. NY, USA: McGraw-Hill Inc.12. Anderson, J. D. (2005). Introduction to flight (5th ed.). NY, USA: McGraw-Hill Inc.13. Kimberlin, R.D. (2003). Flight testing of fixed-wing aircraft. AIAA Education Series.14. Lin, F. (2007). Robust control design: An optimal control approach (1st ed.). Hoboken, NJ:

John Wiley.15. Fortuna, L., & Frasca, M. (2012). Optimal and robust control: Advanced topics with

MATLAB. Boca Raton: CRC Press.16. https://www.youtube.com/watch?v=DMBvPhYjyWo&feature=youtu.be. Quadrotors’

Demonstrations.17. https://youtu.be/ENhkK2xGFXQ. Fleet Control UAV System.18. Bishop, R. H. (2010). LabVIEW 2009 Student Edition. Upper Saddle River, N.J.: Prentice

Hall, Pearson Education.19. Travis, J. (2002). LabVIEW for everyone (2nd ed.). Upper Saddle River, NJ: Prentice Hall.20. https://www.yumpu.com/en/document/view/18715087/imu300cc-crossbow-technology.

IMU300CC.21. https://www.scribd.com/document/51989731/MNAV100CA-Users-Manual. MNAV100CA.22. https://youtu.be/DWzMwKsnY8o. 6-dof IMU.23. http://www.intelligent-aerospace.com/articles/2017/05/intel-ramps-up-production-of-falcon-

8-unmanned-aircraft-system-for-business-critical-flights.html. Falcon 8+.24. http://www.militaryaerospace.com/articles/2016/03/darpa-vtol-x-plane.html. VTOL X-Plane.25. http://www.militaryfactory.com/aircraft/detail.asp?aircraft_id=15. V22-Osprey.26. http://electronics360.globalspec.com/article/8515/watch-the-maiden-flight-of-the-world-s-

first-electric-vtol-jet? First Electric Jet.27. https://youtu.be/BZiJcQN5NRM. Urban Air Taxi.

© Springer Nature Singapore Pte Ltd. 2018T. S. Ng, Flight Systems and Control, Springer Aerospace Technology,https://doi.org/10.1007/978-981-10-8721-9

237

Page 26: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

Index

AAcceleration, 1, 2, 13, 20, 21, 24, 25, 40, 46,

61–63, 120, 121, 127, 132, 140, 142,144, 157, 158, 160–162, 166, 172, 174

Actuator, 63, 155Aerial, 109, 111, 113, 116, 199, 207, 208, 211Aerodynamic, 3, 43, 44, 46, 49, 50, 121, 147,

201, 203, 205, 207Aerospace, 2, 3, 117, 204, 206, 208, 209, 211Aircraft, 1–3, 6–9, 11, 13, 14, 28, 40, 43, 46,

50, 52, 53, 57, 111, 113, 116, 117, 121,199, 200, 208, 211

Airspeed, 6–8, 44, 46, 49, 50, 109, 157, 196Altitude, 6–8, 28, 38, 44, 50, 53, 110, 111, 114,

121, 137, 139, 145, 157, 168, 172,174–176

Angle, 6, 13, 16, 19–21, 23, 24, 34, 39, 49, 51,59, 61, 62, 88, 96, 98, 119, 120, 126,129, 138, 140, 142, 144, 156, 162, 172

angular, 19, 20, 23, 24, 46, 49, 64, 96, 98,120, 126, 142, 153, 156, 157, 160, 162,174, 196

Attitude, 11, 20, 44, 121, 125, 126, 156, 157,172, 193

Automatic, 1, 27, 111automatically, 13, 53, 116, 185, 190

Autonomous, 1, 109, 207, 209

BBattery, 9, 168, 200, 203Byte, 116, 158, 159, 162, 164, 172, 173, 175,

176, 183, 185, 188, 190

CCalibration, 13, 21, 168, 196Camera, 111, 113, 116, 147, 196, 200, 208,

211Cell, 9, 199, 200, 203, 205–207Circuit, 2, 13, 16, 21, 23, 161

circuitry, 161Command, 96–98, 100, 101, 110, 120, 121,

126, 130, 132, 134, 135, 148, 151, 153,156, 172, 177, 183

commanding, 97Communication, 2, 28, 34, 46, 52, 114, 156,

157, 162, 166, 173, 177Control, 1–3, 9, 11, 26, 33, 37, 43, 44, 46, 48,

52, 55, 57, 59, 63, 64, 67, 69–74, 76,78–80, 82–85, 87–89, 91, 92, 94, 96,97, 109, 110, 114, 116, 119, 121, 123,125, 126, 128–130, 132, 134, 137, 139,144, 145, 147, 149, 153

controllable, 3, 9, 76, 126, 130–133, 202controller, 2, 9, 43, 52, 55, 60, 63, 64, 67,

68, 71, 75–77, 79–81, 84, 87–89, 91,92, 94, 96, 97, 103, 104, 109, 116, 117,119, 121, 122, 125, 128–130, 136,138–142, 145, 147, 148

Criteria, 78, 80, 84, 85, 90, 94, 139, 207criterion, 59, 139

DDeclination, 13, 15Delay, 158, 183, 189Design, 2, 9, 28, 43, 55, 60, 63, 68, 72, 77, 79,

80, 87, 89, 92, 95, 98, 117, 119, 128,135, 139, 152, 162, 164, 166, 179, 196,203, 206, 208, 209

Deviation, 35, 38, 39, 97, 120, 121Diameter, 7Digital, 30, 63, 98, 100, 156, 158, 160, 173Direction, 1, 2, 6, 13, 19–21, 37, 40, 63, 94, 96,

97, 120, 138, 139, 157, 158, 193, 196,210

directional, 13, 110Display, 28, 33, 46, 109, 155, 162, 164, 165,

167, 170, 172, 175, 177, 183, 190, 196Drag, 3, 6–8, 49, 51, 144, 147

© Springer Nature Singapore Pte Ltd. 2018T. S. Ng, Flight Systems and Control, Springer Aerospace Technology,https://doi.org/10.1007/978-981-10-8721-9

239

Page 27: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

Dynamic, 2, 8, 28, 36, 37, 46, 55, 56, 59, 60,63, 79, 80, 96, 100, 103, 104, 119–121,126, 132, 138–140, 145, 147, 148, 152,153, 156, 157, 168, 206

dynamical, 57, 144, 172

EElectrical, 46, 200, 202, 203, 207, 211

electricity, 201, 203, 207Electromagnetic, 26, 172Electronic, 1, 2, 21, 28, 33, 40, 201, 202

electronically, 211Encoder, 59, 96–98, 105

FFan, 207, 208Feedback, 2, 3, 46, 59, 63, 64, 96–98, 109,

114, 125, 132, 135, 137, 138, 142, 144,147, 148, 155

Field, 2, 13, 15–17, 19, 43, 153, 174Filter, 96, 97, 100, 102, 126

filtering, 28, 157Fixed, 3, 13, 26, 30, 39, 94, 97, 109, 110, 135,

151, 153, 207, 208Flight, 1–3, 5–9, 13, 43, 44, 46, 48, 49, 52, 62,

109, 110, 118, 119, 121, 139, 147, 153,202, 203, 206, 208, 210

Force, 3, 5, 6, 8, 20, 46, 48, 49, 59–63,119–121, 124, 126, 132, 134, 137,142–144, 147

forced, 183Formula, 18, 24, 27, 58, 59, 81, 102, 160, 162,

166formulate, 131formulation, 123, 139

Frequency, 28, 30, 57, 66, 100, 101, 110, 113,139, 140, 157, 158, 183

Fuel, 3, 11, 199, 203, 205–207Function, 6, 7, 18, 28, 40, 43, 44, 55, 56, 62,

79, 87, 89, 94, 98, 102, 103, 110, 121,125, 130, 148, 153, 156, 162, 164, 165,177, 183, 184, 188, 189, 196

functionalities, 46functioning, 9, 33, 100

GGain, 46, 63, 64, 81, 88, 94, 97–99, 101–105,

121, 128, 130, 132, 133, 135–142, 145,148, 149, 153

Geomagnetic, 19Graphical, 110, 145, 147, 153, 156,

177, 193Gyroscope, 46

gyroscopic, 40, 156–158

HHeading, 1, 2, 11, 13, 16, 19, 28, 37, 40, 156,

157, 172, 175, 190, 193, 196Heavy, 145Height, 28, 37, 111, 139, 151, 177Helicopter, 1, 2, 55, 57, 60–65, 79, 82, 94, 95,

97, 98, 117Highlight, 1, 2, 13, 147

highlighted, 188, 189Horizontal, 13, 24, 27, 34, 39, 62, 119, 140,

144, 177, 208horizontally, 20, 23, 39, 196

IImpedance, 161Inclination, 13, 15, 26Inertia, 61, 62, 120, 124, 143Instrumentation, 1, 2, 9Intelligent, 109

JJet, 210Joystick, 52, 55

LLatitude, 26, 28, 37–40, 114, 175–177, 190Learjet, 3Linear, 6, 7, 51, 55, 60, 102, 125–127, 130,

132, 134, 140, 142, 144, 157Longitude, 26, 28, 37, 39, 40, 114, 175–177,

190

MMagnetic, 2, 11, 13–17, 19, 37, 40, 155, 157,

173, 174Match, 103, 188–190, 193

matching, 79, 87, 90, 183, 188, 189Measurement, 20, 23, 26, 27, 31, 39, 40, 109,

156, 157, 160, 163, 166, 175, 196Microprocessor, 109Model, 2, 19, 40, 52, 55, 56, 60, 104, 113, 119,

120, 124, 128–130, 138, 139, 143–145,147, 151, 153, 170, 190, 193, 195, 196,201, 204, 207, 208

modelled, 60, 129modelling, 59, 104, 119, 139, 203

Modem, 28, 114, 207Motor, 9, 46, 55, 59, 61–63, 97–101, 105, 119,

120, 123, 137–140, 144, 148, 200, 206,211

NNavigation, 1, 2, 13, 19, 27, 28, 33, 38, 41, 46,

53, 109, 116, 156, 175, 190

240 Index

Page 28: Appendix A LabVIEW Functions - link.springer.com978-981-10-8721-9/1.pdf · LabVIEW Functions Data Acquisition Configuration ... Manipulation Join Numbers ... String/Path/Array Conversion

navigational, 1, 13, 30, 40, 53, 155, 156,166, 168

OOptimal, 102–105, 128, 200, 206Overshoot, 58, 68, 72, 81, 87

PParameter, 2, 8, 18, 21, 39, 44, 46, 58, 63, 72,

79, 80, 87, 90, 95–98, 102–105, 120,124, 132, 133, 144, 156, 157, 162, 166,172, 173

Payload, 3, 30, 111, 116, 117, 203, 207, 211Pitch, 3, 9, 20, 43, 46, 49, 59, 61, 62, 86, 88,

94, 96–101, 105, 119–121, 126, 129,132, 138, 139, 145, 147, 152, 156, 157,190, 196

pitching, 20, 46, 99, 120, 121, 126, 138,193

Power, 3, 6–8, 13, 16, 21, 27, 28, 30, 34, 35,40, 43, 48, 52, 98–100, 102, 103, 123,145, 168, 170, 199, 200, 202, 203, 205,211

powered, 26, 157, 199, 200, 203, 205powerful, 48, 177

Process, 94, 117, 126, 156, 207, 210processing, 64, 157processor, 30, 110

QQuadcopter, 2, 121, 123, 127, 129, 130,

137–139, 142, 145, 147, 151Quadratic, 102, 125, 126, 132, 134Quadrotor, 2, 104, 109, 119, 120, 122, 123,

126, 127, 130, 132, 133, 137, 138,142–145, 147, 151

RRadio, 9, 11, 43, 109, 110, 114Rate, 6, 27, 36, 37, 41, 44, 49, 52, 64, 66,

91–94, 96, 98, 101, 103, 113, 114, 126,139, 157, 160, 162, 166, 168, 172–176,183, 188, 196

Regulator, 102, 125, 126, 132, 134Robotic, 168, 172, 190

SSatellite, 2, 26–30, 34–36, 38, 39, 175, 177Scaling, 18, 19, 100Sensor, 2, 13, 16, 19–21, 24, 27, 28, 40, 46, 59,

63, 64, 109–111, 155–157, 159, 162,164, 166, 168, 170, 172, 174, 176, 190,196, 202, 211

Servomotors, 46, 109

Signal, 13, 17–19, 21, 24, 26, 28, 30, 32–34,36–40, 57, 63, 64, 66, 83, 96, 97

Simulation, 1, 33, 43, 52, 66, 90, 93, 94, 100,104, 106, 116, 119, 132, 133, 135, 137,143, 145, 147, 149–152

Software, 1, 2, 28, 33, 35–38, 43, 44, 46, 55,63, 64, 104, 109, 125, 155–157, 162,166, 168, 170, 171, 177, 196

Solar, 26, 199–205Stability, 2, 128, 133–135, 142, 143, 153, 203,

205, 211Structure, 1, 26, 63, 64, 95, 119, 126, 127, 147,

153, 162, 165, 166, 177, 185, 188–190,201, 203, 205, 213, 218, 219, 235

Surveillance, 109, 111, 114, 211System, 1–4, 8, 9, 11, 13, 26–28, 30, 33, 36,

37, 40, 41, 43, 46, 52, 55–60, 62–66, 68,75, 79, 80, 84–92, 94, 96–98, 100, 103,116, 128, 131, 133–135, 139, 143–145,147, 153, 156, 206, 211

TTechnology, 28, 110, 116, 117, 119, 147, 199,

201, 203, 207, 210, 211Telemetry, 33, 114, 116, 202Thrust, 3, 6–8, 49, 119–121, 124, 143, 144,

147, 206, 210Transient, 57, 58, 100Travel, 1, 13, 20, 28, 39, 59, 62, 63, 88, 89,

91–98, 100, 101, 103–105, 109, 138,139, 160, 196

travelling, 94Tricopter, 109, 119, 122, 145, 147, 149,

151–153, 227

UUncontrollable, 65, 86, 131, 133, 134, 145, 147Unmanned, 40, 104, 109, 110, 116, 117, 199,

207, 211

VVertical, 11, 27, 34, 44, 49, 52, 120, 121, 126,

139, 143, 144, 147, 183, 199, 208Video, 111, 114, 116

WWeight, 3, 6, 8, 9, 30, 40, 44, 49, 55, 60, 61,

117, 137, 139, 142, 145, 199, 201, 203,206, 207

weighted, 125, 168, 199, 207

YYoke, 43–46

Index 241