Go to Post While FIRST's goal is to inspire young people, it will be much easier to do that if we also inspire all the older people as well. - E. Wood [more]
Home
Go Back   Chief Delphi > Technical > Control System
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Closed Thread
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 18-11-2004, 18:39
Jeff G Jeff G is offline
Registered User
#0648
 
Join Date: Nov 2004
Location: Quad Cities, IL & IA
Posts: 5
Jeff G is an unknown quantity at this point
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
  #2   Spotlight this post!  
Unread 18-11-2004, 21:58
Manoel's Avatar
Manoel Manoel is offline
Registered User
FRC #0383 (Brazilian Machine)
Team Role: Mentor
 
Join Date: Jun 2001
Rookie Year: 2000
Location: Porto Alegre, RS, Brazil
Posts: 608
Manoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond reputeManoel has a reputation beyond repute
Send a message via ICQ to Manoel Send a message via MSN to Manoel
Re: Gyro Questions

Quote:
Originally Posted by Jeff G
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
As far as I know, the best/"only ones allowed" gyros are the Analog Devices ones, ADXRS150 and ADXRS300. (I just checked Analog's website and apparently they have a new 75°/sec model, let's see if any official supplier stocks them.)
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.
__________________
Manoel Flores da Cunha
Mentor
Brazilian Machine
Team # 383
  #3   Spotlight this post!  
Unread 19-11-2004, 10:05
seanwitte seanwitte is offline
Registered User
None #0116
Team Role: Engineer
 
Join Date: Nov 2002
Location: Herndon, VA
Posts: 378
seanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant futureseanwitte has a brilliant future
Send a message via AIM to seanwitte
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.
  #4   Spotlight this post!  
Unread 19-11-2004, 21:39
Jeff G Jeff G is offline
Registered User
#0648
 
Join Date: Nov 2004
Location: Quad Cities, IL & IA
Posts: 5
Jeff G is an unknown quantity at this point
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.
  #5   Spotlight this post!  
Unread 19-11-2004, 21:58
sanddrag sanddrag is offline
On to my 16th year in FRC
FRC #0696 (Circuit Breakers)
Team Role: Teacher
 
Join Date: Jul 2002
Rookie Year: 2002
Location: Glendale, CA
Posts: 8,516
sanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond reputesanddrag has a reputation beyond repute
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.
__________________
Teacher/Engineer/Machinist - Team 696 Circuit Breakers, 2011 - Present
Mentor/Engineer/Machinist, Team 968 RAWC, 2007-2010
Technical Mentor, Team 696 Circuit Breakers, 2005-2007
Student Mechanical Leader and Driver, Team 696 Circuit Breakers, 2002-2004
  #6   Spotlight this post!  
Unread 20-11-2004, 03:18
eugenebrooks eugenebrooks is offline
Team Role: Engineer
AKA: Dr. Brooks
no team (WRRF)
 
Join Date: Jan 2004
Rookie Year: 2001
Location: Livermore, CA
Posts: 601
eugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond repute
Re: Gyro Questions

Quote:
Originally Posted by sanddrag
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?

Thanks in advance.
Download the latest white paper titled "An introduction to C programming for FIRST robotics applications (most recent version dated 11/20/04)" from the technical page on www.srvhsrobotics.org, and have a look at the section on Integrating a Rotational Rate Gyro that starts on page 35.
  #7   Spotlight this post!  
Unread 02-12-2004, 23:00
Venkatesh Venkatesh is offline
Registered User
FRC #0030
 
Join Date: Jan 2003
Rookie Year: 2002
Location: USA
Posts: 260
Venkatesh is a splendid one to beholdVenkatesh is a splendid one to beholdVenkatesh is a splendid one to beholdVenkatesh is a splendid one to beholdVenkatesh is a splendid one to beholdVenkatesh is a splendid one to beholdVenkatesh is a splendid one to beholdVenkatesh is a splendid one to behold
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.
__________________
-- vs, me@acm.jhu.edu
Mentor, Team 1719, 2007
Team 30, 2002-2005
  #8   Spotlight this post!  
Unread 02-12-2004, 23:36
Rickertsen2 Rickertsen2 is offline
Umm Errr...
None #1139 (Chamblee Gear Grinders)
Team Role: Alumni
 
Join Date: Dec 2002
Rookie Year: 2002
Location: ATL
Posts: 1,421
Rickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant futureRickertsen2 has a brilliant future
Send a message via AIM to Rickertsen2 Send a message via Yahoo to Rickertsen2
Re: Gyro Questions

Quote:
Originally Posted by Manoel
accuracy. Also, don't forget to sample the signal at twice it's frequency to avoid aliasing.
Could you elaborate on this a little? Exactly how does the nyqyist theorum, bandwith, sampling rate etc relate to this application? How do you calculate the needed bandwidth for something like this. I don't know much about such things but i would like to learn. It seems to me that bandwidth should't be of all that much concern in this application as we are not doing anything related that relies much the spectral purity of the data, and the relevant data should be of relatively low frequency. IE: a physical system such as a robot will only change acceleration soo fast under normal conditions. Any data above a certian frequency is probably error and it seems it would be advantageous not to digitize this. While undersampling would help eliminate hf noise, it also creates problems with aliasing as you mentioned. It seems to me that too high of a bandwidth might actually be a bad thing because you would be digitizing more of the high frequency errors as well as the relevant data which it seems would be rather low frequency. Would i be correct in assuming this, or am i totally confused?
__________________
1139 Alumni

Last edited by Rickertsen2 : 03-12-2004 at 22:48.
  #9   Spotlight this post!  
Unread 03-12-2004, 19:15
eugenebrooks eugenebrooks is offline
Team Role: Engineer
AKA: Dr. Brooks
no team (WRRF)
 
Join Date: Jan 2004
Rookie Year: 2001
Location: Livermore, CA
Posts: 601
eugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond reputeeugenebrooks has a reputation beyond repute
Re: Gyro Questions

Quote:
Originally Posted by Rickertsen2
Could you elaborate on this a little? Exactly how does the nyqyist theorum, bandwith, sampling rate etc relate to this application? How do you calculate the needed bandwidth for something like this. I don't know much about such things but i would like to learn.
The simplest way to think about this particular situation is from the point of view that you are sampling the signal at discrete points in order to integrate the area under the curve as a function of time. It is most usefully done with the trapezoidal rule, but in any event it boils down to adding up the sampled points in some fashion.

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

Last edited by eugenebrooks : 03-12-2004 at 21:39.
Closed Thread


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
No Signal From Gyro colt527 Programming 12 19-10-2004 07:30
ADXRS150 gyro yaw rate sensor Brian M. Electrical 13 17-10-2004 02:28
Wierd gyro code problems...pls help Salik Syed Programming 4 14-03-2004 01:29
Gyro Sensor Questions sanddrag Electrical 8 27-09-2003 20:58
Have YOU used the gyro chip? FotoPlasma Technical Discussion 10 31-01-2002 13:26


All times are GMT -5. The time now is 06:01.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi