Mentor seeking advice.

Hi, so I’m a former FIRST team member (animation, oddly enough) and I’ve just begun mentoring a team for the 2016 build season.

My primary skill set rests in fabrication and mechanical, however I have past experience with electronics and programming. I’d like to acquire a working knowledge of the communication/control system so that I might be of more use to the team. I haven’t been on a FIRST robotics team since I was in high school (think 2001) so I’m a little out-of-the-loop, technology-wise.

Where does one start learning about Talons and LabView and C++, and making them all work together? Is there an inexpensive starter kit I can buy to tinker with at home, and learn how to write code to control a simple robot?

I’m no programmer, but I think a read through the FRC Control System page might be a decent place to start

Agreed - This is probably the best place to start.

If you want to know more about the Talons specifically, CTR has their Talon User Guide on the Talon product page that is extremely useful. There’s also links there for their software reference guide and github repository that contains a lot of code examples.

As far as kits… there’s a few options that come to mind, but most of them aren’t necessarily ideal.

In no specific order:

  • The best option in my opinion would be to borrow some components from your team if they’ll let you (either post-season or spares if they have them), but I know that’s not always an option.

  • AndyMark does sell a control kit, but as it’s $1,195 I don’t think it’s exactly what you’re looking for.

  • If you’re willing to go back a couple years and your team still has the old components around that they’re willing to lend you (since they’re not competition legal anymore), you could use the “old” 4-slot CRio and power distribution board, digital sidecar, etc. This isn’t necessarily recommended because there have been several changes over the last couple years and you’ll have to re-learn some stuff for the current control system, but it’s free.

  • The last option I can think of is probably the most cost-efficient if you can’t borrow components from your team, but it’s also the least FRC specific. CTR sells a Hero board that can be used for development and is only $60. It’s C# and uses the .NET framework as opposed to LabView or C++ and the Rio architecture, but the general principles of robot control are the same - you could translate code without too much difficulty.

The Hero uses CAN, so you could buy a couple Talons to use with it, or you can use a couple of the gadgeteer ports on the Hero for PWM and use any of the other FRC legal motor controllers (Having used them this year, my new personal favorite is the Talons. They’re a bit more expensive but you can do a LOT with them and the CAN bus.).

The only other thing you would need with this setup is a reliable power supply for the board and any motor controllers you would be using. The PDP is expensive, but if you have an old blue PDB lying around (again, borrowing team components) or another power distribution method, you could get a VRM to regulate power for the Hero board.

Add in a $20 - $30 USB joystick/gamepad and the electrical components with this method (not counting some kind of power distribution) would run you about $270 with the board and two motor controllers. Still a decent chunk of change but a lot cheaper than a whole control system if you’re just trying to learn basic robot control.

Sorry for the wall of text, I tend to ramble a bit. :slight_smile:

Your best option is still borrowing components, but in the mean time take a look at the control system documentation mentioned. CD is happy to help if you have more questions or you can PM me.

Good Luck!

You are in Philly?
Any chance you are a NextFAB member like me?

I might be willing to work out something to give a class with my robot and control systems.

GameSense did a show on the current control system last year as part of our Behind The Lines series.

I was a nextfab member, but I let my membership lapse when I moved away from Washington Ave. and I stopped going very often. I took classes in ShopBot, laser cutting and 3D printing, but never got anywhere near any robots.

Wow, lots of good information in here, thanks! I guess I’ve been looking around at all of the beginner robot kits in the $100-200 range and figured there’d be something in there that might be a good intro to the sorts of systems we use in FRC.

The team has been around for a few years; I’m going to ask the coach if he can lend me some outdated hardware to play with on my own time.

Pick one language: Labview, Java, C++

This will tell you about the Control System

Eventually you will want to get to the libraries that have routines already written to access the major components. The following is the C++ library.

Somewhere, there is Sample Robot that has the basics structure.

I believe the order the functions are called are:

AutonomousPeriodic (called repeatedly during Autonomous)
TeleopPeriodic (called repeatedly during Teleop)

those are the main ones we use, but there are others:

That would be because I was not bringing an FRC robot there at the time :wink:

I live in Northern, NJ and as a NextFAB member I could come there with said stuff.
Hence it works for me to go 2.5 hours south.

It would simply be neutral space and since you had to pass shop safety to get to the ShopBot at least I know you know how to not dismember yourself :smiley:

The wpilib Eclipse plugin includes lots of example programs. Just go New->Project and select wpilib Java Example or C++ Example. You’ll get a window with a list of examples. Select one and start poking around.

Would have saved me a lot of time and Googling had I known about this during last year’s build season!

Has anyone played with this SparkFun Inventor’s Kit for LabVIEW with an eye towards learning LabVIEW for FRC?

A couple of Team Argos mentors (me included) worked through the off season to build a training platform for the FRC community. We’ve used the Argobot throughout our build season to get our software/controls students up to speed quickly, with many students able to go from never having run LabVIEW to getting the Argobot running in 60 minutes. They’ve learned about using touch, proximity, ultrasonic and inertial sensors over the past 6 weeks, most of which are being used on our robot. It’s based on the Digilent WF32 board running LINX, and has a whole host of tutorials on YouTube to get started.

This is very cool. The Argos seems like the perfect place to start, however the price is a wee bit steep for an impulse-buy. I guess it’s an investment in my knowledge and ability to help the team. Is there no cheaper (think $100-150) way to get into this?

Agreed you should pick one language and work with that… at least while you are on the initial learning curve. Many good references are noted here… but there is one issue I wanted to point. The functions listed there are only defined when using the IterativeRobot base class. There are different/additional functions defined for the SampleRobot and CommandBasedRobot base classes.

…you could get a VRM to regulate power for the Hero board…

HERO can also be powered from straight-12V, or USB if that’s easier. See HERO user manual for more info.

but the general principles of robot control are the same - you could translate code without too much difficulty.

Yeah our goal is that new Talon/PCM/PDP features get added to HERO first well before FRC season, then over summer features are migrated into WPILIB/LabVIEW. Either way we will try to make the two APIs similar so porting to FRC Java/C++ is easier.