Offseason Outreach Bot Controller Question

Team 1339 is seriously considering making a football throwing robot for the Denver Broncos as one of our offseason projects for the 2017-2018 school year. We’d like to make it bulletproof, for driving onto the field at Mile High Stadium, so we are considering all the factors (pneumatic tires, frame components, etc.) The big one that we have no idea how to approach is using an R.C. control system. Here are some of my questions:

  • Is it better to use an RC controller than the typical X-Box unit we commonly see in FRC?
  • Is it even possible to integrate such a controller into a RoboRio setup?
  • If it isn’t, what control system should we use?
  • If it is, how should we go about it?

Thanks to anyone who can point us in the right direction.

Better is in the eye of the beholder–most RC setups are only going to be good for outputting open-loop PWM-based signals. (This is what the Cheap & Dirty control system does.) I haven’t seen anyone try to take the RC PWM outputs and use them as inputs on a roboRIO; generally, users would just go straight from receiver to motor controller. If you use a setup like this, you’ll need to power the receiver with 5VDC; most R/C car ESCs have a Battery Eliminator Circuit that passes power to the receiver, but the FRC-legal ones don’t. (You can use any 12V-to-5V converter and chop up a PWM cable to achieve this.)

If you’re on the CAN side of the world, your best approach would be the HERO board by CTRE; this system talks to the CTR parts of the control system and allows you to hook up a wireless HID gamepad to the USB port. 900 converted their 2014 robot over to one and documented the process in a white paper.

(Full disclosure of the probably-obvious: I work at AndyMark, and we sell both the HERO and Cheap & Dirty control system.)

We’re using a Cheap & Dirty for one of our defense trainer/demo bots. Solid system, I’d recommend it as someone who does NOT work for AndyMark.

Unless you’re doing some neato control logic, the C&D ought to do most of what you need. Also optional is using the open look PWM as Arduino inputs, and then doing any needed control logic there.

Most output can be tuned on speed controllers, be they victors or talons.

Somewhere in between the two options Billfred noted is an arduino based system. This does not let you do CAN (at least not without an extra CAN shield), but you can program it in arduino c++. We’ve done this in the past with an xBee based communication system, but this summer we’re moving to the robotOpen platform, which uses regular wifi communications and should give a much more FRC-like experience. AndyMark sells a kitfor Arduno/RobotOpen, too, or you can just pick and choose the pieces you need from the list there.

I’ve done RC controller to Arduino a couple times and the process to the Rio should be the same. It’s basically get the pulse width of a signal coming in.

I’ve also used the CTR Hero and can recommend it if you’re in the CAN world. However, the two different USB cables it needs are a little funky so be aware and read the documentation.

We are currently using a roboRio or CRio for all our demo bots. The downside is you need computer running the DS software connected to the Rio. We use 5 gig Ethernet with no issues. RC controllers run some pretty sophisticated stuff. (think drones) You could read their PWM outputs into the DI of an controller.

I have a question for those of you using these RC systems: It’s pretty obvious how to control the drivetrain, but how do you control mechanisms? Pneumatic actuators for example? Is that possible?

I can’t speak for all systems, but you’ve got a few options.

You could use one stick with a mixer to run drivetrain, freeing the other stick for a manipulator. In the case of a Cheap & Dirty radio, you can use the two knobs at the top of the transmitter to control speeds of things. Some radios set up for aircraft will have a stick set up as a throttle with detents, which may also be useful.

Something like should work. I haven’t used it yet though.