IRvision pick without rotation

  • Hi,


    I'm working with the 2D IRvision pick and place program.

    After some tinkering it started to work and I can pick my parts. The parts that I'm picking are not symmetrical and when rotated the robot tries to rotate to pick them. Which is normal behavior. However, I use the suction cup and the rotation is not needed for me, further more the space is very tight so the rotation just knocks stuff around. Maybe you could advice me how to turn off the rotation function on the robot? In other words, I need that the robot would ignore the rotation of the part and just would approach it with linear motion without rotating according to parts rotation.


    Thanks for suggestions.

  • Place your Ad here!
  • HawkME

    Approved the thread.
  • Orientation can be disabled in your main tool (GPM, Blob, etc) so it receives no rotational offset just the X,Y offset. Orientation can also be limited to whatever you wish to restrict it to

  • Hi,


    the program is very simple, just recognize the part, pick and then place it. The feature recognized is a triangle on the part, specifically made for this purpose.


    I'm a beginner and wrote the program with GUI of the CRX tablet. Maybe you could specify where in GPM locator tool (or Blob) I could disable the rotation? Or where could I read more about that? Because now when I search I can find only that people want the rotation to work properly, but not to disable it.


    Thanks

  • I'm a beginner and wrote the program with GUI of the CRX tablet. Maybe you could specify where in GPM locator tool (or Blob) I could disable the rotation? Or where could I read more about that? Because now when I search I can find only that people want the rotation to work properly, but not to disable it.

    I'm not sure how the Tablet GUI changes things, but you should still be able to use the Web Browser (either on the pendant, or on a laptop connected to the robot controller), and access the irVision settings.


    In the DOF section, you can un-check the box named Orientation, as shown below. This is from a robot that was picking up circular objects, and as such had no need to rotate to follow the part.

  • In the DOF section, you can un-check the box named Orientation, as shown below. This is from a robot that was picking up circular objects, and as such had no need to rotate to follow the part.

    I just tried this, but it does not work for me. Because this is for feature recognition, not for the picking part. The feature that IRvision needs to recognize in my case is a triangle and picking place is below it. So I need the orientation to be recognized and picking place located. What I do not need - that the robot would turn according to rotation of the part.


    That most probably will be related to position registers, but I still cannot figure out how to use them.

    In other words from vision part I need to transfer to pick and place just the x and y coordinates, but not the rotation.

  • dateposted-publicPR[?,4] = PR[?,4]-VR[?,4]

    Could you please specify where should I place this line for a total beginner. Is it Vision part? Detection part? Picking part? Anywhere in the code? The question mark in the code stands for register that I use to write object position or something else? Number 4 means rotation?


    My problem is most probably related to position registers, but I still cannot figure out how to use them.

    In other words from Vision part I need to transfer to Pick and Place just the x and y coordinates, but not the rotation.


    My code in Flickr:

    Program code
    www.flickr.com


    Visual:

    Visual code
    www.flickr.com

  • If you have the option "Vision Support Tools" you can use the karel-program TRANSROT.

    It will create a PR for your pick position with the vision offset added (X and Y translation) but without the R-rotation part.

  • I just tried this, but it does not work for me. Because this is for feature recognition, not for the picking part. The feature that IRvision needs to recognize in my case is a triangle and picking place is below it. So I need the orientation to be recognized and picking place located. What I do not need - that the robot would turn according to rotation of the part.

    Hm... I haven't tried this, but my first thought would be to try the SET ORIGIN button in the GPM tool. Place the origin at the point of contact where the robot vacuum cup should land, and keep the Orientation turned off.


    The Origin of the model is what the GPM tool should output the coordinates of, and with the Orientation output turned off, the Offset value returned by irVision should only have non-zero values for X and Y.


    You may need to re-teach your optimum pick position again, after making the GPM changes.

  • I just tried this, but it does not work for me. Because this is for feature recognition, not for the picking part. The feature that IRvision needs to recognize in my case is a triangle and picking place is below it. So I need the orientation to be recognized and picking place located. What I do not need - that the robot would turn according to rotation of the part.


    That most probably will be related to position registers, but I still cannot figure out how to use them.

    In other words from vision part I need to transfer to pick and place just the x and y coordinates, but not the rotation.

    Here are some manipulations I don't fully understand what you need. These are PR[interger,Joint] manipulations. You may need to change representation of the PR to joint if Cartesian doesn't work for your needs

    move values from a PR to a register R[X]=PR[i,j]

    repopulate values from register to a PR Pr[i,j]=R[Y]

    Transfer values from other PR's PR[i,j]=Pr[i,j]

  • Hi all,


    maybe someone will want to know how I solved the problem. Also I should mention, that Fanuc support could not help me with this problem, it's good that I found one person who already did similar project before.

    So the solution that works good enough (not perfect) - was to create a bunch of GPM locator tools. Teach all of them with the part rotated with different angle (rotated by 25 degrees in my case). So when the part is rotated one of the GPM locator tools detects it. When picking, robot still rotates, but the rotation is minimal. I can live with that.

  • Set the 6th element of your vision register to 0.

    Would you please elaborate?
    Which part of the vision register do you mean?

    I found a solution when setting the VP to be "Found Position" instead of "Fixed Frame Offset", and then writing the found position to a PR, fixing the W and P so that the position is normal to the User Frame and then zeroing the R-part (6th element) of the PR.

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account
Sign up for a new account in our community. It's easy!
Register a new account
Sign in
Already have an account? Sign in here.
Sign in Now

Advertising from our partners