How
far off is PAL?
Please contact your local reseller or SIGHTech for availability
of PAL versions of Eyebot.
.
Output, how does one define
the delays?
Three ways:
- Via the OPTION menu.
Using the YES/NO and UP/DOWN buttons you can speed up or
slow down the delay.
- Via the RS-232 port.
A simple terminal emulation program allow you to set the
values.
- Via the PLC (or PC)
that controls the line (i.e., Eyebot send out the signal
instantly, and you delay it elsewhere).
What happens if there is a
power failure? Does it retain the settings?
Yes. Up to 10 years.
What are some successful
applications realized with the Eyebot system?
Some examples are on
www.SIGHTech.com More examples are seen on the video. In
short, if you can see (image) the defect through a video camera,
then Eyebot should be able to see the defect. Please
consult SIGHTech with your specific needs.
What kind of data can be
output by the Eyebot controller?
A Score
indicating the severity of the defect. The more severe the
defect, the higher the Score. There are also two optically
isolated relays coming out of the DB-25 port which switch 3
amps at 60 volts.
Is the function access to the
system also possible trough e.g. a serial communication port or
paralel I/O control instead of manual selection through the
front panel selector-switch?
Yes, all the commands
are available thru the DB-9 (serial) RS-232 port. A complete
list of all the commands is in the manual, which you can
download from www.SIGHTech.com.
What is the principle of
operation of the learning algorithm (self-teaching method
through neuronal network classification?)
Eyebot learns about 13
million features per second. The basic principle is that Eyebot
learns small features in relationship with other features.
During the learning process, Eyebot learns all the features it
sees. In inspection mode during the RUN process, Eyebot
complains when it sees features or characteristics that it has
never seen before.
What is the maximum pixel
memory size that can be stored into memory?
We do not use frame
grabbers and we do not store pixels.
What sort of cameras are
supported by the system ? (e.g: full random shutter, full
frame, etc..)
All NTSC cameras
are supported. SIGHTech plans to move to PAL in 4Q99.
Why is Eyebot not able to
distinguish between my good and bad part?
Just remember:
you need to have a setup where there is a distinct difference
between the good and bad part from the perspective of the VIEW
position.
In other words,
if you're looking at VIEW and you can't tell the difference
between the good and bad, then you must change things (lighting,
video threshold) to make that difference more pronounced.
Eyebot does not come on - the green LED does not light up.
Check AC power
pack connection to Eyebot. Turn on power switch.
No Video Display.
Check power connections
and video cables.
- Are the cables on
the Eyebot connected correctly?
- Is the monitor
plugged into the monitor jack?
- Is the Eyebot turned
on? The switch is on the rear.
- Is the monitor
adjusted properly?
- Is the
camera's power connected? Plug the camera directly
into the monitor to see if the video system is working.
The Score (the thin bar) barely goes up even after 60 seconds
of training.
- Does the image that
Eyebot is trying to learn have many features? (A good
example of an object with many features is a dollar bill.)
If so, complex objects tend to take longer to learn than
simple ones, especially if it is moving.
- Is the object moving
too much in a non-repeatable fashion? If so, try
better fixturing or try putting using Eyebot X/Y switches in
the Non-Fixtured position for training and
operation.
What is the tolerance for a moving object? What is the speed
variation?
Eyebot can learn
moving objects at a pace at over 2,000 per minute. It helps to
train Eyebot at a similar speed that it will inspect the object.
It doesn't have to be exactly at the speed, but the more
similar, the better.
If I set the Decision Threshold level slightly below the
Score level, what does it mean? Am I correct to say that the
lower the threshold level is relative to the scoring level, the
less strict Eyebot becomes?
That's correct.
Moreover, the score is logorithmic; therefore, a relatively
small movement at the bottom is equivalent to a relatively large
movement at the top.
What is the best way to demonstrate the features of the
Eyebot? Any recommendation?
Look on our web
page under Applications
to give you an idea of some of the problems we solve and demo.
Also, under Eyebot
you will find some more info. Do a demo that shows off the
self-learning ability of Eyebot. A bottle demo works well, or
have it learn and inspect raisin boxes. We learn some good
bottles/boxes, then put it in the inspect mode, and it will see
defects on the bottle/boxes. It will take about 5 minutes of
learning.
Why does Eyebot not signal a defect when there is nothing on
the screen?
Because there are
no features. To get around this, turn on the pixel counter by
turning to OPTION and pressing the YES button TWICE. ERASE and
re-train Eyebot. Make sure that Eyebot does not learn anything
on the screen or the pixel counter will not work, because it
will learn that no pixels are acceptable. The pixel counter
learns the acceptable range of pixels while Eyebot is in LEARN.
When placed in TEST or RUN, Eyebot will alert you when either
there is a large jump in the number of pixels or a large drop.
The more narrow range of pixels you show Eye-bot, the more
effective the pixel counter will work.
Why is the Score not rising when I am in LEARN (or IGNORE)?
Try erasing Eyebot and
starting over. Look at the VIEW Mode so you can see, on
the screen, what Eyebot sees. Is the image too complicated
or is it moving too much in a non-repeatable fashion? If
so, try better fixturing it or try using the Eyebot’s Non-Fixtured
Mode for training and operation.
Eyebot learns a part in
one position in the center of the screen and when I move the
part to another area of the screen, Eyebot signals a defect
(i.e., the Score drops).
First, verify that
Eyebot’s rear settings are on Non-Fixtured X and Non-Fixtured
Y. Toggle the switches twice to be absolutely sure.
Second, even if your
Eyebot is operating in a completely Non-Fixtured state, it is
still normal for this to happen. The reason this happens is that
even when it appears that your lighting setup is even, it
usually is not. As a result, when you move the part to another
area of the screen, small new features appear because the light
hits the object in a different way and causes new shadows, which
cause the new features.
The solution is to
LEARN the part in various areas of the screen. Be careful to not
put your hand in the screen while Eyebot is learning, because
Eyebot will learn you hand, which may diminish the perform-ance.
Another trick is to tap the camera to cause vibrations, so that
Eyebot is less sensitive.
Third, it is
possible that when you move the part to another area of the
screen that you placed it in a slightly different orientation,
which Eyebot never learned. Therefore, have Eyebot LEARN the
part with a little bit of realistic variation and changes in
orientation.
Do you have any program that runs on PC that can link with
Eyebot? Can you get the status from Eyebot and control it via a
PC?
Yes. See the
Eyebot
Manual for details.
To manage Eyebot
through a PC, you may use Procomm or any terminal emulation
program. We use version 2.4.2 (current version is 4.5, and costs
$129). You need to hook Eyebot through the serial port. Eyebot
works at 19.2K baud. Full duplex. No parity.
SIGHTech suggests
using the least expensive terminal emulation program. You don't
need anything fancy. You may find more at Shareware.com
and search for "terminal
emulation."
When will Eyebot make the decision?
Eyebot makes 60
decisions every second. In other words, it makes decision on
every video frame. On the other hand, it samples 18 video frames
before sending an output, hence it can inspect three parts per
second.
The bottom line
is that Eyebot sends 60 outputs per second, but because it
samples many frames before sending a output it cannot inspect
more than 3 parts per second. Hornet, on the other hand, will
sample fewer frames, and therefore, will be able to inspect more
parts per second.
If no strobe, how does the Eyebot learn as the shampoo bottle
passes by the camera?
If there is no strobe,
then Eyebot will learn EVERYTHING on the screen, including your
hand (if you stick it in the screen), the background, and
everything in the viewing area.
It takes about 5
minutes to learn the shampoo bottles, assuming low UVT (see
manual) and decent lighting (we use $19 halogen lamps).
Eyebot can spot
very small defects.
Multi-Session Eyebot is able to grab 8 images. Do
you think this will be used for inspection of components on a
PCB?
Remember, we don't grab
images. We do not use a frame grabber. MS Eyebot will be able to
do multiple training sessions. Each training session can
comprise thousands of images or frames. You could learn a gear
in all orientations in just one training session, for example.
MS Eyebot will then allow you to inspect multiple products
and/or do object recognition.
PCB inspection is
difficult. Eyebot can only spot gross defects (missing
components, for example). Missing solder is tough. We would need
a fair amount of product placement control.
Is your Eyebot NTSC or CCIR?
Eyebot is
currently shipping NTSC or RS-170 compatible. In 2000 all new
Eyebots will also be PAL or CCIR compatible.
When will SIGHTech offer units with multiple cameras?
There are
currently no plans for this feature. Eyebots are so afforable
that you can purchase multipele units in your process. If you
need hundreds of Eyebots, consider becoming a
Mini-Eyebot
OEM.
Is the optically isolated relay output of Eyebot compatibleto
a PLC controller. (0-24volts)?
Yes. It's a relay
output sends a signal of 3 Amps at 60 volts, AC or DC. It's very
flexible.
Does the Eyebot come will suitable lighting accesories?
We only provide
suitable lighting if the customer requests it. Lighting is such
an application specific solution, that it may not make sense to
include lighting with every order.
How do I reduce the amount of
"video noise" Eyebot sees?
The key is that you
image the parts that you want to see. Do this experiment:
- Put Eyebot in
"VIEW".
- Adjust the Video
Threshold so that you can just barely see the parts that
could be missing.
- Remove the part.
- Can you see the
difference when looking at the VIEW?
- If not, then adjust
the video threshold so there is a discernable visual
difference between a good part and bad one.
|
What
is the tolerance of placement for fixtured mode and non-fixtured
mode?
Full Fixtured (FF) is
extremely sensitive to part placement. If it moves slightly to
the left, right, up or down, then it will be considered a
defect. If it is missing it is also a defect.
FF is useful when you
want to see small defects and you know the part is extremely
controlled in its X/Y positioning. If you can't control the
placement, then you should consider Non-Fixtured (NF).
NF is relatively
insensitive to part placement. For example, let's say you have
Eyebot learn a cellular phone on a gray background in NF. Then
you place it in RUN. If you move the cellular phone slightly up,
down, or right or left, you will notice that the score does not
move down much, assuming your lighting is diffuse. If you rotate
the phone, however, the score will drop because it will be
considered a defect. Similarly, if you create a defect on the
phone, it will also make the score drop.
If NF appears to
sensitive to placement and is not acting as described above,
then it could be because:
a. You may have
low-level lighting that causes the shadows when you move the
part around the screen. For instance, the cell phone could
appear to have defects if shadows cause new features or
characteristics on the phone. So adjust the lighting so that it
doesn't create too many new shadows if you move the product
around the screen.
b. You might be
slightly rotating the object. Therefore, giggle the part a bit
to teach Eyebot a slight amount of variation.
Finally, there is Half-Fixtured
(HF), which is sensitive to up and down movements, but somewhat
insensitive to right and left movements. The new Eyebots allow
you switch this in your OPTIONS menu, under the PROCESSING
submenu.
How do I make Eyebot start
inspecting? In other words, how does it know when the next
unit is under the camera for inspection. (I'm using the
Eyebot within a continuous, no-strobe system.)
Eyebot is ALWAYS
INSPECTING. There are only three ways to stop it from
inspecting:
a. Put it in VIEW mode.
b. Strobe enable the
input via the optically isolated relay or the RS-232 port.
c. Use strobe lighting.
(In this case, Eyebot is still always inspecting, it just can't
see when the strobe is off.)
Is the inspection area (seen in the VIEW mode) fixed? It
would be good if Eyebot could zoom to a particular location.
Can I vary the window of inspection?
Yes, Eyebots allow you
to control the inspection area. Turn the knob to OPTION
and press YES to enter the WINDOW submenu.
Use UP and DOWN to
navigate. If you respond YES, then can use the UP and DOWN
buttons to modify the size.
Is Eyebot suitable for mark
inspection? Say inspect marks on IC?
As you probably know,
Eyebot does not do OCR. It does not do Bar Code reading either.
The general rule
of thumb with Eyebot is: if you can see the defect on the screen
(through the eyes of the camera), then Eyebot should be able to
see it too. If the difference between a good mark and a bad mark
is really obvious, then Eyebot should definitely be able to do
it. If Eyebot is not able to see the gross defect, then you
should probably troubleshoot another part of your setup.
I need to inspect the marking on the IC. Say
"74LS123" whether itis printed correctly or not. What
are the things to take note whensetting up the Eyebot? So far I
have tried setting it up but it fail to recognize the marking.
It only recognize whether the IC is present or not.
The most important
thing you need to do is go into the VIEW mode and see if you can
see the marking on the monitor. If you cannot see the marking in
the VIEW mode, then you should adjust the lighting, lens, or
camera to make sure that Eyebot can see the marking relatively
well.
Don't worry that the
image in the view mode does not seem crisp. This is normal.
Eyebot will still see a lot of detail. The key is that you can
see some amount of detail in the image.
If you cannot see much
detail, then consider zooming into the marking to make the image
bigger. Then refocus the camera and/or adjust the lighting to
make the features of the marking relatively clear to Eyebot in
the VIEW mode.
The second thing you
should be careful is the amount of rotation you put on the IC.
If you train Eyebot to learn an IC in many positions and
orientations, Eyebot's learning will become generalized and,
therefore, less sensitive to small defects.
IMPORTANT: The
more variation you have Eyebot learn, the less sensitive it
becomes.
So if you learn
the IC with a fair amount of rotation, then it might not be able
to see if the "3" of the 74LS123 marking is missing.
When using IGNORE, if a new object, which Eyebot has not been
trained to either LEARN or IGNORE, appears on the screen, what
will be the outcome?
It depends. If
the new object (which Eyebot has never seen before) has similar
features and characteristics as the learned object, then the
score will react as it would when it saw the learned object.
If the new object does
not share many of the features and characteristics with the
learned object, then the score will react as it does with
ignored objects.
Obviously, using IGNORE
is only useful when you have a known universe of objects;
in other words, you know all the objects Eyebot will be looking
at. If you are not sure what types of objects Eyebot will face,
or what types of defects Eyebot will encounter, then you should
not use IGNORE.
Here's an example of
when to use IGNORE: you have 4 parts and you want Eyebot to tell
you when it sees the part it learned. There are only 4 parts.
So you make Eyebot LEARN one and IGNORE three. Eyebot can LEARN
and IGNORE in all orientations. Then Eyebot should be able
to identify when it sees the learned part.
Another example:
let's say you want to see if a screw has been put on or not. You
LEARN the object with the screw. IGNORE it without. That is the
known universe. There are no other possibilities. Therefore,
Eyebot will be able to tell you when you have a defect. There is
only one type of defect possible.
When teaching the Eyebot to recognize a marking say
"103" on a chip resistor, Eyebot will say that when I
move the unit slightly Eyebot will say it is a defect.
When you are in
Non-Fixtured-Mode, you should be able to move the object around
without Eyebot thinking it is a defect, unless you are focusing
so close onto the mark and you are not looking at the whole
part, then that would cause a defect. Also be careful of
angular movement - Non-Fixtured-Mode is extremely sensitive to
rotational movement.
How would you go about teaching the Eyebot to recognize a
marking say "103" on an IC?
Let's try the first
way.
- Make sure you are in
NF (Non-Fixtured).
- Set the camera so
that the ENTIRE IC is in the field of view.
- Put the IC on a
plain piece of paper that reduces video noise.
- Select ERASE and
press YES.
- Go to VIEW mode
(make sure you can see something that looks like the
marking. If you can't see the 103, then you can't solve it
this way, you will need higher resolution).
- Assuming you have a
decent image in the VIEW mode, turn knob to LEARN and press
the YES button.
- While Eyebot is
learning, move the piece of paper around a little bit (but
do not tilt the IC). Make sure your hands are not in the
viewing area (that's why the piece of paper helps). Move it
around the screen (while maintaining the same orientation)
for a few minutes until the learning bar is in the upper
portion of the screen.
- Turn knob to TEST.
- Move the IC up and
down and right and left (but do not tilt it). The score
should not drop much, because you learned it in NF and you
put a little bit of movement while learning.
- Now tilt (rotate)
the IC (by moving the paper). Is there a defect? Does the
score drop? It should.
- Now replace the IC
with one that does not have the marking. Does Eyebot see the
defect? Does the score drop? If the difference is apparent
in the VIEW mode, then Eyebot should see the difference.
- Train Eyebot with
some more good ICs, because every IC will be slightly
different, so Eyebot needs to generalize its learning
somewhat.
- After training a 10
good ICs, see if Eyebot can still see the defective IC. Try
putting a good IC that Eyebot has never seen before; do you
get a false reject? If so, Eyebot needs more training.
The second way, perhaps
the better way, is to focus primarily on the marking. The
advantage is that you don't have to worry about having
sufficient resolution.
- Follow the same
steps as above, but make sure the main object in the field
of view is the marking. In other words, the marking should
take up 90% of the viewing area.
- Turn to LEARN and
press YES.
- Move the IC around
slightly to put a little bit of variation in the learning
(so that you don't just learn it in one place). Make sure
the thin bar is in the upper half of the screen before going
to the next step. This may take a few minutes.
- Continue by
following Steps 7-12 above.
If using IGNORE doesn't
work on this application, nothing will!
How to use IGNORE:
- Turn to LEARN and
press YES when you have the marking in place. Move the IC
around while learning.
- Turn to IGNORE.
- Put a defective IC
on the screen.
- Press YES to start
ignoreing the part.
- Move it around the
screen (to ignore various positions). Keep moving it around
until the thin bar goes into the upper half of the screen.
- Turn to TEST while
the defective IC is on the screen.
- Set the Decision
Threshold with the UP and DOWN so that DECISION light stays
off.
- Put the original IC
(with the marking) onto the screen. The DECISION light
should go on when Eyebot sees the object it learned.
What is the speed of the Eyebot making the inspection?
Need to know the operating rate (Eg. max speed).
Eyebot's maximum
speed is 1/60 sec or 3600 parts per minute. Set the SPEED (under
PROCESSING submenu) to 0 to get this max rate. The SPEED value
is the number of video frames Eyebot averages before making a
decision.
When Eyebot is used to inspect device carrier tapes, should
the installation of Eyebot should be indexed or free
moving?
The free moving
approach is preferred if possible. It greatly simplifies
setup. Carrier tape should be feasable if carefully done and the
following are points are considered for the setup:
- Tape movement is
smooth and not too fast (6 in /sec is fine which is
inspecting at a rate of 4-20 pockets per second).
- The tape should be
fixtured so it cannot move sideways or up/down.
- Experiment with
illumination, since it is the reflections off the surface,
and shadows, that provide most of the features for
inspection. Varying surface sheen will cause different
eflections - these variations must be trained into the
Eyebot. The black color of the carrier tapes make
lighting especially challenging. Note that reflections
from sharply shaped corners, etc. do not change radically
with sheen differences - reflections from flat areas do.
Diffused "cloudy sky" illumination may be helpful
in this application and may minimize trouble caused by sheen
variation.
- With the Eyebot in
VIEW mode, be sure that the defects that you are interested
in are visible. Create some of the defects in question and
test the setup.
- Eyebot should be
able to detect bended tape, improperly formed pockets,
foreign material, sideways hole shifts (although somewhat
tricky), improperly formed holes, and surface scratches (if
large enough to be imaged - check with VIEW mode).
How fast does Eyebot run?
The default speed
setting is 18 fields, which is 9 frames. This means that
Eyebot will learn and inspect 9 frames before it makes a
decision. It averages its decision over these 18 fields.
This means that Eyebot can inspect around 200 PPM.
If you want to go
faster, decrease the speed setting. For example, by
lowering the speed setting to 2, Eyebot will make a decision on
a single frame. Now the speed will be 1/30th of a second,
or 1800 PPM.
Finally, if you've set
it at 1 or 0, Eyebot will run at 3600 PPM. When the
setting is 0, Eyebot will send a sharp spike from the relays,
instead of the normal 15ms on time.
How do I train Eyebot to
accept some variation in the placement of the part to be
inspected?
While Eyebot is in the
"LEARN" mode, try the following:
- "LEARN"
the part in its fixed state.
- Tap the camera
(while in "LEARN") and/or wiggle the part slightly
(without getting your hand in the field of view).
- Turn knob to
"RUN".
- Pull out the part
and then put it back in again. What is your Score?
Did it drop significantly? If so, return to step #1
and repeat.
- Once Eyebot is no
longer complaining about a good part and that the Score is
consistently high, then you should try pulling the part away
and setting the decision threshold accordingly.
- Make sure the Pixel
Counter is on (you should have two gauges on the screen).
- Make sure that there
is always a part on the screen during the "LEARN"
process, otherwise you will teach Eyebot that no pixels is
acceptable.
|