• No results found

Drilling with force feedback

N/A
N/A
Protected

Academic year: 2021

Share "Drilling with force feedback"

Copied!
84
0
0

Loading.... (view fulltext now)

Full text

(1)

Institutionen för systemteknik

Department of Electrical Engineering

Examensarbete

Drilling with force feedback

Examensarbete utfört i Reglerteknik vid Tekniska högskolan i Linköping

av

Robert Isaksson

LITH-ISY-EX--09/4028--SE

Linköping 2009

Department of Electrical Engineering Linköpings tekniska högskola

Linköpings universitet Linköpings universitet

(2)
(3)

Drilling with force feedback

Examensarbete utfört i Reglerteknik

vid Tekniska högskolan i Linköping

av

Robert Isaksson

LITH-ISY-EX--09/4028--SE

Handledare: Johanna Wallén, ISY, Linköpings universitet

Henrik Kihlman, IEI, Linköpings universitet och DELFOi Gilbert Ossbahr, IEI, Linköpings universitet

Examinator: Svante Gunnarsson, ISY, Linköpings universitet

(4)
(5)

Avdelning, Institution

Division, Department

Division of Automatic Control Department of Electrical Engineering Linköpings universitet

SE-581 83 Linköping, Sweden

Datum Date 2009-009-23 Språk Language  Svenska/Swedish  Engelska/English   Rapporttyp Report category  Licentiatavhandling  Examensarbete  C-uppsats  D-uppsats  Övrig rapport  

URL för elektronisk version

http://www.control.isy.liu.se http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-ZZZZ ISBNISRN LITH-ISY-EX--09/4028--SE

Serietitel och serienummer

Title of series, numbering

ISSN

Titel

Title

Borrning med kraftreglering Drilling with force feedback

Författare

Author

Robert Isaksson

Sammanfattning

Abstract

Industrial robots have been used for a long time in the industry. Despite this the development of advanced force control system using industrial robots is relatively limited. Using force controlled robot systems expands the possibility of what can be done with industrial robots.

Previously a force feedback system for a standard industrial robot from ABB has been developed. The system is developed towards the aircraft industry, where a mounted drill machine on the robot has to fulfill the requirements in robot drilling in aircraft structures. This thesis presents experimental results and improvements of this industrial robot system. Mechanical modifications and tests of a new end effector are analyzed.

Nyckelord

(6)
(7)

Abstract

Industrial robots have been used for a long time in the industry. Despite this the development of advanced force control system using industrial robots is relatively limited. Using force controlled robot systems expands the possibility of what can be done with industrial robots.

Previously a force feedback system for a standard industrial robot from ABB has been developed. The system is developed towards the aircraft industry, where a mounted drill machine on the robot has to fulfill the requirements in robot drilling in aircraft structures. This thesis presents experimental results and improvements of this industrial robot system. Mechanical modifications and tests of a new end effector are analyzed.

Sammanfattning

Industrirobotar har länge varit vanliga i industrin. Trots detta hör robotar med avancerad kraftstyrning inte till vanligheten. Med kraftreglering på en industriro-bot utökas användningsområdet på roindustriro-botar avsevärt. Forskare vid LTH och LiTH har tillsammans med ett antal företag utvecklat ett kraftregleringssytem till en standard ABB industrirobot. Detta system är inriktad mot flygindustrin där det finns en önskan att kunna borra med hög precision i flygplanskroppar med indu-stirobotar. Under detta examensarbete har vidarutveckling och tester gjorts på detta kraftregleringssystem för att klara av de krav som finns inom flygindustrin. En ny design på tryckfoten har testats och analyserats.

(8)
(9)

Acknowledgments

I would like to express my gratitude to all those who gave me the possibility to finally complete this master thesis. I would like to thank Gilbert Ossbahr and Henrik Kihlman for this opportunity and all help with support and ideas during the thesis. A deep bow to Thomas Olsson and all the other developers of the LTH-system in Lund. I would also like to thank Raoul Nilsson which helped me with software problems and troubleshooting.

A special thanks to Johanna Wallén and examiner Svante Gunnarson for the help with the thesis, for the language and the structure of the rapport. Further-more, thanks to Håkan Frylén for the review and guiding in the rapport language and also Magnus Engström from Saab for introducing me to the problematic and knowledge of the aircraft manufacturing industry. Finally but not least I would like to express my gratitude to my family and Terése.

(10)
(11)

Contents

1 Introduction 1 1.1 Background . . . 1 1.2 System . . . 2 1.3 Problems . . . 3 1.4 Goal . . . 3 1.5 Related Research . . . 4 1.6 Outline . . . 5 2 Background 7 2.1 Introduction to Robotics . . . 7

2.2 The Force Feedback System . . . 8

2.2.1 Features of the System . . . 9

2.3 Drilling with Industrial Robots . . . 10

2.3.1 Advantages and Problems . . . 10

2.3.2 Drilling in Aircraft Industry . . . 10

2.3.3 Industrial Robot Drilling Solution . . . 11

3 Force Control 15 3.1 Overview . . . 15 3.2 Methods . . . 18 3.2.1 Hybrid Control . . . 18 3.2.2 Impedance . . . 20 3.2.3 Hybrid Impedance . . . 22 3.2.4 Other Methods . . . 22 4 The LTH System 23 4.1 Hardware . . . 23 4.1.1 LTH-system Components . . . 23 4.1.2 Additional Hardware . . . 24

4.1.3 Drilling End Effector . . . 26

4.1.4 Force Sensor . . . 27 4.2 Software . . . 28 4.2.1 Original Software . . . 29 4.2.2 Master PC . . . 30 4.2.3 Opcom . . . 30 ix

(12)

x Contents

4.3 Force Controller of the LTH-system . . . 31

4.3.1 Design . . . 31 4.4 ExtRapid . . . 33 4.4.1 Task Execution . . . 33 4.4.2 Structure . . . 33 4.4.3 ExtRapid Modification . . . 36 4.5 Simulation Tool . . . 36 4.5.1 Off-line in Delmia . . . 36

5 Use and Modifications of the Force Controller 41 5.1 Parameters . . . 41 5.1.1 Opcom . . . 41 5.1.2 ExtRapid . . . 42 5.2 Modification . . . 44 5.2.1 ExtRapid . . . 44 5.2.2 Model . . . 44 5.3 End Effector . . . 45

6 Requirements and Experiments 49 6.1 System Requirements . . . 49

6.1.1 Requirements from the Aircraft Industry . . . 49

6.1.2 The Demonstrator . . . 51 6.2 Experiments . . . 52 6.2.1 Skating . . . 52 6.2.2 Drilling . . . 53 6.2.3 End Effector . . . 54 6.2.4 Experimental Results . . . 55

7 Conclusions and Future Work 63 7.1 Conclusions . . . 63

7.2 Future Work . . . 64

7.2.1 Other Applications . . . 65

7.2.2 Delmia and LTH-system . . . 65

Bibliography 67

A User’s Guide 69

(13)

Chapter 1

Introduction

In this chapter a short background of the robot drilling system used in this master’s thesis will be presented. Problems and goals for the work are explained. Some related research on the area of robot force control will be presented and finally an outline of this master’s thesis will be given.

1.1

Background

Robots are widely used in the industry today, for example in welding, painting and when moving objects, but in complex operations, the use of human hand is still needed to obtain good performance. The industry wishes to use industrial robots in these complex operations to increase productivity. In order to be able to perform these complex tasks such as deburring, drilling and grinding, extra sensors with high sampling frequency are needed.

Research on more complex sensor based robot systems has been carried out for decades, but few of the results have reached the industry. The reason is often too low sampling frequency in the sensors, or having no access to the inner control loop of the robot.

The aircraft manufacturing industry has high requirements on its products. Due to this, a robot system is not accurate enough to be used in most of their applications, such as drilling in the aircraft structures. This is due to poor rigidity and lack of position accuracy in today’s standard industrial robots. In the airplane models from Boeing more than 50 million holes are drilled per year, many of them manually. When manually drilled, special fixtures and jigs are used to get the accuracy needed. Manual drilling is time consuming and the manufacturing of drill fixtures is expensive. Using oversized robots, in order to get the high accuracy needed in this application, would save time but would be expensive due to the high purchase price.

A standard robot system, using an advanced force feedback system that com-pensates for the poor stiffness of the robot, could give the same performance as an expensive, oversized accurate robot, but to a much lower price. Through this

(14)

2 Introduction

master’s thesis it will be determined if a low-cost standard robot system with force feedback can compete with a full size robot performance.

1.2

System

The force control system considered in this thesis is mainly developed by LTH [4] (Lund University, Sweden). The persons responsible for the design and imple-mentation are Anders Robertsson and Klas Nilsson. Many other people at LTH supported them with their knowledge. Mats Isaksson from ABB Robotics helped them concerning the robot. Anders Blomdell, with others developed the software interface to an external Linux computer. The new modified robot language for con-trolling the new system was created by Mathias Haage and Klas Nilsson, Tomas Olsson developed the dynamic models and designed the force controller [22]. This system developed by LTH will hereafter be referred as the LTH-system, to avoid confusion and possible mix-up with other systems.

The Department of Management and Engineering (IEI) at LiTH, (Linköping University, Sweden) has a laboratory where this LTH-system is implemented in an ABB industrial robot. All the experiments in this master’s thesis are performed on this system.

The industrial robot used is an IRB4400, which is a popular medium size robot from ABB with a payload of 60 kg. The robot has a repetitive accuracy of ±1 mm, and an absolute accuracy of ±3 mm when visiting a new position. The robot reaches about 2 m in the horizontal plane, see Figure 1.1

(15)

1.3 Problems 3

1.3

Problems

Drilling using an industrial robot is an advanced and difficult task, because it is required to keep the contact forces in such way that a good quality of the hole is achieved and that the hole is in right position. In the aircraft industry these two aspects are very important because of the high requirements of the aircraft structures.

Keeping the contact forces low will minimize the risk of having a position sliding when the robot is in contact with the workpiece. This sliding occurs when the robot structure twists and bends back because of poor stiffness. If the contact force is kept lower than the friction force no sliding will occur. A sliding during drilling will also affect the quality of the hole in a negative way, causing the hole to get oval.

In a flexible environment and when poor positioning is used, the angle of the end effector towards the workpiece in contact may not be orthogonal to the work-piece. This will result in poor hole quality and may damage the cutting tool because of the tangential forces that occur in the cutting tool.

There are often two plates together when drilling in airplane structures, in order to get the holes exact on top of each other for riveting. The burrs are therefore a problem when drilling, keeping the surfaces between the materials clean from burrs. If there are burrs between the plates, the structure must be opened and cleaned before riveting or else the structure will be weak and not usable. Applying a contact force to the plates from the end effector, pressing them together, will prevent the burrs from getting in between.

The aim of the LTH-system is to meet the required quality of the aircraft manufacturing industry, so that this force feedback system could be used in drilling applications where high precision is needed. Today they use oversized robots, because of their stiffness to drill, or the drilling is made manually. The aircraft industry requirements for the LTH-system can be seen in Section 6.1.1.

A classical force control problem is the "peg in hole", a problem were the difficulties lie in orienting the piece in such way that the peg slips easily into a hole. Applications like this need extra sensor control, such as a force/torque control or vision control. Other similar problems are to assemble two complex structured pieces together. To follow a contour on a complex surface and to keep a constant force is a problem which requires some kind of force control. Grinding applications could benefit from this.

1.4

Goal

The goal of this master’s thesis is to evaluate and modify the LTH-system so it manages some of the requirements set up by the aircraft industry mentioned in Chapter 6. High requirements for the drilling application exist in positioning accuracy, accessibility, cycle time and quality of the hole. Focus will be on the positioning and the contact forces, which are the most important requirements for the LTH-system at LiTH. The whole drilling process should be considered and be optimized to be attractive for the airplane industry. In order to optimize the

(16)

4 Introduction

system the model parameters in the force control model will be tuned to perform well, and new features of the system will be implemented if needed and possible.

A demonstrator that fulfills the requirements will be developed and demon-strated for interested parties at LiTH. The demonstrator is the same as the LTH-system described in this master’s thesis. The setup of the LTH- LTH-system is shown in Figure 1.2.

Figure 1.2. The setup of the LTH-system used at LiTH. The robot is an ABB IRB4400

with a payload of 60 kg. The LTH-system is tested when drilling on an aluminum surface in the rig.

1.5

Related Research

Despite the few force control systems used nowadays, the industry and the academia has been doing research since the beginning of the industrial robot developments. In the 70-80’s many experiments with force sensors on robots were made, but many of the projects never reached the industry floors. Nowadays the industry has seen the advantages and possibilities to use force control in the production.

Pioneers in force control such as N. Hogan [13] and Raibert and Craig [19] have developed basic methods like impedance control and hybrid control. De Schutter and Van Brussel [7], [6] have also contributed to the force control research towards industry floors. A summary of the research in the 80’s and 90’s is presented by Siciliano and Villani [25]. There are also a few other summaries in the area, such as Yoshikawa [28] and Chiaverini, Siciliano and Villani [5].

Recently ABB released a force control system [2], where ABB’s robot program-ming language RAPID was developed to handle force control applications. The

(17)

1.6 Outline 5

new instructions are pressuring and moving along a surface, which not have been possible before. These new instructions open up a wide area in applications in grinding and deburring.

1.6

Outline

In this thesis the LTH-system will be described briefly, concerning its structure, features and modification. First a background of the system and drilling will be given in Chapter 2 and after that a survey of the force control theory will be presented in Chapter 3. The different force control algorithms will also be presented.

The frame of the force feedback system will be presented in Chapter 4, both hardware and software: the ABB robot programming language RAPID, and the modified language called ExtRAPID are mentioned. The different system modules to execute programs will also be presented. Software and other help structures are considered, like the robot simulation software, Catia/Delmia. The modifications and advantages using off-line programming will be discussed.

A system that is designed for an application needs tuning and modifications to suit the performance and to perform well. In Chapter 5 the possible trim parameters and modifications will be handled.

In Chapter 6 the requirements and features of a demonstrator will be discussed. This demonstrator is the workbench for this master’s thesis. The demonstrator is developed for the aircraft industry in the application of drilling in aircraft struc-tures. To be able to see the performance and the affects of the modifications a lot of experiments have been carried out. Many aspects and phenomena must be tested to make sure that the system satisfies its requirements. This is presented in Chapter 6.

In Chapter 7, conclusions and a short list of recommended future work are given.

A user’s guide to run the LTH-system is presented in Appendix A. The mod-ifications to Delmia’s postprocessor dealing with offline generation of robot pro-grams, see Appendix B, is presented in the thesis.

(18)
(19)

Chapter 2

Background

A introduction to industrial robots and the structure of the LTH-system will be presented in this chapter. Thereafter the advantages and problems using robot drilling in the aircraft industry will be discussed more specific.

2.1

Introduction to Robotics

Today there is many industrial robot manufacturer world wide. One large man-ufacturer is ABB, which have developed the industrial robot used in this thesis. There are a large number of robot types, depending of the robot structure. Com-mon to the robot types is the desire to control the end tip, end effector. One way to classify industrial robot is from without their kinematic, the robot motion characteristics. Some of the classes of robot kinematics are articulated, cartesian, parallel and SCARA. The articulated robot class is robot structures with rotary joints. This robot class is well known in the car industry for welding and assem-bly. This type is used in the LTH-system, see Section 4.1. The cartesian class uses linear joints and the SCARA are a mix of rotary and linear joints. In contrast to the described classes the parallel robot class uses multiple kinematics chains to control the end effector.

The end effector motion is restricted by the degrees of freedom of the robot, this is often the same as the number of robot joints.

Important features of an industrial robot is properties such as payload, position accuracy, working envelope and speed. All these factors are affected of the class of robot and the power source, which can be electrical motors or hydraulic actuators.

Robot model

A joint space robot model can be used to model the characteristics of an industry robot [24]. The model can be derived from the Lagrangian,L , where

L = T − U (2.1)

(20)

8 Background

andT and U are the kinetic energy and the potential energy, respectively. This gives the rigid body dynamic equation

B(q)¨q + C(q, ˙q) ˙q + F ˙q + g(q) = u − JT(q)h (2.2)

B(q) is the inertia matrix in the current robot configuration, with the current set-up of joint coordinates, q. The square matrix C represents the centrifugal effect acting on the robot. The gravity acting on the robot is represented in the term g(q). There are also friction torques, F ˙q in the robot joints. The actuating torque on the robot arms by the servos is denoted u. When the robot is in non contact, the term JT(q)h is zero. In contact the robot exerts forces and torques, h, on the environment. To transform the vector h to joint coordinates the Jacobian is used. The Jacobian is the relation between joint coordinates and the end effector linear and angular coordinates, that is,

˙

p = J (q) ˙q (2.3)

where ˙p is the end effector velocity.

Figure 2.1. The structure of the FlexAA (Flexible and Accurate Automation)

organiza-tion. The project is a collaboration between LTH, LiTH (left) and a couple of companies (right) [18].

2.2

The Force Feedback System

The force feedback system is a part of the project FlexAA (Flexible and Accurate Automation) [18]. The project is carried out by LTH and LiTH in collaboration with a few companies; SAAB Aerostructure, ABB Automation, see Figure 2.1.

(21)

2.2 The Force Feedback System 9

The project goal is to develop an off-line methodology and high-precision in-dustry application with hardware support [18]. There are three main ideas in this project. The first is to improve precision with simulation techniques and industry methodology. The second idea is to set up a set of flexible fixtures with help of robots. The last is to use an extended force/torque sensor on a robot end effec-tor to control the contact forces to be able to do advanced applications, such as deburring, grinding and drilling, see Section 2.3.

The beginning of this system was in the project AUTOFETT (Affordable Flex-ible System for Off-line Automated Fettling and Finishing) [17]. AUTOFETT was developed to be able to deal with applications with a wide spectrum of usage.

Starting from today’s development there is a desire to extend flexibility into the industrial production flow and at the same time achieve a better precision. Increasing the flexibility in industrial systems for the companies may result in lower investments, less special robot systems and thereby keeping the costs down for the whole system. With the help of extra robot sensors, such as vision and force/torque sensors, applications that are not possible with the original setup would be possible. With vision sensors, advanced pick-up tasks are possible and with force/torque control, applications such as deburring and grinding can be handled. Using the LTH-system to grind makes it possible to monitor the forces, keeping the contact force and the feeding speed within desirable limits [22].

In the drilling application, the contact forces along the surface must be kept low during the process in order to prevent sliding effects. In most robot systems today there is a lack of sensor interaction bandwidth for these complex application, see Section 4.1.2. It is the LTH-system capability of using the feedback from the external sensors in the robot systems built-in motion control that makes it possible to get a large sensor bandwidth and to use the system in these kind of applications [4].

2.2.1

Features of the System

The system is developed to easily change features and applications, which is the main focus in the FlexAA project. It is possible to load different controllers into the system depending on the application and end effector. The force feedback system at LiTH is developed to handle the drill application for the aircraft industry. The main focus in this controller is to be able to orient the end effector and establish a sufficient force to drill a hole exactly in the right position. Another advantage of this system is the possibility to change control parameters during execution depending on the material and properties of the workpiece.

The LTH-system is built to control all six degrees of freedom of the industrial robot. A special drill end effector has been designed at LiTH for the industrial robot IRB4400 used in LiTH laboratory and it will be presented in Section 4.1.3. The end effector is constructed to be able to control both the forces and the torques against the workpiece.

(22)

10 Background

2.3

Drilling with Industrial Robots

Drilling with robots has many advantages, but due to weakness in the robot struc-ture and poor position accuracy of some robot models there are only a few indus-trial robot systems of that kind used today. In this section the advantages and problems in robot drilling will be discussed.

2.3.1

Advantages and Problems

The advantage of using robots in drilling is the safety issue, when keeping humans away from dangerous environments, and to avoid to do the work manually to save time. In a large scale production the number of employees required to perform the work could be reduced considerably using industrial robots instead of humans. Using robots makes the system very flexible during run-time. The same robot could perform a large number of tasks and applications in the same program. Another advantage is the accuracy of the positioning of the end effector, but due to poor stiffness in some robot configurations the accuracy is sometimes affected. Because of the poor stiffness the robot structure may twist and bend and change the desired position during the process, leading to a misplaced hole or bad quality of the hole [27], see Figure 2.2. At complex workstations where many different applications are performed, robots could handle all these operations and make the whole process more automatic. Tasks that could be performed by the same robot are for example drilling, riveting and moving the workpiece and therefore shorting the lead time.

A disadvantage in robot drilling can be accessibility. Robot end effector solu-tions are often large and need a lot of space.

Extending the robot with a force/torque sensor in a feedback loop would make the robot better to interact with the environment, measuring the contact forces and therefore able to interact dynamically. When using a force/torque sensor it is possible to compensate for shifting and twisting in the robot relative the workpiece by a minor change in position towards the opposite direction of the undesired force.

2.3.2

Drilling in Aircraft Industry

The high requirements on the aircraft body structure have made it difficult to use robots in the drilling process due to their lack of stiffness and poor modeling of the environment. The most drilling is made manually with help of fixtures that are mounted on the workpiece. Advanced PLC systems are sometimes used but are often designed for the special task and therefore very expensive. Robots are a more flexible alternative but are today seldom used because of their lack of stiffness and absolute accuracy, as already mentioned in Section 2.3.1.

SAAB Aerostructure has recently invested in a drilling system, where a large KUKA industrial robot is used to drill in airplane doors for Boeing 787. The used KUKA KR 360 robot, see Figure 2.3, is an extremely large robot, and in the application it is striving for working in a small area, where the robot is the most stiff. The robot moves on a rail and an elevator to be able to reach all the

(23)

2.3 Drilling with Industrial Robots 11

Figure 2.2. When a force F is applied to the end effector, the robot may bend and

cause a sliding on the surface.

targets on the workpiece without stretching too long collaterally where the robot configuration is as most flexible. The robot system is designed just for this special application and because of all requirements very oversized to be as stiff as possible. This makes the system very expensive.

2.3.3

Industrial Robot Drilling Solution

There are a few solutions when using industrial robots to perform high position accuracy drilling tasks today. Two of these will be briefly presented here. Both these are built to measure the weakness in the robot and then compensate for this. The two solutions differ mainly in how the measurement is carried out.

Camera Measurement

There exist industrial robot systems which use one or more cameras mounted on the end effector to measure the deviation from desired position when clam-up is performed. These systems let the robot deflect in order to measure the sliding on the workpiece. Before clamp-up procedure the camera is used to set the reference position. During clamp-up the end effector is allowed to slide (skate) on the workpiece, and in this way the camera can measure the sliding of the end effector on the workpiece. After the sliding is measured the end effector is clamp-down and repositioned at the actual position. Now the skating effect is known and during the next clamp-up the robot compensates for this effect. An accurate positioning

(24)

12 Background

Figure 2.3. A large KUKA robot, KR 360, used at SAAB Aerostructure to drill in

Boeing 787 cargo doors. The robot is moved on a rail and elevator to be able to work near its "beauty spot" where the robot is the most stiff. [10]

is achieved. The disadvantage of this way of solving the skating problem is that the procedure is time consuming, because this procedure has to be performed at every new position.

Airbus recently installed a robot system using cameras to measure the relative position between the workpiece jig and the robot [14]. This system is used to drill and riveting on the D-Nose, the leading edge of the wing. With infrared light-emitting diodes (LEDs) mounted on the jigs and end effector the system uses the cameras and a triangulation methodology to track a six degrees of freedom movement. Measuring the relative position between the robot and the workpiece jigs at a high frequency, the system meets the requirements in position accuracy of less than 0.2 mm deviation.

Pre-measured Deflect Pattern and Algorithm

The solution that SAAB Aerostructure has chosen is to use an algorithm where the deflection of the robot is measured in a specific working area. Using a laser tracker of the end effector the robot deflection is measured in a large number of positions in an area where the robot will work. These measurements are then converted to an algorithm or a pattern which is merged with the robot control system to compensate for the deflection of the robot in contact. A force sensor

(25)

2.3 Drilling with Industrial Robots 13

is used to measure the contact force to extract the deflection compensation from the deflection pattern or the algorithm. This control task is running in the back-ground of the main robot controlling program in run-time, manipulating the robot position.

Another example where this way of solving the skate effect is used is by Hawker de Havilland [3] in Australia, where ailerons for Boeing 737 are produced.

Using this technique a lot of calibration and trimming must be done before the system can be used, which makes this technique time consuming before production can begin.

(26)
(27)

Chapter 3

Force Control

Many industrial robot applications only use position control or simple sensor based systems such as probing and moving to be able to follow the desired trajectory satisfactory. Many robot tasks have no need for force feedback, such as welding and painting, but in many applications the position control is not enough. In difficult assembling tasks, like grinding along an unknown path and when deburring, force control is needed due to the need of an accurate movement in contact with the environment. Without the sensor interaction, the process may damage or destroy the workpiece or the tool.

3.1

Overview

Force control in applications often requires a fast sensor interaction, but many industrial robots do not provide this [4]. The limitation is often that the sensor interaction is made through the slow robot program language, having a low sample frequency about 10 Hz, and not directly in the robot system. Force feedback is today seldom used due to lack of bandwidth in the sensor feedback loop or other system difficulties, like no open control architecture. Some robot manufacturers offer open control architectures which make it possible to implement a faster sensor interaction.

A large research area for industrial robots is vision control, and combined with force control it opens up many interesting applications. Strategies that handles this can be found in [20]. Using both vision control and force control when interacting with the environment make a larger scope of use and a higher safety possibility. Using a relatively slow vision control for positioning and a force control to detect contact with the environment could give a better performance in many tasks. For example, when grinding on a flexible structure, the vision can be used to locate the flexible structure.

(28)

16 Force Control

Sensors in Force Feedback

There are three ways to use a sensor in force feedback control; to measure the torque in the joint, to use a wrist force sensor on the wrist or to use a tactile sensor.

The most common and usually the best way to control the end effector is the wrist sensor [26]. The advantage of using the wrist sensor is that the force/torque sensor measures near the point where the robot often is controlled. In this way a simple orientation transformation can be used between joint coordinates and Cartesian coordinates, see Section 2.1 for a brief description.

The tactile force sensor approach is used in gripping applications, where a specific grip force is desired. When using tactile sensors the robot position is not necessarily modified from force measurements, and there is often an extended joint on the robot tip which is manipulated instead.

A more complex way to measure force/torque is to measure the torque in the robot joints. Transforming these joint measurements to the end effector is not so simple due to the lack of stiffness in robot gears and arms. Therefore this solution is seldom used. The robot position is measured with joint position sensors and the robot pose is achieved with forward kinematics.

In the LTH-system a force/torque sensors from JR3 Ltd. [15] is used as a wrist sensor on the end effector. This sensor is very stiff and will therefore not affect the position accuracy of the robot system. See Section 4.1.4 for the details.

Drilling with Force Control

In many applications there is no exact model of the environment, like for example modeling only static features and not the dynamics. Therefore problems arise when positioning the end effector when the robot is interacting with the environment. Even if a good model exists, the low-cost robot may not have enough absolute position accuracy. In some cases deviations up to over ±5 mm can occur and therefore much calibration is needed. The stiffness of the robot is often poor and causes problems in contact with environment because the robot may twist and bend in its structure and affect the position of the drilled hole. Sliding on the workpiece may result in a non-circular hole and a damaged tool. All these aspects are problems in robot drilling.

Force control makes it possible to adjust the drill tool to the workpiece to establish that no sliding or rotation of the drill tool occurs during drilling. The force feedback loop compensates for the poor stiffness of the robot during the contact clamp-up between end effector and environment. This is not a trivial problem. Lack of sensor bandwidth and noise in the model make it complicated.

Large forces perpendicular to the feed direction of the end effector may affect the quality of the hole negatively and make the hole oval. Another important aspect in keeping the transient forces small is to establish that the end effector stays in its position during the clamp-up, from contact until desired force in drill direction is achieved. Figure 3.1 shows an example where the transient forces are small relative the normal contact force. The figure demonstrates also the effect

(29)

3.1 Overview 17

off the drill forces during drill tool penetration, where the contact force is heavily reduced.

In Section 6.2 force data from experiments with the LTH-system will be pre-sented.

There are different ways to use the end effector during the drill performance when a sliding drill on the end effector is used, which is described below.

Figure 3.1. This plot presents a desirable force plot during a drill process. The

nor-mal force drops to -350 N (after 5 s) then the drill penetration occurs and the contact force reduces to approximately -50 N (after 7 s). The transient forces and the torque are between the crucial time around 4-5 s very small.

(30)

18 Force Control

Controlling the end effector before drilling. This method will result in that the workpiece will be affected with the same contact forces from the robot during the whole process. During the drill process an external sliding axis on the end effector is used. Due to the decreased force against the end effector during the penetration of the drill tool the total contact force will be constant. The robot will therefore not bend or twist during the process. A disadvantage when using this method is that the contact forces move from the end effector to the drill tool during drill process. If the contact force is too small, the end effector part will loose its friction and may slide, resulting in poor quality of the hole or wrong position of the hole.

Controlling the end effector during the whole process. Controlling the end effector position during the drill process guarantees that the end effector con-tact forces sustain during the whole process. When the drill tool, moved on a sliding axis, penetrates the material the total contact force increases and the robot will twist and bend and due to the force feedback the robot position will be com-pensated to this. But even the workpiece may be affected if it is not a stiff object, which may result in poor quality of the hole or wrong position if the force feedback system is not fast enough to compensate.

An alternative without sustaining any contact before drilling is to control the contact forces directly on the drill tool tip. Using a linear trajectory robot motion of the robot end effector, in this case the drill tool, to make the penetration of the work piece.

The advantage is the good accessibility because of the small tip solution. The large disadvantage is the eventually large forces in the drill tool that may result in damage of the drill tool. Only controlling the drill tool will make it impossible to control the normality of the hole.

3.2

Methods

There are mainly two control approaches for force feedback; hybrid and impedance control. These two approaches are described below and they can also be divided into sub approaches, as is explained here. General references in this chapter are Yoshikawa [28].

3.2.1

Hybrid Control

Hybrid control, which Raibert and Craig [19] proposed, switches between force and position control in certain directions, depending on the desired behavior. Both position and force are controlled simultaneously using a selection matrix S. The matrix is diagonal and its elements are 1 or 0. By multiplying the matrices S and (I − S) to the position respective the force control algorithm, the unique directions are extracted and are only used in one of the two control algorithms.

Due to different control algorithms along the directions, some simple variants of hybrid control may induce some problems with orthogonality. Because of the

(31)

3.2 Methods 19

selected directions, which are force and position controlled respectively, there could be some problem if the geometry of the modeled environment not correspond to reality. An unwanted oriented deviation of the end effector from the modeled environment or an unknown environment could cause a scenario where the robot end effector directions, and therefore also the selected unique control directions, do not correspond to the desired control direction on the workpiece. Position controlled motion could then be performed in directions which are not possible due to limitations in the environment. This problem is denoted as the orthogonal problem.

The question about orthogonality has been discussed by many researches, and methods to avoid this phenomena are presented in [9], [16] and [11].

The advantage of using hybrid control is the possibility to perform tasks where both position and the forces should be considered, for example inserting a peg in a hole and turning a crank. They are classical problems when using a robot with standard control algorithms.

Classical Hybrid Control

In classical hybrid control the dynamics of the robot is not taken into consideration and may therefore give an unstable response. A selection matrix, S, chooses the direction which should be position controlled and forced controlled respectively.

fe(t) = S[fd(t) − f (t)] (3.1)

re(t) = (I − S)[rd(t) − r(t)] (3.2)

The first equation shows how force control direction is extracted, where fe is the force error using force control. The difference between desired forces fdand the current measured forces f (t) is multiplied with the selection matrix, extracting the force error in force controlled direction. Likewise is the position error reextracted but with the left-over directions, I − S to be performed with position control. The position r is obtained from the robot position control. The diagonal matrix S controls in which direction each of the two control algorithms is used. Both reand feare in the end effector frame to avoid orthogonal problems. Using the inverse Jacobian

qe(t) = J−1re(t) (3.3)

and

τe(t) = JTfe(t) (3.4)

gives

u(t) = KP(qe, ˙qe) + KF t Z

0

τe(t0)dt0 (3.5)

The inverse Jacobian, J−1 is used to transform the force and position error back to joint coordinates, position qe(t) and force τe. See Section 2.1 for a short description of the robot kinematics. Equation (3.5) is a standard PID-controller

(32)

20 Force Control

which transforms the errors to a control signal, u(t), fed to the robot. The posi-tion error is compensated using a PD-controller and the force error is integrated (I-controller) down to zero.

Dynamic Hybrid

To get the hybrid control more stable the dynamics of the arm and end effector are modeled better in the control algorithm.

By combining equation (2.2) with the robot dynamics, the driving signal u is achieved as u = M J−1(uA− ˙J ˙q) + h(q, ˙q) − JT  0 uF  (3.6)

where M is the inertia matrix for the robot arm and end effector. The term ˙J ˙q is the joint velocity and h(q, ˙q) the external forces acting on the robot, like gravity, friction and centrifugal forces.

The variables uAcontains the implemented robot dynamics according to

uA=  ¨ rP d+ KP d( ˙rP d− ˙rP) + KP p(rP d− rP) −KF drF˙  (3.7)

KP d, KP p and KF d are robot dynamics matrices. The coordinate vector r = [rTP, rT

F]

T is used. The indices P and F on the position coordinate r represent position and force directions. uF is the signal from the force PI- controller. uF are described as

uF = fF d+ KF d(fF d− fF) + KF i t Z

0

(fF d(t0) − fF(t0))dt0 (3.8)

The force coordinates are expressed, f = [fT

P, fFT]T, in the same way as position coordinates r. Also here the matrices KF d and KF i controls the robot dynamics. A proper choice of the control matrices gives a stable and convergent system, as the time goes to infinity.

3.2.2

Impedance

The basic idea with impedance control is to control the system as a mechanical impedance system with force feedback. Mechanical impedance is the relation be-tween the robot velocity and forces acting on the system, that is, how much the robot resists surrounding forces as a function of frequencies ω. The relation can be described as

f (ω) = Z(ω)v(ω) (3.9)

where f (ω) represents the force, v(ω) is the system velocity and Z(ω) is the me-chanical impedance.

This approach was proposed by N. Hogan [13]. The system is seen as an inertia-spring-damper system with the respect to end effector. The robot is modeled with inertia, elasticity (spring) and damper characteristics of the robot. In this way the

(33)

3.2 Methods 21

robot end effector could be force and position controlled simultaneously without using a selection matrix for force/position control.

Classical Impedance

In classical impedance control the idea is to control the end effector with stiffness control and admittance control. An assumption which is made is that the force correspond to the displacement of the end effector. This is calculated

f = Kdpe (3.10)

the force acting on the end effector f behaves as a spring with characteristics given by the matrix Kd and displacement, pe= p − pd. Using the Jacobian J to transpose to joint coordinates gives the control algorithm

u = −Kqdqe (3.11)

where Kqd is the stiffness matrix and qe is the joint coordinate displacement. u is the robot driving force which is assumed to be equivalent to the end effector force f .

Because of the simple modeling of the end effector, gears and transmission this control algorithm may cause instability or have problems with accuracy. The accuracy of the Jacobian J depends on how exact the robot is modeled. Effects from position disturbance are often poorly suppressed and causes poor performance because it does not consider the end effector dynamics.

Dynamic Impedance

To get a more dynamic control some more attributes are added to the robot end effector [28]. The dynamic robot model used is

M ¨q + h ˙q + Kq = u + JT(q)f (3.12)

Here JT(q)f represents the external forces acting on the end effector, measured by a force/torque sensor. A desirable impedance for the end effector is

Mdp + D¨ dp˙e+ Kdpe= f (3.13)

where p is the position of the tool center point,(TCP) of the robot and pe is the deviation from the reference position. The desired end effector characteristics are described by the inertia, damping and stiffness matrices, Md, Dd and Kd.

By combining equation (3.12) and (3.13), a control law can be obtained as

u = JT(q)Mr(q)[Md−1(Ddp˙e+ Kdpe) + J (q)M−1(q)h(q) ˙q]

+ JT(q)[I − Mr(q)Md−1]f

when Mr= [J (q)M−1(q)JT(q)]−1 exists.

To achieve a better performance a motion feedback/feed forward loop can be implemented, see Section 3.2.4.

(34)

22 Force Control

3.2.3

Hybrid Impedance

In hybrid impedance the environment is taken into consideration and classified by its environment. A model of the interacting environment is chosen depending of the environment properties. This is made by using a classification scheme that selects what kind of control laws to be used. The classification is based on the environment resistive, capacitive or inertia characteristics, one class for each characteristics. In this way it is possible to control both by the impedance and the position/force control. The robot control algorithm is chosen form without the dual to the environment class. The duality is achieved in the same way as the duality of Norton and Thèvenin in the electrical circuit theory.

A way to describe it is to say that an inertial environment requires a position control algorithm, a capacitive environment a force controlled algorithm and a resistive environment both a position and force controlled algorithm.

3.2.4

Other Methods

Some other approaches exists. Among them a parallel force/position control which combines impedance control with position control.

Parallel force control

The idea with parallel control is to specify a desired end effector position, and still use impedance force control. The force control is only used in certain predefined directions. In both the position and the force controlled directions the position will be seen as a disturbance. Hence, the end effector will be force controlled through the position controlled trajectory. When the two control algorithms contradict each other, the force control strategy will dominate.

Motion feedback

A way to improve the performance of the force control system is to extend the force control with an inner motion feedback loop. Including the controller with an inner position loop reduces the effects of the disturbance. An alternative method is to use an inner velocity feedback loop, which gives the system a damping characteristics. This will result in the desired steady state contact force.

(35)

Chapter 4

The LTH System

This chapter gives a detailed description over the hardware used and the force feedback system developed at LTH, referred to as the LTH-system [22], [4].

4.1

Hardware

The LTH-system is used at two locations, at LTH and LiTH. The robot used at LiTH is an industrial robot, IRB4400 from ABB with a maximum payload of 60 kg, see Figure 4.1. The robot controller is a S4C+, the fourth generation of robot controllers from ABB . The inner positioning loop of the robot controller has been opened up in order to be able to get the new force controlled system to interact with the robot, see Figure 4.4. This has been done with help of ABB Robotics. In [4] a way to implement an open architecture is described, but only for ABB robots and will not work for other robot brands. To improve the bandwidth of the sensor interaction a processor, Motorola PCC-G4, with sensor interface and support for external computations and synchronization is installed into the robot controller, Figure 4.3. The end effector used to drill with is provided with a force/torque sensor JR3 150M50, see Figure 4.7. It is placed between the robot and the top of the end effector and is used to interact with the environment. The force/torque sensor measures six degrees of freedom, both force and torque in x, y and z directions. The force/torque sensor is connected with a PCI interface, through a PMC-PCI card, to the controller.

4.1.1

LTH-system Components

Components of the LTH-system is summarized here:

External computer - Called Master PC

Robot - ABB IRB 4400

Robot Controller - S4C+

(36)

24 The LTH System

Power PC card - G4 processor with memory, PMC Interface

PMC-PCI card - Interface between the Power PC card and the PCI Back-plane

Flash Disc - Replaces the original Ram disc of the robot controller

Advantech card - Inside the Master PC for basic IO coupling

Sensor - JR3/160M50 force sensor and corresponding computer interface

Network environment - Configured from the Master PC

Software environment on the Master PC - Makes it possible to execute and supervise ExtRAPID programs

Operating system on the robot controller - BaseWare, needed to maneuver the robot.

Figure 4.1. An ABB robot, model IRB4400 [1], used at LiTH as setup for the

LTH-system. This robot is a medium standard robot with 60 kg payload capacity and a diameter of 2 m of working area.

4.1.2

Additional Hardware

The original system uses only 10 Hz sampling frequency for extended sensor in-teraction, and that is not enough to achieve a fast, stable and accurate drilling system. To get a better bandwidth, additional hardware is necessary, see Fig-ure 4.2. By implementing some additional hardware a much faster and desirable bandwidth has been accomplished. Experiments on the LTH-system shows that a sampling frequency of 250 Hz, corresponding to a sample rate of 4 ms, is enough

(37)

4.1 Hardware 25

Figure 4.2. The ABB robot controller S4C+ and additional hardware used in the

LTH-system, such as the force/torque interface and the Motorola G4 processor which the force controller run on.

Figure 4.3. An overwiev of the complete LTH-system. The Master PC is connected to

the robot controller through a TCP/IP network. At LiTH the Sensor PC and the Master PC are the same.

to get a good performance near continuous time design in some applications [4], due to the inner position control loop in the robot controller. In some extreme force control applications a higher sampling rate than 4 ms may be required to give a good performance, for example in a very stiff environment or when a faster clamp-up contact is necessary.

(38)

26 The LTH System

The additional hardware added to the ABB S4C+ controller is a Motorola G4 processor together with a PMC to PCI card, to be able to communicate with the JR3 force sensor. The G4 processor communicates with the S4C+ through a shared bus and memory. The shared bus makes it possible to communicate faster than 4 ms and have access to the needed reference position from the force controller.

Figure 4.4. Robot controller architecture. The G4 processor handles the sensor data

and modifies the inner position loop of the S4C+ tracking value with an offset depending on the outcome from the force controller. In this way the force controller uses the S4C+ for positioning.

4.1.3

Drilling End Effector

The end effector used in the experiments is designed to evaluate the system per-formance. The force/torque sensor is mounted between the pressure foot and the drilling unit to establish that the desired force sustains during the drill process.

The end effector is built around a Desoutter pneumatic drilling machine [8] with a speed of 800 revolutions per minute (rpm). The feeding speed of the drill can be varied with a damper. The drill tool is a 5.0 mm HSS drill from Gühring [12]. A desirable position to mount the force sensor is near the actual TCP (tool center point), keeping the torque and forces in the sensors near the TCP values. Due to poor access to cutter, the placement of the force sensor is outside the cutter axis, see Figure 4.5. In order not to lose the sixth joint movement on the robot, the end effector drill direction points in an angular direction to the robots sixth joint. The drilling TCP is placed in the area around the rotation axis of the sixth joint to get a stiff configuration when pressing the end effector towards the workpiece. To attach the end effector to the robot a Capto, a triangular clutch unit, from Sandvik Coromant [23] is used, see Figure 4.5. This makes the drill end effector

(39)

4.1 Hardware 27

easy to replace with other tools. Using an air controlled clutch at the robot tool gives the robot a flexibility to change tool during run-time.

There are two end effector designs evaluated in this thesis. The first design of the end effector has three antennas centered around the tool center point (TCP), see Figure 4.5. The three antennas are chosen to be able to measure both torque and forces around the TCP. A symmetrical triangular position of the antennas around the drill axis makes it possible to have almost equal behavior in both negative and positive directions in every degree of freedom. The fact that three antennas are used makes it possible to land on curved surfaces. Using less antennas would make it impossible to orient the end effector orthogonal to the surface. Using four or more antennas on a curved surface will result in that one or more antennas would not establish contact with the surface and the end effector orthogonally to the surface could not be affirmed.

The second design is a circular end effector tip, see Figure 4.6. This is a smaller design, made to give the end effector a better contact accessibility. The circular foot has a different contact characteristics than the antennas. Until an orthogonal contact is established the circular foot will only have one point in contact, in contrast to the three antennas whose contact points grow from one to two and then finally three antennas during the orientation of the end effector.

Figure 4.5. The drilling end effector used with three antennas placed symmetrically

around the drill axis.

4.1.4

Force Sensor

The force sensor is a JR3 160/50M from JR3 Ltd. [15], with internal electronics, see Figure 4.7. It is a six degrees of freedom force and torque sensor with PCI interface.

There are different kinds of measurement techniques for measuring force. This JR3 sensor measures the resistivity of small metal fragments. When applying a force on the sensor these metal fragments will be stretched and therefore change

(40)

28 The LTH System

Figure 4.6. The drilling end effector with the circular tip. Here is also the automatic

Capto [23] clutch shown.

Figure 4.7. The JR3 force/torque sensor [15] used in the end effector to measure the

contact forces and torques.

their resistances. The JR3 has a very stiff design, which makes it possible to use the JR3 in this system were position accuracy is an important issue. It has also a wide measuring range and handles forces between 0–1000 N in z-direction and torques between 0–160 Nm. The JR3 force sensor measures the six degrees of freedom force/torque with a sample rate of 8 kHz, which is far enough for the LTH-control system.

The JR3 sensor was calibrated when installed on the end effector. Thereafter the sensor is initilized to zero every time the force controller is loaded to the system. The force controller also makes sure that the sensor is set to zero before any force controlling is performed, making it possible to change orientation between the drill processes. This is discussed more in Chapter 5.

4.2

Software

In the work to modify, develop and execute the LTH-system many types of software are used and developed. When adding extra hardware to the system the original

(41)

4.2 Software 29

robot software is not sufficient to handle the sensor data and the force controller execution. An external computer, Master PC, is therefore used to develop and handle the execution of the robot program. Another external computer is used to develop the off-line program in a robot simulation software.

4.2.1

Original Software

The original software consists of the programs that ABB has delivered with the robot. The operating system for the robot controller is ABB’s BaseWare OS [1]. This system controls the movements, the executed programs and the communica-tions inside the robot system.

ABB also offers an off-line programming software called RobotStudio [1]. This software contains a copy of the motion controller which is inside the robot con-troller, therefore a behavior, of the real system is achieved in the simulation soft-ware.

Model

The force controller is implemented in Simulink, an extension to Matlab. In this section the force controller model will be described and how it is compiled to be able to be imported to the robot controller.

The force controller is designed with a number of blocks. Figure 4.8 displays the model where there are three subsystems marked; force measuring transformer block, impedance and position-velocity modification block and one block handling the force clamp-up and the force gains modifications.

The force measurement handler, box number 3 in Figure 4.8, transforms the sensor data from sensor frame to end effector frame. The inertia and mass of the end effector will also be compensated for in this box.

The normal force reference signal is ramped up softly, depending on the present ramp speed, in box 2 in Figure 4.8, making the controller clamp-up softly to the desired contact force against the workpiece. Here are also the gains multiplied to the forces. The gains set the characteristics of the system focus and its response on different environments. This gain parameters will be discussed in more detail in Section 5.1

The dynamics is processed in the impedance block, box number 1 in Figure 4.8, where the force control algorithm lies. Most of the impedance code is written in the language C++ and then linked to the Simulink model. In Section 4.3 the impedance control implemented in the LTH-system will be presented.

Compiler

To be able to load the controller into the robot system, it is compiled from the Simulink model to C-code and loaded into the robot control system. In Simulink there is a compiler for real time applications, called "Real Time Workshop", and it compiles the Simulink model file into C-code. After this process the controller is possible to load into the G4 processor on the S4C+ via Opcom on the Master PC.

(42)

30 The LTH System

Figure 4.8. The Simulink force controller model. This model is compiled into C-code

and then executed on the Motorola G4 processor.

4.2.2

Master PC

It is through the Linux computer, Master PC, all the commands and instructions for communications with the robot controller are performed. Changes can be made in the force controller via Matlab/Simulink. It is also here the execution of the ExtRapid programs takes place. See Appendix A for a User’s Guide of the process. The operating system in the LTH laboratory computer is Fedora 4, which is a flavor of Linux. To be able to maneuver inside Fedora one should have basic knowledge in Linux or UNIX.

4.2.3

Opcom

To load the desired controller into the G4, the extended processor where the force controller executes, a special program called Opcom is used. The program presents four sub-windows when active. The interface and its four windows are seen in Figure 4.9. The upper two are for the S4C+ prompt and the new G4 prompt. The lower two are for controller load options and the controller parameters when the controller is loaded, if the parameter is specified in the force controller model. When the controller is in the load option the controller is not ready to interact with the robot, the software is just downloaded to the G4 system. To submit the loaded model means that the controller is merged with the robot system, but does not affect the position loop. The last mode is when the controller is in the obtain

(43)

4.3 Force Controller of the LTH-system 31

mode, that is when it is fully active in the system.

Opcom allows loading different controllers into the robot system and this makes the system very flexible. The same robot can for example drill holes in a workpiece and shortly after that change its features to grind or perform some other complex application, needing high bandwidth sensor interaction.

Figure 4.9. The interface in Opcom. In the lower right field the controller is loaded and

lower left the model parameters are configured. The upper left window is the prompt for the S4C+ controller and the upper right is the prompt for the extended G4 processor.

4.3

Force Controller of the LTH-system

The force controller implemented in the LTH-system is an impedance controller, which was discussed in Section 3.2.2. The controller is designed by Tomas Olsson at LTH [22].

4.3.1

Design

An overview of the implemented design of the controller can be seen in Figure 4.10. The force controller implementation is shown in relation to the robot and the environment. A disturbance compensation is modeled from knowledge of the robot characteristics and the output of the force controller, the external forces and the robot motor position.

Robot model

The response of the local robot system to external forces is modeled as

(44)

32 The LTH System

Figure 4.10. A simplified structure of the force controller implemented in the

LTH-system [22].

Mmpm¨ + D3pm˙ + Kpm= Kpa+ D4pa˙ + fc (4.2)

Here pa and pm represent the arm and the servo motor positions. Ma, Mm are the inertia matrices for the robot and the system, and D1to D4are the damping matrices. The spring characteristics of the motors and the arm are modeled in the K matrix. The external forces and servo torque are fe and fc. Extending the equations with a force feedforward/feedback loop, a full model over the robot motion is achieved.

This full robot motion model is then used to create a disturbance compensation seen in Figure 4.10. This model needs good knowledge of the robot characteris-tic. In the set-up used in LiTH laboratory this disturbance compensation is not modeled, because of lack of data of the robot. The absence of the disturbance compensator has only a minor influence at the LiTH robot model.

Force controller

The impedance force controller used in the LTH-system is modeled on the form

MI d 2

dt2∆p + DI d

(45)

4.4 ExtRapid 33

r = pref + Kdc∆p (4.4)

The inertia matrix MI and the damping matrix DIare diagonal matrices which are trimmed manually. Kdcis a decoupling matrix between the forces and torque in xy-directions. The force/torque from the environment is fe,f, with disturbance, and the force/torque reference to track is fr. pref is the pure motion based robot position reference from the S4C+ which is modified during the force control ap-plication, see also Figure 4.4.

4.4

ExtRapid

ABB’s standard robot control language is called RAPID [1]. Some new variables are needed in order to interact with the force/torque sensor JR3 and therefore a new language is developed. The language is called Extended RAPID (ExtRapid). ExtRapid was developed at Lund University (LTH). The first version of Ex-tRapid used the original RAPID instructions, but was extended with parts where the force control application was presented as comments. The force control com-ments were implemented with XML syntax, and in the ordinary language RAPID the force control is seen just like comments and does not affect the executed pro-gram. The latest version of ExtRapid does not use XML syntax, and a prefix for force instructions is used instead. A force instruction is declared using the prefix "FORCESET".

4.4.1

Task Execution

ExtRapid cannot be executed as normal RAPID code. To execute the ExtRapid code a Java application has been created at LTH. The Java application steps through the ExtRapid code and when the instruction is a RAPID instruction, the robot executes it as a normal RAPID instruction. When the Java application reads a force instruction, it executes this on the controller on the extended hardware.

The execution of S4C+ is done on three levels, see Figure 4.11. The first and slowest level is the program level, where the program code is collected. This program level is executed with a frequency around 10 Hz, and it is often in this level today’s sensor based system are interacting. Because of the low sensor sample frequency on this level it is not a sufficient sensor interaction for the drill task. In the next execution level the motion trajectory is planned. This level is much faster than the program level, with a real-time interaction around 250 Hz. ExtRapid is built to interact within this system level and that makes it possible to affect the motion. The third level is the servo stack, where servo reference and servo position are controlled. This is done with a frequency around 4 kHz.

4.4.2

Structure

ExtRapid is a language under construction. The structure of the language has changed from having a XML based structure to a prefix structure. At the moment ExtRapid at LiTH is designed to handle only the drill application. ExtRapid is

(46)

34 The LTH System

Figure 4.11. The system stack, describing the system levels in the execution. The

LTH-system makes it possible to use sensor interaction into the motion level. Normal standard robot system interacts with sensors only in the execution level.

however designed to handle different kinds of sensor interaction with the robot. Applications that could be interesting to develop ExtRapid further for is deburring and grinding.

A short code example of a ExtRapid task is presented below. The task will move from no contact to near contact via some positions, using Rapid standard movement instructions MoveJ and MoveL. In the ExtRapid code the force control parameters are set using the instruction FORCESET. In contact the robot will ramp-up the contact force to 400 N. The drill machine unit is then triggered by a force reference, drills one hole and then ramps down the force and goes back to the start position.

Code example:

MoveJ pos10, v50, fine, drill_TCP

//The robot moves to pos10 with 50mm/s MoveL pos20, v20, fine, drill_TCP

//The robot moves to final position, pos20, where the hole should be drilled.

FORCE

//Starts the force scope.

FORCESET ramp_speed := 150;

//Setting the ramp speed (mm/s), making the force reference //ramp up softly.

(47)

4.4 ExtRapid 35

FORCESET gains := 0;

//Disables force control in X,Y directions and torque control

FORCESET glob_gain := 1;

//Enables force control in the selected degrees of freedom.

FORCESET f_switch := 1; //Start impedance control.

WaitTime 0.1;

//Wait loop for 0.1 seconds.

FORCESET forceRef := 400;

//Setting the force reference in drill direction to desired //value (400N).

FORCEWAITUNTIL forceOut <= -10;

//A trigger instruction, waits until the force reaches -10N.

FORCESET gains := 1;

//Enables force control in X,Y directions and torque control

FORCEWAITUNTIL forceOut <= -390;

//A trigger instruction, waits until the force reaches -390N.

WaitTime 1;

SetDO bus2do8;

WaitTime 0.5;

SetDO bus2do8, 0;

//Start the drill by sending a pulse on the robot bus.

FORCESET glob_gain := 0;

//Turn off the force control and stays in current position.

WaitTime 8;

//Wait loop during drill phase.

FORCESET glob_gain := 1; //Enables force control again.

FORCESET forceRef := 0;

References

Related documents

46 Konkreta exempel skulle kunna vara främjandeinsatser för affärsänglar/affärsängelnätverk, skapa arenor där aktörer från utbuds- och efterfrågesidan kan mötas eller

Exakt hur dessa verksamheter har uppstått studeras inte i detalj, men nyetableringar kan exempelvis vara ett resultat av avknoppningar från större företag inklusive

För att uppskatta den totala effekten av reformerna måste dock hänsyn tas till såväl samt- liga priseffekter som sammansättningseffekter, till följd av ökad försäljningsandel

The increasing availability of data and attention to services has increased the understanding of the contribution of services to innovation and productivity in

Generella styrmedel kan ha varit mindre verksamma än man har trott De generella styrmedlen, till skillnad från de specifika styrmedlen, har kommit att användas i större

Närmare 90 procent av de statliga medlen (intäkter och utgifter) för näringslivets klimatomställning går till generella styrmedel, det vill säga styrmedel som påverkar

I dag uppgår denna del av befolkningen till knappt 4 200 personer och år 2030 beräknas det finnas drygt 4 800 personer i Gällivare kommun som är 65 år eller äldre i

På många små orter i gles- och landsbygder, där varken några nya apotek eller försälj- ningsställen för receptfria läkemedel har tillkommit, är nätet av