racetimer - very tight tolerances/beams/sensitivity needed

Hi;

I'm building a timing system for a dogsport called "flyball". Accuracy is necessarily to the millisecond, and I want to set it up using a simple beambreak system but am open to other ideas.

I've read tons of threads on laptimers/beam sensors, but I don't think they give the precision needed for this application.

My first thought was laserpointers. Cheap, tight column over distance, beambreak easily tracked. However, I'm concerned that using visible lasers presents either an actual or perceived risk (even momentary flashblindness could cause a serious crash), so the first thought of just using <5mw pointers makes me hesitate.
IR beams would be ideal, but they need to stay collumnated very tightly over about 6ft, which makes me think ir-leds are out, and I need ir lasers. At least at the start/pass line, the two sensors need to be within a few inches of each other, across a 6' track, to make sure that the pass was legal (dog A finished his run before dog B started his own).

I could use something ultrasonic, but I don't know if it's directional enough, having multiple sensors will likely contaminate each result given the high sampling frequency I'm looking for and, at least as important, finding cheap ultrasonics that work at OVER 60khz is not easy (dogs can hear up to 60khz).

Ideally what I really want is a "light curtain", at about 7 places on the course. Since I can't figure out a way to do that, I'm thinking that a series of beams (at various heights) at each location will suffice.

But even 5 heights, at 7 locations, means 35 generator/sensor pairs. If you suggest a sensor option that's $10per, then this quickly gets cost-prohibitive.

Can I filter $1 5mw laser pointers from ebay down to a ridiculously low level but still have them stay columnated and detected by a photosensor/resistor/diode/transistor? Even if I can, I'm not sure if that's eye-safe - remember, permanent damage is not relevant if even momentary flash-blindness can cause a crash.

Can ir-leds do better than I think, and stay within a few-inch column at 6' range? And be cheap?

Can ultrasonics, at >60khz, stay within a few-inch column at 6' range? And be cheap?

Is there a cheap source of laser-ir that I'm not seeing, again that's low power enough to be eyesafe yet effective?

I know I'm going to likely need 2 or more arduinos running together to keep millisecond reaction-time while sampling 30-40sensors, especially if I'm stuck using analog inputs instead of digitals in places.

Any thoughts/ideas/inputs appreciated. Thanks.

Edit: THIS is flyball: Touch n Go Flyball - Casinos & Gambling
(this is only a view from the startline, so you don't see the dogs popping the box, executing a swimmer's turn, and doing the other 3 hurdles)

Can you use something based on reflecting a beam back and forth between a pair of carefully-aligned mirrors? If you could get it working, that might mitigate your concerns about columnation since only the part of the original beam which actually hit the target mirror would affect the reading. You'd still need to figure out how big an area would need to be obstructed to block the beam, and small obstructions might not be detected, but perhaps you could find a compromise?

Perhaps I'm not understanding the question, or I'm misunderstanding the technology completely. I could use mirrors to make 1 source/detector pair cover a bunch of points on the track but (a) that means I lose information as to which sensorpair was actually broken so my data-logging/analysis isn't as fun, and (b) there's still the main question of what type of beam itself to use.

Edit: I think I see where you're going. Yes, I could have a mirror-system for each "set-of-beams", meaning that my total emitter/detector pairs need only be 7, rather than 30+. But that will probably make initial calibration much more finicky, and doesn't answer the "what sort of beams do I want" main question.

I had assumed you had some sort of track and wanted to know when something passed a line across that track. So conceptually you shine a light across the track and see whether the beam reaches the other side. Since you don't know how high the something is, you might use lots of beams at different heights.

Starting from there, my suggestion was that rather than just shining the beam across the track and detecting it on the other side, you shine it across the track and reflect it back to the original side. You could reflect it back and forth as many times as you like. In this way a single beam can cover a wide range of heights.

Attached is a video showing (most of) what flyball is, namely the world-record run for a similar division. Touch n Go Flyball - Casinos & Gambling

First dog goes and does his run, going 26' down the course over hurdles, popping a customized box to release a tennis ball, and then carries that ball returning down the same course/hurdles (lane) to the startline. You can't see the drag-racing-lights, but he wants to hit his start-line at exactly 0.000. Second dog is released as the first dog is still on the return-leg, but can't cross the startline until the first dog does (ie looking for a nose-to-nose pass at full-speed). You're doing all of this vs another lane, and they'll need their own, identical, setup.

You'll note that the framerate of their video isn't enough to accurately catch the passes (the nose of the return-dog is often inches or a foot past the startline in the inset photos). The existing timing system has a similar problem, in that it has beams 6" apart allowing for more "wiggle room" than I'd like.

Plus, the existing system has no way to tell how close a pass was, only whether it was legal or not (the video is used to give that information, and most teams don't have a highspeed video setup on the startline).

The reason I want multiple sets of sensors is so I can generate additional data (dog's speed on the runout vs return, time taken to do the turn off the box, dog's speed at various spots on the course, etc). In addition to just being very cool, this will help with training and identifying dogs' tendancies.

In the last 2 days I've been looking into double-convex lenses to focus an ir-led. That may be cheap enough to make this financially feasable.

Have you considered using a video camera to solve this problem instead of beam-breaking technology?

With a decent spec PC behind it and a fast camera, and given that you would only need to monitor a small part of the image, I imagine you could get a pretty good frame rate. What sort of timing resolution are you looking for?

If you aren't going to use visible lasers,you shouldn't use IR ones. They burn just as fast if not faster and they are invisible so your blink reflex can't kick in

PeterH:
Have you considered using a video camera to solve this problem instead of beam-breaking technology?

With a decent spec PC behind it and a fast camera, and given that you would only need to monitor a small part of the image, I imagine you could get a pretty good frame rate. What sort of timing resolution are you looking for?

Unfortunately, millisecond timing is required - races are timed to the thousandth, and it's not unusual to see that level of accuracy required in the real-world application. Even a 120fps camera wouldn't come close to that sampling rate, and really highspeed video is expensive.

If you aren't going to use visible lasers,you shouldn't use IR ones. They burn just as fast if not faster and they are invisible so your blink reflex can't kick in

Thanks, and I recognize the concern. However, my research thus far has shown that there has literally been no cases of eye-damage from <2mw lasers, apart from one or two total cases where some morons intentionally stared into them for minutes, overriding their blink-reflex. The only danger I see of using lasers at these levels is a dazzle/flash-blindness leading to a crash, which goes away if I use "invisible" lasers. And just to be safe, I can build in a "if beam is continuously broken for X, disable" override.

I've been looking into the diy-laser-tag systems, and they seem to be focusing irleds using double-convex lenses and getting crazy range (I only need perhaps 6 feet). And an led ought not generate even close to the lumens-per-point that a laser does, so I'm liking that idea more and more. I've found a cheap source of double-convex lenses online, so hopefully (next paycheck) I'll be able to do some testing.

Or instead of using lasers altogether you could attempt to use photoresistors to detect a change in light.

flore1nr:
Or instead of using lasers altogether you could attempt to use photoresistors to detect a change in light.

Can those get me the information I'm looking for? (millisecond timing, speed, acceleration, distance between passes, etc)? I'm not trying to be smart, but I ddn't think they could. If they can, I'm excited, and could you please tell me how?

Electronics are a completely new world to me, and I think this is a wildly ambitious first-project. The software-side of this will be quite easy, but I'm learning the hardware side as I go (right down to the elementary stuff like resistors).

With just phototransistors it might be hard to measure speed and acceleration it would be alot easier to just use a laser and a phototransistor (which brings lasers back in so...)that way you always have a set threshold for the default light the transistor reads. and just out of curiousity are you talking about acceleration and velocity at what point? and do you want to know the direction the dog is traveling or just the magnitude of the velocity and acceleration? Building the actual gate itself is most likely going to be the easy part programming the arduino to calculate all the values you want is definitely going to be the hard part.

Examples of the data I'd ideally like to grab.

Start-time (how close the dog was to the startline when it hit 0.000 (and generate a fault-light if he's over)

End time (to the ms).

Is the pass clean - ie on dog A's run, the beam sequence MUST be ABBA (he trips beams A and B on the way out, then B and A on the way back. If The seqence went ABAB, then we know that dog B blew past the startline illegally, before the first dog completed his run.

The existing set of sensors does this, and only this. And it's a commercial setup, which costs like $1,500.

I'd like to be able to also grab, for training purposes (and general love of data):

distance between dog "passes" at the start-line (this one is more complicated, as with a beam system if the pass is close, one dog will be still breaking BOTH beams whlie the other one enters them. I should be able to get exact times if the passes are not close, and only estimate passes if they are (ideally I'd like to build in a triggertrap type system to get a photo of the pass, but that's not a high priority). If each dog's pass is off by .1s, then that adds .3s to your team's time, which is huge.

Dog's speed at a few points on the course (ie near the start-line, to determine if I'm starting the dog far enough back to hit full speed, or if I'm starting him too far back and "wasting" my dog (they can run the course 50+ times in a day, in total);

interval time around the box (ie how quick is the dog on the turnaround) (a perfect box-turn shaves many tenths of a second)

Acceleration time at a few locations (ie is the dog slowing down too early when approaching the turnaround? Has he started accelerating at an appropriate place on the return leg? Is he still accelerating at certain points on the course, or has he hit top speed?

A lot of the info should be able to be calculated just using 3 or 4 sets of 3-beams. Then it's all just data analysis, which computers are great for. A bunch of the information need not even be generated and displayed, merely stored for later analysis, but I don't think it's heavy-lifting that should bother the arduino (correct me if I'm wrong).

Am I misunderstanding how the language works? Can I not just, in the main loop, sample sensors ABC continuously. If it's broken, save the time to a variable and set a delay. ABC are at a known distance from each other, so the math is easily done by the arduino. Then output to a file or a 7-segment.

Well the arduino should be able to calculate the math perfectly fine I was just wondering how accurate you want your acceleration to be because you will only be able to get the average acceleration between two points... a = (V(f)-V(initial))/t .... so basically how fast the dog was going when it hit the second sensor - how fast the dog was going when it hit the first sensor divided by the time it took to get there. But then again your velocity or speed is also going to be an average between two points so that will make the acceleration even less accurate but still should get the job done. V= (x(f)-x(initial))/t...which would be just the distance between the sensors divided by the time it took the dog to travel the distance.

NHRA dragracing uses IR beams for the cars to cross through. It is reliable and accurate if you can insure that the object being timed will pass through the beam.

Photodiodes can be triggered with changes in light condition. They can be used but, will be more sensitive than IR light.

Remote control cars and other types of racing use RF tags and a receiver with a loop in the area that they want to catch the tag inside of. It is very accurate but, maybe not accurate enough for dog racing.

I hope this is still relevant :slight_smile:
Hi there fellow flyball/electronics lover :slight_smile:
I've also been long thinking about making my own flyball EJS (electronic judging system) to have one for our team which we can use on trainings. Mainly for start-dogs (the ones who go first) there's no real possibility to train correctly on timings as there's just a guy saying 'go' and no system to show if you're late, early, or bang on.

Just today I was helping set up a race track for a race tomorrow and got to spend some quality time with the official system we use here for competitions, and I managed to snap some photo's so I knew which electronics they were using.

The sensor they're using is the 'World-beam' QS18VP6LP (datasheet), and they're also hooked up to an arduino.

I can't read anywhere how much mV these sensors are using, but I can say they have visible dots on the opposing sensor tower, and AFAIK there were never any problems with dogs getting either flash blinded or permanent vision damage.

They use about 5 of these sensors (forgot to count them...) and then off course 2 rows to sense previous/next dog.
This makes 10 sensors for one lane, which is quite expensive given the fact they cost about 30-40 Euro minimum. But perhaps that's why a ready made EJS system costs 1500 Euro :slight_smile:

Have you made any progress on your system?

Hi, the beam units recommended by vyruz, are very good units, I have used them in door monitoring and machine protection.

For the accuracy you require you will need to pay unfortunatly, these units are also IP76 which makes them weatherproof and very robust.

Tom..... :slight_smile:

Wow, you actually found machine specs/datasheets for the EJS? This is the farmtek/signature official EJS? I'm impessed :slight_smile:

I'm pretty sure they don't use visible light though as I've run my hand through it (at least NAFA) and looking at that datasheet they do list options for IR beams. IR beams are expensive. But they also charge $150 for a simple RF remote push-button, so obviously there's huge markup.

I decided to go with 5mw laser diodes at least for now. The datasheets can be pulsed in the many-khz range, so I'm confident that I can run the checks multiple times per ms, and turn off the beam upon detect. Even the fastest dogs only cover portions of an inch per ms I believe (I ran the math a while ago), so the odds of it hitting an eye first rather then a snout/ear/head/etc is miniscule. Even if it somehow hits an eye, if the beam is turned off in a fraction of a ms, it may not trigger a blink reflex at all, let alone flash-blindness. Testing is needed.

I ordered the TTL diodes from adafruit, as I've been failing with my work with transistors. They were shipped a few days ago, so should be here soon. Expensive though - I really need to get the simple diodes working, as they are <10% the price.
I ordered the photodiodes from sparkfun, as they're reasonably large, and have a full datasheet showing me more than short enough rise/fall time.

I'm building the setup directly into the top sintra of 2 jumps, and using clipons to piggyback the official EJS without interfering with it.

I've already got the light-tree built, using 12v lamps.

It's slowly coming along. Got set-aside for a good long while.

Hi, good to see you are getting the project going, good stuff.
If you need to see if an IR emitter is working, use your phone or other digital camera, they are sensitive to IR enough to see the output, try it on your TV remote.

Tom...... :slight_smile:

Hi guys,

I've been working on a EJS for some time now, a got the light tree working, starting split times, and times for the other dogs who don't pass as "OK"

used RGB ledstrips (5volt) for the tree, Mega ADK as MCU, and cheap IR retro-reflective photsensors from IBESTCHINA, they even made them in 5Volt configuration, is used NPN Normally Open, so they give a "LOW" when the beam is broken (have to work with an external pull-up)

really would like to exchange ideas with you guys

Grtz,
Yves

@dirtyharry2: The datasheets I linked to are for the sensors we use here in Belgium in the 'BFB' federation/division, which is one of the 2 major divisions here in Belgium which do competitive Flyball (the other one being KKUSH). I don't know whether these can be considered 'official' in a world-wide sense. The 'Farmtek' name you mention doesn't ring a bell to me. Also I know these are the more recent sensors we're using, There is a 2nd set of sensors which is used on the other ring (in Belgium most BFB competitions are on 2 rings simultaneously), but these are of a different kind.

@YvesD, I see you're also from Belgium, are you competing in the BFB division or in KKUSH? I'm in BFB (The Green Runners is our team), perhaps we could have chat during the next race :slight_smile:
I'm wondering whether you're open to sharing the code you have. I think I'll be able to get most of the stuff working on my own, but no point in reinventing the wheel right...

I've picked this project up again, after being 'distracted' by something else for a while (so many hobbies...).

I first tried using these sensors. As they had the huge advantage that they didn't need a reflector on the opposite side. However they could only sense reliably for about 50cm, which is not enough as the width of the start/finish gate is 128cm from what I measured during an official race.

I ended up ordering these sensors from China, for which I've now made a housing for (picture here). If these sensors would work it would be great, as they only cust 31$ for 5 sensors inluding the reflectors they require.

I first want to make a preliminary design which allows me to test one column of sensors, just with one dog running through, to see what kind of readings I'm getting and if the sensors work well enough.
Then I'll continue with a 2nd column and see what I need to measure the split times. I'm afraid the most difficult part will be to distinguish the current dog (coming back) and the next dog (going in). I think a dog running through might trigger each sensor row multiple times.

Once I get all that working, I want to make a fully integrated system, with sensors, display (found a nice 40x4 LCD display!) and lights integrated. I plan to implement only a remote to control the system (besides an ON/OFF switch on the sensor housing). So I can make the whole thing waterproof, so it doesn't matter when It's out and it starts raining.

I also want to make it battery operated (I'm eyeballing this battery) so there should absolutely no cables which make the setup cumbersome and error-prone. Also no connections means easier to waterproof :slight_smile:

I also have longer term plans to integrate some kind of removable storage (SD card perhaps) which will keep the timings and can then later be read on a PC. Currently our coaches use cameras at the start/finish line to keep track of dog times, and it's quite a long job for the guy who has to go through all the movies and write down the timings afterwards :slight_smile: