CLS Data Interpolation with Spline Curves and Its Post Processing for Generating a Robot Language

In this paper, an interpolation method with spline curves is proposed to smooth cutter location source data called CLS data. 3-order and 5-order spline curves are easily implemented for interpolation. Then, a post processor is designed for an industrial robot FANUC R2000iC to produce FANUC robotic program called LS format. The post processor works as a straightforward and cooperative interface between CAD/CAM systems and the industrial robot, so that a desirable teaching-less operation environment is realized. The validity and usefulness of the proposed methods are evaluated through a simulation on FANUC RoboGuide and an actual machining experiment with the robot. The FANUC RoboGuide is a robotic simulation environment that can execute both the robot’s motion and application, largely reducing the setup time and risk in using an actual robot.


Introduction
Up to now, a lot of researches and efforts have been dedicated to develop user-friendly data interface for industrial robots.For example, Xuejuan et al. presented a novel robot sculpturing planning method for the 3D sculpturing with CAD-geometry data.An automatic trajectory generation from the 3D CAD models of freeform surfaces to the machining tool path by the linear interpolation was described [1].Solvang et al. considered a robotic CAM for machining operations using an industrial robot.The system coped with the new machining standard codes called STEP-NC [2], which is a machine tool control language including geometric dimension and tolerance data for inspection.Also, many off-line programming methods have been proposed to reduce the load of robot programming.However, some practical issues such as cable/hose tangling, robot configuration, collision and reachability have not been well overcome yet.Chen and Sheng discussed a new method to generate robot programs while dealing with those problems [3].
The authors presented a machining system based on an industrial robot RV1A for foamed polystyrene materials [4].The direct servo system developed for the robot could deal with NC and CLS files as desired trajectories, so that a useful interface without using a robot language between operators and the machining robot could be realized.The CLS means cutter location source which is a standardized tool path generated by the main processor of CAM.Further, a 3D printer-like data interface called the preprocessor has been proposed for industrial robots [5].In the interface, triangulated patch based path, zigzag or spiral one can be smartly produced from STL data without conducting a complicated teaching task and using a commercially provided CAD/CAM system.STL means the Stereolithography which was proposed by 3D Systems and is widely used by additive layered manufacturing systems such as 3D printers.
What we propose in this paper is two software.The first one is an interpolation method with spline curves which smooths CLS data.3 rd -order and 5 th -order spline curves are easily implemented with a simple linear algebra for interpolation.The second one is a post processor for an industrial robot FANUC R2000iC to realize a complete teaching-less operation environment.An early concept of robotic post processor is described in [6].On the other hand, the post-processor proposed in this paper can directly generate rigorous and complex FANUC robotic programs from CLS data.The program is a human-readable ASCII file and is call LS data.As is well-known, the CLS data are made by using ordinary CAD/CAM systems.The proposed postprocessor works as a straightforward and cooperative interface between CAD/CAM systems and the industrial robot.The convenience and usefulness of the proposed postprocessor are evaluated through a simulation on FANUC RoboGuide and an actual machining experiment with the robot.The FANUC RoboGuide is a robotic simulation environment that can execute both the robot's motion and application, largely reducing the setup time and risk in using an actual robot.

CLS Data Interpolation with Spline Curves
When the target model has some curved surface, the main processor of CAD/CAM generally constructs the surface, i.e., CLS data, with minute straight lines by a linear approximation.CLS data interpolation is effective to smooth such a linear approximated trajectory.

In case of 3 rd -order spline curve
Figure 1 shows three 3 rd -order spline curve just passing on four points . The spline curve ) (t i x is written as Where are the coefficients vectors; t is the normalized variable.When the x-component is considered, the following relations are obtained from Fig. 1.
xi d is fixed as xi p , so that the remaining three coefficients are calculated by Coefficients in other two directions are similarly obtained, so that the section between i p and . By applying this procedure to all spline curves, the original CLS data can be interpolated for smoothing.

In case of 5 th -order spline curve
Next, fifth-order spline curve is also considered to interpolate CLS data.Figure 2 shows three 5 th -order spline curves is written as In the same manner as the case of 3 rd -order spline curves, when x-directional component is considered, the following relations are obtained from Fig. 2.
x i+1 (t) Fig. 1. 3 rd -order spline curves for CLS data interpolation.Coefficients in other two directions are similarly obtained, so that the section between i p and . An experiment of interpolation of a spiral path was conducted with 3 rd -and 5 th -order spline curves.The left side of Fig. 3 shows the points in original CLS data.Also, the right side figure draws the points in the CLS data interpolated with 3 rd -order spline curves.The number of interpolated points within a section is set to three.Figure 4 shows another example of 5 th -order spline curves.As can be seen, the interpolations are well applied to the original CLS data for smoothing.

Post Processing
In this section, a post processor is introduced for an industrial robot FANUC R2000iC to produce a robot program written with LS format from CLS data.Figure 5(a) is the past proposed process 1, in which the machining robot RV1A could work based on CLS data generated from the main processor of CAD/CAM, without conducting any teaching tasks and using robot languages [4].-1 0 1 2 x i+1 (t) x i-1 (t) is the past proposed process 2, in which the preprocessor could produce zigzag-based and spiral-based CLS data from STL data without using commerciallyprovided CAD/CAM systems [5].Whereas the post processor proposed in this paper is illustrated in the flow chart of Fig. 5(c).The post processor generates FUNUC robotic program called LS data from CLS data, so that desirable operation environment as in using NC machine tools can be realized for the robot.As is well-known, NC machine tools are controlled based on NC data postprocessed from CLS data.

Header Area
Program Area Data Area axes, respectively."UF" and "UT" are the parameters for work and tool coordinate systems, respectively.The work and tool coordinate systems should be set in advance."CONFIG" is for the description of configuration of the industrial robot actually used.In the next section, the proposed post processor smartly produces the above explained FANUC robotic program called LS data from CLS data outputted from the main process of a CAD/CAM.

Post Processor to Produce FANUC Robotic Program from CLS Data
The proposed post processor yields FANUC robot program (.LS) from CLS data.As an example, sample CLS data viewed as Fig. 7 are listed as GOTO/0.0000,-94.3881,39.3232,0.0000000,0.2545675,0.9670550GOTO/0.0000,-98.2856,40.3157,0.0000000,0.2389777,0.9710251GOTO/0.0000,-102.1985,41.2453,0.0000000,0.2233261,0.9747438GOTO/0.0000,-106.1258,42.1120,0.0000000,0.2076166,0.9782103GOTO/0.0000,-110.0666,42.9153,0.0000000,0.1918535,0.9814236GOTO/0.0000,-114.0198,43.6551,0.0000000,0.1760406,0.9843829| | Where each "GOTO" statement in CLS file has a position vector and a normal vector An experiment of conversion from CLS data shown in Fig. 7 to FANUC LS data was conducted.Then, the validity of the converted, i.e., post-processed LS data was examined through a playback experiment on a simulation environment RoboGuide provided by FANUC. Figure 8 shows the simulation result using the model of FANUC R2000iC, in which an actual trajectory of the tip of the ball-end mill is traced.If the post-processed LS data contain some inconsistency from the viewpoint of the format of FANUC robotic program language, then the RoboGuide warns the format error.However, it was confirmed from the simulation that the tip of the ball-end mill could successfully follow the zigzag-based path without any warning as shown in Fig. 8.
Further, a machining experiment using an actual industrial robot FANUC R2000iC was carried out as shown in Fig. 9 by giving FANUC robot program (LS data) postprocessed from another CLS data, so that the foamed polystyrene material could be successfully formed into the designed shape.

Conclusions
In this paper, an interpolation method with spline curves has been first proposed to smooth original cutter location source data called CLS data.3 rd -order and 5 th -order spline curves were easily implemented with a simple linear algebra for interpolation.Then, a post processor for an industrial robot FANUC R2000iC has been introduced.Without conventional teaching process, the post processor could regularly and consistently generate FANUC robotic program called LS data from cutter location source data called CLS data.CLS data are generally made through the main process of CAD/CAM, so that a promising data interface between the industrial robot and CAD/CAM could be designed for realizing a teaching-less operation environment.The effectiveness and usefulness confirmed through a playback experiment on a simulation environment called RoboGuide and an actual machining experiment.
It is also another advantage that CLS data can be converted from STL data by using the already developed preprocessor [5] and then LS data can be further made from the CLS data using the proposed post processor.This means that FANUC robotic program can be consequently constructed from STL data used with a de facto standard for 3D printers.

Fig. 3 .
Fig. 3. Example of original CLS data and interpolated ones with 3 rd -order spline curves.

Fig. 4 .
Fig. 4. Comparison of original CLS data and interpolated ones with 5 th -order spline curves.

Fig. 5 .
Fig.5.Flowcharts of the past developed processes and newly proposed post processor for FANUC R2000iC.
Figure 5(b)  is the past proposed process 2, in which the preprocessor could produce zigzag-based and spiral-based CLS data from STL data without using commerciallyprovided CAD/CAM systems[5].Whereas the post processor proposed in this paper is illustrated in the flow chart of Fig.5(c).The post processor generates FUNUC robotic program called LS data from CLS data, so that desirable operation environment as in using NC machine tools can be realized for the robot.As is well-known, NC machine tools are controlled based on NC data postprocessed from CLS data.

Fig. 7 .
Fig. 7.A part of CLS data (zigzag path) generated from a freeformed surface designed by CAD/CAM Creo.