Differential Shooter Turret

I have seen discussions on differential swerve but I was bored and found a differential shooter. For those that don’t understand what is going on, the mechanism is similar to a turret plus shooter combo. Here are pros and cons I see to this design.

Less motors
Infinite rotation
More power to spin turret

Programming complexity

I just thought I’d share this since I haven’t seen this before and I’m pretty sure other people would be interested to see it.

I also see this design more viable than differential swerve as this is controlling a single module vs 4 separate modules. Plus, with modern motor power, differential swerve seems kinda overkill and you’d probably be spinning the wheels quite often.


Very cool concept to see.

Just wanted to add onto the cons list real quick tho.
The infinite rotation part falls apart as soon as you need any form of a vision system on the turret, since you still need to run power and data to said vision system. (Not to mention any form of hood control if one has that).

And not only does this increase programming complexity, but significantly increases mechanical complexity compared to a standard turret.


I’d imagine that once you started getting up into “2020 flywheel” level RPMs (in the 4-8k range), it’s going to be harder and harder to keep the turret rotation under control, because the changes you have to make represent such small percentage changes on the rotational velocity. Maybe you could do a reduction before the differential and then an “upduction” inside the turret portion?

1 Like

You could possibly use a slip ring to help prevent wires getting tangled up although now you have to try and find frc legal slip rings. They wouldn’t need to be beefy slip rings since I don’t think the power requirements for an adjustable hood or vision would be much.

As noted above, signal-level slip rings aren’t too difficult. Also, you could probably figure a way to mount the camera in a fixed position on the robot and put a mirror on the turret.


Camera above the turret looking down onto an angled mirror, and then some fancy software to process the continuously rotating image?


Another 2020 specific pro - you could maybe use this in order to spin the wheel


360 degree camera maybe?

Was just about to say the same thing, something conceptually similar to this

I was thinking below, camera looking up at the mirror through a clear hood or two, but down could work as well, and wouldn’t be interrupted as you pushed a cell into the shooter. Wheter above or below, you could put a distinctive mark on that mirror so you can easily tell which way is up.

Once you start talking about putting mirrors on turret to make vision work, that starts to sound like a real pain. The easier solution might just be to have multiple vision cameras on the robot each with their own offset, then you’d be able to set the angle of the turret to something based on vision. Heck, you could still do it with a fixed camera, you just wouldn’t have vision data for 360 degrees.

We have a 180 degree turret with a fixed camera for vision and that plus some odometry will make our turret point towards the target as long as we’ve had recent vision data and haven’t moved the robot too far across the field. Plus with a fixed camera you don’t have to worry about vibration on the camera feed.

Something else I thought of is you could have an infinite servo (if it exists) and use that as a mini turret for a camera

The bottom line is this would be nearly impossible to control as-is. It’s difficult to get two wheels to spin at the same rotational velocity when the setpoint is in the high thousands of RPM. Getting them to maintain the same relative position at those speeds would require sensors, processors, and motor controllers much more advanced than we have access to (we’re talking space shuttle type hardware). However, there is a theoretical mechanical solution to this programming problem. If you add a lot of viscous friction to the turret, it may be possible to damp out the minor fluctuations in relative motor speeds. Combine that with the reduction/upduction @BordomBeThyName mentioned and top notch sensors and control software, and it just might be possible.


If you wanted to go the servo route to get more vision data, you probably wouldn’t need it to be infinite. You would just move the servo when you need to and a 360 degree rotation every once in a while isn’t the end of the world. The only thing is that a servo introduces more complexity. Most simple servos that I know don’t have a way to give feedback to the robot code with what angle they’re at, which would probably help if you’re constantly moving the servo, but otherwise it probably don’t matter.

at first i misread slip ring as “sling ring” and thought you were making a joke :rofl:

Pretty sure after 2015 basically any slip ring became illegal, as most if not all have mercury in them.
Also slip rings are a bit of a pain to wire up and mount in a way to safe and out of harms way. (used one in 2012, wasn’t the most fun to set up)

I have seen the opposite, a very small percentage of the commercially available slip rings have mercury.

1 Like

I believe the ones from moog have mercury in them I could be wrong though.