Quote:
Originally Posted by aldaeron
My question for those who have built swerves: For a design like this can you keep track of the total rotation angle since initialization and manage it in code?
|
Yes, you can and should. Going too far is obviously going to get you in to trouble, and as you've discovered, it's now a matter of tradeoffs. If you allow it to go past 360, how far do you allow? Rotation speed is important, as is knowing when to go back the other way or when to keep going. Encoder choice is important - absolute encoders run no risk of damage, but you have to track how many rotations you've done. Pots have an end point and you risk damage especially if they slip, but you can get a longer range. Having a mechanical stop if you wanted to for ultimate endpoints is hard with multiple rotations allowed.
This was exactly the decision we had to make when redesigning this year. I was happy to accept limited rotation - say either 270 degrees (and change drive direction when necessary), or 720 or so (enough to be useful most of the time). In the end, I saw the advantages in continuous rotation outweighed the small added complexity of limited rotation and the risks that can bring, especially to your cabling. (Of course it's all possible, but this was the choice we made.) It also gave us an opportunity to do something new (for us), for little extra effort.
Quote:
Originally Posted by aldaeron
The steering motors seem like they can be geared to move quickly.
|
This is the key I think. If you have an endpoint due to limited allowed rotation, you have to be able to spin them quickly. Driving full speed, making a slight heading change, and having your wheel modules unwind themselves while traveling 10+fps could be interesting to watch.

Waiting until you have stopped may not always be practical. Imagine doing large circles on the field while maintaining robot orientation - how many circles can you do before having to unwind?
It's tricky. It can all be done, but like most things, it's all tradeoffs.
__________________
FRC Team 111 - WildStang (Mentor, Drive Coach)
FTC Team 7458 - Full Force! (Mentor, Coach)
FRC Team 3132 - Australia's FIRST FRC Team! (Holy crazy first year, Batman!)