34
FIRSTFare 2010 LabVIEW Overview Dennis C. Erickson ~ Senior Mentor for Teams 1510 and 2898 Daniel Bramblett ~ Team 1510 Amy Wiegand ~ Team 2915 1

First fare 2010 lab-view overview

Embed Size (px)

DESCRIPTION

 

Citation preview

Page 1: First fare 2010 lab-view overview

1

FIRSTFare 2010LabVIEW Overview

Dennis C. Erickson ~ Senior Mentor for Teams 1510 and 2898

Daniel Bramblett ~ Team 1510Amy Wiegand ~ Team 2915

Page 2: First fare 2010 lab-view overview

2

Introduction

Working with National Instrument’sHardware and Software

Specifically:Software ~ LabVIEW

Hardware ~ cRIO

Page 3: First fare 2010 lab-view overview

3

Introduction

LabVIEWVI = Virtual Instrument

EW = Engineering Workstation

VI = Virtual Instrument or in other languages “Routine”, SubVI = Subroutine

Page 4: First fare 2010 lab-view overview

4

Why LabVIEW?•Graphical Interface (Not Text Based)•Dataflow (All inputs must be updated before VI – Virtual Instrument – executes)•Self Documenting (You know what the code does)

Page 5: First fare 2010 lab-view overview

5

Why LabVIEW?•Portable Code (VIs are easily reused)•Advanced set of diagnostic tools; probes, execution highlighting, error reporting, ability to surround the code with a “virtual world simulation environment” for testing.

Page 6: First fare 2010 lab-view overview

6

Why LabVIEW?•Perfectly tailored for NI hardware•Automatically handles multiple cores and threads•Easily compiles to RT (Real-time) Operating Systems and FPGA (Field Programmable Gate Arrays) used in the cRIO processor

Page 7: First fare 2010 lab-view overview

7

Why Do More Than Necessary to Win the

Contest?While it is entirely possible to win

a contest with a robot that is “bare bones” the better goal is to learn how to do things along the

way that may or may not be used.

Page 8: First fare 2010 lab-view overview

8

The FRC Topology

Page 9: First fare 2010 lab-view overview

9

The SoftwareUsed to Make Stuff Move

This section offers a brief short course on the language LabVIEW

Page 10: First fare 2010 lab-view overview

10

To start a new project

Launch LabVIEW to create a new project

Page 11: First fare 2010 lab-view overview

11

To start a new projectName your project .You might for example use your team name and year in the name:i.e., “Team 1510 for 2010 Robot Project”

Be sure that you enter your team IP in the following format:10.15.10.02

Page 12: First fare 2010 lab-view overview

12

To start a new projectAdding a VI to your project:If its new, then right-click to “VI” and select and name it.

If adding an existing one select the menu item “Add”.

Page 13: First fare 2010 lab-view overview

13

LabVIEW Functions - Front PanelSome example controls and indicators for the Front Panel

Numerical Controls and

Indicators

Page 14: First fare 2010 lab-view overview

14

LabVIEW Functions - Front PanelSome example controls and indicators for the Front Panel

Booleans

Page 15: First fare 2010 lab-view overview

15

LabVIEW Functions - Front PanelSome example controls and indicators for the Front Panel

Strings and Paths

Page 16: First fare 2010 lab-view overview

16

LabVIEW Functions - Front PanelSome example controls and indicators for the Front Panel

Arrays, Clusters,

Matrices and Dialog Boxes

Page 17: First fare 2010 lab-view overview

17

LabVIEW Functions - Front PanelSome example controls and indicators for the Front Panel

List Boxes, Tables and Trees

Page 18: First fare 2010 lab-view overview

18

LabVIEW Functions - Front PanelSome example controls and indicators for the Front Panel

2D, 3D Digital

Charts and Graphs and

Special Plots

Page 19: First fare 2010 lab-view overview

19

LabVIEW Functions - Front PanelSome example controls and indicators for the Front Panel

Rings and Enums

Page 20: First fare 2010 lab-view overview

20

LabVIEW Functions - DiagramSome example controls and indicators for the Diagram

Structures

Page 21: First fare 2010 lab-view overview

21

LabVIEW Functions - DiagramSome example controls and indicators for the Diagram

Arrays

Page 22: First fare 2010 lab-view overview

22

LabVIEW Functions - DiagramSome example controls and indicators for the Diagram

Structures, Classes and Variants

Page 23: First fare 2010 lab-view overview

23

LabVIEW Functions - DiagramSome example controls and indicators for the Diagram

Numerics, Booleans and Files

Page 24: First fare 2010 lab-view overview

24

LabVIEW Functions - DiagramSome example controls and indicators for the Diagram

Hundreds of other functions

Timing, Dialog Boxes, Waveforms, etc, etc

Page 25: First fare 2010 lab-view overview

25

An Example of Virtual TestingTesting the Joystick Power Function VI

Task: Test the VI with 1000 simulated Joystick positions from 0 to +1 to 0 to -1 (White Line) and create 9 plots with the following function:

Plotn = (motor speed)m

Where:

Plotn = a series of plots

(9 total)Motor speed = voltage input to the motor (from 1 to -1)m = power function (use to alter the forward sensitivity of the Joystick)

Page 26: First fare 2010 lab-view overview

26

The HardwareUsed to Move Stuff

This discussion touches on the following principle areas:

•The cRIO hardware (The Brain)•The Sensors, Motors and Actuators that can be used •The DS Drive Station (Link from the User to the robot’s brain)

Page 27: First fare 2010 lab-view overview

27

cRIO HardwarecRIO – Compact Real-time Input/Output

A PAC (Programmable Automation Controller) which is an industrial controller that is used in advanced systems incorporating software capabilities such as control, communication, data logging, and signal processing requiring rugged hardware performing logic, motion, process control, and vision. For FIRST applications, ideal for robot building.

A fully populated cRIO example

Page 28: First fare 2010 lab-view overview

28

cRIO HardwareReal-time operating system

FPGA – Field Programmable Gate Arraylocated under the cRIO chassis

cRIO connected to a Laptop

Page 29: First fare 2010 lab-view overview

29

How to Set up a Virtual Test Environment

The following Example code shows how to create an environment to test and calibrate VI modules. In this case we are testing the Camera Servo motors

First Initialize the test (note the “Data Dependency” wire)

Next run the test in a While loop. Note the Loop Sweep constant which defines the loop cycle (20ms). Here the loop is stopped using the Stop Test? command

Finally End the test by closing all references, etc. Again note the Data Dependency and use of a Frame structure as the SubVI has no wired input to use

Page 30: First fare 2010 lab-view overview

30

State DiagramsThe following slides start with a State Chart to show what the State Diagram will do. The next slides show the State Diagram created.

Page 31: First fare 2010 lab-view overview

31

State Diagrams

The Application starts by selecting the Initialize Test State (case). Note that we check for errors and if the Stop Test? Button is pressed. Note that the Enum (far left constant control) has 3 possible states; Initialize Test, Run Test and End Test

State diagrams are extremely useful in creating small or large applications. Since LabVIEW is a DataFlow language, this approach adds to the robustness of the application

Page 32: First fare 2010 lab-view overview

32

State Diagrams

Next if no errors, run the While loop until an error happens or the Stop Test? Button is pressed the go to the next State

These slides show a typical State Diagram that tests camera servos. Note the inputs from the joystick and a smoothing control to test filtering.

Page 33: First fare 2010 lab-view overview

33

State DiagramsOne of the interesting features of the State Diagram is confining the application code to one screen, thus self documenting codeFinally, there has been an error or the Stop Test? Button has been pressed so end the test by closing references, etc. Note that now the Boolean constant is now TRUE which stops the loop

Page 34: First fare 2010 lab-view overview

Questions?

Dennis C. Erickson - [email protected]