A theoretical derivation and stability analysis are first steps in the development of a novel control algorithm. As assessment of the performance of the suggested algorithm either simulations or lab-tests can be performed. Because both strategies bear advantages and disadvantages, the presented setup for validation combines both.
The implemented performance-evaluation strategy follows a two-steps-approach.
The first step is a numerical simulation. The simulation-software Matlab/Simulink is chosen because of its widespread use in academia and industry and because of its features (i.a. wide design space, combination of textual and graphical programming, matrix manipulation and graph plotting features). Although a simulation cannot offer all the elements encountered in a real-life setting it gives a good indication of the performance of a controller. The simulation is performed on one of the simplest forms of robotic manipulators: a 2D planar RR-robot arm. Although the goal is to implement the control algorithms on a much more complex robotic manipulator, the simple RR-arm contains most elements of the more advanced manipulators. A simulation of a 2-link robot allows to conclude whether the validation steps should be pursued.
In the second step, the control-algorithms are implemented on a robot in the university- laboratory. The experimental evaluation is performed on a KUKA LWR4+. Due to its size and morphology which resembles that of a human arm, this manipulator is well suited for replacing the human operator and its relatively small payload is no issue for the intended surface finishing processes. The rather open architecture and the FRI allow the implementation of own controllers in a widespread programming language. Further, kinaesthetic teaching is enabled by the features of the manipulator. The objective is to work without additional sensors.
This chapter describes both setups which will then be used in chapters 5 and 6.
4.1 Simulation Setup
As performance-assessment of the suggested control scheme, the controller will be verified through simulation using the Matlab/Simulink-environment. For the simulation a two-link planar robotic manipulator with revolute joints as shown in Figure 11 is used.
39
For this manipulator the inertia, centripetal/Coriolis and gravity terms are given in eq. (5), (6) and (7), respectively (Shah, 2009).
[ππ11 π12 21 π22] π11= π1+ π2π12 π12= π2π1ππ2π21 π21= π2π1ππ2π21 π22= π2+ π2ππ22 (5) [πΆπΆ11 πΆ12 21 πΆ22] πΆ11= 0 πΆ12= βπ2π1ππ2π 21 πΆ21= π2π1ππ2π 21 πΆ22= 0 (6) [πΊπΊ1 2] πΊ1= π1πππ1π1+ π2ππ1π1 πΊ2= βπ2ππ2ππ2 (7) with π1,π2= 1ππ and π1,π2= 1π the masses and lengths of links 1 and 2, π = 9.8π/π 2 the gravitational acceleration. ππ1 and ππ2 are the distances of the respective linkβs centre of mass from the source end. π1 and π2 are the moments of inertia of both links about their respective centres of mass. Further, π 1= sin (π1),π 2= sin (π2),π1 = cos (π1),π2= cos (π2),π 21= sin (π2β π1),π21= cos (π2β π1).
4.2 Experimental Setup
As a demonstration of the performance of the suggested controller in real-world applications beyond numerical simulation, it will be implemented on a KUKA Lightweight Robot (LWR), a 7DOF- KUKA LWR4+ (Bischoff, 2010). Bio-inspired by the human arm and with a payload of 7 kg and its 7 axes, all equipped with internal position- as well as force-/torque-sensors, this redundant robot offers a range of features which are essential for the considered application. The seven revolute joints of the industrial robot are driven by brushless motors via harmonic drives. The specificities are indicated in Table 1. The working envelope is described in Figure 12. By default, the KUKA LWR 4+-robot is programmed via its attached controller and teach pendant in KRL-KUKA Robot Language (Figure 13 (left)). The implementation and validation of the suggested control scheme requires a more flexible and advanced programming environment. The LWRβs possibility to connect to and communicate with an external PC through the FRI (Fast Research Interface) is used (Figure 13 (right)). The latter is a software- option provided by KUKA for experimental work in research-laboratories. The software configures a UDP socket communication for a binary data transfer with a cyclic timeframe in
40
the range of 1 to 100 ms. The use of UDP socket communication is well suited for this use case due to its speed. It allows data exchange to and from the external computer, e.g. reading and writing: measurements from the robot-sensors are read by the PC and commands programmed in C++-language are sent from the PC to the robot (Figure 14) (KUKA, 2011) (Schreiber, 2010). Figure 15 shows the working principle of the FRI. The communication is ensured through two different modi: monitor and command mode. Through the order βFRIOPENβ monitor mode is started where the robot can only be observed by the external PC, i.e. sensor measurements can be read. Through the order βFRISTARTβ and only when the communication quality is sufficient command mode can be started. In this mode an interaction with KRL-programs as well as the execution of customer programs written in C++-language from the external PC are possible. This can be done in cartesian impedance, joint impedance or joint position control modes.
Table 1: Specifications of the KUKA LWR4+.
Controller KR C2 lr
Mounting flange A 6 DIN ISO 9409-1-A 50
Mounting position Any
Number of axes 7
Payload 7 kg
Repeatability (ISO 9283) Β± 0.05 mm
Weight (- controller), approximately 16 kg
Wrist variant In-line wrist
Axis data Motion range Speed with rated payload Maximum torque Axis A1 (J1) Β± 170Β° 110Β°/s 176 Nm Axis A2 (J2) Β± 120Β° 110Β°/s 176 Nm Axis E1 (J3) Β± 170Β° 128Β°/s 100 Nm Axis A3 (J4) Β± 120Β° 128Β°/s 100 Nm Axis A4 (J5) Β± 170Β° 204Β°/s 100 Nm Axis A5 (J6) Β± 120Β° 184Β°/s 38 Nm Axis A6 (J7) Β± 170Β° 184Β°/s 38 Nm
Figure 12: Axes-nomination of the KUKA LWR4+ (KUKA, 2012) (left); Description of the work envelope of the KUKA LWR4+ (right).
41
Figure 13: Programming of the KUKA LWR4+ through the teach pendant (left); Or through an external PC via the FRI-Fast Research Interface (right) (Schreiber, 2010).
Figure 14: Data exchange between the KUKA LWR4+ and the external PC.
42
The KUKA LWR4+ is equipped with a zero gravity and gravity compensation mode (Albu- SchΓ€ffer, 2007). This mode allows a human operator to move the robot arm as if it had no weight and is specifically beneficial in a Programming by Demonstration-framework via kinaesthetic teaching. Torque-based kinaesthetic teaching is a user-friendly programming method for the KUKA lightweight robot. In contrast to tele-operation or hard-coded programming, two of the most common robot programming alternatives, kinaesthetic teaching is more intuitive as it allows the non-expert user to obtain direct feedback of the robotβs body limitations and hence guarantees a certain first-hand perception of the task (Koenig, 2017) (Kormushev, 2011). The use of a robot arm like the KUKA LWR4+ allows the application of these methods without the use of additional sensors (Kramberger, 2017).
The features of the KUKA lightweight robot manipulator described in this chapter are used during the experimental validation of the developed control concepts. Figure 16 shows the test stand including a KUKA LWR4+ with a specifically designed and manufactured end- effector/tool and a metal workpiece. The freeform workpiece comprises a succession of concave, convex and straight surfaces. This test stand was built in the university-laboratory for experimental validation of control algorithms for automated constrained manufacturing tasks. Figure 17 shows the kinaesthetic teaching process. All experiments were performed in the βJoint Impedanceβ control mode.
Figure 16: Test stand with the KUKA LWR4+ performing a trajectory tracking operation.
43