![]() |
Gyro Questions
I've seen many talking about using gyro's in the control system. Last year we only used banner sensors for counting distance and dead reckoning for autonomous. Some questions come to mind:
- Is there enough sensitivity to use these for drift? Can the signal be integrated to provide actual position. - Which gyro's would be the best to use for this purpose? - Can all this be done with just the FRC, or do some teams use auxiliary IC's? We were happy last year just to get the new system going and would like to improve our controls. TIA - Jeff |
Re: Gyro Questions
Quote:
As the model name implies, they are capable of 150°/sec and 300°/sec, and as some people found out by the datasheet, resolution can be improved by a factor of 4 with a simple resistor network. So, to answer your first question, they're pretty sensitive - 150 and 300 degrees per second equals 25 and 50 RPM, respectively, and that's pretty fast for a 'bot to turn (check team 419's 2001 robot, that thing spun fast!). If your robot is hit, it may "turn" a bit faster than that, and you may lose track - take that into account. It's accuracy is good enough for the 15 seconds of autonomous operation. A simple integration of the angular rate will give you angular position - we tried using rectangular infinitesimal elements and achieved moderately accurate results, some teams reported using trapezoidal integration with better accuracy. Also, don't forget to sample the signal at twice it's frequency to avoid aliasing. The answer to your third question is yes and yes. Some teams used only the Robot Controller, others turned to a separate processor. It will depend on how much processing power you need, but if you're only integrating the gyros and calling relatively slow interrupts, you should be OK with the RC. Whoah, long post... Hope I didn't sound too confuse. :) |
Re: Gyro Questions
If you order one of the Analog Devices gyros make sure and get the part ending with "EB". It will be either ADXRS150EB or ADXRS300EB. The part without the EB is just the sensor and it will be unusable on its own unless you have someone with a reflow oven and experience etching PCBs. Its tiny and the pins are on the botton. The EB parts (Evaluation Board) come mounted on a small PCB that will fit into an IC socket. They look sort of like a Basic Stamp. It uses very little current so you can power it directly from the robot controller.
|
Re: Gyro Questions
Thanks for the info, that will be a good start.
I don't know yet what the frequency response of these guy's are, but I'd be surprised if the high frequency components contributed much at all to the basically DC position we are looking for, that is after integration. But it's a good point either way. |
Re: Gyro Questions
Last year we got an Analog gyro and it was just a little black plastic case with three wires coming out (red, black, and white) that we could plug with into the control system. The problem is we don't have it anymore and I don't remember what model it was. Can anyone tell me? Thanks.
Also, can we get into the discussion of what type of output they give and how it should be programmed (pseudo code please) to do something like measure angle of turning? My end goal would be to have a robot with shaft encoders on the wheels and something (gyro?) to measure what its angle is relative to the field. I know a gyro/accelerometer/whatever know's its angle to gravity, but how can it be used to measure something like angle of turning when the turning plane is perpendicular to the pull of gravity? I'm quite new at the whole gyro thing and have very little experience with programming so if the concept of making this happen was explained in simple terms, I'm sure it would greatly benefit many of us. Thanks in advance. |
Re: Gyro Questions
Quote:
|
Re: Gyro Questions
While I have never used a gyro with a FIRST robot autonomous system, I have some experiences with them.
First, a gyroscope will give you the angular velocity of the base platform. This will need to be integrated to obtain the angular position, if that is what you desire. Integration can be carried out by analog circuits (easy), an auxiliary microcontroller (harder), or software (easy). The main problem with integration is noise. I had once built a mini-navigation unit and strapped it to a model rocket. But before I launched it, I did some testing on my desk. From just noise, I had the thing think that it was spinning at 15 rev/s in just 20 minutes. And that was just on a desk. I have done some testing with closed loop steering and the old FIRST gyro. There are some people who like closed loop steering (me, for one) and some who do not. I found that it made a vast difference on a test platform, making driving more intuitive. But then again I'm not a driver. A gyro is a great feature to have on a 'bot. They offer flexibility in terms of driving, autonomous systems, and other areas as well. One idea we once had was to mount a gyro sideways. The gyro would have given us angular tipping velocity (if we were tipping), allowing to compensate and not fall over. Now, we had wanted a gyro for normal navigation as well, so someone came up with a clever device that turned the gyro sideways whenever we were in an area where we might have tipped. The gyros here, from Analog Devices, have excellent stats compared to our old FIRST ones. Use them well and your robot will achieve wonderous things. |
Re: Gyro Questions
Quote:
|
Re: Gyro Questions
Quote:
Suppose now, that the signal is a sine wave at the maximum frequency the bandwidth of the gyro will support, and you sample at this frequency with the computer. The computer will periodically pick off the same point in the sine wave, and get whatever constant value your luck will deliver. It might be zero, but it might also be the maximum or minimum value, and the integral you would get would reflect this problem. You have a sine wave with an average of zero, but you are getting a bias in the time integral as if you are integrating a constant. If you sample at twice the maximum frequency, you will get alternating negative and positive values, and no bias for the integral. If you sample at an even higher rate you will start correctly integrating the sine wave with precision. To obtain this desired result, you either increase the sampling rate used, or decrease the bandwidth of the gyro by adding a suitable capacitor. Taking it a little further, have a look at: http://www.siggraph.org/education/ma...ing/alias3.htm |
| All times are GMT -5. The time now is 03:58. |
Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi