Difference between revisions of "MC-Basic:CIRCLE"

From SoftMC-Wiki
Jump to: navigation, search
Line 66: Line 66:
 
* [[MC-Basic:group.CIRCLETYPE|group.CIRCLETYPE]]
 
* [[MC-Basic:group.CIRCLETYPE|group.CIRCLETYPE]]
 
* [[MC-Basic:group.CIRCLEPOINT|group.CIRCLEPOINT]]
 
* [[MC-Basic:group.CIRCLEPOINT|group.CIRCLEPOINT]]
 
+
* [[MC-Basic:group.CIRCLEPLANE|group.CIRCLEPLANE]]
  
  
 
}}
 
}}

Revision as of 11:47, 14 July 2014

The CIRCLE command issues a circular(arc) path trajectory for the specified group/robot, and uses the properties of that group.

The CIRCLE command has two formats. One specifies the group name, the angle and the circle center. This format enables multi-turn circular motion. The other is defined by a circle point and the final point of the arc.

The optional properties override the permanent values of the properties for the duration of the command. When using an optional property, the keyword must be specified.

For robot models the CIRCLE command issues a circular path in Cartesian space (XYZ). Orientation angles are interpolated proportionality to the circle angle.

For PUMA robots the orientation vector is kept orthogonal to the circular path.

Syntax

Circle <group> Angle = <angle> CircleCenter = {<vector>} {CirclePlane = <circle plane>} {Optional Nodal Property}*

Or

Circle <group> CirclePoint = <vector> TargetPoint = {<vector>} {CirclePlane = <circle plane>} {Optional Nodal Property}*

Availability

All versions

Type

Double

Range

<group>: An existing group
<angle>: ± MaxDouble

<circle plane>:

  • 0 (XY)
  • 1 (XZ)
  • 2 (YZ)

<vector>: location or joint value

Default

Permanent property values are used unless specified otherwise. Final velocity is 0.

Scope

Task or Terminal

Limitations

  • Applicable only to groups.
  • A group cannot be moved if an axis from the group is being moved individually.
  • A group must be attached in order to be moved from within a task.

Examples

Circle XYTable Angle = 90 CircleCenter = {20,10} Vcruise = 500

Circle XYtable CirclePoint = {10,20} TargetPoint = {100,200} Vcruise = 500

See Also