Team 1718, The Fighting Pi Team 1718 - The Fighting Pi FIRST - usfirst.org Member's Login
2013 Beta Test

Week 6, Day 7, 10/29/12

Task 3's due date for completion was today. Task 3 was to complete porting of our 2012 robot code to the 2013 framework. As usual, it didn't go smoothly.

The first step was to image the cRio on our 2012 competition bot. That went smoothly. Note that most of the teams are reporting that the "Console Out" soft-switch on the imaging software is turned to 'on'. This will create problems if you use CAN Bus through the serial port, so take notice.

Our first problem came trying to open and deploy the 2012 code to the robot. Our 2012 robot code opened without a problem. However, running it from robot main caused some errors we haven't seen before:

    -63195 occured at read/write control in FPGA_Encoderwritetimerconfiguration.vi -> WPI_Encoderopen.vi -> Begin.vi -> Robot main.vi

    NI-RIO: (hex 0xffff0925) the handle for device communication is invalid or has been closed. Please restart the application.
We ended up having to remove all our encoder references from the project. Specifically, removing the open's from the Begin.vi let us execute the project. This was the easiest way to get everything up and running to confirm we could complete Task 3. Or at least complete most of it.

Our next step will be to add the encoder references back into all the VI's using the 2013 palette to see if something changed that LabView just isn't telling us.

Once we had gotten our code to work (except the encoders), we moved on to look at the new driver station. We'll give you a run down of the changes, including the changes we don't understand yet...

Below we have the new Dashboard (not to be confused with the Driver Station). The obvious differences are the Variables Tab on the left camera view, and the Operation / Test / Checklist tabs on the right.

The Information on the Operation tab is there to test the new Network Tables implementation. Network Tables are a method to send data to the Dashboard from the Robot. We'll talk more about that later.

The areas in the "Drive & Motors" section that looks like crosshairs are mapped to the connected joystick's x and y axis. The traces below are charts of the motor outputs.

New Dashboard Front Panel New Dashboard Front Panel

The Variables tab shown in the picture below is a tree-style layout of all the Variables that are passed to the Network Tables from the robot.
New Dashboard Variables Screen New Dashboard Variables Screen

To be frank, the Test Screen is a bit of a mystery to us right now. We've gotten a lot thrown at us in the last 4 hours, so we're going to have to let this one percolate a bit and dig through the dashboard block diagram to try to decipher what this does....

New Dashboard Test Screen New Dashboard Test Screen

Next we have the checklist screen. If you think it looks like old school lined paper... well, you're right. At first glance, the checklist is populated from a file in the \Documents\FRC\ directory on the driverstation called Checklist.txt. We're not sure exactly what this is used for yet, other than the obvious use of putting a list of steps in for the drivers to use when setting up the robot. We'll see if NI has anything else special in mind.

New Dashboard Checklist Screen New Dashboard Checklist Screen

Below is our first glimpse of the new robot main. Initial differences are the inclusion of a static reference to the Test VI. Static references are a special VI reference that allows that VI execution to be killed when needed. That is why it's used for the Auton Independent VI: so it can be killed when transitioning to teleop no matter what execution state it may be in.

The only other item that jumps out is the NT Server icon. That is the Network Table server icon. It handles sending the data out to the robot dashboard.
New Robot Main VI New Robot Main VI

Below, you can see the Default Framework Teleop VI. You'll notice more Network Table VI's that you haven't seen before. By Assigning each value a name (The Pink String Names), then using that same name in your dashboard build, you can easily send data to the robot. It's a nice improvement over the old flatten-string system.

New Teleop VI New Teleop VI

Finally, we have a closeup of the Network Tables communication in Teleop.

Network Tables Communication Network Tables Communication


Finally, we played with robot simulation. Labview has a new 'simulation' mode that allows you to actually work on a robot in a simulated environment. Right now, it's capabilities are somewhat limited. From the Beta documentation, simulation currently supports:
    Actuators on Simulated Robot
      Left Motor
      Digital Module = Digital Module 1
      PWM Channel = PWM 1

      Right Motor
      Digital Module = Digital Module 1
      PWM Channel = PWM 2

      Camera Servo
      Digital Module = Digital Module 1
      PWM Channel = PWM 3

    Sensors on the Simulated Robot
      Encoder on Right Motor
      Digital Module = Digital Module 1
      A Channel = DIO 3
      B Channel = DIO 4
      Encoder on Left Motor

      Digital Module = Digital Module 1
      A Channel = DIO 5
      B Channel = DIO 6

      Gyro
      Analog Module = Analog Module 1
      Analog Channel = AI 1

      Ultrasonic
      Ping Digital Module = Digital Module 1
      Ping DIO Channel = DIO 1
      Echo Digital Module = Digital Module 1
      Echo DIO Channel = DIO 2

Here's a picture of the simulated driving field:
Simulated Driving Field Simulated Driving Field

Because of the limited nature of the current simulation, all you can really do (that we've figured out) is move the robot around.... but then again the documentation isn't really created yet, so all we've learned by is trial and error. The joy of Beta Testing....

FIRST Robotics Macomb Academy of Arts and Sciences The Chrysler Foundation Richmond Rotary Master Pneumatic Ford Motor Company The Purple Alliance

2008 Website Excellence Award 2010 Best Website Award 2012 Best Website Award Valid HTML 4.01 Transitional

The Fighting Pi Social Media Links Team 1718 Facebook Team 1718 Twitter Team 1718 Tumblr Team 1718 Flickr Team 1718 YouTube Picasts

About Us | About This Site | Contact Us
Last Modified On 03/21/14