Drilling with force feedback

84
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 SE-581 83 Linköping, Sweden 581 83 Linköping

Transcript of Drilling with force feedback

Institutionen för systemteknikDepartment of Electrical Engineering

Examensarbete

Drilling with force feedback

Examensarbete utfört i Reglerteknikvid 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ögskolaLinköpings universitet Linköpings universitetSE-581 83 Linköping, Sweden 581 83 Linköping

Drilling with force feedback

Examensarbete utfört i Reglerteknikvid Tekniska högskolan i Linköping

av

Robert Isaksson

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

Handledare: Johanna Wallén, ISY, Linköpings universitetHenrik Kihlman, IEI, Linköpings universitet och DELFOiGilbert Ossbahr, IEI, Linköpings universitet

Examinator: Svante Gunnarsson, ISY, Linköpings universitet

Linköping, 23 September, 2009

Avdelning, InstitutionDivision, Department

Division of Automatic ControlDepartment of Electrical EngineeringLinköpings universitetSE-581 83 Linköping, Sweden

DatumDate

2009-009-23

SpråkLanguage

� Svenska/Swedish� Engelska/English

RapporttypReport category

� Licentiatavhandling� Examensarbete� C-uppsats� D-uppsats� Övrig rapport�

URL för elektronisk versionhttp://www.control.isy.liu.se

http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-ZZZZ

ISBN—

ISRNLITH-ISY-EX--09/4028--SE

Serietitel och serienummerTitle of series, numbering

ISSN—

TitelTitle

Borrning med kraftregleringDrilling with force feedback

FörfattareAuthor

Robert Isaksson

SammanfattningAbstract

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

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

NyckelordKeywords Industrial robot, drilling, force feedback, aircraft industy, impedance control

AbstractIndustrial robots have been used for a long time in the industry. Despite this thedevelopment of advanced force control system using industrial robots is relativelylimited. Using force controlled robot systems expands the possibility of what canbe done with industrial robots.

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

SammanfattningIndustrirobotar har länge varit vanliga i industrin. Trots detta hör robotar medavancerad kraftstyrning inte till vanligheten. Med kraftreglering på en industriro-bot utökas användningsområdet på robotar avsevärt. Forskare vid LTH och LiTHhar tillsammans med ett antal företag utvecklat ett kraftregleringssytem till enstandard ABB industrirobot. Detta system är inriktad mot flygindustrin där detfinns 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.

v

Acknowledgments

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

A special thanks to Johanna Wallén and examiner Svante Gunnarson for thehelp 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 languageand also Magnus Engström from Saab for introducing me to the problematic andknowledge of the aircraft manufacturing industry. Finally but not least I wouldlike to express my gratitude to my family and Terése.

vii

Contents

1 Introduction 11.1 Background . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21.3 Problems . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.4 Goal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.5 Related Research . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.6 Outline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

2 Background 72.1 Introduction to Robotics . . . . . . . . . . . . . . . . . . . . . . . . 72.2 The Force Feedback System . . . . . . . . . . . . . . . . . . . . . . 8

2.2.1 Features of the System . . . . . . . . . . . . . . . . . . . . . 92.3 Drilling with Industrial Robots . . . . . . . . . . . . . . . . . . . . 10

2.3.1 Advantages and Problems . . . . . . . . . . . . . . . . . . . 102.3.2 Drilling in Aircraft Industry . . . . . . . . . . . . . . . . . . 102.3.3 Industrial Robot Drilling Solution . . . . . . . . . . . . . . 11

3 Force Control 153.1 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.2 Methods . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.2.1 Hybrid Control . . . . . . . . . . . . . . . . . . . . . . . . . 183.2.2 Impedance . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2.3 Hybrid Impedance . . . . . . . . . . . . . . . . . . . . . . . 223.2.4 Other Methods . . . . . . . . . . . . . . . . . . . . . . . . . 22

4 The LTH System 234.1 Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.1.1 LTH-system Components . . . . . . . . . . . . . . . . . . . 234.1.2 Additional Hardware . . . . . . . . . . . . . . . . . . . . . . 244.1.3 Drilling End Effector . . . . . . . . . . . . . . . . . . . . . . 264.1.4 Force Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . 27

4.2 Software . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.2.1 Original Software . . . . . . . . . . . . . . . . . . . . . . . . 294.2.2 Master PC . . . . . . . . . . . . . . . . . . . . . . . . . . . 304.2.3 Opcom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

ix

x Contents

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

4.4 ExtRapid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.4.1 Task Execution . . . . . . . . . . . . . . . . . . . . . . . . . 334.4.2 Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334.4.3 ExtRapid Modification . . . . . . . . . . . . . . . . . . . . . 36

4.5 Simulation Tool . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 364.5.1 Off-line in Delmia . . . . . . . . . . . . . . . . . . . . . . . 36

5 Use and Modifications of the Force Controller 415.1 Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

5.1.1 Opcom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 415.1.2 ExtRapid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

5.2 Modification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.2.1 ExtRapid . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.2.2 Model . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

5.3 End Effector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

6 Requirements and Experiments 496.1 System Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 49

6.1.1 Requirements from the Aircraft Industry . . . . . . . . . . 496.1.2 The Demonstrator . . . . . . . . . . . . . . . . . . . . . . . 51

6.2 Experiments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.2.1 Skating . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 526.2.2 Drilling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 536.2.3 End Effector . . . . . . . . . . . . . . . . . . . . . . . . . . 546.2.4 Experimental Results . . . . . . . . . . . . . . . . . . . . . 55

7 Conclusions and Future Work 637.1 Conclusions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637.2 Future Work . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

7.2.1 Other Applications . . . . . . . . . . . . . . . . . . . . . . . 657.2.2 Delmia and LTH-system . . . . . . . . . . . . . . . . . . . . 65

Bibliography 67

A User’s Guide 69

B Postprocessor Modification 71

Chapter 1

Introduction

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

1.1 BackgroundRobots are widely used in the industry today, for example in welding, paintingand when moving objects, but in complex operations, the use of human hand isstill needed to obtain good performance. The industry wishes to use industrialrobots in these complex operations to increase productivity. In order to be ableto perform these complex tasks such as deburring, drilling and grinding, extrasensors with high sampling frequency are needed.

Research on more complex sensor based robot systems has been carried outfor decades, but few of the results have reached the industry. The reason is oftentoo low sampling frequency in the sensors, or having no access to the inner controlloop 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 theirapplications, such as drilling in the aircraft structures. This is due to poor rigidityand lack of position accuracy in today’s standard industrial robots. In the airplanemodels from Boeing more than 50 million holes are drilled per year, many of themmanually. When manually drilled, special fixtures and jigs are used to get theaccuracy needed. Manual drilling is time consuming and the manufacturing ofdrill fixtures is expensive. Using oversized robots, in order to get the high accuracyneeded in this application, would save time but would be expensive due to the highpurchase 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 asan expensive, oversized accurate robot, but to a much lower price. Through this

1

2 Introduction

master’s thesis it will be determined if a low-cost standard robot system with forcefeedback 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 LTHsupported them with their knowledge. Mats Isaksson from ABB Robotics helpedthem concerning the robot. Anders Blomdell, with others developed the softwareinterface to an external Linux computer. The new modified robot language for con-trolling the new system was created by Mathias Haage and Klas Nilsson, TomasOlsson developed the dynamic models and designed the force controller [22]. Thissystem developed by LTH will hereafter be referred as the LTH-system, to avoidconfusion and possible mix-up with other systems.

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

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

Figure 1.1. The working range in mm of an IRB4400/60 industrial robot from ABB [1].

1.3 Problems 3

1.3 ProblemsDrilling using an industrial robot is an advanced and difficult task, because it isrequired to keep the contact forces in such way that a good quality of the holeis achieved and that the hole is in right position. In the aircraft industry thesetwo aspects are very important because of the high requirements of the aircraftstructures.

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

In a flexible environment and when poor positioning is used, the angle of theend 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 toolbecause of the tangential forces that occur in the cutting tool.

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

The aim of the LTH-system is to meet the required quality of the aircraftmanufacturing industry, so that this force feedback system could be used in drillingapplications where high precision is needed. Today they use oversized robots,because of their stiffness to drill, or the drilling is made manually. The aircraftindustry 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 thedifficulties lie in orienting the piece in such way that the peg slips easily intoa hole. Applications like this need extra sensor control, such as a force/torquecontrol or vision control. Other similar problems are to assemble two complexstructured pieces together. To follow a contour on a complex surface and to keepa constant force is a problem which requires some kind of force control. Grindingapplications could benefit from this.

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

4 Introduction

system the model parameters in the force control model will be tuned to performwell, 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- system is shownin Figure 1.2.

Figure 1.2. The setup of the LTH-system used at LiTH. The robot is an ABB IRB4400with a payload of 60 kg. The LTH-system is tested when drilling on an aluminum surfacein the rig.

1.5 Related ResearchDespite the few force control systems used nowadays, the industry and the academiahas 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 manyof the projects never reached the industry floors. Nowadays the industry has seenthe advantages and possibilities to use force control in the production.

Pioneers in force control such as N. Hogan [13] and Raibert and Craig [19] havedeveloped basic methods like impedance control and hybrid control. De Schutterand Van Brussel [7], [6] have also contributed to the force control research towardsindustry floors. A summary of the research in the 80’s and 90’s is presented bySiciliano and Villani [25]. There are also a few other summaries in the area, suchas 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

1.6 Outline 5

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

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

The frame of the force feedback system will be presented in Chapter 4, bothhardware and software: the ABB robot programming language RAPID, and themodified language called ExtRAPID are mentioned. The different system modulesto execute programs will also be presented. Software and other help structures areconsidered, like the robot simulation software, Catia/Delmia. The modificationsand advantages using off-line programming will be discussed.

A system that is designed for an application needs tuning and modificationsto suit the performance and to perform well. In Chapter 5 the possible trimparameters 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 isdeveloped 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 alot of experiments have been carried out. Many aspects and phenomena must betested to make sure that the system satisfies its requirements. This is presentedin Chapter 6.

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

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.

Chapter 2

Background

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

2.1 Introduction to RoboticsToday 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. Oneway to classify industrial robot is from without their kinematic, the robot motioncharacteristics. Some of the classes of robot kinematics are articulated, cartesian,parallel and SCARA. The articulated robot class is robot structures with rotaryjoints. 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 useslinear joints and the SCARA are a mix of rotary and linear joints. In contrastto the described classes the parallel robot class uses multiple kinematics chains tocontrol 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, positionaccuracy, working envelope and speed. All these factors are affected of the class ofrobot and the power source, which can be electrical motors or hydraulic actuators.

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

L = T −U (2.1)

7

8 Background

and T and U are the kinetic energy and the potential energy, respectively. Thisgives 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 effectacting on the robot. The gravity acting on the robot is represented in the termg(q). There are also friction torques, F q in the robot joints. The actuating torqueon 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 theenvironment. To transform the vector h to joint coordinates the Jacobian is used.

The Jacobian is the relation between joint coordinates and the end effectorlinear 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 SystemThe force feedback system is a part of the project FlexAA (Flexible and AccurateAutomation) [18]. The project is carried out by LTH and LiTH in collaborationwith a few companies; SAAB Aerostructure, ABB Automation, see Figure 2.1.

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 thisproject. The first is to improve precision with simulation techniques and industrymethodology. The second idea is to set up a set of flexible fixtures with help ofrobots. 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 asdeburring, 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 wasdeveloped 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 intothe industrial production flow and at the same time achieve a better precision.Increasing the flexibility in industrial systems for the companies may result inlower investments, less special robot systems and thereby keeping the costs downfor the whole system. With the help of extra robot sensors, such as vision andforce/torque sensors, applications that are not possible with the original setupwould be possible. With vision sensors, advanced pick-up tasks are possible andwith force/torque control, applications such as deburring and grinding can behandled. 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 keptlow during the process in order to prevent sliding effects. In most robot systemstoday 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 fromthe external sensors in the robot systems built-in motion control that makes itpossible to get a large sensor bandwidth and to use the system in these kind ofapplications [4].

2.2.1 Features of the System

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

The LTH-system is built to control all six degrees of freedom of the industrialrobot. A special drill end effector has been designed at LiTH for the industrialrobot 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 torquesagainst the workpiece.

10 Background

2.3 Drilling with Industrial RobotsDrilling 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 andproblems in robot drilling will be discussed.

2.3.1 Advantages and ProblemsThe advantage of using robots in drilling is the safety issue, when keeping humansaway from dangerous environments, and to avoid to do the work manually to savetime. In a large scale production the number of employees required to performthe work could be reduced considerably using industrial robots instead of humans.Using robots makes the system very flexible during run-time. The same robotcould 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 dueto poor stiffness in some robot configurations the accuracy is sometimes affected.Because of the poor stiffness the robot structure may twist and bend and changethe desired position during the process, leading to a misplaced hole or bad qualityof the hole [27], see Figure 2.2. At complex workstations where many differentapplications are performed, robots could handle all these operations and make thewhole process more automatic. Tasks that could be performed by the same robotare for example drilling, riveting and moving the workpiece and therefore shortingthe 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 makethe robot better to interact with the environment, measuring the contact forcesand therefore able to interact dynamically. When using a force/torque sensor it ispossible to compensate for shifting and twisting in the robot relative the workpieceby a minor change in position towards the opposite direction of the undesired force.

2.3.2 Drilling in Aircraft IndustryThe high requirements on the aircraft body structure have made it difficult to userobots in the drilling process due to their lack of stiffness and poor modeling of theenvironment. The most drilling is made manually with help of fixtures that aremounted on the workpiece. Advanced PLC systems are sometimes used but areoften designed for the special task and therefore very expensive. Robots are a moreflexible alternative but are today seldom used because of their lack of stiffness andabsolute accuracy, as already mentioned in Section 2.3.1.

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

2.3 Drilling with Industrial Robots 11

Figure 2.2. When a force F is applied to the end effector, the robot may bend andcause a sliding on the surface.

targets on the workpiece without stretching too long collaterally where the robotconfiguration is as most flexible. The robot system is designed just for this specialapplication 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 SolutionThere are a few solutions when using industrial robots to perform high positionaccuracy drilling tasks today. Two of these will be briefly presented here. Boththese 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 onthe end effector to measure the deviation from desired position when clam-up isperformed. These systems let the robot deflect in order to measure the sliding onthe workpiece. Before clamp-up procedure the camera is used to set the referenceposition. During clamp-up the end effector is allowed to slide (skate) on theworkpiece, and in this way the camera can measure the sliding of the end effectoron the workpiece. After the sliding is measured the end effector is clamp-down andrepositioned at the actual position. Now the skating effect is known and duringthe next clamp-up the robot compensates for this effect. An accurate positioning

12 Background

Figure 2.3. A large KUKA robot, KR 360, used at SAAB Aerostructure to drill inBoeing 787 cargo doors. The robot is moved on a rail and elevator to be able to worknear its "beauty spot" where the robot is the most stiff. [10]

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

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

Pre-measured Deflect Pattern and Algorithm

The solution that SAAB Aerostructure has chosen is to use an algorithm wherethe deflection of the robot is measured in a specific working area. Using a lasertracker of the end effector the robot deflection is measured in a large number ofpositions in an area where the robot will work. These measurements are thenconverted to an algorithm or a pattern which is merged with the robot controlsystem to compensate for the deflection of the robot in contact. A force sensor

2.3 Drilling with Industrial Robots 13

is used to measure the contact force to extract the deflection compensation fromthe 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 robotposition.

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

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

Chapter 3

Force Control

Many industrial robot applications only use position control or simple sensor basedsystems such as probing and moving to be able to follow the desired trajectorysatisfactory. Many robot tasks have no need for force feedback, such as welding andpainting, but in many applications the position control is not enough. In difficultassembling tasks, like grinding along an unknown path and when deburring, forcecontrol is needed due to the need of an accurate movement in contact with theenvironment. Without the sensor interaction, the process may damage or destroythe workpiece or the tool.

3.1 Overview

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

A large research area for industrial robots is vision control, and combined withforce control it opens up many interesting applications. Strategies that handles thiscan be found in [20]. Using both vision control and force control when interactingwith 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 detectcontact with the environment could give a better performance in many tasks. Forexample, when grinding on a flexible structure, the vision can be used to locatethe flexible structure.

15

16 Force Control

Sensors in Force FeedbackThere are three ways to use a sensor in force feedback control; to measure thetorque in the joint, to use a wrist force sensor on the wrist or to use a tactilesensor.

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

The tactile force sensor approach is used in gripping applications, where aspecific grip force is desired. When using tactile sensors the robot position is notnecessarily modified from force measurements, and there is often an extended jointon the robot tip which is manipulated instead.

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

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

Drilling with Force ControlIn many applications there is no exact model of the environment, like for examplemodeling only static features and not the dynamics. Therefore problems arise whenpositioning 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 absoluteposition accuracy. In some cases deviations up to over ±5mm can occur andtherefore much calibration is needed. The stiffness of the robot is often poor andcauses problems in contact with environment because the robot may twist andbend in its structure and affect the position of the drilled hole. Sliding on theworkpiece may result in a non-circular hole and a damaged tool. All these aspectsare problems in robot drilling.

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

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

3.1 Overview 17

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

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 performancewhen 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 -350N (after 5 s) then the drill penetration occurs and the contactforce reduces to approximately -50N (after 7 s). The transient forces and the torque arebetween the crucial time around 4-5 s very small.

18 Force Control

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

Controlling the end effector during the whole process. Controlling theend 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 asliding axis, penetrates the material the total contact force increases and the robotwill 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 feedbacksystem is not fast enough to compensate.

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

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

3.2 MethodsThere are mainly two control approaches for force feedback; hybrid and impedancecontrol. These two approaches are described below and they can also be dividedinto sub approaches, as is explained here. General references in this chapter areYoshikawa [28].

3.2.1 Hybrid ControlHybrid control, which Raibert and Craig [19] proposed, switches between forceand position control in certain directions, depending on the desired behavior. Bothposition and force are controlled simultaneously using a selection matrix S. Thematrix 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 directionsare extracted and are only used in one of the two control algorithms.

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

3.2 Methods 19

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

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

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

Classical Hybrid Control

In classical hybrid control the dynamics of the robot is not taken into considerationand may therefore give an unstable response. A selection matrix, S, chooses thedirection 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 isthe force error using force control. The difference between desired forces fd and thecurrent measured forces f(t) is multiplied with the selection matrix, extracting theforce error in force controlled direction. Likewise is the position error re extractedbut with the left-over directions, I−S to be performed with position control. Theposition r is obtained from the robot position control. The diagonal matrix Scontrols in which direction each of the two control algorithms is used. Both re andfe are in the end effector frame to avoid orthogonal problems. Using the inverseJacobian

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

andτe(t) = JT fe(t) (3.4)

gives

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

t∫0

τe(t′)dt′ (3.5)

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

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 effectorare modeled better in the control algorithm.

By combining equation (2.2) with the robot dynamics, the driving signal u isachieved as

u = MJ−1(uA − J q) + h(q, q)− JT

[0uF

](3.6)

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

The variables uA contains the implemented robot dynamics according to

uA =[

¨rPd +KPd( ˙rPd − ˙rP ) +KPp(rPd − rP )−KFd ˙rF

](3.7)

KPd, KPp and KFd are robot dynamics matrices.The coordinate vector r = [rT

P , rTF ]T is used. The indices P and F on the

position coordinate r represent position and force directions. uF is the signalfrom the force PI- controller. uF are described as

uF = fFd +KFd(fFd − fF ) +KFi

t∫0

(fFd(t′)− fF (t′))dt′ (3.8)

The force coordinates are expressed, f = [fTP , f

TF ]T , in the same way as position

coordinates r. Also here the matrices KFd and KFi controls the robot dynamics.A proper choice of the control matrices gives a stable and convergent system, asthe time goes to infinity.

3.2.2 ImpedanceThe basic idea with impedance control is to control the system as a mechanicalimpedance system with force feedback. Mechanical impedance is the relation be-tween the robot velocity and forces acting on the system, that is, how much therobot resists surrounding forces as a function of frequencies ω. The relation canbe 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 withinertia, elasticity (spring) and damper characteristics of the robot. In this way the

3.2 Methods 21

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

Classical Impedance

In classical impedance control the idea is to control the end effector with stiffnesscontrol and admittance control. An assumption which is made is that the forcecorrespond 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 characteristicsgiven by the matrix Kd and displacement, pe = p − pd. Using the Jacobian J totranspose to joint coordinates gives the control algorithm

u = −Kqdqe (3.11)

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

Because of the simple modeling of the end effector, gears and transmissionthis control algorithm may cause instability or have problems with accuracy. Theaccuracy of the Jacobian J depends on how exact the robot is modeled. Effectsfrom position disturbance are often poorly suppressed and causes poor performancebecause it does not consider the end effector dynamics.

Dynamic Impedance

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

Mq + hq +Kq = u+ JT (q)f (3.12)

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

Mdp+Ddpe +Kdpe = f (3.13)

where p is the position of the tool center point,(TCP) of the robot and pe is thedeviation from the reference position. The desired end effector characteristics aredescribed 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(Ddpe +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.

22 Force Control

3.2.3 Hybrid ImpedanceIn hybrid impedance the environment is taken into consideration and classifiedby its environment. A model of the interacting environment is chosen dependingof the environment properties. This is made by using a classification schemethat selects what kind of control laws to be used. The classification is based onthe environment resistive, capacitive or inertia characteristics, one class for eachcharacteristics. In this way it is possible to control both by the impedance andthe position/force control. The robot control algorithm is chosen form withoutthe dual to the environment class. The duality is achieved in the same way as theduality of Norton and Thèvenin in the electrical circuit theory.

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

3.2.4 Other MethodsSome other approaches exists. Among them a parallel force/position control whichcombines impedance control with position control.

Parallel force control

The idea with parallel control is to specify a desired end effector position, and stilluse impedance force control. The force control is only used in certain predefineddirections. In both the position and the force controlled directions the position willbe seen as a disturbance. Hence, the end effector will be force controlled throughthe position controlled trajectory. When the two control algorithms contradicteach other, the force control strategy will dominate.

Motion feedback

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

Chapter 4

The LTH System

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

4.1 HardwareThe LTH-system is used at two locations, at LTH and LiTH. The robot usedat LiTH is an industrial robot, IRB4400 from ABB with a maximum payload of60 kg, see Figure 4.1. The robot controller is a S4C+, the fourth generation ofrobot controllers from ABB . The inner positioning loop of the robot controllerhas been opened up in order to be able to get the new force controlled systemto interact with the robot, see Figure 4.4. This has been done with help of ABBRobotics. In [4] a way to implement an open architecture is described, but only forABB robots and will not work for other robot brands. To improve the bandwidthof the sensor interaction a processor, Motorola PCC-G4, with sensor interfaceand support for external computations and synchronization is installed into therobot controller, Figure 4.3. The end effector used to drill with is provided witha force/torque sensor JR3 150M50, see Figure 4.7. It is placed between the robotand the top of the end effector and is used to interact with the environment. Theforce/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 ComponentsComponents of the LTH-system is summarized here:

External computer - Called Master PC

Robot - ABB IRB 4400

Robot Controller - S4C+

23

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 andsupervise ExtRAPID programs

Operating system on the robot controller - BaseWare, needed to maneuverthe 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 adiameter of 2m of working area.

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

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 forcecontroller run on.

Figure 4.3. An overwiev of the complete LTH-system. The Master PC is connected tothe robot controller through a TCP/IP network. At LiTH the Sensor PC and the MasterPC 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 extremeforce control applications a higher sampling rate than 4ms may be required togive a good performance, for example in a very stiff environment or when a fasterclamp-up contact is necessary.

26 The LTH System

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

Figure 4.4. Robot controller architecture. The G4 processor handles the sensor dataand modifies the inner position loop of the S4C+ tracking value with an offset dependingon the outcome from the force controller. In this way the force controller uses the S4C+for positioning.

4.1.3 Drilling End EffectorThe 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 thedrilling unit to establish that the desired force sustains during the drill process.

The end effector is built around a Desoutter pneumatic drilling machine [8] witha speed of 800 revolutions per minute (rpm). The feeding speed of the drill canbe varied with a damper. The drill tool is a 5.0mm HSS drill from Gühring [12].

A desirable position to mount the force sensor is near the actual TCP (toolcenter 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 cutteraxis, see Figure 4.5. In order not to lose the sixth joint movement on the robot, theend 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 jointto 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, fromSandvik Coromant [23] is used, see Figure 4.5. This makes the drill end effector

4.1 Hardware 27

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

There are two end effector designs evaluated in this thesis. The first design ofthe 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 torqueand forces around the TCP. A symmetrical triangular position of the antennasaround the drill axis makes it possible to have almost equal behavior in bothnegative and positive directions in every degree of freedom. The fact that threeantennas are used makes it possible to land on curved surfaces. Using less antennaswould make it impossible to orient the end effector orthogonal to the surface. Usingfour or more antennas on a curved surface will result in that one or more antennaswould not establish contact with the surface and the end effector orthogonally tothe surface could not be affirmed.

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

Figure 4.5. The drilling end effector used with three antennas placed symmetricallyaround the drill axis.

4.1.4 Force SensorThe 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 PCIinterface.

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

28 The LTH System

Figure 4.6. The drilling end effector with the circular tip. Here is also the automaticCapto [23] clutch shown.

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

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

The JR3 sensor was calibrated when installed on the end effector. Thereafterthe 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 forcecontrolling is performed, making it possible to change orientation between the drillprocesses. This is discussed more in Chapter 5.

4.2 SoftwareIn the work to modify, develop and execute the LTH-system many types of softwareare used and developed. When adding extra hardware to the system the original

4.2 Software 29

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

4.2.1 Original SoftwareThe original software consists of the programs that ABB has delivered with therobot. 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]. Thissoftware 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.

ModelThe force controller is implemented in Simulink, an extension to Matlab. In thissection the force controller model will be described and how it is compiled to beable to be imported to the robot controller.

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

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

The normal force reference signal is ramped up softly, depending on the presentramp speed, in box 2 in Figure 4.8, making the controller clamp-up softly to thedesired contact force against the workpiece. Here are also the gains multiplied tothe forces. The gains set the characteristics of the system focus and its responseon different environments. This gain parameters will be discussed in more detailin 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 inthe language C++ and then linked to the Simulink model. In Section 4.3 theimpedance control implemented in the LTH-system will be presented.

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

30 The LTH System

Figure 4.8. The Simulink force controller model. This model is compiled into C-codeand then executed on the Motorola G4 processor.

4.2.2 Master PCIt is through the Linux computer, Master PC, all the commands and instructionsfor communications with the robot controller are performed. Changes can be madein the force controller via Matlab/Simulink. It is also here the execution of theExtRapid 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 isa flavor of Linux. To be able to maneuver inside Fedora one should have basicknowledge in Linux or UNIX.

4.2.3 OpcomTo load the desired controller into the G4, the extended processor where the forcecontroller executes, a special program called Opcom is used. The program presentsfour sub-windows when active. The interface and its four windows are seen inFigure 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 whenthe 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 interactwith the robot, the software is just downloaded to the G4 system. To submit theloaded model means that the controller is merged with the robot system, but doesnot affect the position loop. The last mode is when the controller is in the obtain

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 workpieceand shortly after that change its features to grind or perform some other complexapplication, needing high bandwidth sensor interaction.

Figure 4.9. The interface in Opcom. In the lower right field the controller is loaded andlower left the model parameters are configured. The upper left window is the prompt forthe S4C+ controller and the upper right is the prompt for the extended G4 processor.

4.3 Force Controller of the LTH-systemThe 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 Olssonat LTH [22].

4.3.1 DesignAn 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 theenvironment. A disturbance compensation is modeled from knowledge of the robotcharacteristics and the output of the force controller, the external forces and therobot motor position.

Robot model

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

Mapa +D1pa +Kpa = Kpm +D2pm + fe (4.1)

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 arethe inertia matrices for the robot and the system, and D1 to D4 are the dampingmatrices. The spring characteristics of the motors and the arm are modeled inthe K matrix. The external forces and servo torque are fe and fc. Extendingthe equations with a force feedforward/feedback loop, a full model over the robotmotion is achieved.

This full robot motion model is then used to create a disturbance compensationseen 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 notmodeled, because of lack of data of the robot. The absence of the disturbancecompensator 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

MId2

dt2∆p+DI

d

dt∆p = fe,f − fr (4.3)

4.4 ExtRapid 33

r = pref +Kdc∆p (4.4)

The inertia matrixMI and the damping matrixDI are diagonal matrices whichare trimmed manually. Kdc is a decoupling matrix between the forces and torquein 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 robotposition reference from the S4C+ which is modified during the force control ap-plication, see also Figure 4.4.

4.4 ExtRapidABB’s standard robot control language is called RAPID [1]. Some new variablesare needed in order to interact with the force/torque sensor JR3 and therefore anew 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 wherethe force control application was presented as comments. The force control com-ments were implemented with XML syntax, and in the ordinary language RAPIDthe 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 forforce instructions is used instead. A force instruction is declared using the prefix"FORCESET".

4.4.1 Task ExecutionExtRapid cannot be executed as normal RAPID code. To execute the ExtRapidcode a Java application has been created at LTH. The Java application stepsthrough the ExtRapid code and when the instruction is a RAPID instruction, therobot executes it as a normal RAPID instruction. When the Java application readsa 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 firstand slowest level is the program level, where the program code is collected. Thisprogram level is executed with a frequency around 10 Hz, and it is often in thislevel today’s sensor based system are interacting. Because of the low sensor samplefrequency on this level it is not a sufficient sensor interaction for the drill task. Inthe next execution level the motion trajectory is planned. This level is much fasterthan the program level, with a real-time interaction around 250Hz. ExtRapid isbuilt to interact within this system level and that makes it possible to affect themotion. The third level is the servo stack, where servo reference and servo positionare controlled. This is done with a frequency around 4 kHz.

4.4.2 StructureExtRapid is a language under construction. The structure of the language haschanged from having a XML based structure to a prefix structure. At the momentExtRapid at LiTH is designed to handle only the drill application. ExtRapid is

34 The LTH System

Figure 4.11. The system stack, describing the system levels in the execution. TheLTH-system makes it possible to use sensor interaction into the motion level. Normalstandard 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 deburringand grinding.

A short code example of a ExtRapid task is presented below. The task willmove from no contact to near contact via some positions, using Rapid standardmovement instructions MoveJ and MoveL. In the ExtRapid code the force controlparameters are set using the instruction FORCESET. In contact the robot willramp-up the contact force to 400N. The drill machine unit is then triggered by aforce reference, drills one hole and then ramps down the force and goes back tothe 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.

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;//Changing force reference back down to 0.

36 The LTH System

WaitTime 5;//Gives the robot time to controlling the force.

FORCESET f_switch := 0;//Turning off the impedance force control.//Robot moves back to its position before using force control.

WaitTime 1;

ENDFORCE//Ending the scope with force control.

MoveL pos30, v50, fine, drill_TCP//The robot moves away from force controlled position.

4.4.3 ExtRapid ModificationDuring test and development of the system, more and more functions are found tobe needed and controlled from ExtRapid. The software that handles ExtRapid iscreated so it easily can be modified, by editing the interface files between ExtRapidand the controller model in Matlab. Due to this the system is very easy to adaptto other applications, such as deburring and grinding. Instructions that make itpossible to change the controllers gain parameters are developed in this master’sthesis. This will be discussed further in Chapter 5.2.1.

4.5 Simulation ToolAn important tool in the robot industry today is the possibility to simulate therobot motion in software before running the robot on the floor. Building a modelfor the process in software and simulating the process gives a larger understandingof what problems to expect. A parallel work has been performed where the focusis using Delmia to simulate and develop ExtRapid programs [21].

4.5.1 Off-line in DelmiaDelmia V5 is a plug-in to the Cad software Catia where simulations of robotprocesses can be made. In Delmia it is possible to import pre-made robots intoCad models of the robot environment. The robot can be jogged manually or movedwith processes and tasks.

Robot programs made in Delmia can be compiled to a complete robot languageprogram suited for most of the large industrial robot manufactures. There is noguarantee that the compiled robot program will work in reality. Due to singularpoints, where it is a large numbers of robot configurations possible, and otherreasons there is a risk that the robot moves incorrectly or not at all. It existssoftware that can guarantee the same trajectory in runtime out in the market,like ABB’s RobotStudio mentioned before. This uses an exact copy of the robot

4.5 Simulation Tool 37

controller driving the physical robot. Figure 4.12 shows the robot cell built inDelmia for simulating and generating Rapid and ExtRapid language programs. Inthe software robot cell there is an aluminum surface rigged exactly as in the robotcell in the laboratory. This surface is used to perform some of the tests in thisthesis. The surface is probed by the robot, mounted with a probe connected to theS4C+ controller in the laboratory, where the coordinates of the surface are storedin a text file. The coordinates are then imported into the robot cell in Delmia anda model of the reality is achieved by the software. Tests indicate that the modelvariations are less than one millimeter on the surface.

Figure 4.12. The Cad model of the robot cell standing in LiTH laboratory. With thisrobot cell off-line simulations are made with Delmia, and then robot program is createdto be executed in the laboratory. An aluminum surface is probed and placed exactly asin the real robot-cell.

ExtRapid in Delmia

From the beginning the ExtRapid code was merged manually into the RAPID codeby a text editor and placed where the force control process should be performed inthe program. A much more desirable way is to import the force data parametersdirectly into Delmia, where the robot program is developed. In this way there isno need for extra editing after the program from Delmia has been compiled.

To import ExtRapid functionality into Delmia the force code was implemented

38 The LTH System

as comments into Delmia’s robot motions. By adding PostComment or PreCommentto a robot motion the force data were visible in the compiled robot program butwith a comment prefix, ’!’. The process which compiles the Delmia program isthe post-processor, extracting and building up the executable robot program. Thefile used to do this is an XML macro, which can easily be modified. Thereforethe attributes of the PostComment are copied and modified in the macro file, to acomment type called ExtRapid but without the compiled prefix, see Appendix Bfor post-processor modifications. The result of the post-processor can bee seenin Figure 4.13, using both the standard Rapid post-processor and the modifiedExtRapid post-processor.

Figure 4.13. The post-processor selection in the robot program compiler in Delmia.The difference between Rapid (left) and ExtRapid (right) post-processor output, usingExtRapid comments.

An interface to Delmia is developed by Dassault Systems, making it possibleto add ExtRapid simply and modify existing ExtRapid. It will also be possible tochoose ExtRapid package with predefined features, depending on the propertiesof the workpiece. See Figure 4.14 for an example of this interface. When drillingthousands of holes, this is a powerful and easy way to quickly assign force attributesto the holes.

4.5 Simulation Tool 39

Figure 4.14. An example how the robot cell with ExtRapid instructions and a forceattribute interface could look in Delmia. This interface will make it easy to use pre-defined force data scopes or customize each value one by one.

Chapter 5

Use and Modifications of theForce Controller

As mentioned in Chapter 4.2 it is possible to load the system with different kind ofcontrollers, depending on the application. In the drill application there are a lot ofparameters and characteristics that must be tuned to get a desired drilling process.The system reacts differently depending on the characteristics of the workpiece,for example if it is rigid or soft. If the surface is very stiff and firm the system hasa tendency to become unstable. This is because the system is more sensitive todisturbances and insufficient sampling frequency in a stiff environment.

Depending on the end effector used the parameters could differ. For examplethe features of the torque control are not equal for the circular tip end effectorand the three antennas end effector.

5.1 ParametersThe parameters that are possible to adjust before and during a drill program aredisplayed in Opcom and through ExtRapid instructions. All the other parametersand the characteristics of the system must be modified in the force control modelin Matlab/Simulink.

5.1.1 OpcomVia Opcom the tool properties, movement safety region and basic control pa-rameters are visible for the user. All these parameters are pre-set in the loadedcontroller but can be changed through Opcom’s interface.

Safety is an important aspect when using robots because of the damage andinjury risks. Therefore it is important to set up safety parameters depending onthe performed task. For example if the drill process is known to make a largemovement, a large work area must be allowed. The drill controller has two param-eters for controlling that the end effector does not move outside the work area.

41

42 Use and Modifications of the Force Controller

These parameters are limits in translation and rotation. If the movement exceedsthese parameters, the controller will halt the ongoing instruction. The param-eters are pre-set in the controller to a few millimeters and a few degrees. In astiff environment these safety parameters should be kept small but in compliantenvironment the parameters must be set considering the possible large deflectionof the environment in the clamp-up process.

The gains multiplied with the force are crucial parameters for the system sta-bility and should therefore be altered in small steps and with care. In Opcom thereare six visible gain parameters. These parameters amplify the force and torqueinto the controller. Since there is no force control around the drill axis during thewhole process the sixth gain parameter is set to zero.

Depending on the workpiece and application, the parameters can be set largeenough to get a good performance. The gain ratio between the different controlleddegrees of freedom is one aspect to consider. This will form the main topic ofcertain aspect of the task. If, for example, the force gains to force compensate intangential directions are increased during clamp-up, this may result in reducingthe torque compensating properties.

5.1.2 ExtRapidThe specific parameters for each task will be defined in the program code. Withinthe ExtRapid program it is possible to change the most important control

parameters to perform as well as possible in each task, based on the characteris-tics of the workpiece. The advantage of adding these parameters inside ExtRapid,and not in the controller itself, is that each hole can be set with unique parameters.The workpiece may not have the same characteristics all-over and different drilltools may need different contact forces of the end effector. The workpiece surfacefriction can also vary, and a faster or slower clamp-up speed can be desired.

In ExtRapid it is possible to specify the clamp-up speed in mm/s by settingthe variable ramp_speed in the beginning of the force scope, as in

FORCESET ramp_speed := 150;

Here the clamp-up speed is set to 150mm/s. This ramp_speed limitation is onlyactive when the forceRef is recently set, and depending on the desired forcereference the reference is ramped up in a few seconds. This limitation is howevernot triggered by measured force values. If the end effector is located far from thesurface, it could miss this ramp limitation.

It is possible to change the gains of the force and torque through ExtRapidwith glob_gain and gain

FORCESET glob_gain := 1; FORCESET gain := 1;

where glob_gain is an on/off variable used to enable and disable the force con-trol, and the gain parameter is used to change the specific gains. The gain is alsoused to make the system more accurate in the phase where the end effector seeks

5.1 Parameters 43

contact with the workpiece, see Section 5.2.1.

Different tasks need different contact forces, and the parameter forceRef de-fines the reference force used in the task.

FORCESET forceRef := 400;

Here the force reference is 400N. In the drill application it is important to have asufficiently large force and this depends on feeding and drill size, which is discussedin Chapter 6.2.2.

To optimize the drill tasks with respect to time, it is possible to use a triggerfunction which is triggered by a defined force value. In this way the different partsin the process can be optimized, instead of using time delays.

FORCEWAITUNTIL forceOut <= -390;

The program loops until the desired force is reached, in this case -390N. This isuseful in the drill penetrating phase where the drill causing the end effector todecrease its contact and therefore it is possible to see when the drill phase is over.

Soft Workpiece Parameters

Typical parameters used in a soft and flexible workpiece during a drill task arelisted in this section. In very soft materials the instability aspects are less impor-tant than in a stiff workpiece. Because of smaller environmental disturbances dueto a less stiffer closed mechanical system, the system will tolerate larger controllergains. In a typical soft environment with a spring constant of about k = 10 kN/m,the factor between the force and the torque parameters is about 4. Examples ofparameters are

• ramp_speed = 250 mm/s

• gain = [2.5 2.5 1 0.6 0.6 0]

These parameters are used with the circular end effector. Using the three antennasthe torque gains should be lowered because of its wider design towards the surfacein contact. Here 250mm/s is used because of the compliance in the workpiece. Alarge movement can be made without having a large force change. The first threevalues in the gain vector are the force gain parameters, that is force in x, y and zdirections. The last three values are for gain in the torque directions.

Rigid Workpiece Parameters

In the case when a firm and rigid surface is to be drilled, another set of parameterswill be used to minimize the risk for instability. The setup could be a well fixedmassive metal structure which is not deformed. In this almost completely stiffenvironment, the torque control has a greater effect on the stability of the system.Here the factor between the force and torque parameters has to be about 8-10 to

44 Use and Modifications of the Force Controller

perform well. Using too large gains the system will start to oscillate and performbadly. Useful parameters are

• ramp_speed = 100 mm/s

• gain = [2 2 1 0.2 0.2 0]

5.2 ModificationTo make the drill process more effective and accurate new options are developed,both in the controller and in the ExtRapid language. One important modificationis the possibility to suppress disturbances from the force sensor during search ofthe end effector towards the surface.

These modifications have been made with help from Mathias Haage and TomasOlsson due to their knowledge of the LTH-system.

5.2.1 ExtRapidA big problem in positioning the end effector is that sometimes a poor model of theenvironment is used. Because of this it may be difficult to position the end effectornear the surface, and therefore a safety distance of several millimeters is needed.When the force control is activated the movement towards the surface is madealong the drill direction. Because of disturbances in the force sensor a drift in theX and Y directions is possible due to the sometimes long distance to the surface.To make sure that this trajectory is followed, the force control in the X and Ydirections must be turned off. A vector-valued parameter that is coupled only tothe forces in the X and Y directions was introduced, and it is called gain. In thisearly stage the ExtRapid does not handle vectors. Therefore the gain parameteris only a scalar in ExtRapid and then in the translation into the force controllerit is converted into a vector. The gain parameter is also modified to affect thetorque gains around X and Y in order to not affect the orientation of the searchtowards the surface.

5.2.2 ModelA few modifications are implemented in the controller in order to improve per-formance and make the system easier to run. These are gravity compensation,smooth leaving from surface and adding gain parameters.

Gravity Compensation

Drilling on large and complex workpieces sometimes needs large re-orientationof the end effector when changing work area. Therefore it is important that theforce sensor and the controller compensate for the force measurement offset causedby the gravity of the end effector, otherwise an offset in force and torques willbe measured in every new task and a poor control will be obtained, following

5.3 End Effector 45

a false reference. In the beginning the system was not able compensate for there-orientation and the force sensor was therefore initialized before every new drillposition. A gravity compensating block was created to compensate for the gravityof the end effector. This block makes an offset to the force sensor measurementsin the controller prior to the last drill position. This is done every time f_switchis set in the ExtRapid execution. See Figure 4.8 in Section 4.2.1 for the Simulinkmodel of the force control system. For this function the center of mass and themass of the end effector tip are calculated. The calculation is made in the Cadsoftware Catia and by rotating the end effector on the robot and then calculatingit from measured force data.

Leaving the surface

When the drill process is finished, the robot needs to move away from the surface.In this movement it is not important how accurate the movement is, but a smoothmovement is desired to prevent damage on the end effector and the workpiece.

When the end effector has clamped-down, the controller starts its linear trackback without force control to its starting point. In some cases where the endeffector makes a large and advanced movement during a task, a heavy "wrench"could be seen during the lift off from the surface, see around time 33 s in Figure 5.1.Complementing this linear track back loop with a signal limiter for the traceback signal, the wrench effect could be minimized to a more smooth and desiredtrajectory. Making a too large signal limiter makes the system move in a slowrotation movement. See Figure 5.2 for an overview of the step response of thetrack back algorithm. In the figure the rotation signal is damped less than themovement. This turns out to work better than equally damped signals throughoutexperiments.

Gain Parameters

In Figure 5.3 the implementation of the gain parameter is shown. The parametersfrom the gain vector are multiplied element-wise with the glob_gain to turn onand off the force control. The resulting gain vector is then multiplied with theforces.

5.3 End EffectorThe first end effector, with the three antennas, was not a qualified solution forthe aircraft industry, and therefore a circular end effector was tested. By usingthe same length in the z-direction for the new construction, no major controllermodification is needed. The circular end effector is developed with respect tothe requirements by the aircraft industry, described in Section 6.1, and the endeffector used today at SAAB Aerostructure on their industrial robot drill system,see Figure 5.4. Because of the small diameter of the circular end effector, the firsttest was done to establish that the torque control worked. After some tests the

46 Use and Modifications of the Force Controller

Figure 5.1. A plot showing the position deviation in both X and Y directions duringa clamp-up clamp-down process. At approximately 33 s a large disturbance affects theposition. This wrench is made by the controller’s track back loop. This is an undesiredbehavior due to the possibility to damage the end effector or the environment.

Figure 5.2. The modified track back trajectory of the end effector after leaving thesurface. Here the response from a step is shown. The solid line is the position trackback which has been limited. It has a slower track back trajectory than the rotation toprevent a heavy wrench. This configuration has worked well during the experiments

new end effector was proven to perform well despite its small diameter, 30mm.The test of the end effector performance is presented in Section 6.2.3.

5.3 End Effector 47

Figure 5.3. The gain vector parameters is multiplied with the model pre-set parametergains. After that it is multiplied with glob_gain.

Figure 5.4. A CAD model over the end effector used at SAAB Aerostructure. The endeffector tip is circular [10], simular to the one tested on the LTH-system at LiTH.

Chapter 6

Requirements andExperiments

To make the aircraft industry interested in the LTH-system a demonstrator hasbeen developed. The requirements and the equipments are discussed in this sec-tion. The results of experiments using the LTH-system are presented and com-pared with the requirements.

6.1 System Requirements

Today the aircraft assembly industry uses many manual methods to drill and rivetin aircraft bodies because of the complex operation, working from two sides ofthe workpiece. More and more of these operations are however performed byrobots. To keep the high accuracy and performance when using an industrialrobot, large and expensive robots are needed. There are certain requirements onthe drilling and riveting in the aircraft industry, for example accurate positioning.The force feedback system is tested and designed to suit these requirements and ademonstrator is developed to demonstrate that the requirements of high accuracyand performance are obtained.

6.1.1 Requirements from the Aircraft Industry

In this section a list of requirements for some large aircraft industries are listed.When SAAB builds the components for the Airbus aircraft they have requirementsfrom Airbus, and these are used in this thesis [10]. The priority 1 requirement isthe most interesting for the demonstrator at LiTH, because of the LTH-systemfeatures. Priority 2 requirement will be concerned, but not with the same effort.Because of the drill machine limitations in various areas, some requirements arevery hard to achieve and they will therefore be set to priority 3.

49

50 Requirements and Experiments

First Requirement

The first requirement for robot drilling is that accuracy in positioning of the holeis obtained. When drilling manually, special fixtures are used for positioning thehole, and in this way the accuracy is kept high, but the procedure is time consum-ing. The desired accuracy of the hole is generally ±0.5mm. This is an importantrequirement on the LTH-system due to its ability to suppress skating which affectsthe position.

No. Demand Priority1 A positioning accuracy of maximum ±0.5mm. 1

Second requirement

Another dimension to evaluate is the hole diameter and its tolerance. In everydrill size there is a specified tolerance range of the diameter. Table 6.1 showshole tolerances for Boeing, which also SAAB Aerostructure uses. Because of theslow rotational speed of the drill machine used in the system at LiTH, this is onlymarked with priority 3. The drill machine should have, at minimum, a rotationspeed of 4000 rpm to be sufficient for the drill tool and workpiece used at LiTH.The drill machine used at the LiTH is not satisfying the drill tool requirementsand may therefore not create an optimal hole characteristics.

Drill [inch] Diameter [mm] Minimum [mm] Maximum [mm]3/16 4.850 4.826 4.9021/4 6.375 6.350 6.4265/16 7.963 7.935 8.013

Table 6.1. Diameter range for some standard dimensions used by Airbus and thereforealso by SAAB [10].

No. Demand Priority2 The hole diameter must be in the range of this table,

Drill Diameter Minimum Maximum3/16 inch 4.850mm 4.826mm 4.902mm1/4 inch 6.375mm 6.350mm 6.426mm5/16 inch 7.963mm 7.935mm 8.013mm

i.e in an approximal error range of ± 0.025mm.

3

Third Requirement

In small aircraft parts there is no possibility for a large end effector to be posi-tioned. There are also often metal pieces sticking out from the workpiece making it

6.1 System Requirements 51

hard to position the end effector. The end effector with the three large antennas istherefore not desirable to use because of its structure. A smaller end effector mustbe developed to get it more flexible. A circular top on the end effector is preferable,and this could manage a larger complex surface. This accessibility requirementis an important requirement in aircraft industry, but because of the focus on theLTH-system and lack of design knowledge this will be treated as priority 2.

No. Demand Priority3 The accessibility of the end effector at least 20mm

from an edge.2

Fourth Requirement

In order to be able to compete with other drill systems, a short cycle time is de-sired. Drilling millions of holes, the hole to hole movement time must be short.This requirement is set from a point of view of the large robot drill system usedtoday at SAAB Aerostructure. As mentioned before the drill machine has variouslimitations. One of them is the possibility to control the drill feeding process. Theprocess in now triggered with a pneumatic pulse, and after this the process is notpossible to control. Because of this there are some large time consuming sectionsin the process which maybe could have been avoided with another drill machineunit. The requirement is therefore assigned priority two.

No. Demand Priority4 The cycle time for the drill process must be shorter

than 10 s.2

Fifth requirement

A normality requirement also exists. One must be able to perform riveting afterthe hole has been made. For the rivet to fit the hole the normality may differat most ±1 ◦. If the hole normality deviation is greater, the drill sinkage will bepoor and the rivet will not satisfy the aircraft requirements. This is one of theadvantages with the LTH-system and therefore it will be given priority one.

No. Demand Priority5 A deviation in normality of maximum ±1 ◦. 1

6.1.2 The DemonstratorThe demonstrator consists of the LTH-system described in Chapter 4. The robotstands on a framework made of BoxJoint, see Figure 1.2.

52 Requirements and Experiments

The robot program is created with a computer equipped with Delmia, seeSection 4.5.1, where a simulation rig is built. The work area is probed to be anexact model of the real rig. The ExtRapid program consists of a movement nearthe aluminum surface and will clamp-up and drill on a few points around thesurface in a wide area, to demonstrate the large working area.

The robot is equipped with the circular end effector tip because of its moreattractive solution for the aircraft industry. The problem with this solution in thisearly stage is its poor ability of get rid of the burrs.

This is not a final demonstration of the LTH-system, and it is just meantto be a demonstration of the great functionality of the LTH-system in the drillapplication. The set-up will be standing in the laboratory at LiTH for furtherdevelopment and testing.

All the requirements presented above are important to the aircraft industryand therefore this demonstrator will be tested in these aspects.

6.2 ExperimentsA large part of this master’s thesis is to evaluate and test the performance of theLTH-system. Much time is spent on experiments, to verify that the system fulfillsthe requirements presented in Chapter 6.1. Experiments that have been madeinclude; measurement of the sliding effect during clamp-up, quality of the hole,normalization performance and the cycle time of the drill process.

First the experimental conditions are discussed and then in Section 6.2.4 theresults are presented.

6.2.1 SkatingThe most important thing during drilling is that the desired position is maintaineduntil the hole is made. Using a robot to clamp-up a contact force between theend effector and the environment makes the robot structure twist back. If theend effector is forced towards a rigid body, the end effector will, due to the poorstiffness, create a force along the tangential direction along the surface on the rigidbody. When this force is growing too large, over the static friction of the contact,the end effector will start to slide on the surface and this phenomenon is calledsliding or skating. Skating may also occur when the end effector presses againsta flexible body, making the workpiece to slide relative to the robot end effector.To avoid this skating effect the forces along the surface must be kept low, lowerthan the maximum static friction force. To achieve that, the robot servos mustcompensate for its flexible arms, compliance in gears in the robot and the contactobjects movement.

Keeping the robot in a straightforward position, see Figure 4.1, will minimizethe deflection made by the robot but it is not always possible to work in thisposition, as mentioned in Section 2.3.2. This could be solved by using a rail forthe robot or use stiff robots, but this creates other problems such as economic andaccuracy issues.

6.2 Experiments 53

To measure this skating effects, several tests are made both with force feedbackin five degrees of freedom and only force feedback of the normality torque controlwith the end effector. A number of stations are placed around the robot to makethe test, see Figure 6.1. The stations are set up to evaluate the robot characteristicsin a large work area, with focus on the skating effects.

Figure 6.1. Locations of test stations on the robot rig where skating tests are made.

6.2.2 Drilling

An important issue is to get a good quality of the drilled hole. To get that it isimportant that the end effector is stable during drilling. Therefore an end effectornormal force larger than the axial drill force is needed. If a lower contact forceis applied on the workpiece, the end effector will lose contact when drilling andmay cause a dislocation in position of the hole. To establish that the positionis sustained during drilling, the normal forces between the end effector and thesurface must be larger than the drill forces in the drilling direction.

Normality towards the surface is desirable to minimize the material penetrationforces. An angular penetration generates bending in the drill that affects thequality of the hole.

The donated drilling machine unit from SAAB is only capable to drill at aspeed of 800 rpm. The typical drill data used in the industry is about 4000 rpmand a feeding of 0.12mm per revolution [10], which is far faster speed than theused in the LiTH laboratory. Because of this lack of speed the quality of the holewill only be in focus. There are also some other defects on the drill unit that makethe performance poor in some applications. One example is the time delay of thedrill rotation start after the start signal, which heavily decreases the possibility tospeed up the process.

54 Requirements and Experiments

6.2.3 End Effector

The first design of the end effector has three antennas located symmetricallyaround the drill axis. This makes it possible to use the torque sensor measurementsand reorient the end effector so it always is normalized to the surface. On leveledand slightly curved surfaces these three antennas work well but for curved surfacesand near edges it could cause problem. A small circular end effector handles morecomplex surfaces but has more problems establishing the end effector normality.Figure 6.2 shows the circular end effector.

Tests have been made using both the three antennas and the circular endeffector. In tests with the three antennas it is clearly seen that all three antennasare controlled in such a way that all three were in contact. Looking at the recordedforce/torque data, it is realized that no or little torque is left on the end effector,which means that all three antennas are kept with equal force against the surface.

Using a circular contact against the surface on the end effector there is onepoint contact until the orientation has been established, which makes it harder todo a fast control.

Figure 6.2. A cad model showing the circular tip of the end effector.

6.2 Experiments 55

6.2.4 Experimental ResultsSkating

Because of the design of the end effector it is hard to measure the skating effectin contact with the surface. In the three antennas case there is no natural pointto measure. The three antennas are difficult due to their cylindrical shape. It isimportant to measure near where the drill is going to make the actual hole. Mea-suring too far away from this point will result in an incorrect measurement, due tothe maybe poor orientation of the end effector, which will affect the measurementduring control.

A special tool has been developed to be mounted in the drill machine, insteadof a normal drill tool. This special tool can be seen in Figure 6.3. It looks likea cube at the tip and using this tool it should be easy to measure two distinctdirections near the surface.

The deviation measurement is done by using two LVDT (Linear VariableDifferential Transformer) sensors. These sensors measure a position change by±0.001mm.

Figure 6.4 shows the LVDT setup when the workpiece is rigid and does notmove during the test. An important issue was also how the system would performwhen the workpiece was very flexible, see Figure 6.3 for setup of LVDT in thesecases.

Test results are presented in Figure 6.5. The upper line is the position deviationand the lower line is the scaled force. These two lines have been plotted in thesame figure to show where the end effector is in contact with the surface. Asseen in the figure it is in less than 0.1mm skating during ramp-up. This can becompared with the aircraft industry requirements of maximum 0.5mm positionerror, as described in Section 6.1.1.

In a pose where the robot is outstretched, for example work area four in Fig-ure 6.1, the robot will have a large deflection at the end effector. In a fast perfor-mance using the LTH-system, the system will perform poor due to the deflectionand this will cause the tangential forces to grow fast. In this case the clamp-upspeed should be decreased to compensate for the fast rising tangential forces.

Using high friction materials could prevent the end effector to skate even more,since the skating depends on the relation between normal force and tangential forceby the friction coefficient.

The skating effect is not only a problem during the time when the normal forceis ramped up. If the end effector is not sufficiently pressed towards the surfaceduring the drill process, it will be forced back by the drill tool and may cause asliding on the surface.

This phenomena can be seen in Figure 6.6 (a). The drill tool is in this casemaking a deflecting force with approximately 300N, making the end effector loseits contact with the surface around time 14 s. The end effector deflection can beseen in the sensor output resulting in that the normal contact force goes to zeroduring the drill tool penetration. In Figure 6.6 (b) the clamp-up force is 400N andlarger than the deflection force from the drill tool. The end effector contact forceof 100N results in that the end effector will stay in position and be orthogonal to

56 Requirements and Experiments

Figure 6.3. The LVDT setup when measuring the position deviation on flexible surfaces.

Figure 6.4. The LVDT setup when measuring the position deviation on fix surfaces.

the workpiece.This resulting end effector contact force, during the drill tool process, is also

important to avoid the burrs from entering between the two plates, as mentionedin Section 1.2.

In Figures 6.7 (a)–(d), sliding experiments using four different clamp-up forcesare presented. When a force that is sufficiently larger than the force from the drillmachine pressing, no skating occurs. As can be seen in the Figure 6.7 (a)–(b),clamp-up forces less than the drill tool cutting force will result in sliding or/anddeflection of the end effector. To be sure that no sliding occurs, the resultingcontact force during drill phase should be large enough so that the tangentialforces do not exceed the friction forces of the end effector contact.

6.2 Experiments 57

Figure 6.5. Position deviation, using 600N axial force. The results are from an experi-ment in configuration two in the robot cell, see Figure 6.1. The force data are scaled witha factor 1000. It is between the two vertical lines the position deviation is interesting,since this is where the end effector is in contact with the workpiece, see the axial force.The sliding during clamp-up is less than 0.1mm, measured between the two horizontallines which show the maximum and the minimum position respectively in the interestingtime line. A spike in deviation can be seen around time 135 s. This is when the endeffector leaves the surface and will not affect the position accuracy of the hole.

Orientation

The orientation test has been made using the circular end effector because of itsconstruction, which makes it the most interesting of the two end effectors.

To establish the orientation accuracy of the end effector, measuring clocks havebeen mounted on the end effector in two directions about 15 centimeters from theTCP.

Absolute accuracy. The absolute orientation accuracy is difficult to measurebecause of the small end effector design. The reference level of the circular endeffector is hard to visualize and it is therefore hard to measure the deviation inorientation from the workpiece level.

Calibration of the clocks is made with a straight aluminum profile hold in levelwith the end effector tip, in contact with the whole circular tip. Table 6.2 displays

58 Requirements and Experiments

Figure 6.6. (a) Drilling in aluminum surface using only 50N end effector contact force.Resulting in end effector backlash during drill tool penetration and poor quality of thehole. The normal force is zero when drilling. (b) When a sufficient clamp-up force isused, 400N, the end effector sustains in contact during the drill tool penetration and noend effector sliding occur. A contact force of 100N is achieved in this experiment duringdrilling.

the result of absolute orientation accuracy. Comparing the deviation of the xdirection from calibrated value with the contact force used, it can be assumed thatthe deviation is proportional to the force. Due to the design, the end effector tipis bent around the y direction, see Figure 6.2. The only exception of this is whenthe contact force is low, under 100N. This phenomenon is seen around x directiontoo, but this is harder to explain. The requirement from the aircraft industryis a normal deviation less than ±1 ◦, see Section 6.1.1. The measured deviationusing the LTH-system using the circular tip is less than 0.2 ◦. The calibration usessimple methods which could cause uncertainty.

Repeatability accuracy. Tests are also made for testing the repeatable orien-tation accuracy of the LTH-system when using the circular end effector. Comparedto the absolute orientation accuracy, there is no need of calibration. The interest-ing thing is that the LTH-system controls to the same orthogonal orientation eachtime. As can bee seen in Table 6.3 the repeatable orientation is performing well.Calculations from Table 6.3 result in an angle displacement less than 0.01◦.

6.2 Experiments 59

Figure 6.7. The end effector sliding has been measured when drilling using LVDT-sensors. Four different clamp-up forces have been used, 50N (a), 100N (b), 300N (c)and 400N (d). Drill cutting force approximately 300N. In (a)–(c) the end effect hasno or little contact force during drilling, resulting in sliding and deflecting of the endeffector.

Hole quality

Measurements of the quality of the hole and its orientation have been made with acoordinate measuring machine from ZEISS, PMC-V 850 [29], which measures thecoordinates around the hole with a little tip pressed around the edge.

Measurements of the quality of drilled holes are using different drill tools,different materials and work space positions. There have been some sufficientlygood result, but due to the drilling machine unit, the requirements set up by theaircraft industry have not been reached, see Section 6.1.1.

60 Requirements and Experiments

Force: Calibrated 20N 200N 300N 400NX direction: 2.38 2.14 2.17 2.15 2.10Y direction: 2.85 3.25 3.01 3.08 3.19

Table 6.2. Absolute orientation measurements for clock values during different contactforces.

No: 1 2 3 4 5X direction: 2.78 2.81 2.79 2.80 2.79Y direction: 2.32 2.31 2.31 2.30 2.31

Table 6.3. Measurements of repeatability accuracy. The table presents clock measure-ments using 300N contact force. The end effector performed simular in a number ofsetups and the outcome values are almost equal, which is good.

Cycle time

An important aspect in robot drilling is the time it takes to drill one hole andto be ready to start the next process, this means the cycle time. Three holes aredrilled in the same program and the results are shown in Figure 6.8. As can beseen in the figure the cycle time is about 13 seconds. The end effector is mountedwith an air drill machine that is not optimized for this application and thereforea delay is seen in the process, see Figure 6.8 in the time line between 5 to 8 s. Ifanother drill machine should be used, a shorter cycle time is possible to achieve.The requirement is 10 s as described in Section 6.1.1, with a better and optimizeddrill machine unit this could maybe be possible to achieved.

6.2 Experiments 61

Figure 6.8. Cycle time for the end effector with three antennas. At the time 4 s and16 s respectively the end effector establishes contact with the environment, marked withthe dotted horizontal line. Between the time lines, 9 s to 11 s and 21 s to 23 s, the drillmachine is penetrating the workpiece. Because of the end effector design time is lostbetween 6 s and 9 s, which could be minimized with another drilling unit.

Chapter 7

Conclusions and FutureWork

7.1 ConclusionsThe developed LTH-system is a powerful system which allows a standard industryrobot to be equipment with a high sensor interaction. In this case using a drillingend effector the performance is impressive, but due to the hardware limitation ofthe drill machine unit the overall performance has not reached the aircraft industryrequirements.

The skating problem is the most difficult problem for clamp-up using industryrobots and the LTH-system manages to suppress this problem very well. As canbe seen in previous chapters the sliding has been reduced to less than one tenthof a millimeter in almost the whole working area, except for extreme robot poses.This fulfills the

requirements used by the aircraft industry. The process modifications carriedout during this master’s thesis have made it possible to minimize the drift bothbefore the end effector reaches contact and in contact using the right controlparameters. To achieve a higher position accuracy a better industry robot or anextended sensor, for example a laser tracker, are desirable.

The drilling machine limitations on the end effector have caused a varyingquality of the holes. The drill machine is the hardware which should be exchangedand replaced with a more advanced drill machine. Due to the many differentmaterials used in aircraft structures there is a need of having a drill machine unitthat manages an easy drill tool change.

One of the things which makes this force feedback system unique is its abilityto normalize to the clamp-up surface. This is a powerful feature in the drillingapplication since it is important that the drill tool goes in contact orthogonallyto the surface, to keep the tangential forces low at the drill tool. The end effectorwith three antennas guarantees this on a planar surface. The end effector usingthe circular tip appears to work well but has the advantage that it works better

63

64 Conclusions and Future Work

on a curved surface, which is mainly used in aircraft structures.This force feedback system developed in the FlexAA project is almost ready

for the industry today, but the LTH-system has some features that should bedeveloped. Some of these are discussed in the following section.

7.2 Future WorkThe LTH-system is a powerful industrial robot drilling system and performs wellin many drill process aspects. This system is however not entirely ready for theindustry, due to safety considerations and lack of optimized hardware of the endeffector.

End Effector Design.

The used end effector in this master’s thesis has a very simple design. Thereare many aspects to consider to make the design more attractive for the aircraftindustry.

The most important thing to develop further is the drill machine unit, sincethe one used today is not optimized for this application. Adding a higher rotationspeed and a more stable solution would be the first thing to do. Because ofthe placement of the force/torque sensor between the contact point and the drillmachine unit, it is possible to measure the drill tool forces during the drill process.This could be very useful, getting the knowledge of the structure through thedrilled material, and to control the feeding and the rotation speed. In a futuredesign this possibility should be used even more.

Safety Considerations.

Using advanced force feedback control is a complex and a relatively new technology.Therefore the safety considerations are important of the future work.

Most of the existing safety system on the LTH-system is today the standardrobot safety system of the ABB S4C+ control system. The endeavor is to keep asmuch as possible of the original safety system during the implementation of theforce feedback system.

During drilling a lot of problems can occur and lead to a false hole or poorquality of the hole. In this master’s thesis a lot of unexpected scenarios havehappened, such as crashing into the workpiece in an uncontrolled way and gettingstuck in the middle of a process due to some programming fault or unexpectedcharacteristics of the workpiece. In these cases a collision routine and a errordetection of the created ExtRapid programs is desirable.

Adding a maximum pay-load for the force controller is also needed. If thispay-load is exceeded the system shall instantaneously halt and make a collisionroutine. In this way, the force sensor and the industrial robot should be savedfrom being damaged, but also the workpiece which maybe is more fragile than therest of the system.

7.2 Future Work 65

To guarantee the trajectory of the collision routine motion the original programcould be run in reversed order. Of course this routine could be made differentdepending on the application. In the

drilling application where it is no complex motion, it should be possible tomove back to the start position.

Using the formula developed to Delmia, a simulation tool extension to the CADsoftware Catia, the program creation fault could be minimized. Offers pre-createdmodes to be chosen or perhaps an algorithm to calculate the best parameters fromthe CAD model characteristics.

7.2.1 Other ApplicationsApplications where force/torque and vision control are used is today an importantarea. In many processes the possibility for the robot to "feel" is necessary, such asgrinding and assembly.

In the assembly task there is often a high position accuracy requirement tofix the workpiece exactly in right position in order not to damage or misplace theworkpiece. Standard industrial robots can not be used in many of these assemblytasks due to this position accuracy requirement. Even if a high accuracy robot isused, the result could be misplaced workpiece due to environmental position error.Using a force controlled industry robot these difficulties could be reduced becausethe robot could sense the right position or movement. The peg-in-hole task isan extreme assembly task where both position and orientation are important tomatch with the environment. Adding search routines to the ExtRapid language,this LTH-system could be used to perform such kind of task.

This LTH-system is today developed with focus on the aircraft drilling appli-cation because of the involvement with SAAB Aerostructure. The LTH-system ishowever developed to handle any kind of sensor interacted controller, which makesit easy to mount a camera to for example recognize details.

7.2.2 Delmia and LTH-systemAn interesting feature would be to merge the systems Delmia and the LTH-systemin a more advanced way. Today there are a lot of manual steps before a robotprogram created in Delmia is transferred and set up to make a safe run on theLTH-system. The standard robot program compiler in Delmia to create Rapidprograms is not always making correct position configurations and therefore theprogram should be run with great care and knowledge. A further step would beto merge the CAD software Delmia with the LTH-system such that if a fault isdiscovered in the robot program, it should be easy to modify it in Delmia andupdate it automatically without any unnecessary steps.

Bibliography

[1] ABB. ABB website. URL: http://library.abb.com, accessed October 2007.

[2] ABB. ABB Manual, Force Control for Machining, 2006.

[3] J. Atkinson, J. Hartmann, S. Jones, and Gleeson P. Robotic drilling systemfor 737 aileron. Included in: SAE International, ISBN Number: 978-0-7680-1962-9, September 2007.

[4] A. Blomdell, G. Bolmsjö, T. Brogårdh, P. Cederberg, M. Isaksson, R. Jo-hansson, M. Haage, K. Nilsson, M. Olsson, T. Olsson, A. Robertsson, andJ. Wang. Extending an industrial robot controller. IEEE Robotics and Au-tomation Magazine, 12:3:85–94, 2005.

[5] S. Chiaverini, B. Siciliano, and L. Villani. A survey of robot interactioncontrol schemes with experimental comparasion. IEEE/ASME Transactionson Mechatronics, 4:273–285, 1999.

[6] J De Schutter and H Van Brussel. Compliant robot motion i and ii. Interna-tional Journal of Robotics Research, 7:4:3–33, 1982.

[7] J. De Schutter and H. Van Brussel. Compliant robot motion, i. A formal-ism for specifying compliant motion tasks. International Journal of RoboticsResearch, 7:3–17, 1988.

[8] Desoutter. Desoutter website. URL: http://www.desouttertools.com, ac-cessed November 2007.

[9] J. Duffy. The fallacy of modern hybrid control theory that is based on "or-thogonality complements" of twist and wrench spaces. Journal of RoboticsSystems, 7:2:139–144, 1990.

[10] M Engström. Saab, verbal communications and handouts, November 2007.

[11] R. Featherstone, S. Sonck, and O. Khatib. A general contact model fordynamically-decoupled force/motion control. Proceedings IEEE InternationalConference on Robotics and Automation, pages 3281–3286, October 1999.

[12] Gühring. Gühring, website. URL: http://www.guhring.com, accessedSeptember 2007.

67

68 Bibliography

[13] N. Hogan. Impedance control: An approach to manipulation. Part I-IIIASME Journal of Dynamic System; Measurement and Control, 107:1:1–24,1985.

[14] IET. The institution of engineering and technology website. URL:http://www2.theiet.org/oncomms/sector/manufacturing/magazine.cfm, ac-cessed October 2007.

[15] JR3. Jr3 LTD., website. URL: http://www.jr3.com, accessed October 2007.

[16] H. Lipkin and J. Duffy. Hybrid twist and wrench control for a robotic ma-nipulator. Trans. ASME, J. Mechanisms, Transmission and Automation inDesign, 110:138–1444, June 1988.

[17] LTH. Autofett. URL: http://www.robot.lth.se/proj/autofett/index.shtml,accessed September 2007.

[18] LTH. FlexAA. URL: http://www.control.lth.se/ robot/ProVikingFlexAA.html,accessed September 2007.

[19] Raibert M.H. and Craig J.J. Hybrid position/force control of manipulator.ASME Journal of Dynamic Systems, Measurement and Control, 103:2:126–133, 1981.

[20] B.J. Nelson, J.D. Morrow, and P.K Khosla. Improved force control throughvisual servoing. Proceedings of the American Control Conference, 1:380–386,1995.

[21] R. Nilsson. Delmia simulation. Master’s thesis, LiTH, Linköping, 2007.

[22] T. Olsson. High-Speed Visoion and Force Feedback for Motion-ControlledIndustrial Manipulators, ISSN 0280-5316. PhD thesis, Lund Technical Uni-versity, Lund, Sweden, 2007.

[23] Sandvik. Sandvik coromant, website. URL:http://www.coromant.sandvik.com, accessed October 2007.

[24] L. Sciavicco and B. Siciliano. Modeling and control of robot manipulators.McGraw-Hill cop, New York, 1996.

[25] B. Siciliano and L. Villani. Robot Force Control. Springer, 2002.

[26] M.W. Spong, S. Hutchingson, and M. Vidyasagar. Robot Modeling and con-trol. Wiley, New York, 2006.

[27] J. Svernestam. En studie av en industrirobots beteende vid borrning, LITH-IKP-ING-EX–05/029-SE. Linköping Technical University, Linköping, Swe-den, 2005.

[28] T. Yoshikawa. Force control of robot manipulators. Proceedings. IEEE In-ternational Conference on Robotics and Automation, 1:220–226, 2000.

[29] Zeiss. Zeiss, website. URL: http://www.zeiss.com, accessed November 2007.

Appendix A

User’s Guide

Execute a Program1. Log into Fedora by your user account.

2. Open a new terminal;Application/Terminal

3. Load controller.Start Opcom by type these two lines in the terminal prompt:

cd /home/andersb/opcom_20070118/./linkoping -v

Opcom starts.

In the S4 window, check the force and torque values with the command as followsjr3_test_read_force

When Opcom starts it initializes the force sensor automatically. To initialize theforce sensor manually, use

jr3_init

Load the controller into the system in Opcom.Specify the desired controller in the controller field. In drilling applications, use

/tmp/newSysRapid

Click on Load to load the controller into the system.

To let the controller take part of the measurement from the force/torque sen-sor but not affect any motions on the robot, the Obtain button should be clicked.When the Submit button is clicked the controller is merged into the robot systemand will affect the motion with its features.

4. Log your measurements during execution.It is possible to log data into a file when running the ExtRapid program. Start anew terminal window and write

69

70 User’s Guide

cd /home/tolsson/newsys_test/opcom

To log data into a file on the hard drive a function called log is used. The functionis executed with four arguments. An example of execution

./log -t 2 --host irb4400-g4 --port 2000 -o /tmp/log

Arguments-t followed by a number, the number specifies how many

seconds to log data.--host irb4400-g4, specifies the host machine.--port 200, the port number to use.-o /tmp/log, in which file the data should be saved.

The file created during logging is a raw data file and must be converted into ASCIIfile in order to be able to open it in for example Matlab. To generate a readable*.txt file, a program called log2matlab is used. To convert the file type in theprompt, type

./log2matlab/tmp/log > /tmp/log.txt

First argument is the raw data file name. Second is the output file name.

5. Execute your program.Open a prompt and type

cd /work/robot/extrapid-install/

Create an ExtRapid program and save it in the working directory. When saved, runthe command source environment in the prompt. Put the robot into autonomousmode by turn the key on the robot control cabin. Follow the instructions onthe SC4+ controller and press the light button to confirm the action. Now it ispossible to execute an ExtRapid program from the MasterPC. This is done by aJava command. To start your program, type

java Execute filname.prg

When pressing Enter the ExtRapid program called filename.prg is executed on therobot.

6. Plotting measured data in Matlab.Start Matlab. Specify the working directory in Matlab

cd /home/tolsson/newsys_test/

To read your measurements into a Matlab variable, use the readlog function. Ex-ample

>> [data,names]=readlog(’/tmp/log.txt’,{’forceOut’,’ForceRef’});

Two arguments are specified in the function, what file to read from and whichsignals to extract from the file. The possible signals are specified in the controlmodel in Simulink. After execution of the function the variable data will containa vector with all the data and a variable names will contain a vector with all thesignal names which was extracted from the text file. Now it is possible to plot thedata vector with the Matlab standard plot function.

Appendix B

Postprocessor Modification

Modification of the file Rapid.xslt to make Delmia to be able to create ExtRapid.

In<xsl:template match="ActivityList">

add after first if statement, after line 1048<xsl:variable name="extrapid"select="AttributeList/Attribute[AttributeName =’ExtRapid1’]/AttributeValue"/>

Add this at line 1088<xsl:if test="$postcomment != ’’"><xsl:call-template name="processComments"><xsl:with-param name="prefix" select="’Ext’"/><xsl:with-param name="attributeListNodeSet" select="AttributeList"/>

</xsl:call-template></xsl:if>

In

<xsl:template match="Action">

add this last in the template<xsl:call-template name="processComments"><xsl:with-param name="prefix" select="’Ext’"/><xsl:with-param name="attributeListNodeSet" select="AttributeList"/>

</xsl:call-template>

In<xsl:template match="Activity">

add this last in the template (line 1394)<xsl:call-template name="processComments"><xsl:with-param name="prefix" select="’Ext’"/><xsl:with-param name="attributeListNodeSet" select="AttributeList"/>

</xsl:call-template>

71

72 Postprocessor Modification

In<xsl:template name="processComments">

modify the line<xsl:if test="($precomchk = ’PreComment’ and $prefix = ’Pre’) or($postcomchk = ’PostComment’ and $prefix = ’Post’)">

to<xsl:if test="($precomchk = ’PreComment’ and $prefix = ’Pre’) or($postcomchk = ’PostComment’ and $prefix = ’Post’) or ($extrapidchk =’ExtRapid’ and $prefix = ’Ext’)">

and add in the choose statement<xsl:when test="$extrapidchk = ’ExtRapid’"><xsl:text></xsl:text><xsl:value-of select="$attrvalue"/><xsl:value-of select="$cr"/>

</xsl:when>