Circular motion modes

Circular motion has three modes: mcBorder, mcCenter, and mcRadius. In this section, you'll learn how they work. The parameter AuxPoint is used to define a circular path for an axis group to move. In the following description, you'll see this parameter repeatedly.

mcBorder

The user defines the end point and a border point, AuxPoint, on the arc of the circle that the machine will travel.

Advantages:

+ The border point usually can be reached by the machine. That is, it can be taught: you record the target positions manually, use these positions in the command and machine will move in the same way you manually moved it.

Disadvantages:

− Restriction to angles < 2π in one single command.

 

mcCenter

2D

The user defines the end point and the center point, AuxPoint, of the circle.

When using this mode, the input MC_CircPathChoice decides whether the machine takes the short or long path.

 

3D

In a 3-axis system (3D space) the circle plane can be viewed from both sides, but it's hard to know the direction the plane faces. In KINGSTAR, there are two rules to identify it:

  • The positive direction of the x-axis is from the starting point to the circle center.
  • The end point's y-axis points in the positive direction.

After knowing the direction the circle plane faces, we use MC_CircPathChoice to decide whether the machine takes the short or long path.

Disadvantages:

− Restriction to angles < 2π and ≠ π in one single command.

− Overdetermination of circle equation.

− The center point usually can't be taught due to collisions with obstacles.

mcRadius

3D

mcRadius can only be used in a 3-axis system. The user defines the end point and the perpendicular vector of the circle plane according to right-hand rule (see the figure below). The length of the vector corresponds to the radius of the circle. The spearhead point of the vector is the input signal "AuxPoint" in absolute coordinates. That is, the origin of the coordinate system specified in "CoordSystem."

After defining the radius and the end point, we get a circle plane in the 3D space. The direction the plane faces is decided by the z-axis. The plane is facing in the direction where the z-axis is positive.

Next, we need to determine the path. Between the starting and end point, the radius forms two circles, which provides four paths for the machine to travel: short clockwise, long clockwise, short counterclockwise, long counterclockwise.

Because the motion adopts the right-hand rule, the direction is always positive (counterclockwise). That leaves us two options: short or long path in the positive direction. We can use MC_CircPathChoice to choose the path. If you want the short, choose mcShortPath, otherwise choose mcLongPath.

2D

If you are using a 2-axis system but want to use mcRadius, you need to define the z-axis point by yourself. In 2D space, mcRadius automatically adds the third dimension so the space becomes 3D. For example, if your starting point is {3, 5}, it will become {3, 5, 0}. Your end point can be something like {4, 9, 0}. Note that the z-axis is always zero.

The AuxPoint in 2D must be {0, 0, X}. X is a positive or negative number. It is the length of the vector, which is the radius of the circle. After defining the AuxPoint, use MC_CircPathChoice to choose between the short and long path. mcShortPath is for short and mcLongPath is for long.

Disadvantages:

− Restriction to angles < 2π in one single command.

− The perpendicular vector has to be computed.

− Overdetermination of circle equation.

Example:

AuxPoint = (50,0,0) → Circle in plane parallel to yz plane with radius 50 and the axis of rotation parallel to x-axis according to the rule of right thumb (CoordSystem = ACS).