1. 2 frc 2010 robot and dashboard projects doug norman & stephanie brierty national instruments...

Post on 02-Jan-2016

218 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

1

2

FRC 2010 Robot and Dashboard Projects

Doug Norman & Stephanie BriertyNational Instruments

January 8, 2010

3

What You Will Learn

• How to create a Robot Project The architecture The important subVIs How to add your own code How to send data to the Dashboard

• How to create a Dashboard Project How to display data sent from the Robot

• Want to learn from the master? www.frcmastery.com

4

Start from the Getting Started Window

• View>>Getting Started Window…

Project Wizards

5

FRC Robot Project Wizard

• Project name• Project folder• cRIO IP Address

Team number• Click Finish

6

Robot Project

• Project will be saved and open• Expand Team Code folder

Notice subVIs to edit• Open Robot Main.vi• Build Specifications

Where you build your exe to run on the robot

7

Robot Main.vi

• Begin.vi• Autonomous Iterative.vi• Teleop.vi• Build Dashboard Data.vi

8

Robot Main.vi

• Vision Processing.vi• Periodic Tasks.vi• Start Communication.vi• Disabled.vi• Finish.vi

9

Begin.vi• This is where you initialize everything• Choose Autonomous Independent or Iterative

• Open VIs followed by RefNum Registry Set VIs

10

Autonomous Independent.vi

• Open from the project or from Begin.vi diagram (double-click)

• Enable code by changing Boolean constant to T

• Edit code in the True case

11

Autonomous Iterative.vi

• Does nothing if you chose Independent in Begin.vi• Otherwise its code runs iteratively like Teleop.vi• Should you use Autonomous Independent or

Iterative? Want a For Loop or While Loop? Use Independent

12

Teleop.vi

• Main code for driving robot• Read joysticks, sensors, etc.• Drive motors, actuators, etc.• This is the VI you are most likely to edit

13

Build Dashboard Data.vi

• Currently sends back analog, digital, relays, PWM, and solenoid data

• You could add to this data• You could remove it all and start from scratch• Notice this uses Set Low Priority Dashboard Data.vi

14

Editing the Robot Code

• Suppose we want to add a gyro for direction• In Begin.vi we need to add:

Open VI Set Gain VI RefNum Registry Set VI

• In Teleop.vi we need to add: RefNum Registry Get VI Get Angle VI

15

Sending Robot Data to the Dashboard• We could edit Build DashBoard Data VI

Add our new data to the Dashboard Data cluster Edit Dashboard Main VI (in Dashboard project) Uses the Set Low Priority Dashboard Data VI

• Suppose we have important Teleop data Use the Set High Priority Dashboard Data VI Send gyro data directly from Teleop VI

16

FRC Dashboard Project Wizard

• Project name• Project folder• Click Finish

17

Dashboard Project

• Project will be saved and open• Expand Helper VIs

Notice Receive DS Packet VI

• Open Dashboard Main.vi• Build Specifications

Where you build your exe if you want to replace DS Dashboard

18

Editing the Dashboard Code

• If you edited Build DashBoard Data VI on robot Use the Low Priority User Data string from Receive DS

Packet VI on Dashboard Main VI

• If you used Set High Priority Dashboard Data VI on the robot (our Teleop VI example) Use the High Priority User Data string from Receive DS

Packet VI on Dashboard Main VI

• Either way use Unflatten From String primitive

19

Editing the Dashboard Code

• Receive DS Packet VI is part of Dashboard project• Functions>>Numeric>>Data Manipulation

Flatten To String Unflatten From String

High Priority User Data

20

Conclusion• Easily create and edit a Robot Project for robot code• Quickly customize a Dashboard Project• Pass live data from Robot to Dashboard• More resources:

frcmastery.com ni.com/first

Questions?

top related