# Numerical Control Kernel

The NC kernel is the unit responsible for the geometrical data processing and motion planning in the control unit. It accepts inputs like the required contour defined by the part program in the form of linear, circular, helical, polynomial or spline blocks and has access to machine data such as the maximal axis velocity, acceleration and jerk. The output of the NC kernel are a time optimal trajectories serving as reference setpoints for the servo controllers. An abstract overview of the basic functional blocks incorporated in the NC kernel is shown in Figure 2.3.

Figure 2.3**-**Components of the NC kernel (without position control)

*Compressor*: It is the first process in the NC kernel. It has the task of approximating the various part program blocks using smooth spline elements within a predefined tolerance. The compressor step substantially reduces the number of blocks used to describe the contour and thus reduces the stored program volume as well as the computing time required by the NC kernel. The compressor step results in a smooth and continuous spline representation of the given contour.

*Contour Rounding*: It has the objective of removing discontinuous transitions between neighboring contour blocks. It transforms the discontinuous blocks into tangential (C^{1}) or curvature (C^{2}) continuous blocks (C^{1} continuity implies equal 1^{st} derivative, whereas C^{2} continuity implies equal 2^{nd} derivative at the joining points). The contour rounding function modifies the programmed contour locally by introducing extra “contour rounding blocks” to overcome the discontinuity of the original blocks. Figure 2.4 shows an illustrating example of two linear blocks with the additional rounding block. Whether or not to add the rounding as well as the type and size of that rounding are normally selected by the user in the form of part program commands or machine data.

Figure 2.4 – Contour rounding example

*Look-Ahead Function*: It is the part responsible for calculating the axial restrictions in the NC kernel. It identifies the “critical points” in the contour, where the programmed path federate or the velocity, acceleration and jerk limits of the axes may not be maintained. The “critical points” which can influence the axial restrictions include, for example, the singular or semi-singular points and areas with extreme curvatures. The output of this function are the path velocity, acceleration and jerk limitation curves defined for each block in the programed contour. The limitation curves represent a road map for designing the path velocity, acceleration and jerk profiles, which will be discussed in the trajectory planning step later on.

*Motion Control Function*: Its basic task is the planning of path trajectories. It transposes a motion state vector, which is composed of the scalar path variables (jerk, acceleration, velocity and position) from an existing initial state to a desired final state with minimal time and under axial restrictions. The inputs to the motion control function are the contour description given by the compressor, the contour rounding function and the axial restrictions defined by the look-ahead function, whereas the output are time optimal path jerk, acceleration, velocity and position trajectories.

*Interpolation*: The interpolation function has the task of sampling the trajectories and projecting the generated path trajectories into the Basic Coordinate System (BCS). The sampling is done according to a predefined interpolation type and machine sampling rate called the Interpolator (IPO) sampling cycle. The type of interpolation can be linear, quadratic or cubic interpolation. The projection process splits or distributes the path trajectories into Cartesian trajectories such that their combined motion reconstitutes the initially defined contour.

*Kinematic Transformation*: This function has the task of transforming or projecting the time optimal setpoints generated by the interpolator from the BCS to the Machine Coordinate System (MCS). The existence of the transformation step and the kind of transformation to be used depends on the machine in use. For example, Cartesian machines do not need a kinematic transformation step since the MCS is the same as the BCS.

*Fine Interpolation*: As a final stage in the NC kernel comes the fine interpolation function. It is responsible for mapping the MCS setpoints from the IPO sampling cycle to servo control sampling cycle which is also known as the Fine Interpolator (FIPO) sampling cycle. The type of interpolation can be linear, quadratic or cubic interpolation which is defined via machine data.

Дата добавления: 2017-05-02; просмотров: 1979;