Unclaassified: Information about the 2010 control system

Today Eyal Hershko, mentor of 1577 and 1657 beta test teams, held a lecture introducing new teams and students to the cRIO and LabVIEW. He also briefly demonstrated some elements of the new control system. Here are some highlights:

Hardware:

  • Beta test teams have received the touch-screen version of the classmate, not the clamshell version that will be in the KOP.
  • The Classmate dual boots windows and a FIRST-specific Linux-based OS that will act as the DS (as seen on the screenshot on Bill’s Blog).
  • The Classmate can use its own Wi-Fi capabilities or use an external router (Eyal said he has only tested it with a router so far).
  • CAN and custom FPGA are not available at this time.
  • The breakout board used to connect analog and digital inputs to the Classmate is manufactured by Cypress and is programmable itself in C++ (I believe I saw PSoc on the box).

Eyal demonstrated an application of the Cypress card. There is apparently a touch panel on the card. Eyal slid his finger across it, causing a red light on the board to follow his finger. We were not able to see this up close and Eyal said that was all he could show us.

Software:
Eyal also showed screen shots of the new LabVIEW FRC framework. Among them:

  • “Advanced Framework” is now called “Robot Framework”; “Basic Framework” is now called “Experiment Framework”.
  • Begin.vi is changed, no longer is there a giant cluster, but rather VIs that receive all the Device references. The VIs have an icon of some kind of memory card, with arrow pointing in and out. I’m guessing the DevRefs are written to some global variable(s).

Speculate away!

p.s: Please take everything here with a grain of salt. Between me making a mistake, Eyal making a mistake and thing changing between the beta and the final system, many of these details may not be accurate.

Good post, thank you.

The astute team member will indeed heed the caveats quoted above.

Thanks for the info!

What’s the bootup time on this?

Also, what is the purpose of dual-booting Windows? I read somewhere, I forget where, that beta teams were discouraged from installing programs on the Classmate anyways.

I don’t know about the boot time, we didn’t get to see it in action.

I think there’s no particular reason for dual booting Windows, except that not having it is sort of a waste. You already have a laptop, might as well be able to use it as such.

I have talked to teams who have a difficult time getting their school system or whoever to install the programmers software on computers available to the teams. Those teams have to resort to having a team owned laptop to run LabView or Windriver on and not all teams have the capital to fund that. I am hoping that by providing a netbook in the kit that it can lower the barrier for those teams in this unfortunate situation.

I have the impression that it’s just two different user accounts, not dual boot to separate operating systems. The “Developer” account has full privileges; the “Driver” account is more limited. Would someone participating in the hardware beta testing like to chime in and clarify this?

I think they’re still not allowed to talk about it. Eyal said he had to obtain specific permission to reveal what he did ahead of time, so that the info could be given to all teams (these summits are not very common in Israel, it would be a shame not to use the opportunity).

#1. Beta test teams are allowed to talk about it RIGHT NOW. I’m surprised (and rather disappointed) that more Beta teams aren’t communicating.

http://forums.usfirst.org/forumdisplay.php?f=23

Scroll down to find the 2010 Section.

Our team inquired early on with FIRST regarding what we’re allowed to discuss because of the NDA, and received an email stating that we could reveal info to other teams. Below is some of the text:

*Section 0.4.2 says that section provides the written consent referred
to in the Disclosure Agreement

Code you or your team creates using the new software not only can be shared,
but must be – this is one of the stated required tasks of beta teams (Section
0.3 of Chapter 0)

Teams were expected to start monitoring and responding to questions as
they are able on the FIRST public forum by 9/28 (Section 0.4.3). So,
post away.

And yes, answer questions on function, and post screenshots.*

#2 The Classmate is runnig XP with two accounts. In fact, the dashboard / driverstation software is NOT specific to the classmate and will function on any laptop with XP. We have downloaded the software and are testing it on an XP machine along with the new Labview code, and it is truly outstanding. It’s approximately 90 megs in size, and installs in about 15 seconds.

Initially I questioned the use of the classmate, but with the added functionality and troubleshooting capability (real time video at the driver station anyone?), I’m actually convinced this is a positive change.

We will try to answer questions posted to the First Robotics Labview forums as we can - however our biggest limitation is time, so there is only so many things we can actually try out.

Nadav - thanks for posting this. I think the #2 responsibility of every Beta team is clear communication to the community, right behind making sure everything works the way it should =).

So is the Driverstation software a dual-boot Linux thing or is it a piece of code that’s run on Windows? Or both?

It is simply a Windows XP box with 2 accounts - one which is limited to run only the Dashboard and the Driverstation, and another that is an Admin.

Windows is used in many test and manufacturing line computers, and it is often useful to “hide” the windows features and use the computer in what is referred to as kiosk mode. It runs on the Windows OS, but doesn’t run the Windows Explorer, so the task bar, start menu, and most of the other Windows UI is stripped away. It is a lighter, more industrial use of the Windows OS. You’ll even find test equipment such as oscilloscopes from Agilent and Tektronix that have Windows running on them.

This is analogous to running linux, but choosing to run a very minimal X window manager.

Other beta-related questions will likely get answered quicker if posted to the first forums, beta section.

Greg McKaskle

Do you have some sort of a powerpoint, or word document that outlined your presentation? Do you have a screen shot or something of the LabView code because I am teaching LabView to my team I don’t want to teach them last year’s code.

Thanks in advance:)

So is the DS software available for any team to download and try? If so, can you post a link?

At this time it is only available to beta teams.

The Beta teams are free to share a lot of information about the beta system, but we’re supposed to withhold the actual bits of something (documentation, code, programs) until the end of the beta/when FIRST tells us to. This is mostly a version control issue - what if we shared some code or documents on ChiefDelphi, but those libraries became deprecated or the document referred to things that no longer exist? Teams searching for help might find those out-of-date items, and troubleshooting the issues that come from that would not be pleasant.

Thank you for the explanation. It would be useful to try and flesh out the changes in LabVIEW (or C++) so that mentors can start teaching. I would rather not start with last year’s base code if this year’s is significantly different. Is there a date when the shroud will be lifted?

I think it would be cool for a beta team to explain what they had to do, or chose to do to last year’s code. They can use this as the backdrop to review the new things introduced in the beta thus far. Not having signed beta stuff, I hope I’m not suggesting anything that you aren’t supposed to do.

In general, I think most training from last year should still be pretty accurate.

Greg McKaskle

Thanks Greg!

We LabVIEW beta testers don’t yet know what the final code template will be. As issues are found and addressed, things change. One thing I’m reasonably certain of is that teams will be strongly encouraged to start with something that looks a lot like last year’s “advanced” template.

There’s a new mechanism for dealing with the clutter of reference clusters having to snake all over the block diagram. Since we don’t yet know whether what we have is going to be the final form, it’s probably best not to share too much detail about it, but it resembles a kind of global variables that are simpler to create.

So far, while there have been some iterative improvements to LabVIEW code (as Alan mentions, we’re currently testing something that should make managing references much easier), there are more similarities than differences thus far.

Our team is currently in the process of rewriting our 2009 program in the 2010 framework, keeping logs of what’s different as well as what has remained the same. Once we’re done, we plan to gather all the info into some kind of “delta” document, detailing the various changes and upgrades we’ve seen in the 2010 system. I imagine most other beta teams are doing the same.