Tweaking Tool Base position automatically using variable external inputs

  • Hi all,


    This is my first post in the robot forum, although I have followed many posts for a long time. I have finally encountered a problem I am unable to find a suitable answer for in either documentation, user manuals or other forum posts.


    I am looking to create a programme to correct the TCP and Tool Base of a welding torch in KUKA KRC2. I have a series of 0-10V laser sensors I intend to use to provide a variable input to the robot IO. I would like to use these variable inputs to move the Tool Base and TCP of the torch as the torch's TCP frequently gets knocked +/- 10mm in X,Y,Z.


    I have used a variable input laser in the past to adjust the height of relative motions when welding seams that are not perfect circles so I know how to use the laser inputs correctly to create movement variables. My issue lies in moving a Tool Base; I have not delved deep into program, world or tool bases much and as such I'm not entirely certain what the best method of adjusting a Tool Base automatically from a variable would be.


    Can I create a second, variable Tool Base of sorts that I can add offsets too based off of the last tool base using variables automatically?


    For example:


    or something similar, specific to the Tool Base. I would like to be able to call this adjusted Tool Base only in specific programmes and as such wouldn't want to mess with existing World or Tool Bases.


    I apologise if my question is unclear or dumb, I only know KRC2 from what I have taught myself and I am still not familiar with exactly what is possible or how, all help is greatly appreciated.:sorry:

    - AJ

    My code works every time... 20% of the time


    Thanks for helping me,

    AJ

  • "Tool" and "Base" have special meaning. There is no "Tool Base".

    You seem to use "Tool Base" to refer to "Tool" but in your program example you are modifying "Base" and that is ... confusing.

    1) read pinned topic: READ FIRST...

    2) if you have an issue with robot, post question in the correct forum section... do NOT contact me directly

    3) read 1 and 2

  • I would like to use these variable inputs to move the Tool Base and TCP of the torch as the torch's TCP frequently gets knocked +/- 10mm in X,Y,Z.

    You want to correct the tcp, this value is stored in tool_data[].

    So when you change 'base_data' by 'tool_data' you have the principal algorithm for correction of the torch tcp.

  • "Tool" and "Base" have special meaning. There is no "Tool Base".

    You seem to use "Tool Base" to refer to "Tool" but in your program example you are modifying "Base" and that is ... confusing.

    Sorry! I was unsure exactly what syntax refers to the tool itself and must have gotten the two confused, thank you for clarifying.


    You want to correct the tcp, this value is stored in tool_data[].

    So when you change 'base_data' by 'tool_data' you have the principal algorithm for correction of the torch tcp.

    Thank you! Can I create a new "tool_data" e.g. Tool_Data[2] that I can attempt to edit so as not to mess up what is currently being used? If so is there a limit to how many Tool_Data's I can have on one robot?

    My code works every time... 20% of the time


    Thanks for helping me,

    AJ

  • Krc2 are limited to 16 tools at one time. But since tcp datas are frames you can copy them to / from frames. And so, you can use nearly unlimited tcp datas.

    Perfect, just the answer I was looking for thank you. I will read up in any manuals I can find on creating and copying tcp data frames. :merci:

    My code works every time... 20% of the time


    Thanks for helping me,

    AJ

Advertising from our partners