KUKA roboTeam

  • Dear Friends


    I am working with two robots that they are coupled to each other with KUKA RoboTeam.


    I have configured as Figure A according they KUKA documentation.


    And also calibrate salve robot as Ext. kinematic systems with the master robot and this section has been done successfully.


    But my question:


    I have created example program with load sharing with 2 robots according the documentation, please see the attachment B.


    And program works as document says.


    Here when I change the position of master robot my slave robot will follow the master robot .for example when I change the angle of tool of master robot, slave robot also follow the master position.


    I am wondering that I cannot change the position of salve robot, for example I want to teach slave robot in higher distance against to master robot and after that follow the master robot.


    I expect that when I teach the robot position, system save the current position of robot that I need.


    But when I reset the program in salve and master robot and when I run the program in master robot ,salve robot follow the master robot in same height and distance with one offset ,


    Does anybody has suggestion to me how to manipulate the program that I need?

  • Hello ellim


    my application is welding application that both robots should works simultaneously around the work piece that installed on the positioner ,So I has to use load sharing program to get best result in welding process ,

    I don't know, you understood my problem our not .

    I can't modify the points , all points will apply with an offset that I declare in the picture !!!

  • load sharing means two robots move in unison by having one robot following another.

    what you have is different - two robots moving independently (each welding own part) that is on common positioner.

    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

  • Yes .Panic mode this is sharing mode .but I want to change the position of salve robot against to master robot just one time, after that slave follow the master on pipe. (My work piece)


    Imagine two robot are welding end of two side of one pipe, I want to change the position of salve robot in Y direction of work piece and I teach the position in master robot.in this state, when I select this point and push start button key both robot are moving to my favorite position. And there is no problem


    But when I reset the program in maser and salve robot my point position in salve robot will change!!!



    It means salve robot follow mater robot with a specified distance (with an offset)


    This offset is exact distance of robot base installation.


    Do you have any idea to manipulate this problem?

  • Hi Rainman,


    Loading sharing mode and process independent mode can switch in between in the program. Just switch the mode if you need teach point for both robot separately. If Slave follow Master then switch it back to Load sharing mode.


    Just to share my experience here, there is more easy to make welding program with process independent mode. Hope it can help.

  • Another question regarding the calibration and geometric coupling


    Because I have calibrated salve robot regarding master robot and to check the calibration procedure.


    I move the master and in this case salve robot should follow the master robot, but here I have got problem about slave tracking against the master robot.


    When I jog the master robot, salve robot will follow according the flange of master robot.

    In direction of X and Y and Z and Also B Axis it is ok but in direction of A and C, slave robot goes wrong way, a little bit I am wonder about this situation.


    There is one remark: two robot are not installed in same level!


    Should I install both robot in same level? To better understanding take a look to the attachment!!!

    Does anybody has any experience regarding the problem that I have?

  • i have seen roboteam cells though my experience with roboteam is very limited and so is welding. but i am not quite so sure what you are trying to do makes sense.


    to me (and i may be mistaken) load sharing is different from what you describe but perhaps that is just matter of definitions.


    the way i think of load sharing is : it would look exactly the same as if one would get rid of second robot, mount both tools (properly spaced) on just one robot and still do the job while using both tools simultaneously. this is the case where one larger robot (capable of larger load) is replaced by two weaker robots to do the same job. this would work when load is shared (lifting and moving something heavy), but i do not think this makes sense for arc welding. what is the second robot supposed to do if there is something applying external force to one robot arm? an example of that would be the weld wire getting stuck (welded on workpiece). is the other robot (with its welder working) supposed to burn the same spot? what if the problem is on the slave robot?


    welding process requires welder integrated with robot (one robot). this means there is bunch of things involved including error strategies when things go wrong etc. (arc fail, wire stuck, whatever...). there may be need for robots to make independent path corrections (seam tracking, weaving etc.). i do not think that such considerations exist for a roboteam. so when roboteam is used to weld in unison, things normally look like this:

    External Content www.youtube.com
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    note that two robots are not rigidly following each other all the time (and not during the weld). each robot is following positioner and occasionally syncing program step with the other. and i think this is what you should be looking at too. basically this is not really different than single robot welding on a positioner that moves. if positioner was to speedup or slow down or stop, each robot would continue welding with programmed speed at TCP until end of weld or some limit is reached. if one has shorter segment to weld, it can (optionally) wait until other robot is finished so they can start next step together. but i see no need for the two TCPs to be rigidly linked like you want.


    this is what i see as load sharing, in this case robots are really moving in unison:

    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.


    but there are cases where one robot is sufficiently large for the process. in that case there is no need for roboteam. instead of many suctions cups, you could mount bunch of weld torches and see how that goes...


    External Content youtu.be
    Content embedded from external sources will not be displayed without your consent.
    Through the activation of external content, you agree that personal data may be transferred to third party platforms. We have provided more information on this in our privacy policy.

    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

  • Hi Panic mode and many thanks for useful information


    Yes in welding procedure we can use this method as you have explained

    This command is used for each robot (master and salve program ) to wait for each other :


    PROGSYNC A1 -> 1_2 WAIT


    I have used this simple command and both robot are waiting to each other and master robot turn the it's positioner and two robots weld the workpiece that installed on the positioner .


    We can use this Command for other side of workpiece just with changing A1 to A2 ,and we can manipulate our program as well.


    According my little experience load sharing in not good method to start two robot for welding application .and also you have explained as Well


    But my question was other thing :


    Now with my little experience I can run my project ,but for my experience to better project running in future I want know where is the location of my fault actually ?


    If you take a look to the attachment (some pages of roboteam Documentation)


    We have two section, one is Calibrating the RoboTeam and other one is Checking the calibration and geometric coupling !!!!


    I have described my problem that exist at the moment in my previous post in this tread .


    Please consider two robot are not installed in a same level !!!!


    You and other friends make me happy to explained me how I can solve my problem

  • sorry but i have hard time with your posts. it is a significant mental effort to decode them. i know that there is a language barrier. posted sentences are not grammatically correct and in some cases i am not sure if they are questions or statements. there is repetitions of same thing without conveying much new. on top of that thread did not start by stating the details (software versions etc.). why is it so hard to say what the used software versions are and what manuals you are referring to?


    Quote

    Now with my little experience I can run my project ,but for my experience to better project running in future I want know where is the location of my fault actually ?


    i do not know...


    did you have roboteam training? did you consult KUKA on your application? what software/documentation versions you are using?


    Quote

    I don't know to I could explain my problem that I have or not ?

    Can you give me an advice to remedy my fault ?


    where are you located? did you try taking training or at least talking to KUKA?


    Quote

    If you take a look to the attachment (some pages of roboteam Documentation)

    ... then what?


    that is not complete sentence. IF need to be followed by THEN...


    Quote

    We have two section, one is Calibrating the RoboTeam and other one is Checking the calibration and geometric coupling !!!!


    ok, so what? what is that supposed to mean to someone reading the thread?


    Quote

    Please consider two robot are not installed in a same level !!!!


    Robots are NEVER installed on "same" level. It is practically impossible....

    Sometimes height difference is 0.0000001mm , sometimes 300mm. This is why one has to perform calibration of roboteam participants in relation to each other.


    Quote

    You and other friends make me happy to explained me how I can solve my problem


    I don't know if i can help much. I have very limited experience with roboteam and welding. Also you may want to try google translator or similar. It would help those trying to help.

    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

  • Hi Panic mode


    Forgive me because of for my late answer.

    Actually I have been in KUKA College for expert programming level 1 and 2 and

    I wasn't in KUKA roboteam training unfortunately.


    I am using KUKA standard document that you can find in drive D of robot as KUKA OPTION.

    I don’t know I am allowed to share that document here or not?


    So I don't have KUKA training document at the moment. And I can’t be in training course during next 3 month.


    This story is a little bit funny because I am working on welding project with 2 robot and one external positioner with option roboteam but finally I will find a solution to remedy and run the project.


    Here during the project running that I am working with roboteam. I ask some question and during this procedures we share our experience about this issue.


    I don't want to call you directly to answer me and thanks a lot for your comments regarding my previous problem


    but my other challenge regarding this item:


    Finally I could couple two robot with PROGSYNC and SYNC instructions and two robot follow each other simultaneously but during movement regarding path program robots move step by step. it means master robot wait for salve robot for each step by SYNC instructions .this is strange for me because in my program I put CONT (Continuous movement) per each point and also I have checked for robot program pointer $Advance in both robots are set to 3!!!


    Any way I can't use this way for welding application because robot stopped per each point for a short time and when I remove sync command slave robot will run its program a little bit faster than master robot. Imagine that the master robot is moving around the turntable (external axis is connected to the master) and salve robot should follow them.



    I have to use SYNC instructions to use indirect geometric coupling but I don't know why both robots are moving step by step .this is my other challenge regarding the roboteam


    Although I know this is a new process, (RoboTeam) maybe someone can help me

  • Hi


    Another issue regarding the KUKA RoboTeam .


    I am using KUKA RoboTeam 3.1.


    We can use Program and motion synchronization method inside the robot programing ,to manipulate this issue according the KUKA documentation we have to use SyncCmd() in the KRL programming format ..


    This command enables program and motion synchronization in the program.


    But I don’t know how to use it this command!!! Because when I write this code in the robot program I see some error message like syntax error and so on …


    ENUM SYNCTYPE #PROGSYNC, #MOTIONSYNC


    EXTP SYNCCMD (SYNCTYPE SYNC_T:IN, CHAR ID_NAME[64]:IN, INT


    COOP_MASK:IN)



    And in the KUKA documentation there isn’t any example regarding this command.


    Please take a look to the attachment, there is KUKA description regarding this command.


    Please help me if somebody already has used this command in his program and the people who are expert to write this code.

  • If this is your code you are only copying the variable and function prototypes into the program. Of course you need to declare and initialize your own variables and use them. Something like this:


    Code
    DECL SYNCTYPE mySyncTypeVariable
    DECL INT myCoopMask
    ...
    mySyncTypeVariable = #PROGSYNC
    myCoopMask = 'B00001'
    ...
    SYNCCMD(mySyncTypeVariable, "R2_R1", myCoopMask)
    ...


    or use the values directly


    Quote
    Code
    SYNCCMD(#MOTIONSYNC, "R3_R4", 'B1001')




    Fubini

  • Hi friends


    One think is making me busy !!! the relation ship between two welding robot that working on one positioner that is moving and controlling by master robot.

    how we can transfer the position of External Axis of master robot to the slave robot. Because I see my salve robot is moving faster than master robot and when wants to stop to the last point salve robot decrease it's speed to at the end to give time to master robot to reach to the end during cooperation and welding procedure


    I am using Roboteam 3.1 and My KSS is 8.6 .....


    Does any body can give me an idea, Because nothing is cleared regarding this problem that I have in KUKA documentation

  • Hi

    which operational mode are you using T1 or AUT,EXT? My experience is the master robot may slow down in T1 but it will return to the programmed speed in automatic mode.


    About the position of the external axis should not be so complicated, if you have configured already the slave robot to the positioner with the corresponding base frames, then you just need to program all the motion commands with these moving bases, without any Geolink or MotionSynch commands.


    In case you want the welding lines to start and end at the same time, motionsynch over Spline is the solution. Be noticed to use the appropriate ArctechBasic version for synchronized welding commands, because the old version (<3.5) )would not support this function, you need to purchase the Arctech Advanced additionally.


    Br

  • Hi Ben014

    Thanks for reply, I have configured my salve robot to the external positioner ,but I think there is a problem in my cell configuration in compare that with picture that you have post it .you can take a look to my attachments files .

    It seems I have to defined a base between my salve robot and my external axis . (my external axis is connected to the master robot)

    At the moment I am using KUKA robotTeam 3.1 and ArcTechBasic and ArcTechAdvanced .

    one question regarding the motionsynch over Spline as blew !!!


    When I use Spline block with Sync instruction during the welding process ,

    Should I add sync instruction for each point that are included inside Spline block or not ?

    to better understanding if I define a SYNC with synchronization flag to the header of Spline block is enough ?


    Note: I try to use ARC SPLINE also that is included inside of ArcTechAdvanced,

    one thing is amazing I can not add any motion inside of ARC SPLINE . I don't know why KUKA is provided this instruction !!!!

  • It seems like you have not calibrated the external kinematic to the slave robot. It could be 2 scenarios to do that:

    1- If the ref point on the EK is in range of the slave reachability, you can do direct calibration by 4 points calculation by the slave.

    2- If the ref point on the EK is not in range of the slave reachability, you must perform the indirect calculation by the master, just make sure that the Roboteam calibration is already done and the error should be small enough (less than 0.5) in order to achieve the best result of the EK root calculation.


    Be noted that this is an EK root calibration, you must do the offset calibration (fixture calibration) afterwards for future use!


    Regarding to arctech synchronized motion:


    The Synch instruction can synchronise cooperating controllers' individual motion blocks. Furthermore, this instruction can also be used to synchronize the complete spline block. As far as I tested, the entire spline block with only 1 header worked fine, but I have not tried welding quality, you have to do it yourself.


    Did you open the Spline fold and add the "S" welding command inside?

    Br,

Advertising from our partners