View Single Post
  #27   Spotlight this post!  
Unread 21-12-2010, 18:34
Dillon Carey's Avatar
Dillon Carey Dillon Carey is offline
6wd swerve, it has been done
AKA: TinyHippo
FRC #1625 (Winnovation)
Team Role: Alumni
 
Join Date: Jun 2008
Rookie Year: 2007
Location: Winnebago IL
Posts: 93
Dillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond reputeDillon Carey has a reputation beyond repute
Re: Holonomic + gyro/PID

Quote:
Originally Posted by Ether View Post
For example, if a wheel is going in direction "theta", and the command says "go in direction theta+180", do you turn the wheel or reverse the wheel's rotation? What if the command is theta+175? Do you turn 175 degrees or do you reverse motor direction and turn 5 degrees? What about theta+100 or theta+95? How does the wheel's speed affect these decisions? What about wheel "wind up" (assuming you're not using slip rings), e.g., What if the wheel rotation is limited to +/- N turns? What if the wheel is limited to +/- 180 degrees, or +/- 90 degrees, or whatever... how does this affect the logic and where do you put the "discontinuity" for least impact on the driving? If the commands can change more rapidly than the motors can respond (both the turning motor and the driving motor), then it seems that every control iteration you would need to compare the process variables to the commands to determine the best course of action - your logic must have access to the process variables.

I'm not asking you to answer all those questions (unless you want to, which would be great). Those are just the questions I've been thinking about - if anybody wants to discuss.
For our swerve in 2010 we used an Ma3 encoder to track the position of the wheels. In you example of "direction theta+180" we did not reverse the drive motors. we decided against trying to make the drive motors reverse because we didn't want robot to move inconsistently if the driver told the modules to turn faster than they could. We made up for this by gearing the turning motors as fast as we could, although it didn't fix the problem entirely. If we were to do a swerve again we would consider either adding more motors, or using more powerful motors, and gearing up the turning speed even higher.
As for "wrap up", we have never had a problem with this since we use co-axial swerve modules.
__________________
"More power 'till it breaks or you win."
- Keith Carey