Log in

View Full Version : Unclaassified: Information about the 2010 control system


Nadav Zingerman
05-10-2009, 15:35
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.

DonRotolo
05-10-2009, 17:38
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.

Eugene Fang
05-10-2009, 18:42
Thanks for the info!

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).

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.

Nadav Zingerman
06-10-2009, 08:20
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.

jtdowney
06-10-2009, 08:55
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 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.

Alan Anderson
06-10-2009, 09:01
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?

Nadav Zingerman
06-10-2009, 11:49
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).

Tom Line
06-10-2009, 13:22
#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 =).

Eugene Fang
06-10-2009, 19:38
#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.

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

Tom Line
06-10-2009, 19:46
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.

Greg McKaskle
06-10-2009, 20:08
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

jmanela
06-10-2009, 20:47
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:)

martin417
07-10-2009, 07:29
...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.

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

Tom Line
07-10-2009, 08:01
At this time it is only available to beta teams.

Zorkinian
07-10-2009, 15:32
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.

Jon236
07-10-2009, 15:56
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?

Greg McKaskle
07-10-2009, 16:13
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

Jon236
07-10-2009, 16:21
Thanks Greg!

Alan Anderson
07-10-2009, 16:34
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.

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.

Zorkinian
07-10-2009, 16:54
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.

Tom Line
15-10-2009, 22:23
To follow up, we just completed transfering our 2009 code into 2010 and getting it functional.

The new method of opening and referencing devices it a large improvement. Everything else worked pretty much out-of-the-box. The only other difference that comes to mind functionality-wise is the messages that you send to the DS. I can tell you right now that the DS screen is very small at 7 inches - and the text that you can send to the driver message display is equally small. Smaller and harder to read than the quickbyte. I think that we (my team) will modify the dashboard to make a larger and easier to read section since we use that for feedback from our autonomous settings.

There are some quirks to the DS that you need to get used to - the order the joysticks number themselves in is a bit problematic, though they give an easy way to reorder them. If you don't have the hub and joysticks plugged in when you run the DS, it will not detect them if you plug them in after the fact. In addition, you may have to pay attention to updating the DS software and the Crio image - the latest beta update broke camera communications if you didn't image the crio AND install and use the new DS software.

It's nothing insurmountable, and it's been great fun (and a lot of work) to watch the 1718 controls team figure out the issues and keep moving ahead. We're looking forward to hosting our seminar with our co-team 2604: it's going to be fun and exciting to show off the new code.

Kingofl337
16-10-2009, 09:37
To answer John's question, to run C++ we just updated to the latest FPGA image and updated to the new version of WPILib that supports the new FPGA image. Done.

So, everything worked from a C++ standpoint right off the bat.

We are testing Java but, our code from last year is C++ so we have been able to switch back and forth for testing.

Russ Beavis
16-10-2009, 09:54
Does the Classmate have a video output port? If so, plugging in a larger monitor might be helpful when prototyping but FIRST does not typically provide AC at the Driver Stations.

Russ

Jared Russell
16-10-2009, 10:18
Does the Classmate have a video output port? If so, plugging in a larger monitor might be helpful when prototyping but FIRST does not typically provide AC at the Driver Stations.

Russ

Yes, both versions of the Classmate have VGA ports. And, for that matter, spare USB ports that would support a full-sized keyboard.

Greg McKaskle
16-10-2009, 19:29
Remember that the Classmates being beta tested aren't the same as the ones that will be in the KOP.

Greg McKaskle

Jared Russell
16-10-2009, 20:33
Remember that the Classmates being beta tested aren't the same as the ones that will be in the KOP.

Greg McKaskle

Good point - there is a version of the Clamshell with no VGA port.

Gdeaver
17-10-2009, 09:36
Has anyone tried non KOP joysticks or controllers? Our team's off season drive project could benefit from a 3 axis joystick. There are 3 axis joysticks that do not need a drive and use the default xp driver. Any indications that they would work? Would they map into Labview?

rwood359
17-10-2009, 13:12
Has anyone tried non KOP joysticks or controllers? Our team's off season drive project could benefit from a 3 axis joystick. There are 3 axis joysticks that do not need a drive and use the default xp driver. Any indications that they would work? Would they map into Labview?

We have tested the Logitech Extreme 3D Pro Joystick
http://www.amazon.com/gp/product/B00009OY9U/ref=ox_ya_oh_product
Just plugged it in in place of the KOP joystick. It uses every axis and button allowed in LabVIEW.

Gdeaver
17-10-2009, 13:45
How does that work with Labview. Where does the Z axis and throttle get mapped to. The VI I've seen only has an X and Y output.
Thanks

Jon236
17-10-2009, 14:34
How does that work with Labview. Where does the Z axis and throttle get mapped to. The VI I've seen only has an X and Y output.
Thanks

If you undundle the 'Get Joystick' vi axis cluster output, you will find all the axes available to you.

http://www.chiefdelphi.com/forums/c:

rwood359
17-10-2009, 15:08
How does that work with Labview. Where does the Z axis and throttle get mapped to. The VI I've seen only has an X and Y output.
Thanks
The unbundled variables are:
Axis 1 - Left/Right on main stick
Axis 2 - Forward/Back on main stick
Axis 3 - Twist motion on main stick
Axis 4 - Trim pot on base
Axis 5 - Left/Right on thumb joystick on top of main stick (only has 3 values center/full left/full right
Axis 6 - Forward/Back on thumb joystick on top of main stick (only has 3 values center/full forward/full back)

The unbundled switches basically match the numbering of the switches on the unit.

KRibordy
18-10-2009, 16:04
I can confirm that the Saitek AV8R (http://www.saitekusa.com/prod/av8r.htm) joystick works with last year's driver station. We're using WindRiver, but there are four axes:
X - X axis on Joystick
Y- Y axis on Joystick
Z- Throttle on front
Twist - Joystick rotation

It was mentioned that the new driver station software is only 90 MB. Can we download this if we're not part of the beta program?

Tom Line
18-10-2009, 17:43
No, right now it's still just for Beta teams. At the rate it's changing, it's out of date every couple days anyway, and if it was available to everyone there would already be 3 versions, and many many confused people :yikes:

Gdeaver
18-10-2009, 18:02
Thanks to those that responded. This opens up many control strategies.

Trevor_Decker
24-11-2009, 19:13
Thank you for all of the information about the 2010 control system!

Does any one know when it will be distributed to teams which our not part of the beta?

Any information would be appreciated, also when was the control system distributed last year?

ATannahill
24-11-2009, 19:17
There is nothing saying that we will get the control system early this year. Technically, we have had some parts since January or earlier.