mc_add_circular(pose_via, pose_to, a, v, r, mode=0)

Add a motion to move to pose (circular in tool-space).

This command queues a motion that interpolates circular movement of the regular TCP (if called after mc_initialize with mode = 0) or the remote TCP (if called after mc_initialize with mode = 1) to a pose in the Part Coordinate System (PCS)

Parameters

pose_via: path point (note: only position is used) in the PCS

pose_to: target pose (note: only position is used in Fixed orientation mode) in the PCS

a: tool acceleration [m/s^2]

v: tool speed [m/s]

r: blend radius (of target pose) [m]

mode: 

0: Unconstrained mode. Interpolate orientation from current pose to target pose (pose_to)

1: Fixed mode. Keep orientation constant relative to the tangent of the circular arc (starting from current pose)

Return Value

The motion ID

Example command: id = mc_add_circular(p[x, y, z, 0, 0, 0], pose_to, a=1.2, v=0.25, r=0.05, mode=1)

  • Example Parameters:
    • Note: first position on circle is previous waypoint.
    • pose_via = p[x, y, z, 0, 0, 0] → second position on circle.
      • ∗ Note: rotations are not used so they can be left as zeros.
    • pose_to → third (and final) position on circle
    • a = 1.2 → acceleration is 1.2 m/s^2
    • v = 0.25 → velocity is 250 mm/s
    • r = 0 → blend radius (at pose_to) is 50 mm
    • mode = 1 → use fixed orientation relative to tangent of circular arc