If I had a camera vertically locked but with horizontal movement, what would be the best way for that camera to auto-track a predetermined object? I don’t want to analyze the camera imaging; I want to place some device on the object to be tracked, and I want to give the camera sensors to “follow” this device. What tech would be appropriate?
Maybe a CMUcam. Its “blob tracking” automatically tracks something of a certain color.
This isn’t exactly what you want, but it’s freeware and may give you a hybrid solution, or a means of experimenting before committing to something like CMUCam
A few questions that need asking:
How do you plan to acquire the object in order to track it? E.g., is it okay to pan the camera back and forth looking for it? Or does the tracking system need to find it, then move the camera to it?
How tightly do you need to track it? Is it okay if it wobbles back and forth a little within the FOV while the camera is following it? Or does it absolutely need to stay dead-center once you’re locked on?
How big is your sensor budget? $5? $50? $500?
Is it okay for the “target” to be a bright emitter of visible light? Of infrared?
How much will the target move up and down as the tracked object moves side to side?
Will the object be in an environment that might contain confusing input? Like a mirror that could reflect an image of the target, or an incandescent light bulb within the FOV that could baffle an infrared- or visible-light-based sensor.
What I’m thinking of is getting a good-quality lens (like, say, the objective from an old pair of binoculars) and projecting an image onto the sensor plane. Depending on how much precision you need in tracking, the sensor might be an array of phototransistors, a linear CCD, or an old, very-low-density DRAM chip: about 30 years ago, there were some hobbyists who made crude image sensors by prying the tops off ceramic-packaged DRAM chips, and detecting the bit changes caused by light hitting the memory cells. I don’t remember how much light it took to make them work, but it’s worth googling for.
Thanks for the responses. CMUcam has possibilities! The roborealm of course would work almost perfectly except I want the logic to reside on my microprocessor (not a local computer).
As for Ran’s questions…
- Yes, the camera can spin until it finds the object
- Strict accuracy is not needed; maybe 10 degrees of “give” or “wobble”?
- I was hoping for a everything except the camera under $150-200.
- Yes, infrared was my first thought (e.g. if object is human, but the signature isn’t unique enough with multiple targets)
- Very little. Just imagine a person (or dog, etc) walking around a large room. Very little vertical movement.
- I’m not worried about mirrors, but as I mentioned, there WILL be many hot items in the room which would make infrared problematic (unless the sensor was smart enough to detect a human vs other hot objects).
My first thought was two receivers (one on each side of the unit) which could calculate distance to the tracked object with…what? What about RF? What about using the CMUcam and “programming” the unit with the object’s color? Is there a cheaper solution for this “blob color programming”? What about some sonic emitter attached to the object and a microphone or two on the unit which tries to maximize the signal?
Is there some solution involving laser beams and sharks?
Anyway, thanks in advance for all input!!
Okay, here’s what I was thinking of. But keep in mind that I’ve never actually tried it.
For the emitter, you use one or more IRLEDs driven by, say, a 555 pulsing them at, oh, 80Hz (so it’s not terribly fast, but significantly different from things like fluorescent lights or TV/monitor screens).
Use a lens to project an image onto a horizontal line of phototransistors. I’m thinking about 5 of them, to give you a little bit of scan width, without getting too complicated.
Possibly using software, or possibly using an electronic circuit to detect the 80Hz, you monitor the outputs of the phototransistors. That’ll give you 5 different “detection zones” at once, and also tell you which direction the emitter is moving as it transitions from one zone to the next.
Possible “gotchas” I can think of are that it might be difficult to make an emitter that’s strong enough to be consistently detected without making it too big to be precisely detected, and not having enough vertical movement allowance (because the detectors will be more like “spots” than “stripes”). Maybe you could use some fibre optics to act as a sort of “reversed-line-generator” to funnel all the light from a stripe down to a spot?? Since the bundle wouldn’t have to be coherent, it’s the sort of thing you could make yourself out of recycled novelty lamps or craft supplies (try sciplus.com for odd stuff like that: even if you don’t buy anything from them, reading the catalog descriptions will always brighten your day ).
I picked the 80Hz frequency to allow for the possibility of software detection, but you might want to go with something like 38kHz so you can use off-the-shelf IR remote control receivers.
wiimote ir cam and an ir led.