Gyroscope Filtering Discussion

The gyro is mounted on the most stable part of the robot in my opinion, on rubber links. As far as vibration is concerned, I think that place receives the least amount of excess vibration on the whole robot.
Completely out of curiosity, in industry level work, are the gyros that are used more accurate or is the software they use more advanced, or both?

This is a great idea. I didn’t think about combining multiple sensors to measure rotation. I’m going to try to combine the encoder and gyro to see what I can get.

One more thing that I would like to ask, and I apologize for having so many questions, is some idea on how to handle collisions. Since the gyro reads vibration as movement, when the robot bangs into something, the gyro will read that as a large turn. Even if I add a lot of mass to one point of the robot and put the gyro there, collisions are extremely intense and will inevitable cause a lot of error. The only thing I can think of is observe the pattern of values the gyro gives when I collide the robot with something. Most likely it will be a sudden spike for a very short amount of time, and then when the robot detects something like that, ignore all that data and assume it was nothing.

Mounting away from motors seems to be the most helpful thing, and sometimes to do that you have to mount in odd locations. In addition to rubber links, we’ve used both rubber band slings and anti-slip mat sandwiches to mount them. Both provide good vibration isolation. Maybe more than the rubber links.

Be sure the connector wire isn’t able to transmit vibration into the sensor board; we’ve seen that be a source of vibration transmission a couple of times.

It’s a mixed bag. Gyros like this are used a lot, usually integrated into a small driver board which provides startup, calibration, and filtering. Pretty much the things you’re working on right now, it’s just that you’re doing it on the main processor. Often there will be two sensors of the same type providing input to the driver software, and it will then combine the inputs to derive a single integrated output. Again, exactly the kind of thing you can do if you use more than one VEX gyro.

There are, of course, many sensor packages available that have better accuracy and precision than the VEX gyro, but there’s no magic to them–mostly just good electronics design to eliminate noise and thermal effects. Then they incorporate small processors inside the sensor enclosure to perform filtering and sometimes multi sensor fusion. So instead of a small sensor board, they’re closed modules.

So, if you were designing a new system, you’d use one of those sensors. But lots of inexpensive devices use something exactly like the VEX gyro.

And for some purposes involving safety of human lives, the sensors are way more expensive, and way more reliable. The first programmable gyros I used in that kind of scenario cost more than a new car. They don’t cost that much any more, but $5000 is typical for a man-safety gyro. Space rated gyros can cost a good bit more. Anything, really.

That can work well.

The impulse from a collision is very short-lived. I haven’t ever seen this be a problem with the VEX gyro. The sensor design takes some of that in to account, so it’s not clear to me you have to adjust for it. You should see whether you can trigger an erroneous turn this way. If you can, simple filtering will make it go away.