Can you make a top vision pipeline to detect the center circle (or
some other part feature) as if it was a fiducial?
If so, I am confident this could be made to work using openpnp's
wonderful scripting feature. You will need a fairly recent version to
have the Feeder.BeforeFeed scripting event. This script gets run
immediately prior to *every* feeder feeding. ReferenceAutoFeeder is
still a good option, assuming its actuator integration is driving your
vibrator as expected. Your script needs to:
1. Check that the machine is homed, using config.get().getMachine().isHomed()
2. Check the feeder name, because scripts are global and you dont want
this to affect all feeders.,
3. Move the camera to your search area.
4. Run your pipeline. This is something like:
part = config.getPart("YOUR PART ID");
camera = machine.getDefaultHead().getDefaultCamera();
pipeline = machine.getFiducialLocator().getFiducialPipeline(camera,part,location);
pipeline.process();
results = pipeline.getExpectedResult("results");
model = results.getModel();
5. Use the results from the vision pipeline to calculate your new pick
location, and adjust the feeder location attribute. The feeder won't
mind having its pick location changed only moments before the pick
actually occurs.
feeder.setLocation(.....). You might need some logic to set x and y
without changing z
Toby
> To view this discussion visit
https://groups.google.com/d/msgid/openpnp/3f564e45-abd1-472d-9b40-a9e0b88dfd73n%40googlegroups.com.