Go to Post When a vomit shooter runs out of balls, is it dry heaving? :p - Lil' Lavery [more]
Home
Go Back   Chief Delphi > Technical > Programming
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
  #1   Spotlight this post!  
Unread 08-03-2004, 17:44
gnormhurst's Avatar
gnormhurst gnormhurst is offline
Norm Hurst
AKA: gnorm
#0381 (The Tornadoes)
Team Role: Programmer
 
Join Date: Jan 2004
Location: Trenton, NJ
Posts: 138
gnormhurst will become famous soon enoughgnormhurst will become famous soon enough
IR sensors: dealing with reflections?

So, 8:00 Saturday morning, after a day and a half at the Trenton Regional, we asked for permission to do some IR experiments on the playing field.

One reason we were given access is that we showed them that the 3/3/2004 update to the rules include a beacon-type location spec that was the opposite of what they had told us the day before:

3.2.5 IR Beacons
[...]The beacon nearest to the red moveable goal will transmit a Type-1 signal, and the one nearest the blue goal will be Type-0. [...]

The Trenton officials had made a beacon-type determination by unplugging pwm01 from the beacon controller and looking to see which beacon's visible LEDs had gone out -- pretty definitive. Which means that the field was set up incorrectly, so that anyone depending on the rules to set rc_dig_in07 (beacon type select) would have been SOL.

Given that we now knew which beacon was which, further experiments that morning determined that the sensors were picking up the selected beacon pretty much no matter which way they were pointed. I could put my hand in front of the sensor, making it scan, then remove my hand and watch it lock on the beacon in any of several directions. Only one of which was actually the beacon.

The big yellow 2X ball makes a nice reflector, and, being spherical, guarantees a reflection from almost anywhere. Maybe that's why, in one match, instead of turning towards the beacon, it just kept driving towards the movable goal, pushing it down the field.

Now, if the sensors were analog instead of digital, I could write some code to search for the strongest source of the beacon. I did increase the minimum pulse count from 1 to 2:

Code:
// original
//#define LEFT_SENSOR Sensor_Stats[Tracker_Data[Tracker].Left_Sensor_Stats_Index].Beacon_Quality[Tracker_Data[Tracker].Beacon_Type]

// new
#define LEFT_SENSOR ( 2 <= Sensor_Stats[Tracker_Data[Tracker].Left_Sensor_Stats_Index].Beacon_Quality[Tracker_Data[Tracker].Beacon_Type] )
but that's not a true sensitivity adjustment. And the total range of adjustment is "1" or "2" -- a pretty coarse adjustment.

To reduce triggering on stray IR, we have encased the trackers in black cans with a clear window. We have the recommended split heat-shrink tubing in place. It still sees reflections and tracks on them. My only remaining thought is to filter (attenuate) the IR coming in the window, to try to reduce reflected light to below the sensors' internal thresholds while still allowing them to trigger on the direct light from the beacon.

Actually, another thought is to use a polarizing filter in front of the sensors, since reflections are sometimes polarized differently than direct light. But this depends on many factors (angles) that would likely change during a match.

What might work much better would be to polarize the light from the beacons (put a polarizer in front of each beacon), then using a matched polarizer on the sensors. This might give very good discrimination between direct and reflected light. But this might(!) also be seen as modifying the playing field!

I know there's one team that modified the tracker.c algorithm to dither the servo back and forth to find the left and right edges of detectability, using the average as a better measure of direction. This is good, I think. Perhaps the difference might be a measure of signal strength? A strong IR signal might be "seen" over a wider range of angles than a weak IR signal?

I need a way to disciminate between direct and reflected IR! Any ideas?

-norm
 


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
Getting Fancy with Sensors FadyS. Programming 30 10-03-2004 15:02
Why not analog sensors?? gnormhurst Programming 16 07-03-2004 16:14
Interrupts and rotation sensors kor Programming 3 12-02-2004 11:05
wiring diagram for light sensors??? pagemauck Control System 1 21-01-2004 16:32
what type of sensors are good and convenient magical hands Programming 7 04-01-2004 23:04


All times are GMT -5. The time now is 10:20.

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