200 likes | 375 Views
FRC 2010 Robot and Dashboard Projects. Doug Norman & Stephanie Brierty National Instruments January 8, 2010. 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
E N D
FRC 2010 Robot and Dashboard Projects Doug Norman & Stephanie Brierty National Instruments January 8, 2010
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
Start from the Getting Started Window • View>>Getting Started Window… Project Wizards
FRC Robot Project Wizard • Project name • Project folder • cRIO IP Address • Team number • Click Finish
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
Robot Main.vi • Begin.vi • Autonomous Iterative.vi • Teleop.vi • Build Dashboard Data.vi
Robot Main.vi • Vision Processing.vi • Periodic Tasks.vi • Start Communication.vi • Disabled.vi • Finish.vi
Begin.vi • This is where you initialize everything • Choose Autonomous Independent or Iterative • Open VIs followed by RefNum Registry Set VIs
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
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
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
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
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
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
FRC Dashboard Project Wizard • Project name • Project folder • Click Finish
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
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
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
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?