Robot Program Post Processor (downloader)

Forum Forums Visual Components 4.0 Extensions and Python Add-ons Visual Components Add-on samples Robot Program Post Processor (downloader)

This topic contains 21 replies, has 14 voices, and was last updated by Keke Keke 1 week, 5 days ago.

Viewing 15 posts - 1 through 15 (of 22 total)
  • Author
    Posts
  • #2401
    eme
    eme
    Moderator

    This addon allows converting robot programs from Visual Components to native robot language. The addon is constructed so that new translators e.g. for other robot brands or controller versions can be added.

    • Translators included in this package:
      • ABB
      • Fanuc
      • Universal Robots
      • Yaskawa
      • IRL

    Install the addon by extracting the zip file to My Commands folder. Then restart the application and the “Post Process” button shows up on the Program ribbon tab.

    The post processor command includes the post processor launcher and separate translators for different robot languages. The translators can be found in a sub folder called “Translators”. New translators can be added to the “Translator” folder. New translator will automatically show up in the Post Processor save dialog as a new file type. The translator must be named with following naming convention so that it shows up in the save dialog properly (see postprocessor_save_dialog.png):

    • Naming convention:
      • ROBOTBRAND_FILETYPE.py
    • For example:
      • ABB_mod.py

    Post processors calls a function named “postProcess” in the chosen translator. That function must be defined in the translator and following arguments are passed for it:

    • app (of type vcApplication)
    • program (of type vcProgram)
    • uri (file uri of type string)

    See existing translators for a reference. IRL translator is the simplest example. It doesn’t support control flow (like while, if, break, etc statements).

    The command includes also a file called: “controllername_translator_map.txt”. Robot controller behaviour name/postprocessor type -pairs can be added to that file so that the post processor launcher knows automatically the correct translator and user doesn’t need to choose it manually.

     

    EDIT 2018/11/13:

    • Yaskawa added.
    • ABB translator now supports less than 6 dof robots

    EDIT 2018/12/18:

    • Kuka added.

    EDIT 2019/01/28

    • Kuka version 1.01 update
    Attachments:
    You must be logged in to view attached files.
    #2764
    Avatar
    Lahne_dalex
    Participant

    Hello
    The export works very well. Thank you.
    Is it possible to extend this exporter to Motoman / Yaskawa?
    In 3D Automate, this was already present.

    #4585
    harizon9
    harizon9
    Participant

    Hi,

    Do you have some documentation for this? We would also like to know if you have done something similar for Yaskawa Translator?

    Thank you,

    Regards,

    Hari

    #4859
    Avatar
    evenau
    Participant

    The Yaskawa Post Processor is also available. If you are interested please contact DUALIS IT Solution edietrich@dualis-it.de

     

    #4895
    Avatar
    grozail
    Participant

    Post Process button doesn’t appear, any suggestions why?

    UPD: fixed.

    #7094
    Avatar
    Teppotor
    Participant

    Hi! Do you possibly have useful post processor for ABB-scara robots?

    Main problem is that scara has four axes and this one seems to work only with 6-axis (Quaternion orientation does not match)

     

     

    #7158
    Avatar
    evenau
    Participant

    Yes ABB PP is also available, please contact edietrich@dualis-it.de

    #7688
    Avatar
    RJCRobotics
    Participant

    I am also looking for DX100 motoman/Yaskawa translator, has one been written?

    Thanks

    #7713
    Avatar
    Ralle
    Participant

    Hi RJCRobotics,

    feel free to contact evenau (edietrich@dualis-it.de) – DUALIS is providing a post-processor add-on that also supports yaskawa/motoman (DX100).

    br/Ralle

    #8760
    Keke
    Keke
    Moderator

    Hi,

    Attachment contains the same translators as OP but also a new translator for Yaskawa Motoman robots (DX100/DX200 controller).

    Check the header in Yaskawa Motoman_JBI.py file to see detailed info about the scope of the translator. By default it produces rectangular coordinate jobs but pulse format is supported if pulse ratios and zero positions are added on the robot model.

    -Keke

     

    Attachments:
    You must be logged in to view attached files.
    #10229
    Keke
    Keke
    Moderator

    Hi,

    Attachment contains translators with new KUKA translator added into the pack.

    Kuka translator was written and tested with fairly new KRC4 controlled robot so it may or may not be compatible with older controller version. Translator has few different options that affect the format in .src and .dat file. Options are boolean variables that can be changed in “setPostProcessorOptions” method in KUKA_src.py source file. These options are:

    • use_spline_motions: True=SLIN/SPTP motions, False=LIN/PTP motions
    • use_inline_form: True=Wrap commands into folds, False=Pure KRL without folds
    • comment_out_frames: True=base/tool frame assignments are commented out at the beginning of main, False=base/tool frames are assigned at the beginning of main (beware that this will override current frames)

    -Keke

     

    Attachments:
    You must be logged in to view attached files.
    #11864
    Avatar
    sebastian7777
    Participant

    Hello,

    i will testing the Kuka Post Processor but i get this error:

    Mapping Null to BASE_DATA[1].
    Mapping Null to TOOL_DATA[1].
    Mapping Mitte_Greifer to TOOL_DATA[2].
    Mapping Magazin to BASE_DATA[2].
    Mapping Maka1_li to BASE_DATA[3].
    Mapping Maka1_re to BASE_DATA[4].
    Mapping Maka2_li to BASE_DATA[5].
    Mapping Maka2_re to BASE_DATA[6].
    Mapping Monostanze to BASE_DATA[7].
    Mapping Aufstechst to BASE_DATA[8].
    Mapping Datron to BASE_DATA[9].
    Traceback (most recent call last):
    File “file:///C:\Users\Public\Documents\OCTOPUZ2.0\Commands\OctopuzCore\PostProcessLauncher.py::”, line 73, in firstState
    File “C:\Users\Public\Documents\OCTOPUZ2.0\Commands\OctopuzCore\Translators\KUKA_src.py”, line 70, in postProcess
    writeRoutine(routine, routine.Name)
    File “C:\Users\Public\Documents\OCTOPUZ2.0\Commands\OctopuzCore\Translators\KUKA_src.py”, line 118, in writeRoutine
    write_statement[statement.Type](statement)
    File “C:\Users\Public\Documents\OCTOPUZ2.0\Commands\OctopuzCore\Translators\KUKA_src.py”, line 547, in writeLinMotion
    writeMotion(pos_name)
    File “C:\Users\Public\Documents\OCTOPUZ2.0\Commands\OctopuzCore\Translators\KUKA_src.py”, line 661, in writeMotion
    % (ldat, motiontarget.CartesianSpeed / 1000.0, motiontarget.CartesianAcceleration, motiontarget.AccuracyValue))
    NameError: Attribute or method ‘CartesianAcceleration’ not found.

     

    Can you Help me?

    OCTOPUZ ᵀᴹ 2.0.3.1088 (2.0.3

    #11903
    Keke
    Keke
    Moderator

    Hi @sebastian7777,

    Thanks for feedback. I tested KUKA PP on VC 4.1 family and it seems that on 4.0 vcMotionTarget doesn’t have that property CartesianAcceleration and that why it failed. I modified the PP and now it should work also with 4.0 series products. New version 1.01 of KUKA PP is attached to the zip file on the original post.

    -k

    #12209
    Avatar
    RJCRobotics
    Participant

    Thanks so much Keke, I’m making good progress in generating the robot code, my pulse values are way off though (I’m guessing the RC1G980 is the 980th value under the ‘///RCIG’ notation in ‘ALL.prm’ file? I think it’s just a matter of calibration if you have anything to help with that? Also, it would be really helpful if I could take a program from the robot controller (programmed on the pendant) and load it into the simulation (an inverse post processor I guess) I found this really helpful when using other software.

    Thanks Again

    Richard

    #12218
    Keke
    Keke
    Moderator

    No problem Richard. We don’t have uploaders yet for any brand but that is something that is asked a lot so it is in the wishlist so to speak.

    Yes those parameters are like you mentioned in ALL.prm. Usually I just open a notepad++ and copy paste all the values under the header into a new file and then I can track those specific entries using line numbers. So RC1G972-977 are on line 98 and RC1G980-985 are on line 99. See the picture below. You can see that the non-zero values are the used joints.

    -k

Viewing 15 posts - 1 through 15 (of 22 total)

You must be logged in to reply to this topic.