First fare 2010 lab-view creating custom dashboards


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

First fare 2010 lab-view creating custom dashboards

  1. 1. FIRSTFare 2010Creating Custom Dashboards<br />Dennis C. Erickson ~ Senior Mentor for Teams 1510 and 2898<br />Daniel Bramblett ~ Team 1510<br />Amy Wiegand ~ Team 2915<br />1<br />
  2. 2. Introduction<br />The Real-Time screen on the Driver Station is called the “Dashboard”<br />It can be modified to include additional functions and displays<br />2<br />
  3. 3. The Driver Station (DS)<br /><ul><li>Use to interface local sensors and the joystick to the communications link to the robot process
  4. 4. Also has capability to handle digital and analog commands
  5. 5. Also provides for a real-time display that can contain status, sensor and video information from the robot</li></ul>3<br />
  6. 6. Driver Station for 2010<br />A view of the Driver Station first introduced in 2010<br />4<br />Instead of using the I/O board it is suggested that the buttons on the joysticks be used as commands to the robot<br />
  7. 7. DS Communications<br />Allows for the wireless communications between the driver and the robot<br />Also used as a control system from the competition director computers (watchdog, start, Autonomous, TeleOp, etc)<br />5<br />
  8. 8. More on the Driver Station<br /><ul><li>Windows XP
  9. 9. 1.6 GHz Atom processor, 1 GB RAM
  10. 10. 16 GB solid state hard drive
  11. 11. 8.9” screen, 1024x600 resolution
  12. 12. No VGA port</li></ul>6<br />
  13. 13. More on the Driver Station<br /><ul><li>Runs with an executable built with LabVIEW
  14. 14. Does what the Kwikbyte DS did in pre-2010 years</li></ul>7<br />
  15. 15. More on the Driver Station<br />Operation Tab:<br />Diagnostics Tab:<br />8<br />
  16. 16. More on the Driver Station<br />IO Tab:<br />9<br />Auto IP address setup, Run a simulated match, will remap joysticks<br />Setup Tab:<br />Can simulate analog and digital I/O, shows states of I/O hardware<br />
  17. 17. More on the Driver Station<br />The Stop Button<br /><ul><li>Connects via USB
  18. 18. Performs E-Stop not disable</li></ul> –Robot must be rebooted after E-stop<br /> –Same as the E-Stop on the field<br /> –Space Bar acts as disable<br /><ul><li>Must be connected for robot to be enabled</li></ul> –This may be bypassed<br />10<br />
  19. 19. More on the Driver Station<br />11<br />The dashboard data may be re-directed to another computer<br />Integrated Dashboard<br />The top half of this display can easily be customized<br />
  20. 20. Three ways to move Data from the Robot to the DS<br />12<br /><ul><li>Use the User Message Box
  21. 21. Use the Dashboard.ctr (The Low Dashboard Data VI)
  22. 22. Use the High Dashboard Data VI</li></li></ul><li>The User Message Box<br />13<br /><ul><li>There is a User Message Box where one line messages can be sent from the robot to the DS</li></ul>Any Sensor 2.34<br />Any Sensor 1.23<br />Use the “User<br />Here 2 messages in lines 1 and 2 are written in the “User Messages” box. Error messages can be included<br />
  23. 23. The User Message Box<br />14<br /><ul><li>Recommendations that might be included in your message box:
  24. 24. The version # of the Robot software perhaps with the most recent modification
  25. 25. The battery voltage and estimated drive time left</li></li></ul><li>The Dashboard Datatype.ctl<br />15<br />Use the Dashboard Datatype.ctl to send simple data to the Dashboard from the Robot using the “Build DashBoard”, specifically the “Set Low Priority Dashboard”<br />Open the “Dashboard datatype.ctl from the Project Explorer<br />
  26. 26. The Dashboard Datatype.ctl<br />16<br />Adding new controls to the .ctl<br />Add a new control or controls to the .ctl and save it.<br />
  27. 27. The Dashboard Datatype.ctl<br />17<br />The rest of the process is fairly complex and would take up more time than we have, so visit the website for a complete step by step tutorial:<br /><br />
  28. 28. The “Set High Priority Dashboard” <br />18<br /><ul><li>A more flexible and simpler method is to use the “Set High Priority Dashboard”</li></li></ul><li>Steps to move User data from the Robot to the Driver Station<br />19<br />Step 1<br />Example Block Diagram of a Robot application. <br />In 2010 there were two SubVIs available to transfer User data to the DS. We Use the High Priority SubVI for this example.<br />Open the SubVI for Step 2<br />
  29. 29. Steps to move User data from the Robot to the Driver Station<br />20<br />Step 2<br />Block Diagram of the Build Dashboard Data HI SubVI<br />All User data elements that are to be transferred to the DS are “Bundled” <br />and the result “Flattened to a String”<br />Then that String is sent to a Special SubVI called the “Set High Priority Dashboard Data” that is basically a memory function<br />Note that the inputs can be local variables, global variables or simply hardwired to the SubVI<br />
  30. 30. Steps to move User data from the Robot to the Driver Station<br />21<br />Step 3<br />Typical Block Diagram of a Robot application. <br />Create a Constant of the output of the Bundle. This will provide a “DataType” or “Image” to be used later in the Unflatten from String process in the DS application<br />The DataType for this example looks like this.<br />Note that this constant would be cut from this block diagram and pasted into the DS application.<br />
  31. 31. Steps to move User data from the Robot to the Driver Station – Design a Front Panel<br />22<br />An example Front Panel for a Custom Dashboard – The Sensor Panel Tab<br />Step 4<br />In this particular example 4 ultrasonic sensors are displayed (note that the bar indicators are Log scaled from 4 inches to 120 inches), 5 kicker strength commands, a gyroscope reading, a ball locator (from 2 photoelectric sensors) and a real-time image of the target are displayed.<br />
  32. 32. Steps to move User data from the Robot to the Driver Station<br />23<br />An example Front Panel for a Custom Dashboard – The Misc Data Tab<br />This tab displays data from modules in 2 slots, the IP address of the robot, and strip charts showing the Joystick X, Gyro, and Target information<br />
  33. 33. Steps to move User data from the Robot to the Driver Station<br />24<br />Step 5<br />Example Block Diagram showing the extraction of the User data from the Robot. <br />This is a portion of the code used to display on the dashboard the User data from the robot<br />Note that the application receives a UDP transmission, and unflattens the string using the datatype (image) that was created in the robot application and unbundled to provide the 5 front panel indicators<br />The video display is not shown here for clarity<br />
  34. 34. The Last Step – Build an Executable<br />25<br />Step 6<br />On the DS, Login to the Developer Account or bring the project over from the development laptop to create an exe file. Note that these steps are for a new exe only. Note that in this example the VI we are building the exe file for is “Dashboard”<br /><ul><li>On the Project Explorer Screen, right click on</li></ul>Build Specifications -> <br />New -> Application (EXE) this will bring up the Properties screen<br />
  35. 35. The Last Step – Build an Executable (Con’t)<br />26<br />Note that if one or more custom Dashboards already exist, simply “Build All” and that will complete the process except perhaps for being sure that the ini file is corrected (see a later slide)<br />
  36. 36. The Last Step – Build an Executable (Con’t)<br />27<br />In the Properties Screen, Information list box “Target Filename" - give it something meaningful, e.g., “Dashboard Team 1510 2010.exe” Also it is advisable to change the “Build specification name” to be the same name<br />Note that for an existing file, right-clicking on the Properties selection brings up the same screen<br />
  37. 37. The Last Step – Build an Executable (Con’t)<br />28<br />In the Category list box click on "Source Files“ and Click on "Dashboard“ and Click on the right pointing arrow that will highlight. You should see Dashboard appear on the right hand side under<br /><ul><li>"Startup VIs"</li></ul>Click on "Build" at the bottom to create the exe.<br />After it is built, press<br />Done<br />
  38. 38. The Last Step – Build an Executable (Con’t)<br />29<br />When it's done building go to the Destinations list box. With this example it will look like this: <br />C://Documents and SettingsMy DocumentsLabVIEW Databuilds2010 Game Dashboard Project Dashboard Team 1510 2010<br />
  39. 39. The Last Step – Build an Executable (Con’t)<br />30<br />Clicking on this button shows that three files have been created:<br />Dashboard Team 1510 2010.aliases, .exe, .ini. <br />Then navigate to C:Documents and Settings/Developer//My Documents/LabVIEW Data/builds/2010 Game Dashboard Project//Dashboard Team 1510 2010 and Copy all 3 files<br />Navigate to C:Program FilesFRC Dashboard<br />and Paste all three files to that directory<br />
  40. 40. The Last Step – Build an Executable (Con’t)<br />You'll see a line: DashboardCmdLine=""C:Program FilesFRC<br />DashboardDashboard.exe"“ then Change the name of the Dashboard.exe to :<br />Dashboard Team 1510 2010.exe then Save and exit the file. Note do this only if the name has changed<br />Login to the Driver account (Windows Logo+L) to start up the new dashboard and see if it works.<br />31<br />Finally, go to:<br />C:Documents and SettingsAll UsersShared Documents<br />Make a backup copy of the file: FRC DS Data Storage.ini<br />Open and edit the file:<br />FRC DS Data Storage.ini in Notepad<br />
  41. 41. Questions?<br />Dennis C. Erickson -<br />