Log in

View Full Version : Gyros and Field Centric Control


MichaelBick
16-11-2011, 15:08
Our team is looking to implement field centric control on last year's robot during the preseason. I was wondering which gyros other teams have used in the past and your experiences with them. Thank you so much.

Ether
16-11-2011, 15:21
Our team is looking to implement field centric control on last year's robot during the preseason. I was wondering which gyros other teams have used in the past and your experiences with them. Thank you so much.

http://www.chiefdelphi.com/forums/showpost.php?p=1084518&postcount=40

MichaelBick
17-11-2011, 19:54
Thank you so much.

skimoose
18-11-2011, 10:58
Ether has pointed you in a good direction. To elaborate, you need to select a gyro with sufficient degrees/second response. A good minimum is 300. If your robot can turn faster or be struck and spun faster than the gyro can respond, your field centric controls will lose their bearing. There are several gyros available from Sparkfun with the correct input voltage. If you use a gyro that is close to your turn rate, you can always program a gyro reset into your operators controls. If the robot drifts off axis, the driver can manually position the robot back to a bearing of zero and hit a button to reset your bearing variable to zero as well.

MichaelBick
19-11-2011, 16:34
Also, I was wondering if any teams use accelerometers on their robots. Do you have any recommendations for some that work with the wpilib library?

Tristan Lall
20-11-2011, 20:05
Field-centric control would be a lot easier if you weren't hungry all the time. Your search for gyros (http://en.wikipedia.org/wiki/Gyros) is definitely a good first step.

Ether
20-11-2011, 20:43
Field-centric control would be a lot easier if you weren't hungry all the time. Your search for gyros (http://en.wikipedia.org/wiki/Gyros) is definitely a good first step.

Whatcha smokin ?

Sparks333
13-01-2012, 01:18
FYI, integrating angular rate for any amount of time is going to get very drifty - especially if you get knocked by another robot. A gyro with a high rotational limit and a very high sampling rate are both decent ways around this, but they can't get rid of bias errors and non-smooth motion issues. One way to decrease drift is to do sensor fusion with wheel encoders - using something like a complementary filter can make one system more depended-upon during high rates of rotation, and the other more depended-upon during low rates of rotation. Far better, however, is to use some part of the field that the robot can localize to - in an extreme case, you might be able to use a compass module to find direction (but the hard-iron fields will probably render one useless), or perhaps using the camera for visual servoing. I'd personally recommend the latter - fixate on the targets and keep it always in frame.

Hope this is useful

Sparks

Ether
13-01-2012, 06:50
FYI, integrating angular rate for any amount of time is going to get very drifty - especially if you get knocked by another robot.

Many teams simply put a button on the joystick that the driver can push to re-zero the gyro when the bot is pointed in the desired direction.

Sparks333
13-01-2012, 14:37
That works too.