Edit

Note Viewer


Electrical 2016

Attendance

Note Info

Students
Mentors
Date & Time
Location & Author
  • Sarah H.

  • 1/17/2016

  • 4 hours

  • Shapland Shop

  • Jay S.


Notes

The meeting started out trying to figure out how to get data from the roboRIO to the python code through the roboRIO. 

Referring to this link, we saw that "[we] can verify the names of the network table keys used for publishing the values by using the Network Table Viewer application", and that "The application is started by selecting the "WPILib" menu in eclipse then "OutlineViewer." The first logical step was to see if the program exists in the existing installation of robotpy, but it did not. So, we proceeded to install Eclipse (and the required JDK and JRE), which took forever.

We needed these keys to make sure we were accessing the right table when we called the line:

  • self.cameraTable = NetworkTable.getTable("GRIP/myContours")

Meanwhile, as Eclipse was installing, we continued to explore example code on GRIP. The pynetworktables docs gave a good example for listening to changes in the network tables. However, the example did not work, possibly because of errors thrown during the initialization, that NetworkTable has already been initialized. These were thrown on the lines:

  • NetworkTable.setIPAddress(ip)

  • NetworkTable.setClientMode() 

  • NetworkTable.initialize()

When we removed these lines, it deployed successfuly, but the onChange listener for the NetworkTable was not called.

It was at this point that Kyle realized that we may not have actually deployed the GRIP test (located in Desktop/GRIP/projects) to the roboRIO because we forgot to add a very important block : the publish block. We added this block and found that that was where we could define the keys to the table and it's fields, ending the necessity for the whole Eclipse thing. 

After adding the publish block, we once again tried to deploy it to the roboRIO but did not see the expected behavior as specified here : 

    "After hitting the deploy button a "Start/Stop" button will appear in the top right of the left screen. Clicking on that button will run the command remotely to start GRIP.You should see a bunch of log text appear in the top left pane. Eventually you will receive a success message and GRIP will be running"

And then we read this:

    MDNS Support is not included with Windows 7 or earlier. You will need to have the WPILib developer tools installed and working in order to deploy to your robot if you want to use the mDNS name (eg. roboRIO-190-frc.local instead of 10.1.90.1). Keep in mind that the IP address may be different when using USB or link local, so mDNS is useful to have enabled.

and realized we were on Windows 7 and needed the IP address of the roboRIO to deploy correctly. Thus, the search began, trying to ping and looking through the deploy spew. No luck :/

Thats all :)

Work Completed

  • Added a few lines of code to get data from the NetworkTables, that should work if we can deploy GRIP correctly.

Challenges

  • Took a long time to figure out how to do stuff, and were never able to find the IP address to deploy GRIP.

Work for Next Meeting

  • Commit & Sync in Github!  And do it again at end of every session.  Basically the habit should be:
    1. Arrive at shop
    2. Read notes
    3. Open Github, hit sync
    4. <do some great stuff>
    5. Open Github, commit code changes then hit sync
    6. Go home.
  • Get ultrasonic and contact switches working in Python robot code.  Just verify we know how to aquire those values in the code.
  • Work on LEDs
    • Drive train
    • RGB
  • Comunicate GRIP from roboRIO to computer
    • Deploy GRIP code to roboRIO or Jetson
      • Find the IP by using traceroute or connect straight to the roboRIO through ethernet and just go for it with IP 172.22.11.2.
  • Implement gyro and accelorometer in python. [I think you guys succeeded here. Can't go further without something to "do" with those sensors, on the new robot -AP]
  • Talk to mecanical about having a encoder on their shooter
  • Fix cable on celling
  • Help with making field elements

On Schedule?

Do we even have a schedule?