RobotStudio event

Tool Center Point Parameters

SteveMob
SteveMob
edited April 2016 in RobotStudio
Hello,

We have a new IRB120 and we are wanting to create a Tool Center Point with a custom tool. We are considering getting 2 probes (1 for the table, 1 for the end of the tool). These 2 probes have rounded, almost ball points at the end. I was told these can increase the TCP accuracy a lot, if used correctly. So I guess my question is, how can I go in the TCP parameters and tell the robot that the TCP is offset by however much the diameter of the "balls" are? That way, the robot can do all the math and find out what the exact center of the balls are and automatically create the TCP with essentially little to no error. Is this possible?

Along those lines, the actual probe would be offset a little from where we need the actual TCP. Is there a way to tell the robot that the TCP defined, is actually so many inches to the right or left?

This is something along the lines of what we would get for probes:
https://www.renishaw.com/shop/Product.aspx?Product=A-5004-7401

Thanks for any help!
SM

Best Answer

Answers

  • I always work in RS and always have the cad model of the tool, and that is usually more accurate than anything else then of course you have to manufacture the real tool in an accurate way. So I just use the tcp values I have in RS in the real controller. Now a days I almost never define the tcp using the teach pendant.
    The tcp is just a datatype (coordinate system) which is defined in relation to tool0 which is located in the mounting flange of axis 6
    Per Svensson
    Robotics and Vision Specialist
    Consat Engineering
  • Ok so once you create the TCP in RS, how do you transfer it over to the real controller?

    Also, we are wanting to do some touch point calibration with the probes as mentioned in my original post. How would we go about doing that with the "ball point" probes?

    Thanks,
    SM
  • Well if you have the real controller connected to RS you could just copy and paste the tcp data declaration from the virtual controller to the real controller, another way is to setup a relation between the virtual controller and the real controller. When it comes teaching a tcp there is a couple of methods depending how you want your tcp (read the manual how to define a tol center point). From the FlexPendant you do this in by going into "Program Data" and then tooldata and select the tooldata variable you want to teach, at the bottom you will have a Edit menu where you select define. The rest is better you read the manual because it's well explained there.
    Per Svensson
    Robotics and Vision Specialist
    Consat Engineering
  • Is there some confusion here - are you asking about using the probe to do measuring?

    As Per says above you are better to enter the tool data (including TCP position) manually from the dimensions supplied by Renishaw. - their probes are manufactured to high tolerances so you will get an accurate TCP definition. 

    If you are then using the probe for touch measuring you will probably be using  the searchL command (which will stop the robot when the input from the probe changes state). You then have to do the math's regarding the recorded position(s) and the probes diameter to obtain the actual position and/or size of the object being probed.

  • Graeme,

    You mentioned that you can manually enter the tool data and dimensions, I guess that is kind of what I was asking. Where can I manually input that stuff?

    Basically what we are needing is a super accurate TCP, without having to define a tool a bunch of times until we get the error % small enough (which would never happen for the accuracy we need). If we were to get the "ball point" touch probes, can we manually define the TCP saying to do the math for a ball point probe instead of like a needle point probe?

    Thanks,
    Stephen
  • On the FlexPendant main menu select Program Data-> select tooldata then from the bar at the bottom of the screen select new.

    If the tool (probe) is accurately manufactured then you will generally get a better result entering the data manually rather than using the robot to define it.

  • Graeme,

    So after doing that where do I go to actually enter the data for the probe? Edit-> Change Value-> what?

    Thanks
    SM
  • I have to say this question was quite interesting but turned in a different direction.

    Long story short, is there any way I can "Update" my TCP information, after probing a sphere? (Kind of simulating a CMM)

    Let us assume I can jog on top of the sphere, use my probe and SearchL 25 points around a sphere (Whose location is unknown) and I obtain the array of data. Then after some math-magic I encounter the Sphere's center with respect to my world using the inaccurate TCP values (from CAD).

    Here is my question, can we in any way relate and update my TCP information after this process? I have some ideas but I hope the community can help me

    Let's say using this [In four corrected points around the sphere{maybe west south north and east looking from above the sphere} and offsetting the known diameter of the probe]:

             R_1 * t + r_1 = P       with orientation matrix R_1 = R_1(A_1, B_1, C_1) and position r_1 = [X_1, Y_1, Z_1]^(T)
             R_2 * t + r_2 = P       with orientation matrix R_2 = R_2(A_2, B_2, C_2) and position r_2 = [X_2, Y_2, Z_2]^(T)
             R_3 * t + r_3 = P       with orientation matrix R_3 = R_3(A_3, B_3, C_3) and position r_3 = [X_3, Y_3, Z_3]^(T)
             R_4 * t + r_4 = P       with orientation matrix R_4 = R_4(A_4, B_4, C_4) and position r_4 = [X_4, Y_4, Z_4]^(T)

    Then solving this system of equations relating it to Tool0, or as the tooldata that was attached mentioned previously.


    So, I wouldn't mind hearing some comments peeps. I am all ears.

    Thanks.
    Walter.