Advertising

Touch Sensing RARCWMDP & #ARC_WMCV commands

  • Hello KAWASAKI Guys ,


    We are working on an ARC WELDING project using KAWASAKI BA006L robot with KEMPPI A7 Machine .


    We are writing the overall program using AS language (Not by Teaching) .


    Everything is fine except the touch sensing option .


    We start using the XAC function & it is working fine as expected .


    We are using touch Pattern 4 (3 Points) .


    The issue is :


    - At the time we are teaching the robot the welding path points ; How we can inform the robot that following touch points are the references for future welding ?


    - Assuming that we have changed the work piece by new one & touch sensing performed by the robot ; How we can get the corrected points (Transnational or Joints) or the deviation values ?


    - In the ARC welding Manual we found the instructions of RARCWMDP , #GET_ARC_WMDP & #ARC_WMCV but we don't know how to use them to save reference touch points and to get the deviation for every new workpeice .


    It will be highly appreciated to get any suggestion or sample code about using touch sensing in AS language .


    Thanks in advance .

    Regards,<br /><br />SAQER ALI<br />ROBOTICS WORLD FZE

  • I always assumed work deviation patterns were only applicable with BLOCK instructions (please correct me,someone if I'm wrong).


    AS uses XAC and you use that command to move to the target, and upon detection, teaches the new target instruction location - therefore creating your 'psuedo' pattern as required.


    - At the time we are teaching the robot the welding path points ; How we can inform the robot that following touch points are the references for future welding ?


    XAC taught_pos, detect_pos, dist_to_chk,spd_of_chk.

    LDEPART 100

    LWS detect_pos ; will move to the detected position and commence weld.


    - Assuming that we have changed the work piece by new one & touch sensing performed by the robot ; How we can get the corrected points (Transnational or Joints) or the deviation values ?


    Corrected points are stored as transformation values, therefore by:

    POINT taught_pos+pos_diff=detect_pos

    Will result in the values of pos_diff being the difference between taught_pos and detect_pos

    You could then decompose the pos_diff values to convert them to real values if required.


    - In the ARC welding Manual we found the instructions of RARCWMDP , #GET_ARC_WMDP & #ARC_WMCV but we don't know how to use them to save reference touch points and to get the deviation for every new workpeice .


    These are new to me and also only in the latest manual, I have tried them in KROSET and get no errors, but the results I can't quite get my head around.

    I suspect they are intended to obtain deviation values when used in conjunction with BLOCK.....but I am completely guessing.

    This I think you could do with contacting Kawasaki about to confirm the function and application of these.

  • Many thanks for your kind feedback .


    I do agree with you that Touch-Sensing patterns are applicable for BLOCK teaching and we have used it previously for small scale projects but as per new ARC WELDING manual ; we found new instruction & we tried them in reality but as you got from K-Roset , results are not logical at all .


    I am in touch with KRG (Kawasaki Germany) for those new commands but they are also don't have any idea about those new commands .


    I informed KRG that now a days most of welding paths are generated by using OLP softwares which means touch sending commands should be applicable for AS language commands ; otherwise no need for OLP software for Arc welding applications !


    Unfortunately we don't have access to KHI in Japan to know exactly how to use those new commands for AS .


    But i am sure that we can use touch sensing in AS since many OLP softwares are publishing that their solutions are supporting KAWASAKI touch sensing like Delfoi & Octopuz .


    if you can support us by getting more details from KHI ; Will be highly appreciated .


    Thanks again for your support all the time .

    Regards,<br /><br />SAQER ALI<br />ROBOTICS WORLD FZE

  • Quote

    I am in touch with KRG (Kawasaki Germany) for those new commands but they are also don't have any idea about those new commands .

    This doesn't surprise me with the commands being new, but I expect if you make a request to them, they may do some research on your behalf to ascertain functionality of those commands.

    However, what I have tested in KROSET for touch sensing (not that KROSET is the easiest to simulate touch sensing), they are specifically directed towards BLOCK programming only and I wouldn't be surprised if that was their final answer.


    Quote


    I informed KRG that now a days most of welding paths are generated by using OLP softwares which means touch sending commands should be applicable for AS language commands ;

    I think KRG will already be aware of this fact and they will end up referring you to the XAC Command as this is the AS Command specifically dedicated to Arc Weld touch sensing.....not workpiece deviation.

    Work piece deviation appears to be something you will need to code in yourself from an AS perspective.


    Quote


    But i am sure that we can use touch sensing in AS since many OLP softwares are publishing that their solutions are supporting KAWASAKI touch sensing like Delfoi & Octopuz .

    Again, you can by using the XAC Command, what you appear to be asking is a 'clickable wizard' that you say other OLP's are already providing.


    What sort of code are Delfoi and Octopuz producing then for Arc Welding, are they including the touch sense commands or are they just creating points and basic motion instructions to them?


    I can make a program using a whole host of standard AS Commands to create a touch sensing sequence:

    ACCURACY 1 FINE

    XMOVE target+offset TILL 1002.

    Or

    ACCURACY 1 FINE

    LMOVE target+offset, 1

    SWAIT 1002


    But I would not need to as there is XAC which is a dedicated Arc Weld Command that automatically links in with whatever IO I dedicate to it.


    The only thing I could recommend is to look at KROSET Touch Sensing Demonstration Program.

    This contains some very good information regarding AS commands and Arc Weld Touch Sensing and if Delfoi or Octopuz are producing this type of code, I may need to eat my own words...….


    The other alternative is to try and seek KCONG, that is dedicated to Arc Welding OLP but is very expensive and my last try, they are very reluctant to supply this outside of Asia.

    • Helpful

    The other alternative is to try and seek KCONG, that is dedicated to Arc Welding OLP but is very expensive and my last try, they are very reluctant to supply this outside of Asia.

    Yes ; We have tried to get KCONG to use it for welding & Milling & we got exactly what you said ; it is dedicated to Asian market only .

    However, what I have tested in KROSET for touch sensing (not that KROSET is the easiest to simulate touch sensing), they are specifically directed towards BLOCK programming only and I wouldn't be surprised if that was their final answer.

    Thanks for this result ; at least we know that those new commands are for BLOCK teaching & no need to keep trying them in AS.


    I think KRG will already be aware of this fact and they will end up referring you to the XAC Command as this is the AS Command specifically dedicated to Arc Weld touch sensing.....not workpiece deviation.

    Work piece deviation appears to be something you will need to code in yourself from an AS perspective.

    We are trying to write a code for compensating the workpiece deviation by using XAC command.

    Please check attached code .


    I would like to get your kind recommendations to enhance this code & make it more reliable .


    robot-forum.com/attachment/24639/

    Regards,<br /><br />SAQER ALI<br />ROBOTICS WORLD FZE

    Edited once, last by SAQER ().

  • I've had a look over it and it works quite well (in KROSET).

    I look at things with very simplistic glasses and what you've written is very clearly broken up into sections, easy to follow and flows in terms of sequencing and does the job indeed.

    Very difficult to offer any recommendations, except alternate methods.


    I would definitely consider incorporating the XMWIRE command though to set an even wire length prior to touch sensing.

    - This will give you the best results for touch sensing/tcp values and reduce errors.

    - Especially if you are using high crater currents to finish the weld on the previous cycle.


    You could adapt to using dedicated reference points on the work piece for X and Y touch sense points as opposed to very close to the intended weld start and end points.

    - Only because this allows for more flexibility around any shape workpiece you intend to weld.

    - Also if you were to introduce a work object frame, then the X/Y Planes of this could be references.

    - By using references too, you could then locate the start weld point based on the XY shift results too.


    Also, DECOMPOSE is very good command to use however if I was targeting just X and Y, then I would favour DX and DY to create the x difference and y difference values.

    However, using the DECOMPOSE gives you access to more which is there if you need to access it, and to be honest, I personally am trying to use this more and more as opposed to just DX/DY/DZ.


    Additional to this, I would possibly utilise the SHIFT in the LW commands, then incorporate the x difference and y difference values into them.

    - This incorporates a slight protection of users being able to POS MOD them easily, which can be good or bad depending on your customer.


    I've attached a video and displaying the running code.

    I wrote it based on what you wrote, but condensed it somewhat......but other than that, what you have done thus far looks ok to me...………:top:

  • Many thanks for your kind support & for the valuable recommendations .


    Your video just solved it .


    Thanks again my dear .

    Regards,<br /><br />SAQER ALI<br />ROBOTICS WORLD FZE

  • You're welcome...……:top:

    Just remember, touch sensing can be applied in many ways:

    - Locate an actual workpiece.

    - Locate a start point to weld.

    - Measurement for work deviation or checking.


    Try different methods when you completely understand the function, this way you will produce a good 'working template' for future installations.

    And I have learned something from your example too, so thank you for that also...……:beerchug:

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