Control speed of turntable (E2)

  • Hello,

    KRC2, KSS5.6, KR5002MT + track KL1500-3 + turntable

    I am working on a small utility to automate the milling of revolved parts.
    For this, I am using Rhino & Grasshopper, a CAD software with scripting capabilities.
    There, I just have to manually draw the part profile and the script will automatically generate the KRL program.

    I have identified 2 strategies :
    [list type=decimal]

    • Kinematic Coupling of the turntable (rotated $BASE with Bas.EK()) : create a segmented spiral and follow it all over the part (the part will be faceted but I can make the discretization small enough).

    • Kinematic Uncoupling of the turntable (fixed $BASE) : follow the profile from top to bottom while rotating the table (part will NOT be faceted).

    My questions are about speed control.

    My goal is to achieve constant radial speed of the TCP relative to the material (at about 2000mm/min). With strategy 2 I can control control & adapt the radial velocity by controlling the linear speed of the TCP along the profile curve, knowing the radius of my part at each point on the profile curve.

    => In general, in which base $VEL.CP is to be understand ? Is it $WORLD or $BASE ? In the latter case, will it mean that kinematic coupling of the turntable will be taken into account in the computation of the TCP linear speed, like in strategy 1?

    => I could not even find a way to ask the turntable to rotate a full turn at 5°/s for instance. There is no equivalent of $VEL.ORI for external axis right ? How should I proceed ?

    LIN_REL {E6POS : E2 360} ; which velocity ?
  • The key factor here is that robot motion control is position based, not velocity based. Velocity control is possible, but is a secondary priority. For example, issuing the command PTP_REL {A1 1,A6 180} will cause A1 to move at a rate 1/180th of the maximum that A6 can achieve. The robot will also "de-rate" motion commands based on payload and inertia.

    Within those caveats, you can control External Axis velocity separately from $VEL_CP using $VEL_EXTAX. Although this will probably not achieve your desired result if you use kinematic coupling.

    One approach you might be able to use would be to make E1 an asynchronous axis, controlled by ASY_PTP commands from the SPS. Possibly with realtime adjustment of $VEL_EXTAX[1] by the SPS in comparison to $VEL_ACT.

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