Are there any FRC-legal servo’s that allow for continuous travel with angular control? If not, is there any way to get around this?
You can use a planetary gearbox like a Versaaplanetary with an encoder to make a very flexible servo. Other than that, not really.
The closest thing to what you want is probably the Parallax Feedback 360° High Speed Servo which is a continuous rotation servo (you’re controlling speed and direction, not angle), but also has a feedback line from the Servo’s Hall Effect Sensor which, to my understanding, gives absolute position which could easily be used to implement angular control.
EDIT: Found the Specs Sheet: https://www.parallax.com/sites/default/files/downloads/900-00360-Feedback-360-HS-Servo-v1.2.pdf
Be careful with this servo as the output shaft is a 25 tooth spline which is not standard. You will need to make sure that any gears or horns that you get to go with this are compatible with the 25 tooth spline.
Thank you. Is it possible to switch between the two modes through your code or do you have to use their servo programmer?
You have to use their programmer. But it is super easy. You will need a way to power the programmer. I happen to have a bunch of RC gear, so i had a battery pack that I could plug into it, but you can also power it from the PWM slots on the RIO if you want.
Can you control the programmer while the robot is in operation?
No. You plug in the programmer once to switch between standard mode and continuous rotation mode. Once you have switched the mode, you unplug the programmer and plug the servo directly to the RIO.
You will only need one programmer to program all your servos (of this brand). So, if you are using multiple servos on your robot, you only need to get one programmer.
If you want to use the servo in standard mode, you don’t need the programmer.
Oh ok, thank you for the clarification!
typically angular control and continuous are two separate things in servos. continuous only allows for power/speed control, while angular provides a limited range. that being said, there are servos that have angular control for more than one rotation (this can also be replicated with a gearbox).
Check out this message thread.
It also comes with a 4x AA battery tray. So as long as you’ve got some AAs you’ll be good to go.
What is the essence of the problem you’re trying to solve? Are you trying to move to absolute positions within a finite range, but beyond the limits of a typical 180 degree servo? Do you need true infinite rotation? Is absolute control necessary- is homing acceptable?
Position control in a finite range of positions, the application is sufficiently low-power that it can be powered by a servo but the required range is around 6 times farther than a normal servo is 0-180 degrees. We don’t have any pdp slots that are free for another motor, and we can’t run two BAG motors off a single controller or anything for more slots.
We used two REV Smart Robot Servos in continuous mode on a version of our adjustable hood along with a US Digital S4T Encoder to count rotations (not installed on the shaft when the picture below was taken).
Because it was a relative encoder, we made sure that the hood was all the way down before powering on the robot to ensure a consistent zero position. Because the shaft (that we connected the encoder to) rotated more than once through the entire hood’s range of motion, we were unable to use an absolute encoder.
However, for your use case, if you can figure out a way to measure the exact output of the mechanism (provided your mechanism doesn’t rotate more than once), you can throw on an MA3 encoder or any other encoder capable of absolute positioning and not worry about zeroing/homing your mechanism’s state.
If I had to guess, you are trying to use servos to convert rotational motion into linear motion, such as with a adjustable hood (correct me if I’m wrong). imo its best in cases like these to use a normal servo on angular control mode rather than continuous, and speed up the motion with a different gear ratio or setup, cutting out the need for an extra encoder, and making your movement speed faster. one way you can do this is by using either a gearbox to gear up the servo, or use a double jointed lever (ex: https://youtu.be/5VhedFr_nCk?t=32). if you find that you don’t have enough torque, there are a whole range of servos you can use that will (savox is a good brand for high performance frc legal servos)
Thank you! Our main worry with that approach was torque, we were using some pretty weak ones. We’ll look into some higher-torque options.
Another option could be a multi-turn servo like the Hitec HS-788HB.