View Single Post
  #8   Spotlight this post!  
Unread 18-01-2009, 11:41
yoyodyne yoyodyne is offline
Registered User
AKA: Greg Smith
FRC #0116 (Epsilon Delta)
Team Role: Engineer
 
Join Date: Jan 2006
Rookie Year: 2004
Location: Reston, VA
Posts: 61
yoyodyne is a splendid one to beholdyoyodyne is a splendid one to beholdyoyodyne is a splendid one to beholdyoyodyne is a splendid one to beholdyoyodyne is a splendid one to beholdyoyodyne is a splendid one to beholdyoyodyne is a splendid one to behold
Re: Only intermittently finding the 2 trailer colors

Has anyone had a problem with the FindColor() function finding a color exactly every Nth call? We haven't had much time to look into this yet. We think we are waiting enough time between calls

To do this test we edited the now old Iterative robot example and added the following to the constructor:

if (StartCameraTask(10, 0, k160x120, ROT_0) == -1)
97 {
98 dprintf( LOG_ERROR,"Failed to spawn camera task; Error code %s",
99 GetVisionErrorText(GetLastVisionError()) );
100 }
101
102 // Set up camera tracking parameters.
103 tdata = GetTrackingData(GREEN, PASSIVE_LIGHT);


The periodic autonomous function as shown below prints the "found value..." to the console exactly every 5th time with 4 ShowActivity("\n") between.

void Team116_Demo::AutonomousPeriodic(void) {
158 // feed the user watchdog at every period when in autonomous
159 GetWatchdog().Feed();
160 ParticleAnalysisReport par; // particle analysis reports
161
162 m_autoPeriodicLoops++;
163
164 // generate KITT-style LED display on the solenoids
165 SolenoidLEDsKITT( m_autoPeriodicLoops );
166
167 if ((m_autoPeriodicLoops % 60) == 0) {
168
169 if (FindColor(IMAQ_HSL, &tdata.hue, &tdata.saturation, &tdata.luminance, &par)
170 && par.particleToImagePercent < MAX_PARTICLE_TO_IMAGE_PERCENT
171 && par.particleToImagePercent > MIN_PARTICLE_TO_IMAGE_PERCENT) {
172 // drive toward color
173 m_robotDrive->Drive((float)1.0, (float)par.center_mass_x_normalized);
174 ShowActivity("%s found: follow x value: %f", tdata.name, par.center_mass_x_normalized);
175 }
176 else
177 {
178 m_robotDrive->Drive(0,0);
179 ShowActivity("\n");
180 }
181 }


We have tried calling FindColor() at different rates with the same result. Any help would be appreciated.

Thanks,

Greg
Reply With Quote