Gyroscope Orentation Decay

I would like to create a 4 wheel drive 4 wheel steering drive system that uses the gyroscope for orientation information. I want to allow the driver to push forward and have the robot go forward no matter what direction it’s facing. But, I have heard that this technique works fine, but the accuracy decays over time. Is there a way to periodically check with another source other than the gyro that everything is accurate? Something like an electronic compass maybe? Also, how is the gyro accuracy going to be effected in the case that the robot is bumped into a new position? Or what about using a second gryo to compare information? Any information would be appreciated. :ahh:

I believe you’re only allowed 1 gyro from the restricted parts list. As for being bumped, yes this will most likely screw up the gyro because the gyro reads angular velocity and it maxes out at 64 degrees/second (or is the new one this year 75 degrees/second? I haven’t checked yet). Anyway if you think about turning only 64 degrees in one second you’ll realize that a robot could easily exceed this on it’s own (especially with tank steering) or by being bumped.

Is there no solution to this problem? It would really be a plus to have this feature.

DigiKey has some decent angular sensors. Given the $200 and the fact that they don’t have to be enclosed in a BUD box this year, you can probably find s sensor from them that meets your needs. Unfortunately, I don’t know a whole lot about gyroscopes, so I don’t know what specifically you would need.

I guess this years competition is alittle more “full contact” than in previous years. Maybe adding the gyroscope would do more harm than good. But I can at least add it and if things get bad, then I can add some sort of override button. But I am wondering if things do get bad, how will this effect my orentation during a match (switching between drive styles). Hmmm, I will need to do some testing or come up with a more reliable method.

I would reccomend using an electronic compass from Digi_Key, I know they have them (though they may not be cheap). In 2 min I would be worried about decay of the numeric integration of even a very good rotation sensor.

Also, a note on the system you are trying to build: They are very mechanically complex and use many motors. Only pursue it if you really think it is worth the time, effort, motors, and weight to get that advantage over a less complex steering/drive system. IMHO time is better spent on manipulators than a super maneuverable drivetrain this year.

I use something exactly like you are thinking in my RC Helicopter, called a heading hold gyro which is a combination gyro and electronic compass that keeps the tail rotor locked into to a direction unless you change it. Most Gyros (for RC) have a gain that if too low won’t help you, too high and causes an oscillation so the heading hold helps out pretty nicely.

Since you are talking about a driver being in this loop to start with, why not allow the driver to decide if it is time for a recalibration?

That is, create the feature, but make a way to allow the driver a way of calibrating it if it drifts to much.

The calibration might be as simple as pushing a button at some point when the robot is pointing in the right direction.

All that would do is tell the controller on the robot to zero out a variable which is keeping the currrent direction of the robot. (Assuming zeroing out the variable “means” pointing in the direction you want)

Anyways…so long as this isn’t required very much in the round, it might be a cheap way to get it done. (I don;t mean just cheap in terms of money, but development time too)

Just a thought…BTW: I have never tried to integrate the output of the gyro, so I don;t know what sort of error build-up to expect… Tell us what you find…please. (even if you just experiment with it and never actually use it)

-Quentin

*Originally posted by D.Viddy *
**I would like to create a 4 wheel drive 4 wheel steering drive system that uses the gyroscope for orientation information. I want to allow the driver to push forward and have the robot go forward no matter what direction it’s facing. But, I have heard that this technique works fine, but the accuracy decays over time. Is there a way to periodically check with another source other than the gyro that everything is accurate? Something like an electronic compass maybe? Also, how is the gyro accuracy going to be effected in the case that the robot is bumped into a new position? Or what about using a second gryo to compare information? Any information would be appreciated. :ahh: **

**I would reccomend using an electronic compass from Digi_Key, I know they have them (though they may not be cheap). **

I have checked these compasses out, they are too expensive to fit the < 100 rule. They are in excess of $600.

**
Also, a note on the system you are trying to build: They are very mechanically complex and use many motors.**

I have designed this system in such a way that it only uses the two drill motors for driving, but still giving us 4 wheel drive. The system allows for Stafing as well as 0 degree turning. I think it will be worth it.

I use something exactly like you are thinking in my RC Helicopter, called a heading hold gyro which is a combination gyro and electronic compass that keeps the tail rotor locked into to a direction unless you change it. Most Gyros (for RC) have a gain that if too low won’t help you, too high and causes an oscillation so the heading hold helps out pretty nicely.

So then are you saying that this would be a good thing for us to use. Where can I find this part?

Makers of such a thing include Futaba, Hitec, Telebee, Helitech

All from tower hobbies.

The problem is I don’t know if DigiKey or future tech contain these brands possibly not.

*Originally posted by bigqueue *
**Since you are talking about a driver being in this loop to start with, why not allow the driver to decide if it is time for a recalibration?

That is, create the feature, but make a way to allow the driver a way of calibrating it if it drifts to much.

The calibration might be as simple as pushing a button at some point when the robot is pointing in the right direction.

All that would do is tell the controller on the robot to zero out a variable which is keeping the currrent direction of the robot. (Assuming zeroing out the variable “means” pointing in the direction you want)

Anyways…so long as this isn’t required very much in the round, it might be a cheap way to get it done. (I don;t mean just cheap in terms of money, but development time too)

Just a thought…BTW: I have never tried to integrate the output of the gyro, so I don;t know what sort of error build-up to expect… Tell us what you find…please. (even if you just experiment with it and never actually use it)

-Quentin **

This is a possibility, but what I am trying to accomplish is to make a very complex drive system, very simple and straight forward to drive. I will experiment with the gyro and see if I can get any good results. Then I will try and publish a white paper on it’s uses and limitations. Also after this years competition, I will be releasing the specifications of our drive system. I think it’s is a very powerful system.

Dylan,

We used a very high speed swerve last year and found the control system orientation to not be as big of a problem as you may be thinking. We had a switch to reverse the controls when the robot was facing the wrong direction which was much simpler that having input from a electronic compass.

Just a thought.

My team is also creating a very complex drive system… it should be a joy to watch. Check out my reply to this very topic in the programming forum on the official first forums.

EDIT: I should note that my FIRST forum name is Yanroy :stuck_out_tongue: