Robot Program Pre Processor (uploader)

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

Tagged: 

This topic contains 1 reply, has 1 voice, and was last updated by Keke Keke 2 months ago.

Viewing 2 posts - 1 through 2 (of 2 total)
  • Author
    Posts
  • #14251
    Keke
    Keke
    Moderator

    Hi,

    We have had sample post-processors here on the forum for a while for exporting VC robot programs into native robot languages. Here is an add-on for doing the reverse. So now you can upload native robot program into VC simulation model. We start off with Kuka translator but more brands will hopefully be added in the future.

    Kuka translator lets you upload a single .src file. You can also include .dat file and $config.dat files in the same folder and add-on will recognize those. $config.dat is used to read base and tool data along with possible home positions.

    The scope of the translator is limited. It can handle PTP/LIN/SPTP/SLIN motions, subroutine calls, binary input and output, IF and WHILE statements and simple data declarations and assignments. Translator uses regular expressions in parsing so there will be a small learning curve if you want to modify the parser.

    Update 17.05.2019: ABB uploader added

    -k

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

    I added ABB uploader to OP attachment.

    The scope of the uploader is very similar to Kuka uploader. You can load one .mod at a time but you can load other modules one by one and merge them into the existing program. When loading multiple modules load your main module last so that the subroutines exist for call references.

    For DO/DI signal mapping you can use robotWrapper.SignalOutMapping and robotWrapper.SignalInMapping dictionaries. So add real_signal:sim_signal pairs (e.g. “doArcOn”:101) to those dictionaries to customize mapping to suit your cell. Without dictionary uploader tries to find signal index from the name (e.g. do12 => 12).

    Uploader loads base and tool data from module and overrides current data. If this is unwanted just delete readBaseToolData() call on upload() function. The most common thing that can go wrong in the translation is the base/tool frame location. Uploader tries to find suitable node to attach the frame to but this requires that the kinematic structure on the simulation model matches the real device exactly. Mechanism names must match (e.g. positioner component name could be “STN1”). Also be aware of tracks as the robot world frame might not be at the same location as on the real cell when using tracks. In problem cases set frames manually and block readBaseToolData().

    External axis value mapping can be changed on robotWrapper.ExAxisMapping. For example if the real cell has track as axis 7 (~E1) and positioner as axes 10 (~E4) and 11 (~E5) and on the sim model track is E1 and positioner is E2 and E3 then the ExAxMapping should be { 0:0,  3:1, 4:2, 1:3, 2:4, 5:5 } using zero-based indexing.

    MoveC is loaded but only as two lin motions. Few comments surround that to notify that original motion was actually circular.

    -k

Viewing 2 posts - 1 through 2 (of 2 total)

You must be logged in to reply to this topic.