LabView for Lego Mindstorms
(LVLM)
FTC 2014-2015 Kick-Off
9/6/2014
Mike Turner FTC #4318 reydelsol4@hotmail.com
Randy Gross FTC #4218 maxgross@md.metrocast.net
Outline
• The LabVIEW Environment
• General Programming
• LabVIEW “Targets”
• Getting Started
• Extra
LabVIEW Environment - Common
Block
Diagram
Constants
(Inputs)
NXT Toolkit Palette
Front Panel
Context Help Window
LVLM – NXT Unique
Project Center
NXT Terminal Window
LVLM – NXT Unique
Remote Control Editor
Schematic Editor
General Programming
• Data Types
– Numeric
– Boolean
– String
– Ring
• Dataflow
• Loops
• Case Structure
Data Types: Numeric
• Whole Numbers (0,2,-10, …)
• Decimal Numbers (2.2, 12.3, -15.1, …)
Data Types: Boolean
• For Example:
– On/Off
– Yes/No
– True/False
Data Types: String
• Grouping of Characters
Data Types: Ring/Enumeration
• List of Predefined Items User Can Select
Dataflow
• Sequence Flow In/Out
• Repeat Code
– While Loop
Loops
For Loop
Case Structure
• Best for “State Machine” Implementation
LabVIEW Targets
NXT Target
• VIs are compiled, downloaded, and executed by the
NXT brick
• Only Front Panel debugging is possible
NXT Target
RXE
PC Target
• LabVIEW code executes on development machine
• Allows for full use of LabVIEW debugging tools
• NXT “Direct Commands” can invoke methods in the NXT firmware
• Higher level functions are called transparently using NXT Shell
VI
PC Target
Screen Display Sample
Getting Started
“If You Forget Everything Else”
• When in doubt, Right-click.
• Constants = Inputs (on Block Diagram)
• Controls = Inputs (on Front Panel)
• Indicators = Outputs (on Front Panel)
• Palettes
(Right-click on Block Diagram, Front Panel)
• Context Help
(“?”, CTRL + H, Help >> Show Context Help)
• NXT Terminal
(Tools >> NXT Tools >> NXT Terminal)
• CTRL + E (Switch Views)
• CTRL + B (Cleanup Broken Wires)
• CTRL + U (Auto Redraw the Block Diagram)
A fast Tank-Drive from Remote Control
Editor
• Remote Control Editor is a powerful tool to get started with!
Help
• Right-click
• Context Help
(“?”, CTRL + H, Help >> Show Context Help)
• LabVIEW Help
(Help >> Search the LabVIEW Help… >> Search: “NXT”)
• PDF Manuals
(C:\Program Files\National Instruments\LabVIEW 2009\manuals)
– NXT_Getting_Started
– NXT_Advanced_Programming_Guide
– FTC_Getting_Started
• LabVIEW for LEGO MINSTORMS NXT
(by Michael Gasperi)
• www.ni.com/academic/mindstorms/
• https://sites.google.com/site/tuftsceeok12projects/labview-for-lego-support
• http://www.tetrixrobotics.com/GettingStartedGuide/intro.htm
• http://digital.ni.com/express.nsf/bycode/ftcsoftware
• http://www.ni.com/academic/students/learn-labview/
– It has many videos, along with a more “in-depth” read hidden in the “Detailed Explanation” pull-down bar in the center of the page.
– 18 hours of content
• http://www.ni.com/pdf/gettingstarted/introduction_to_labview_tutorial.pdf
– A “hands-on” tutorial
– 3 hours
Debugging: What is going on?
• Use Probes
– Right click>>tool palette>>probe
– Right click on wire >> insert probe
• Use “Highlight Execution”
Extra
Another data type: Cluster
• Use this to pass many different data types.
Another data type: Array
• Use arrays when you have a lot of data of the same type.
What will you see when you first get started?
• Simple Teleop
File > New… > Virtual Instruments(.vi)
• Templates can help you get started on some advanced ideas very quickly.
• Study and learn from them!
• Use them if you can…
Templates!