Model-based Off-line Compensation of Path Deviation for Industrial. Robots in Milling Applications. C. Reinl, M. Friedmann, J. Bauer, M. Pischan, E. Abele, ...
2011 IEEE/ASME International Conference on Advanced Intelligent Mechatronics (AIM2011) Budapest, Hungary, July 3-7, 2011
Model-based Off-line Compensation of Path Deviation for Industrial Robots in Milling Applications C. Reinl, M. Friedmann, J. Bauer, M. Pischan, E. Abele, O. von Stryk Abstract— The scope of applications for industrial robots is limited in cases with strong forces at the end effector and high positioning and path accuracies required. Thus, their use in machining applications as a cost-saving, flexible alternative for machining tools is restricted due to mechanical compliance. A model-based off-line concept is presented to analyze, predict, and compensate the resulting path deviation of the robot under process force in milling applications. For this purpose a rigid multi-body dynamics model of the robot extended with additional joint elasticities and tilting effects is coupled with a material removal simulation providing the process forces. After systematically adjusting model parameters, an efficient simulation-based path correction strategy shows significant improvements of path accuracy. The general framework is applicable to any tree structured robots and allows for sensitivity analysis with respect to arbitrary model parameters.
Fig. 1.
overlaid with a low frequency oscillation of the tool [16], [2]. Overall, this results in a decreased dimensional accuracy and leads to errors in dimension and a reduced surface quality of the workpiece. In order to increase the milling accuracy, a model-based path manipulation module for robots is developed, which consists of a multi body robot dynamics simulation coupled with a milling force model to analyze and predict the path errors in advance and eventually to calculate a compensational path-correction off-line. Thus, in contrast impedance (e.g. [7]) or force-position (e.g. [8]) control based approaches, no direct access to the robot’s internal control architecture is required. The milling force is simulated based on a well accepted cutting force model based on [3], which is adapted for the use in combination with a model of the robot’s dynamics. Compared to existing approaches like [18], an extended multi body dynamics model is implemented to predict and analyze the robot dynamics precisely within its full working volume. The robot dynamics is build upon a NewtonEuler-formulation. A fine granular description of the robot’s kinematical structure and dynamical properties is applied which allows the introduction of arbitrary rotational axes to model elastic deformations. Additional properties are added to consider tilting of the axes and backlash of the gears. The efficient implementation, including automatic derivations, enables a systematic sensitivity analysis and allows for applying numerical methods for optimization. As an example, the approach enables the computation of optimal poses for measuring model parameters. Both sub models are parametrized and validated with experimental investigations. Based on this, a model-based off-line path correction is developed and tested in simulation. The improvement of the resulting milling path is finally validated in experimental milling operations.
I. M OTIVATION Major fields of machining applications for industrial robots are automated pre-machining, deburring and fettling of cast parts or trimming of carbon fiber reinforced laminate. Due to a kinematic structure with usually six axes industrial robots can cover a large working space and are able to reach difficult work piece positions, so that they can be applied to perform complex machining operations. Therefore, compared to standard machine tools, industrial robots on the one hand offer an economic machining while they do only reach a limited absolute and repeat accuracy on the other hand; e.g. the repeat accuracy of the industrial robot used for the research presented in this paper is ±0.06 mm [11]. Under high process load, as appears in milling operations, an additional deviation of the tool center point (TCP) occurs. Measured deflections of 0.25 mm under loads of 100 N in earlier tests [2] confirmed the expected compliance, which is resulting from the low structural stiffness of the serial robot kinematics. In milling applications, the effective process forces lead to significant trajectory deviations that are resulting in a variation of the cutting condition at the cutter. Thus, milling with industrial robots is characterized by the strong interaction of the cutting process and the mechanical robot structure. It is observed, that deviations mainly consist of a static offset Parts of this work were supported by the German Research Foundation DFG under grant SPP 1180 “Prediction and Manipulation of Interactions between Structure and Process” M. Friedmann , C. Reinl, O. von Stryk: Simulation, Systems Optimization and Robotics Group; {friedmann, reinl, stryk}@sim.tu-darmstadt.de; J. Bauer , M. Pischan, and E.Abele: Institute of Production Management Technology and Machine Tools; {abele, bauer, pischan}@PTW.tu-darmstadt.de; Technische Universität Darmstadt, Germany
978-1-4577-0839-8/11/$26.00 ©2011 IEEE
Coupling of models: robot structure and milling process
II. M ODEL OF ROBOT DYNAMICS AND M ILLING F ORCE In order to simulate the path deviation of the robot a coupled modeling is chosen. The motion of the robot’s struc367
ture is simulated by a rigid multi-body-simulation (MBS) with additional capabilities to simulate elastic deformation at arbitrary axes. Positions of the robot’s TCP are used as input for a cutting force simulation. This cutting force simulation provides information on the forces caused by the milling process, which is fed back into the MBS.
This model is further extended by two variable rotations around axes orthogonal to the joint’s axis leading to the final extended kinematics model
A. Extended Simulation of Robot Kinematics and Dynamics1
with θx,i and θy,i being the rotation angles caused by elasticities around the additional axes. These additional revolute axes will be referred to as virtual joints. It should be noted that these virtual joints are optional and can be added, if additional elasticities need to be modeled for a specific link. 2) Additional dynamics properties: Simulating the motion dynamics of the robot requires additional parameters for each link of the robot: the mass mi the inertia tensor I i and the center of mass comi . In the proposed implementation, comi is described with respect to the coordinate frame defined by linkext,i . The inertia tensor is resolved at the center of mass in a coordinate frame using the same orientation as the frame defined by the link. 3) Modeling drives and elasticities: Simulation of the robot’s motion requires information of the torques acting in the (real or virtual) joints. As no information of the robot’s drivetrain or the control strategy of the motors is known, the assumption is made, that each motor is at its desired position qi and moves with the desired rate q˙i . The motors are coupled to the joints by means of a spring-damper-system with the spring stiffness Ki and the damping Di . Additionally the backlash si of the gear is considered leading to equation ((qi − si ) − θi ) , if (qi − θi ) ≥ si τi = Di ·(θ˙i − q˙i )+Ki · ((qi + si ) − θi ) , if (qi − θi ) ≤ −si 0 , else (6) for the torques in the actuated joints. Note that this convention also allows for elasticities and damping around the actuated axes which may occur because of the gears used. Torques acting in the additional virtual joints are calculated the same way with the exception that the desired position and rate always are zero and that there is no backlash,
linkext,i :=T (0, 0, pi ) · R(z; θi ) · R(x; θx,i ) · R(y; θy,i )
Modeling and simulation of the robot’s motion focuses on the capability to reproduce compliances affecting the robot’s motion in case of external forces acting at the robot’s TCP. As these compliances may not only appear in the robot’s axes of motion, but also in other additional axes, a modular approach has been chosen to represent the robot’s structure. This representation lends itself well to numerical evaluation of the robot’s equations of motion without the need to state these equations explicitly. Due to this fact, the simulation can be used easily for arbitrary tree structured robots without the need to change the implementation. To ease the path to advanced techniques for parameter estimation and numerical optimal control the implementation provides derivatives of the equations of motions. This feature is based on automated derivation techniques. 1) Modeling the kinematic structure: As compliance of the robot may not only affect motion around the axes of the robot’s drives, but also around additional axes, an extended kinematical model is derived. It is described using homogeneous transformations in a 4 × 4-matrix representation. For better readability the abbreviations ! ! 1 0 0 0 T (x, y, z) :=
1 0 0 0
0 1 0 0
0 0 1 0
x y z 1
, R(x; α) :=
0 cos(α) − sin(α) 0 0 sin(α) cos(α) 0 0 0 0 1
,
(1) (R(y; α), R(z; α) analogously) are used to represent translations and rotations. In standard Denavit-Hartenbergnotation (e.g. [5]) a rigid link with a revolute joint is described by linkdh,i := R(z; θi ) · T (0, 0, di ) · T (ai , 0, 0) · R(x; αi )
(2)
τ♦,i = K♦,i · θ♦,i + D♦,i · θ˙♦,i
with θi being the current position of the joint and the constants di , ai and αi describing the relative position of the next joint. These joints, which can be driven to move the robot, will be referred to as actuated joints. It should be noted that this convention does not contain information on the precise placement of the joint. As the equation
M(θ ) · θ¨ +C(θ , θ˙ ) + G(θ ) = τ + S(F xyz,tool , θ )
(7)
(8)
with θ = (θ1 , θx,1 , θy,1 , ..., θn , θx,n , θyn )T being the positions of all joints (actuated or virtual), τ = (τ1 , τx,1 , τy,1 , ..., τn , τx,n , τyn )T likewise being the torques in all joints and S being the torques caused by milling projected into the respective joints. Different ways exist to calculate the mass-matrix M, vector of coriolis forces C and gravitational forces G in this model. The modular approach chosen for the description of the robot’s structure is well suited for algorithms based on the Newton-Euler-formulation of robot-dynamics. Two widely used algorithms of this group are the Composite-Rigid-Body-Algorithm (CRBA, see [14]) and the Articulated-Body-Algorithm (ABA, [6]).
holds, the joint can be anywhere on the z-axis of the previous link’s coordinate frame. To allow for precise placement of the joint, the model is extended by the joint displacement pi , leading to (4)
· T (0, 0, ai ) · R(x; αi ) . 1 Section
(♦ ∈ {x, y}).
4) Forward dynamics simulation: The dynamics of a robot’s motion is described by
T (0, 0, pi ) · R(z; θi ) · T (0, 0, di − pi ) = R(z; qi ) · T (0, 0, di ) (3)
linkwrep,i :=T (0, 0, pi ) · R(z; θi ) · T (0, 0, di − pi )
(5)
· T (0, 0, di − pi ) · T (0, 0, di ) · T (0, 0, ai ) · R(x; αi )
II-A is an extended version of section 11.2.1 from [4]
368
Both algorithms yield the same solution, but differ in runtime with the CRBA performing better than the ABA for systems with few joints (cf. [6]). 5) Implementation: To allow the efficient simulation of the robot’s motion dynamics, an object oriented framework has been developed using C++. Within this framework the robot’s structure is modeled as a chain of modeling entities consisting of the robot’s base, variable and fixed rotations, and rigid bodies (consisting of a fixed translation in combination with the body’s mass, center of mass and inertia tensor). Additional modeling entities not used for this research include variable translations (to describe prismatic joints) and forks (to build tree-shaped structures beyond the kinematic chain). To allow for arbitrary structures, these modeling entities can be combined in any order, so that one is not limited to the structure described above. Similar approaches have been used successfully for the simulation of industrial robots [10], biomechanical systems [13] and autonomous mobile robots [9]. The framework provides methods to solve the robot’s kinematics and dynamics equations, yielding solutions for the direct kinematics, inverse dynamics and forward-dynamics. Currently the forward-dynamics calculation is based on the CRBA and ABA. This allows the selection of the better performing algorithm, depending on the complexity of the robot. Due to this modular description of the robot, the structure of the simulated robot can be exchanged easily without the need to derive new equations of motion. Thus it is possible to select (and re-select) the virtual joints required for a specific milling simulation, depending on the concrete robot. For the purpose of sensitivity analysis, parameter estimation and trajectory optimization the framework also allows calculating derivatives of the simulated robot’s motion with respect to any modeling parameters. This feature is based on the ADOL-C library [15] for automated derivation. Depending on the current use of the developed framework one can either use the special types provided by ADOL-C (if derivatives are required) or the standard floating point types of the machine (no derivatives available, but faster execution).
Fig. 2.
Segmentation of the chip geometry.
(cf. Fig. 2). Each segment containing at least one intersection point is used for the calculation of the thickness h(ϕ, z) of the removed chip.This calculation is based on the analytical cylinder representation of the tool. 2) Calculation of Cutting Forces: Cutting forces are calculated based on a standard model presented in [3]. This model has been simplified to neglect time delay and chatter. The model calculates the axis, tangential and radial forces resulting from the milling operation for each discrete disc of each tooth of the cutter. After this the resulting forces are summed up at the robot’s TCP (cf. right in Fig. 1). An extensive description of the process force model and its validation procedure by machining an aluminum workpiece can be found in [1]. III. A NALYSIS AND ROBOT MODEL CALIBRATION A. Computational Analysis The implementation of the robot model enables the automated calculation of any derivative with respect to any state or control variable as well as any model parameter. This enables the computation of sensitivities and is thus fulfilling the precondition for applying efficient gradientbased optimization techniques. This benefit is highlighted by an example from the design of experiments. For this purpose, one is interested in deducing information about a certain model parameter from measurement, e.g. mass m6 of robot link number 6. By deploying efficient gradient-based non-linear optimization routines like IPOPT [17], the most sensitive position θ ∈ Rn within a bounded working volume is determined. Assuming a working area of Vxyz = [1.63m, 2.13m] × [−0.25m, 0.25m] × [0.65m, 0.67m] from the robot base (cf. Fig. 4), an optimal static position is defined by the solution of
B. Process Force Calculation Calculation of the forces caused by the milling process is based on a material removal simulation (cf. [1] for details), which considers the interaction of the cutter and the workpiece. It consists of two mayor parts: the calculation of the chip geometry and the calculation of the resulting forces. 1) Calculation of the Chip Geometry: As suggested in [12] a multi-dexel representation of the workpiece is applied in order to increase the accuracy of the removal simulation. To calculate the chip geometry the position of the cutter is considered at the last and the current simulation timestep ti−1 resp. ti . Intersecting the cutter positions and the multidexel representation of the workpiece leads to a discrete point cloud representation of the chip geometry. For further evaluation the chip volume and hence the point cloud is partitioned into discs of height dz and segments with angle dϕ
m
min − ∑ θ i=1
∂ τi (θ ; m6 ) ∂ m6
(9)
subject to the constraint f orward_kinematics(θ ) ∈ Vxyz .
(10)
Within the proposed implementation, torques τi at actuated joints θi are the result of solving the inverse dynamics by the recursive Newton-Euler algorithm [5]. As all derivatives ∂ τi (θ ;m6 ) ∂ θ j ∂ m6 are available the minimization problem (9) can be solved efficiently by the interior point optimization method [17] to θ (opt) = (−0.094, 0.0, 0.43, −0.086, 0.89, 0.145). This joint position correlates to a TCP-position of p = 369
Fig. 3.
Fig. 4.
Modal analysis of the robot.
Test rig of the stiffness measurement.
TABLE I E IGENFREQUENCIES AND EIGENFORMS OF THE ROBOT Eigenform 1 2 3 4 5
Eigenfrequency [Hz] 8.4 11.1 16.9 20.6 24.1
Modal damping [%] 6.37 1.02 0.75 0.16 0.11
6
57.9
0.64
Description
oscillation at axis 1 tilting of axis 1 around Y tilting of axis 1 around Y oscillation at axis 3 oscillation at axis 2 and 3 + deformation of fork (axis 5) tilting of axis 1, 2 and 3 + torsion of the whole structure
Fig. 5.
Comparison of simulated and measured working area stiffness.
resulting deviation is measured relatively. Fig. 4 shows a measurement setup for rotational stiffness at axis 6. The laser distance sensors are mounted on robot link 5 and measure the linear deviation at axis 6. Transforming the externally applied force into torque at the axis the rotational stiffness k6 is easy to be calculated. The determined stiffness at actuated axes 1 - 6 are k = (0.089, 0.063, 0.235, 0.78, 1.04, 2.05) · 10−4 Nm rad . Subsequently, the measurement of the static stiffness of the whole structure in the working space is done in x, y-, and z-direction at different positions (cf. Fig. 4). At fixed robot positions, three cycles of tensile and compressive forces Fx , Fy , and Fz from −1500 N to 1500 N are applied by a measurement rod. Here, the laser distance sensors are mounted on a external measurement frame to capture the robot displacement ∆x, ∆y, ∆z. The static stiffness kxx , kyy , kzz is then calculated by Fx = kxx ∆x (y, z analogously). The measurements of force and displacement are showing a slight nonlinearity by a hysteresis according to backlash of the mechanical robot structure. Thus the parameters si in (6) are measured as s = (1.05, 0.54, 0.44, 0.52, 0.12, 6.98) · 10−4 rad. The stiffnesses values measured so far at points p1 to p9 are initially applied for a first model calibration in section III-C.
(2.134, −0.204, 0.66)m, which is equivalent to position p7 in Fig. 4. This approach is applicable to any model parameter, including stiffness, damping, and geometric values. The availability of sensitivities serves as basis for using advanced parameter estimation routines like multiple shooting methods. By this feature, it is possible to use the same implementation either for parameter estimation or for simulation of the process, as well as for applying numerical optimal control methods, without changes in the source-code. B. Experimental Analysis In order to determine reliable physical values for the parameters of the robot’s model and in order to validate the simulation of robot dynamics, a modal analysis, and stiffness experiments were performed. 1) Modal analysis: The modal analysis is used to determine the eigenfrequencies, the eigenforms and the modal damping of the robot structure. The structural excitation is done by an hammer impulse on a defined position. By the use of a tri-axial acceleration sensor the oscillation of 109 measuring points (c.f. Fig. 3) are recorded. The robot KUKA KR 210 [11] has six dominant eigenfrequencies below 100 Hz. The measured values are summarized in table I. Dynamic properties are varying also with the robot position. Therefore, the influence of the robot position on eigenfrequencies was investigated in [1]. 2) Static stiffness: The robot model contains rotational and tilting stiffness elements that were determined experimentally. For each measurement, the robot is in a certain position and an external force load is acting on it. The
C. Parameter Identification For a complete specification of the robot model further entries of the mass, stiffness and damping matrices (M, K, D) have to be determined or adjusted. This step is split into the adaption of static and dynamic properties. Within the static adjustment the measured component stiffnesses (Sect. III-B.2) are deployed in the robot model. In simulation, the robot is positioned on points p1 to p9 and a static load is applied. Hence, deviations are simulated and the stiffness for the whole structure is derived. By adjusting the model rotational and tilting stiffness values in order to correlate sufficiently with measured values (cf. Fig. 5). 370
Fig. 6. Frequency Response Function of compliance H (directions x, y, z).
(i) Trajectory planning
From CAD/CAM-tool: Sequence (xk , yk , zk , αk , βk , γk ) Joint trajectories θi (t)
(ii) Kinematical simulation: milling with idealized robot (iii) Calculation of inverse dynamics considering milling forces −1 (iv) Solve ki (τi − si ) , if τi > 0 ideal + qcomp = θ k−1 (τi + si ) , if τi < 0 i i i 0 , if τi = 0 (v) Calculate forward kinematics
Fig. 7.
Fig. 8.
Deviation, correction and resulting path in simulation.
Joint positions, TCP force θiideal (tl ), θ˙iideal (tl ), F ideal (tl )
make an impact on the robots motion. Thus, desired trajectories for θ ideal (t), θ˙ ideal (t), θ¨ ideal (t) – including virtual and actuated joints – and the corresponding milling forces at the TCP Fxideal (t), Fyideal (t), Fzideal (t) are available. As the accurate milling simulation is considering cutting conditions for a small number of teeth, force signals are containing significant noise components. Therefore low-pass filtering is applied to get smooth trajectories for further use. Eventually the compensation strategy provides compensating set points of the path with respect to a robot specific time grid (tl )l . For this purpose (iii) ideal torques τiideal (tl ) for all joints i are computed by solving the inverse dynamics with the recursive Newton-Euler-method. With τ ideal and assuming q˙comp = θ˙ ideal , qcomp is defined by inverting (6) with −1 ideal ki (τi (tl ) − si ) , if τiideal > 0 comp ideal qi (tl ) = θi (tl ) + ki−1 (τiideal (tl ) + si ) , if τiideal < 0 0 , if τi = 0 (11) for each tl . This results in compensating joint positions qcomp , which includes virtual joints as well as the actuated ones. As the robot user interface may require for a sequence of positions and orientations in world coordinates, the calculated compensating joint positions qcomp (tl ) are transformed into base coordinates by solving (v) the forward kinematics for each tl . Thus, the deviation according to the stiffness of actuated and virtual joints is considered in the resulting sequence of compensating set points (xcomp , ycomp , zcomp , α comp , β comp , γ comp )tl . Computation in this proposed model-based strategy is done very efficient, as only one simulation run with a kinematic robot model coupled to the removal simulation is required. The eventual calculation of qcomp and of forward kinematics is done in real-time.
Ideal torques τ ideal (tl ) Compenstional joint positions qcomp (tl ) Compenstional path xcomp , ycomp , zcomp α comp , β comp , γ comp
Model-based calculation of compensational milling path.
Within the dynamic model adjustment the mass and damping matrix have to be determined. The mass and center of mass of the robot’s links are taken from technical documentation. The inertia tensors are derived from CAD-models of the robot components. Frequency response functions (FRF) are calculated for the model and measured for the real robot. By an empirical fine tuning of parameter in the mass and stiffness matrix the eigenfrequencies are getting slightly adjusted to the measured FRF. Eventually, the peak of the eigenfrequencies is shifted towards the measured FRF by setting the damping matrix D. Fig. 6 shows a comparison of the resulting FRF of the model to the measured FRF. After the model adaption in the frequency band of 0 to 50 Hz the overall form of FRFs show a good analogy to the measured values; especially the location and height of resonance peaks. IV. M ODEL - BASED C OMPENSATION OF D EVIATION Figure 7 illustrates the proposed strategy for calculating off-line a compensational correction of the milling path. It is assumed that, based on the desired work piece surface, the milling path (xk , yk , zk , αk , βk , γk )k for the cutter’s position and orientation was already determined, e.g. with CAD/CAMtools. This path is translated (i) into a robot specific trajectory parametrization, consisting of point-to-point descriptions, piecewise constant velocities or accelerations and smoothing parameters. With a known work piece position, the inverse kinematics calculation enables to determine joint trajectories for the desired path. Based on this sequence of joint positions on an equidistant time grid, a simulation run (ii) with an idealized kinematicsonly robot model is made that guarantees that desired positions are fitting with real positions, i.e. no elasticities do
V. E XPERIMENTAL VALIDATION Within the experiment a milling path describing a 90°corner is machined to investigate static deviation and dipping in the corner. Results from simulation (Fig. 8) are validated by comparing two subsequent experiments. In a first run, a low feed rate of 1.5 mm/s and a milling depth of a p = 0.5 mm is chosen for a full slotting operation. This setting yields neglectable process forces and thus leads to a work piece without recognizable deviations. The resulting path 371
Fig. 9.
set point of a given cutting path. In conclusion, concept shows significant improvements to the processing quality without the need to access the robot’s internal control unit. Furthermore, as no modification of the robot is necessary, this strategy fully meets the users standard access possibilities and offers a cost-effective way of improving position and path accuracy. Thus, the scope of machining applications of industrial robots is expanded. calibration techniques likely to show further improvements in accuracy, in particular with respect to drift in modelparameters over time. With the proposed efficient implementation including automatic differentiation, the preconditions for these techniques are fulfilled.
Deviation and resulting path after correction.
is compared to the resulting path of a milling operation with a feed rate of v f = 50 mm/s and a p = 1.5 mm. Due to the higher process forces the TCP a deviation occurs that is measured by a microscope referring to the previous operation. The measurement is taken at 7 positions along the path. The largest difference between the two operations is observed in the corner due to path blending (cf. Fig. 9). The root mean square error of all seven measured points equals to erms = 0.70 mm. Eventually, the experimental milling operation is repeated with the modified robot program including the compensation. The deviation is reduced primarily within the straight path segment. The root mean square error is now reduced to erms = 0.57 mm. In the corner only a moderate error reduction was achieved. This is based on the fact, that the robot’s internal control of path blending is not considered in the proposed drive-train model and usually is not available to the user. In z-direction the contour of the machined part also shows an error reduction. As the forces Fz ≈ 35 N acting on the cutter in z-direction are much smaller than forces in xand y-direction (between 60 N and 130 N) the effect of compensational paths corrections is hardly measurable in this example. Furthermore, the internal numerical robot control of the available robot causes additional path errors, that are not known by the user and which cannot be considered within the proposed model. This effect is even more pronounced with only a small deviation due to the low force level appears. Altogether, the predicted deviation and success of the compensation strategy was validated with the experiment.
R EFERENCES [1] E. Abele, J. Bauer, M. Pischan, O. v. Stryk, M. Friedmann, and T. Hemker. Prediction of tool displacement for robot milling applications using co-simulation of an industrial robot and a removal process. In 2nd Intl. Conference Process Machine Interactions. CIRP, 2010. [2] E. Abele, J. Bauer, S. Rothenbücher, M. Stelzer, and O. von Stryk. Prediction of the tool displacement by coupled models of the compliant industrial robot and the milling process. In Intl. Conference on Process Machine Interactions, pages 223–230, Hannover, Gemany, 2008. [3] Y. Altintas. Manufacturing Automation: Metal Cutting Mechanics, Machine Tool Vibrations, and CNC Design. Cambridge University Press, 4 2000. [4] J. Bauer, M. Friedmann, T. Hemker, M. Pischan, C. Reinl, E. Abele, and O. von Stryk. Process Machine Interactions, chapter "Analysis of Industrial Robot Structure and Milling Process Interaction for Path Manipulation". Springer-Verlag, 2011 (to appear). [5] J. J. Craig. Introduction to Robotics: Mechanics and Control (2nd Edition). Prentice Hall, 1989. [6] R. Featherstone. Rigid Body Dynamics Algorithms. Springer-Verlag New York Inc, 2 2008. [7] G. Ferretti, G. Magnani, and P. Rocco. Impedance control for elastic joints industrial manipulators. IEEE Transactions on Robotics and Automation, 20(3):488 – 498, june 2004. [8] V. Filaretov and A. Zuev. Adaptive force/position control of robot manipulators. In Advanced Intelligent Mechatronics, 2008. AIM 2008. IEEE/ASME International Conference on, pages 96 –101, july 2008. [9] M. Friedmann. Simulation of Autonomous Robot Teams With Adaptable Levels of Abstraction. PhD thesis, TU Darmstadt, Nov. 30 2009. [10] R. Höpler. A unifying object-oriented methodology to consolidate multibody dynamics computations in robot control. PhD thesis, TU Darmstadt, 2004. [11] KUKA Roboter GmbH. Data sheet KR 210-2. http://www.kukarobotics.com, Gersthofen - Germany, Jul 2009. [12] H. Muller, T. Surmann, M. Stautner, F. Albersmann, and K. Weinert. Online sculpting and visualization of multi-dexel volumes. In 8th ACM symposium on Solid modeling and applications, NY, USA, 2003. [13] M. Stelzer. Forward Dynamics Simulation and Optimization of Walking Robots and Humans. PhD thesis, TU Darmstadt, 2007. [14] M. W. Walker and D. E.Orin. Efficient dynamics computer simulation of robotic mechanisms. Journal of Dynamic Systems, Measurement, and Control., 104:205–211, 1982. [15] A. Walther and A. Griewank. ADOL-C: A package for the automatic differentiation of algorithms written in C/C++ (version 2.1.12), 2010. [16] M. Weigold. Kompensation der Werkzeugabdrängung bei der spanenden Bearbeitung mit Industrierobotern. PhD thesis, TU Darmstadt, 2008. [17] A. Wächter and L. T. Biegler. On the implementation of a primaldual interior point filter line search algorithm for large-scale nonlinear programming. Mathematical Programming, 106(1):25–57, 2006. [18] H. Zhang, J. Wang, G. Zhang, Z. Gan, Z. Pan, H. Cui, and Z. Zhu. Machining with flexible manipulator: toward improving robotic machining performance. In IEEE/ASME Intl. Conf. on Advanced Intelligent Mechatronics, 2005.
VI. C ONCLUSION High speed cutting in hard materials with industrial robots is characterized by a strong interaction of the mechanical robot structure with the removal process. This interaction of TCP deviations and strong cutting forces is considered by coupling efficient simulations of the milling process and of the robot motion dynamics. For the prediction and analysis of static and dynamical deviations of the cutter’s path, a modular implementation for multi body system dynamics is proposed, which covers any robot with tree structure and additionally allows for a automated precise calculation of derivatives with respect to any model parameter. Thus, an advanced analysis and design of experiments for parameter identification is enabled. Based on calibrated models, the efficient model-based off-line compensation strategy allows for a correction of 372