[DFTF] Control System Limbo...

This is part of a series of posts called Drinking From The Firehose on getting Dr Joe back up to speed on All Things FIRST.

Today’s topic:
Control System Limbo…

Okay, I hate whiny posts but I guess I don’t hate them enough not to do it myself (everyone should follow the golden rule… …except me). I will try to keep the whine factor as low as I can.

As you all have gathered, I am a rookie again. I finally got the school administration to cut loose enough money to allow me to have our team build a practice chassis (it is going to be a swerver – yeah, I know I should go for something less aggressive, but sometimes you’ve got to go big or go home … and the design has baked in fall back positions so I am not betting the farm on the chassis doing the crab walk… …but I digress).

BUT… …as ya’ll know from reading Bill’s Blog, you (we) can no longer order cRIO FRC1s. Fine. You can order cRIO FRC2s. Okay so far. But… …they are simply expensive paperweights until kickoff when FIRST publishes the firmware.

Bottom line. There is no way for a rookie team to obtain a new cRIO that they can use to program a practice robot prior to the FIRST season.

Without putting too fine a point on it. This stinks and is yet another reason FIRST needs to have more people with team experience calling the shots.

So… …here is the point of this post.

What should I do? Should i buy a Vex controller? Should I try to buy or borrow a cRIO FRC1? Should I just roll my own controller?

Advice is welcome.

Joe J.

Borrow the FRC cRIO1 if you can. The difference is big enough from the IFI systems that you will want to get used to the modern FRC system.

Funny you should mention Vex…

Currently, 2815’s cRIO is being serviced by NI. 1293’s, for whatever reason, won’t accept code.

We plugged in a Vex Cortex controller (going to Victors) into our robot for a demo, and had it running in a couple hours. Upon hearing of our friends’ plight (and knowing they were coming to the same demo), we programmed up a second Cortex and brought it with us. In the span of about 90 minutes, we had wired up two Victors (because we weren’t 100% certain about the Jaguars that 1293 used) and gotten the Cortex driving their robot with an extra half-hour to spare.

Did I mention that neither team has ever used a Vex controller in this application before?

Put simply, I think you’d do well to use a Vex controller for the signal stuff; if it helps, tape a picture of a cRIO (and the sidecar, and anything else that’s missing) in place to help your rookies get an understanding for what’ll be on the competition robot. While it’s not the same as the new control system, there’s clearly value in a system you can get running fast before Thanksgiving and winter breaks and continue to use at your leisure.

We got around this by purchasing one of 1625’s extra cRio’s for the price of one of the new ones, this lets them flip the money and purchase a new one to take advantage of the smaller form factor. You may be able to strike this deal with an area team.

As a rookie it works as we’ll get a small one in the kit and use the giant one on the practice robot/kitbot

If you can’t find a way to get your hands on a Crio between now and January the idea of an old VEX pic controller or Cortex, if you have them laying around, isn’t a bad one. The issue is a new cortex is about the same as the discounted crio without modules.

Is it more important to get this prototype chassis moving or to make it more like a practice bot?

With very little work you could implement a low cost open-source controller using Arduino.

Swerve Bot with low-cost Arduino controller

Everything you need to get this system up and running is available off the shelf…and we have the code to get you going with wifi if you don’t want to write it up yourself.

One obvious drawback to this approach is that it doesn’t give you any practice with the actual comp hardware. Still cool and cheap. :slight_smile:

See here for documentation on the previous iterations of this project…

IPGamePad open-source code

Alternatively, although this doesn’t give you any real physical experience, using VIRSYS will allow you to teach/learn programming with any of the 3 main languages.

You’ve got plenty of nearby teams to talk to. I would be very surprised if none of them had an 8-slot cRIO they could let you borrow.

What should I do? Should i buy a Vex controller? Should I try to buy or borrow a cRIO FRC1? Should I just roll my own controller?

Thinking just slightly outside the box, how about partnering with a Beta Test team? That way you could buy a new 4-slot cRIO and use it. If my understanding of geography is not faulty, the Killer Bees aren’t far from you at all.

Your understanding of geography isn’t faulty, but Dr. Joe hasn’t updated his location in his profile to reflect that he is in the Boston area (as posted here).

But yes, that would be very helpful on all counts. Not only do you get practice, but the Beta team gets feedback on “rookies are going to need a lot of help on X, Y, and Z, but on A and B, they’ll sail right through it”.

Not that National Instruments will like this, but…
All you need is the DVD. The FRC labview dvd has all of the firmware(they called utilities, but it is firmware plus an imaging tool). the latest images for the CRIO are on the FIRST website(here. For the new system you need image on the CRIO and install the WPI VI for labview(especially if your coding in that)

The instructions on installing the dvd are here. The Labview license allows install as many computers as a team needs, so if another team needs it on your computer :smiley: I think your fine.

NI is fine with you using the software on the DVD. The issue is that the 4 slot doesn’t have the same enet or FPGA chip. It needs a new image and is only supported by the latest LV edition, not the edition shipped last year, but the one which will ship and is currently being integrated and tested in the Beta program.

This changeover doesn’t happen each year – thank goodness – but when it does, it causes a synchronization bubble that is working its way through the system during this offseason. I believe that FIRST doesn’t expect most rookies to be purchasing controllers, building robots, etc. months and months before kickoff. If you are that rookie team, you seem to be caught on the wrong side of the bubble. The eight slots were still available until a few months ago, and as mentioned, there are thousands in the community. You may even be able to borrow one from a local NI rep.

Greg McKaskle

A swerve is ambitious enough as it is, don’t obfuscate the process any more by developing your software on a different platform.

I echo the sentiments that you should contact a nearby team for an 8-slot cRIO. I would find it hard to believe that there isn’t a nearby veteran team who couldn’t outright lend one to you.

Heck, anyone who has ever used a DeWalt on an FRC robot should feel downright obligated.

But I digress.

There are little details involving the development tools for the cRIO for which there is no replacement for experience. The toolchain is powerful, but there are tiny details which we experienced folk take for granted…

Believe me, I just stepped through the entire process of:
-configuring the radio/router/ap
-installing NetBeans, JDK
-adding the NetBeans Plugins
-learning/assigning IP addresses for all devices
-creating firewall exceptions for required applications
-installing the NI Tools
-flashing the cRIO
-creating, compiling, uploading a sample program
-installing the driver station software
etc…

Not hard once you figure it all out for the first time, but still a considerable head-end investment that’s worth doing now, and having you and a few students do multiple times so they know it back and forwards.

Thanks all.

As I type, I am in Taiwan, ROC. There is an offer in my inbox for an 8 slot loaner. I will deal with it when I get back to Boston.

Speaking of which, I have updated my profile to reflect my new location.

Thanks to everyone for the help.

Cheers,
Joe J.

Joe,
As a reminder, the Crio needs a 24 volt power supply (19-30 is the published spec, I believe). The Power Distribution Panel (PD in First Speak) provides a boost regulator output at 24 volts for this purpose. The regulator will continue to run down to about 4.5 volts at robot battery input. With the required voltage jumper on the slot 1 analog module, the Crio input sense will disable all output when the robot battery falls to about 5.5 volts so that the Crio will not reboot during a brownout.