|
|
|
![]() |
|
|||||||
|
||||||||
![]() |
| Thread Tools |
Rating:
|
Display Modes |
|
#46
|
||||
|
||||
|
Re: Example gyro code released.
Quote:
How is it that you never seem to sleep, yet function as a (pretty) normal person who manages to keep the entire FIRST manual in your head <grin>? Here's R19: "<R19> Individual COMPONENTS retrieved from previous robots and used on 2005 robots must have their undepreciated cost included in the 2005 robot cost accounting, and applied to the overall cost limits." Two things come to mind: 1) There are lots of BEI gyros around that have not been "retrieved from previous robots" and 2) Who knows what the undepreciated value of the BEI gyros is? FIRST certainly didn't pay >$200 for each one. If you can establish a value by purchasing one "used", I don't see a problem. Here's Q&A #1318: Q:From ID 1118: The Gyros from previous year's kits appears to cost $300USD and therefore exceeding <R44> limit of $200USD for electronic components. (http://fastascent.com/Projects/Attit...te_gyro_s.html) A:If that is the price, clearly R44 excludes them from being used. Find a used BEI gyro or find a cheaper gyro of another brand. Here, the FIRST folks are clearly giving the okay to use one that is "used". -Kevin |
|
#47
|
||||||
|
||||||
|
Re: Example gyro code released.
Kevin, even if it is donated, it must be accounted for at the fair market value (section 5.3.4.4). Also, the person you purchase it from must meet the qualifications of a VENDOR (section 5.2), meaning they must have a federal tax id and must make their products availible to all FIRST teams.
I don't beleive your scenario meets any of these qualifications. When FIRST says it's ok to get it used, I beleive you still have to get it per the other rules. Question 1352 will hopefully clarify this. Quote:
Last edited by Joe Ross : 27-01-2005 at 15:31. |
|
#48
|
||||
|
||||
|
Re: Example gyro code released.
Quote:
-Kevin |
|
#49
|
||||
|
||||
|
RE: Hall effect sensors
Kevin
Is there any reason why the edubot encoder code from your website won't work with the Hall effect sensors? Jon |
|
#50
|
||||
|
||||
|
Quote:
I have tried the ADXRS300EB and the BEI gyrochip AQRS-0075-xxx (two different units) with some problems. I have measured a nominal 2.5 volts for both sensors and when physically swinging both gryo's in opposite directions see the voltage swing up/down as expected. So, from a gross standpoint, gyro's are operational. The software outputs a gyro bias of 4144? When, I swing the gryo 180 degrees in one direction, slowly, and return to zero I cannot get the gyro to indicate zero. Have set #define to ADXRS300EB setting and #define to AQRS0075 and played with scaling factor without success. Turned out long term Bias calculation - close to short term bias. After powering up and gyro reading 0 degrees for 4 or 5 samples, I swing the gryo 180 degrees slowly and return to zero. Any suggestions, Kevin. BTW, I really believe the ADXRS300 EB scaling is not 5 mv /degree/sec but 7.5 mV/degree/sec. Plus/minus 300 degrees over 4.5 volt range, is 300 degrees over 2.25 volt range (2.5 to 4.75 or 2.5 to 0.25 volts). or 2250 mV/300 degrees which is 7.5 mV/deg. Scaling for Plus/Minus 75 degrees/ second is 30 mV/deg/sec Scaling for Plus/Minus 150 degrees/second is 15 mV/deg/sec scaling for plus/minus 300 degrees/second is 7.5 mV/deg/sec |
|
#51
|
||||
|
||||
|
Re: Example gyro code released.
Quote:
Quote:
Quote:
Code:
static unsigned char old_io3_state = 1;
static unsigned char old_io4_state = 1;
// did user just push the bias calculation button?
if(rc_dig_in03 == 0 && old_io3_state == 1)
{
Start_Gyro_Bias_Calc();
printf("Calibrating...\n");
}
// did the user just release the bias calculation button?
if(rc_dig_in03 == 1 && old_io3_state == 0)
{
Stop_Gyro_Bias_Calc();
Reset_Gyro_Angle();
}
// did user just push the reset button?
if(rc_dig_in04 == 0 && old_io4_state == 1)
{
// reset the gyro angle to zero
Reset_Gyro_Angle();
}
// save the current button states
old_io3_state = rc_dig_in03;
old_io4_state = rc_dig_in04;
Quote:
-Kevin |
|
#52
|
||||
|
||||
|
Quote:
32768(2.5 volts) -32282(Bias)=486. 486/64 = 7.59 a/d counts * 5 mV/count = 38 mV above 2.50. Null bias should equal 2.538 volts. Verfied with DVM. Hooray! Sampling rate was 1600 Hz, samples per update rate set to 64, ADXRS300EB utilized, #define TENTHS__OF_A_DEGREE. #define GYRO_CAL_FACTOR = 1000/1000 (no change). Simple 180 degree spin test executed. Learn bias at 0 degrees, verify for 4/5 readings on terminal that angle = 0 degrees. Next, spun gyro 180 degrees - reading about 900 counts (90 degrees * 10 counts/degree). Return to 0 degree position - read 0 counts (plus/minus 30 - remember, very coarse test). Next, tried the GEI GYROCHIP AQRS_00075. Changed the #define GYROCHIP_75 at top of gyro.h. Same spin test gave similiar results. Spun 360 degrees and back - similiar results. Sampling rate 1600 Hz, samples per update rate equal 64, #define TENTHS_OF_A_DEGREE, #define GYRO_CAL_FACTOR = 1000/1000 (no change). Quote:
Did you work some new magic in the new 01/30/05 software release, or do you think the 1600 Hz, samples = 64 is what made this work? I did not have time last night to experiment with various settings. I tried the 01/22/05 software and found my head bloody from beating it against the wall to make it work. BTW, thanks for responding to previous e-mail and publishing 01/30/05 release. |
|
#53
|
||||
|
||||
|
Re: FRC/Kevin 01/30/05 Gyro code Operational - Team 1286
Quote:
Quote:
-Kevin |
|
#54
|
|||||
|
|||||
|
Re: Example gyro code released.
Hi, I just wanted to let you know we implemented your code with the ADXRS300EB last weekend and it has been performing *perfectly* all week. Thanks for the excellent work
. Now the camera is another story.... |
|
#55
|
||||
|
||||
|
Re: Example gyro code released.
Quote:
Quote:
-Kevin |
|
#56
|
|||||
|
|||||
|
Re: Example gyro code released.
Quote:
![]() |
|
#57
|
||||
|
||||
|
Re: Example gyro code released.
Quote:
-Kevin |
|
#58
|
|||
|
|||
|
Re: Example gyro code released.
Hi,
i used your gyro code with a ADXRS300. The user_routines.c executes pretty good, the gyro bias is mostly stable there is almost no change in angle. But the autonomous mode is giving us a lot of trouble. I am trying to accomplish two tasks, one give robot an angle and have to turn, like turn(90) and it should turn 90 degree, The other thing is being able to go in a straight line with out drifting. But after about 2-3 seconds in the autonomous i encounter an runtime error( the program state starts blinking red). Here is my user_routines_fast.c please take a look and help me out. Quote:
|
|
#59
|
||||
|
||||
|
Kevin,
I tried working last night with all three gyros and none worked like the last time. So, first time was bad. Second time was like a good dream. Third time was bad again. Gryo angle had drift and bias reported unusual numbers. Voltmeter on output agreed with gyro angle drift output. I can't remember the number right now (like 3.0 volts). At one point I measured a solid 4.98 volts powering one of the gyro's over the PWM cable. Same laptop. software, gyros, FRC controller -- the works. Has there been any reported FRC_Board sensitivity to electical noise like issues? Should I be extra careful with noise sources? Should I get away from using A/d channel 01? I didn't have any caps to place on output to see if that would help to stabilize the gyro output. Will all three gyros flaky performance, however, I am leaning away from viewing the gyro's as the problem but the FRC controller. Have you tried same software on multiple platforms yourself and/or seen strange problems like this on FRC controllers? I hope some of the high school student's end up reading this thread so that they can see how difficult it can be to make what seems to be something simple work properly. |
|
#60
|
||||
|
||||
|
Follow up to previous message.
I went home to try the gyro software on a new controller. So, same software, gyro, different FRC controller. Gyro operational again. Rotate 180 degrees and get 1800 on display. Return slowly to 0 degrees, get 0 on display. No gyro drift. I suspect some funny issues with the FRC controller that we are using in our old robot. When I get a chance, I will power up the 2005 FRC controller and see what happens with the gyro. I will continue to explore different angles as to the reason for the differing results and update this message accordingly. |
![]() |
| Thread Tools | |
| Display Modes | Rate This Thread |
|
|
Similar Threads
|
||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| Sourceforge for Code Repository and other stuff | SilverStar | Programming | 9 | 15-01-2005 21:16 |
| heres the code. y this not working | omega | Programming | 16 | 31-03-2004 15:18 |
| Wierd gyro code problems...pls help | Salik Syed | Programming | 4 | 14-03-2004 01:29 |
| Infrared Beacon and Sensor Diagnostics Code Released | Kevin Watson | Programming | 3 | 25-02-2004 17:50 |
| gyro code | odin892 | Programming | 2 | 08-04-2003 14:50 |