• No results found

Model parameter estimation for a handheld nutrunner

N/A
N/A
Protected

Academic year: 2022

Share "Model parameter estimation for a handheld nutrunner"

Copied!
52
0
0

Loading.... (view fulltext now)

Full text

(1)

DEGREE PROJECT IN TECHNOLOGY, FIRST CYCLE, 15 CREDITS

STOCKHOLM, SWEDEN 2020

Model parameter estimation for a

handheld nutrunner

KTH Bachelor Thesis Report

Jonathan Fridstrand and Johanna Sturk

KTH ROYAL INSTITUTE OF TECHNOLOGY

(2)

Abstract

The purpose of this project is to investigate the angled nutrunner, which is a hand held torque tool often used in the industry to tighten bolted joints. The goal is to estimate parameter values for an existing model that can describe the reaction force and the angular displacement of the tool as a function of the torque transferred to the joint.

The model is based on a damped mass-spring system with one degree of freedom.

The short torque pulse in the tool will induce an oscillating motion of the sys- tem.

A large amount of data is used that has been collected at an assembly factory.

Different tightening conditions tested include tightening strategy (Quick Step and Turbo Tight), joint stiffness (hard and soft joint), tightening pace (5 and 8 tighten- ings per minute) and target torque. Joint torque, angular acceleration for the tool and, for the Quick Step tightenings, the reaction force is measured. The grey-box model is used in order to estimate the parameters of the model through curve fitting of the data describing the angular displacement. The reaction force on the user is also examined with different methods.

The resulting mean values of the model parameters are the mass m = 2.31 kg, the dampening constant c = 103.45 kg/s and the spring stiffness k = 2314.84 N/m. The mean value of the natural frequency of the hand-arm system is fn = 5.46 Hz. A statistical significance is found for all conditions except the tightening pace.

(3)

Sammanfattning

Syftet med detta projekt är att undersöka vinklade mutterdragare, vilket är ett handhållet verktyg som ofta används i industrin för att dra åt skruvförband. Målet är att uppskatta parametervärden för en befintlig modell som beskriver verktygets reaktionskraft och vinkelförskjutning som en funktion av det moment som överförs till förbandet.

Modellen är baserad på ett dämpat massa-fjäder-system med en frihetsgrad. Den korta momentpulsen i verktyget kommer att orsaka en oscillerande rörelse hos sys- temet.

En stor mängd data används som har samlats in på en monteringsfabrik. Några av de åtdragningsförhållanden som testades var åtdragningsstrategi (Quick Step och Turbo Tight), förbandets styvhet (hårt och mjukt förband), åtdragningstakt (5 och 8 åtdragningar per minut) och målmoment. Det som uppmättes var momentet i förbandet och vinkelaccelerationen för verktyget. För Quick Step-åtdragningar upp- mättes även reaktionskraften. Greybox-modellen används för att uppskatta model- lens parametrar genom kurvanpassning av data som beskriver vinkelförskjutningen.

Reaktionskraften på användaren togs också fram med olika metoder.

De resulterande medelvärdena för modellparametrarna är massan m = 2.31 kg, dämpningskonstanten c = 103.45 kg/s och fjäderkonstanten k = 2314.84 N/m.

Medelvärdet för den naturliga frekvensen för handarmssystemet är fn= 5.46 Hz. En statistisk signifikans hittas för alla förhållanden förutom åtdragningstakten.

(4)

Acknowledgements

We would like to thank our supervisors Romain Haettel and Hans Bodén for the guidance during this project.

Special thanks go to Ava Mazaheri who conducted all the necessary experiments for this study and provided us with figures.

(5)

Authors

Jonathan Fridstrand and Johanna Sturk Sound and Vibration Engineering

The Marcus Wallenberg Laboratory for Sound and Vibration Research (MWL) KTH Royal Institute of Technology

Place for Project

Stockholm, Sweden

Examiner

Susann Boij

KTH Royal Institute of Technology

Supervisors

Romain Haettel Atlas Copco

Hans Bodén

KTH Royal Institute of Technology

(6)

Table of contents

1 Introduction 1

1.1 Background . . . 2

1.2 Problem . . . 3

1.3 Purpose . . . 3

2 Theory 4 2.1 Simple one degree of freedom model . . . 4

2.2 Molitor’s model . . . 5

2.3 State space representation . . . 6

3 Method 7 3.1 Measurements at an assembly factory . . . 7

3.2 The grey-box model . . . 9

3.3 Molitor’s program . . . 10

3.4 Calculating forces . . . 10

3.5 Processing data . . . 11

3.6 Statistical analysis . . . 12

4 Results 13 4.1 Curve fitting . . . 13

4.2 Data and statistics . . . 15

5 Discussion 18 5.1 Human factors . . . 18

5.2 Quality of data and model . . . 18

5.3 The tightening sequence . . . 19

6 Conclusion 21

References 22

A Main program code B State space model code C Solving for the displacement D Example data

E Distributions of parameter values

F Selected or rejected data for the tightening conditions

(7)

1 Introduction

Hand held torque tools are often used in the industry to tighten bolted joints. While the tools can be driven both pneumatically and electrically the use of electrical tools are becoming more common since they perform tightenings with a higher precision. Additionally, they make data collection easier and that is important for manufacturers who seek to optimize the process and product quality in order to reduce workplace injuries. The tool that will be examined in this thesis is an angled nutrunner, see Figure 1.1.

Figure 1.1: Angled nutrunner of model ETV STR61-70. ©Atlas Copco

For each tightening of a bolted joint, the tool goes through a tightening sequence. A tightening sequence consists of two phases; rundown and tightening, see Figure 1.2.

First the period of rundown until the bolt head has a snug fit and thereafter the tightening phase of elastic deformation until the desired clamping force is achieved.

Towards the end of the sequence a large torque is built up that will transmit a force to the user.

0 0.02 0.04 0.06 0.08 0.1 0.12 0.14 0.16 0.18 0.2 0

20 40

Time [s]

Torque [Nm]

⎧ ⎨ ⎩ ⎧ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎨ ⎪ ⎪ ⎪ ⎪ ⎪ ⎪ ⎩

Tightening Rundown

Snug

Figure 1.2: The two phases of a tightening sequence.

(8)

Normally manufacturers only gather data during a tightening sequence that describe the torque transferred to the joint. There are rarely any data describing the force that the user experiences and the angular displacement of the tool. It is widely considered that both this force and angular displacement are important for an er- gonomic analysis that relates tool usage to injuries. It would therefore be beneficial to have a model that could describe the forces and the angular displacements as a function of the torque.

1.1 Background

The nutrunner affects the user with a reaction force acting on the hand and arm since it creates an angular displacement this force will apply a rotating motion to the hand and arm. Frequent repetitions of this movement can create discomfort or even injure the worker [3, 10]. In Atlas Copco’s book Power Tool Ergonomics it is described how complex the structure of the hand-arm system is. Repetitive work task combined with external load and bad postures can cause work-related musculoskeletal disorder. Depending on the work situation in question, this disorder can develop in different parts of the hand-arm system [6]. Thus, it is interesting for manufacturers to be able to predict how much the tool in question will affect the user in order to optimize the design of the tool.

1.1.1 Molitor

In the spring of 2019 Erik Molitor finished his bachelor thesis [8]. In this project he created a model which approximated to what extent a nutrunner would affect a user in the context of ergonomics. The goal was to develop a model that could predict the angular displacement and the force applied to the hand-arm system. Molitor modeled the arm of the operator and the tool as a damped mass-spring system with one degree of freedom (1 DOF system). The input of the model was the torque of the nutrunner and the parameter values of the spring, mass and damping which were collected from previous research. The project resulted in a model that was able to approximate the angular displacement and the reaction force. Molitor also concluded that using a tightening torque with several increasing impulses decreased the total displacement, in comparison with one large impulse.

1.1.2 Fridstrand

Jonathan Fridstrand worked at Atlas Copco in the summer of 2019 [1]. His main objective was to validate and test the model that Molitor had developed against other existing models. These were first a simple 1 DOF system which was solved

(9)

analytically [9] and a reworked model of a pistol grip tool which was solved numer- ically [4]. He confirmed that the model Molitor had created gave the same result as the other two models that it was tested against. Later, he also evaluated that different lengths and shapes of torque pulses giving different angular displacement where it was observed that short or rapid consecutive pulses gave the least amount of displacement. Further on, Fridstrand was of the opinion that the most relevant out- put of the model was the peak displacement and not the shape of the displacement curve. The displacement curve could still be used to validate the models accuracy since it closely followed data measurements, though only for a short time span before muscle contractions occur.

1.2 Problem

As mentioned in section 1 it is of great importance for manufacturers to have a model which can predict the potential impact of tools on users. A model with this function would enable optimization of the design of the tool. When given various measured data and relevant theory of the area, could such a model be developed with a satisfying level of statistical certainty?

1.3 Purpose

The purpose of this project is to further develop Erik Molitor’s model describing the force and angular displacement that the user is exposed to while operating a nutrunner. Specifically, it is necessary to find suitable values for the parameters in the model (mass m, spring constant k and damping constant c) in order for the model to be equivalent with the given data.

(10)

2 Theory

This work is a continuation of the bachelor thesis of Erik Molitor [8] and Jonathan Fridstrand’s summer internship [1]. These projects are described shortly in sections 1.1.1 and 1.1.2. A number of models have also been used in order to carry out this project.

The models described in this section are based on the assumption that the hand and arm of a person can be modeled as a damped mass-spring system with 1 DOF.

Figure 2.1 illustrates a 1 DOF system consisting of a mass m, a spring with stiffness k and a damper with the constant c. The displacement of the system x can be generated by a force F acting on the body and this movement can be described by different models.

Figure 2.1: Damped mass-spring system with an excitation force [9].

2.1 Simple one degree of freedom model

The motion of a 1 DOF system that is excited by a force (as in Figure 2.1) can be described with the equation

md2x

dt2 + cdx

dt + kx = F (t). (1)

The force F (t) will induce an oscillating motion that will continue after the force has stopped until the system reaches a steady state. This system has some properties of interest, namely the angular frequency for the whole system ωn which can be obtained through the angular frequency of the undamped system ω0and the system’s damping constant β which are given by

(11)

ω0 =

k

m and β = c

2m, (2)

which gives the angular frequency for the damped system

ωn =

ω02− β2. (3)

These parameters determine how fast the system oscillates freely and how fast that the oscillation decreases to a steady state. It can be noted that equation (3) only gets a real value for ωn when ω0 > β, this is because it is the only case were the system has repeating oscillations and such a system is denoted as lightly damped.

When ω0 ≤ β the system is either critically or heavily damped which means the oscillations decrease faster. Only lightly damped systems occur when dealing with the angular displacements of nutrunners [5].

2.2 Molitor’s model

The model was developed by describing the nutrunner and the user hand-arm as a 1 DOF system according to Figure 2.2. The tool was simplified into an elongated cylinder with the length l and mass mtool. The previously introduced parameters k, c and the mass of the hand and arm marm are included in the model as well. Thus, the moments of inertia of the two masses are Itool and Iarm, respectively. Both have been calculated with the rotation axis of the joint as the centre point, see A in the figure.

A m

tool

B

m

arm

k c

C

l θ, T

tool

x

Figure 2.2: Schematic sketch of Molitor’s model.

(12)

From this and the tool torque Ttool and the angular acceleration of the tool can be described as

d2θ

dt2 = Ttool− l2(

kθ + cdt)

Itool+ Iarm , (4)

which is later used in the state space representation. For a more detailed description, see Appendix C.

2.3 State space representation

State space representations are used to describe the properties of a dynamic system [2]. This is possible with the help of a number of variables describing the situation the system finds itself in at a specific time. The resulting model is a vector which is dependent of the time. In this project the relevant system has been modeled in a continuous time form as



d

dtx(t) = Ax(t) + Bu(t) y(t) = Cx(t) + Du(t),

(5)

where x(t), y(t) and u(t) are the state, output and input vectors respectively. A, B, C and D are matrices describing the relationships between the vectors x(t), y(t) and u(t). In this thesis the state space representation is used to rewrite the differential equation (4).

(13)

3 Method

Throughout this project different methods have been used. In the beginning of the project a large amount of data was given that had been collected at a factory in a simulated work station. Then this data along with relevant theory was used to estimate the model parameters. The force on the participant was also evaluated with several methods. The resulting data was lastly sorted and analyzed.

3.1 Measurements at an assembly factory

The measurements took place at an assembly factory. Eighteen different assembly workers participated by using a ETV STR61-70 tool, see Figure 1.1, in a simulated work station. Angle acceleration, tool torque and tool reaction force were measured as the workers performed tightenings. The participants performed tightenings with two joint types, i.e. hard (HJ) and soft (SJ) and two types of tightening strategies, Quick Step (QS) and Turbo Tight (TT) and with a tightening pace of either five or eight tightenings per minute. Figure 3.1 illustrates how the torque pulse changes with the different conditions. Tightenings were carried out during three intervals with rest allowed between each interval. This procedure was repeated for every combination of input parameters in a randomized order. During the measurements the target torque was increased or decreased in steps of 5 Nm to examine comfort levels for the participants.

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

-5 0 5 10 15 20 25 30 35 40

Torque [Nm]

(a) QS-SJ

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

-5 0 5 10 15 20 25 30 35 40

Torque [Nm]

(b) QS-HJ

0 0.05 0.1 0.15 0.2 0.25 0.3

Time [s]

-5 0 5 10 15 20 25 30 35 40

Torque [Nm]

(c) TT-HJ

Figure 3.1: Different torque pulse conditions tested, here with target torque 35 Nm.

An accelerometer was fixed on the nutrunner in order to perform the measurements.

Figure 3.2 illustrates the position of the accelerometer during the measurements. For the tightenings made with QS a force transducer was fixed on the tool to measure the reaction force on the handle. The force transducer and its mounting position on the tool can be seen in Figure 3.3. The operator position during a tightening sequence is illustrated in Figure 3.4.

(14)

Figure 3.2: Accelerometer position on the tool.

Figure 3.3: The force transducer used in the QS measurements.

Figure 3.4: Operator position during a tightening sequence.

(15)

3.2 The grey-box model

A grey-box model combines a theoretical structure with data to complete a model. In this case the theoretical structure consists of a model with set equations that needs parameter values from measured data. It can be compared to a black-box model where only data is used to create the model with no further guidance whereas with a grey-box there is some control over the process. The grey-box model can consider already defined equations which can be seen in Figure 3.5.

Measurement data Equations without known parameter values

Grey-box

Equations with known parameter values

Figure 3.5: Principal behaviour of the grey-box model.

In order to estimate the parameters of the model, the System Identification Toolbox in Matlab [7] was used. The toolbox can perform grey-box model estimation which is able to estimate coefficients to linear and nonlinear differential equations. This project is based on the linear differential equation (4), hence, the MATLAB function idgrey was used.

The function idgrey represents a system as a continuous-time or or discrete-time state-space model with identifiable parameters. The grey-box model can be used when the equations describing the dynamic of the system are known. These equa- tions must be written as ordinary differential equations in order to be able to use the idgrey function.

In this case a continuous state space model was used, see section 2.3 for description.

Equation (4) was written on the form of equation (5) to get the vectors

x(t) = [

θ(t)

d dtθ(t)

]

, y(t) = θ(t) and u(t) = T (t), (6)

where θ is the angular displacement of the tool, T (t) is the torque pulse and the matrices

(16)

A = [

0 1

−kl2 Itool+Iarm

−cl2 Itool+Iarm

] , B =

[ 0

1 Itool+Iarm

] ,

C = [

1 0

] and D =[ 0

]

(7)

are the state space matrices from equation (5), which has the model parameters described in section 2.2. The MATLAB code for the state space representation can be found in Appendix B and the full code with usage of idgrey can be found in Appendix A.

3.3 Molitor’s program

Molitor wrote a program which could calculate the angular displacement of the nutrunner during a tightening. This was done with the help of the Euler method which is described in Appendix C. Molitor’s program was used in this project in order to calculate the angular displacement after the parameters had been estimated with the idgrey function.

3.4 Calculating forces

The reaction force on the user can be estimated with different methods. Three dif- ferent ways to calculate the force have been used in this project in order to compare the results with each other. The first method calculates the force theoretically,

F1(t) = Ln2 (

cest

dt + kestθ )

, (8)

where cest and kest are two of the parameter values estimated with the grey-box model. The length from the point of rotation to the gripping point is given by Ln2 which is used in each method. The second method uses the measured data to calculate the force,

F2(t) = 1 Ln2

(

T − Jd2θ dt2

)

, (9)

where T is torque pulse, J is the moment of inertia and ddt22θ stands for the angular acceleration. The third method uses the same equation, though it is somewhat dif- ferent with respect to the angular acceleration. Instead the acceleration is calculated

(17)

with the Euler method, according to Appendix C,

F3(t) = 1

Ln2 (T − Jα) , (10)

where α denotes the angular acceleration. It was also possible to measure the force with a force transducer, though only when the tool was set on QS, enabling the force to be evaluated with one additional method for a great part of the measurements.

The force measured with the force transducer is given by F _op_J. Lastly, the forces were displayed in figures which enabled a comparative evaluation of their amplitudes.

3.5 Processing data

It was important that the parameter values created a valid 1 DOF system. In accordance with 2.1 the system is lightly damped and must fulfill that criteria.

Consequently, the program had to validate that the system was lightly damped.

That is true when the angular frequency ωn in equation (3) is a real number.

It was observed that if the data behaved in certain ways it could lead to incorrect parameter estimation. The grey-box model could for example not handle the dis- placement if the steady state was offset too much during the tightening. Figure 3.6 illustrates tightenings that resulted in incorrect parameters. The data that did not replicate the properties of a lightly damped system where discarded before the statistical analysis and were marked as rejected data, however for the data were the criteria were met the data where further examined and marked as selected data.

(a) Displacement goes up too much. (b) Displacement goes down too much.

Figure 3.6: (a) and (b) illustrates rejected tightenings that were sorted out.

A few criteria were set that determined whether the data were to be selected or

(18)

rejected. Firstly, selected data showed a displacement that oscillates towards a steady state. The displacement could go up or down too much which would mean the data was to be rejected. This is because the grey-box model only recognises oscillations around a steady state and interprets this change as the system being over damped or not damped at all. Secondly, it was determined that the data had to have a satisfying level of accuracy in order to be a relevant result. A system with an accuracy below 90 % was therefore eliminated from the result. Lastly, the criteria for the system to be slightly damped was also put in, meaning that the angular frequency of the damped system from equation (3) was to be a real number.

3.6 Statistical analysis

Mean values and standard deviations were calculated for the different conditions joint type (HJ/SJ), tightening strategy (QS/TT), tightening pace (5 or 8 tightenings per minute), participants and target torque. It was also of interest to investigate whether changing the conditions had an impact on the estimated parameters. This was done by calculating p-values for the different conditions joint type (HJ/SJ), tightening strategy (QS/TT) and tightening pace (5 or 8 per minute). The level of significance used was 0.05 with a null hypothesis stating that the condition variables in question do not affect the estimated parameter value. The alternative hypothesis stated that the condition variables did affect the resulting parameter value. If the calculated p-value is less than the level of significance it is statistically significant.

This means that the null hypothesis is rejected and the alternative hypothesis is accepted.

(19)

4 Results

The results of the project are based on 19 data files from six participants which contain a total of 2687 tightening sequences. In section 3.5 a few criteria were presented that were used in order to determine if the data were to be selected or rejected. This resulted in 931 selected tightenings and 1756 rejected tightenings meaning that 34.6 % of the given data passed the set requirements. Appendix E presents the percentage of given data for the different conditions that passed the set criteria and were selected.

Based on the selected data the mean values and standard deviation (SD) of the parameters’ values and the natural frequencies were calculated. The mean value and SD of the mass marm were given as 2.31 kg (SD = 1.30), the damping constant c as 103.45 kg/s (SD = 42.36), the spring stiffness k as 2314.84 N/m (SD = 1069.89) and the natural frequency of the hand-arm system fn as 5.46 Hz (SD = 1.96). The distribution of the mean values and standard deviations are described further in section 4.2.

4.1 Curve fitting

The purpose of the grey-box model estimation was to estimate parameters of the system. Figure 4.1 illustrates a successful curve fitting where the y-axis represents the displacement and the x-axis the duration of the pulse. The grey-box model fitted the curve to the given data, which in this case resulted in an accuracy of 98.11 %.

The grey curve represents the measured data and the result of the grey-box model is coloured in blue.

The figures presented in this subsection all illustrate a tightening with conditions QS-SJ-5/min with test person 3 (TP3).

Moreover, the measured data were compared with the Euler calculated displacement used by Molitor. Figure 4.2 illustrates this comparison where the y-axis represents the displacement and the x-axis the duration of the pulse.

The force and torque pulse of the tightening is relevant for analysis. Section 3.4 describes three different methods to calculate the force on the participant. F1 rep- resents the theoretically calculated force, F2 denotes the the force calculated with the measured data and F3 is obtained with the help of the Euler method. Lastly, F _op_J represents the force measured with a force transducer when the tool was set on QS. In Figure 4.3 the result of the differentiating methods are presented. The torque pulse of the tightening is also illustrated.

(20)

0.05 0.1 0.15 0.2 0.25 -0.03

-0.02 -0.01 0 0.01 0.02 0.03 0.04 0.05 0.06 0.07

y1

data (y1) GboxResult: 98.11%

Simulated Response Comparison

Time (seconds)

Displacement [rad]

Figure 4.1: A successful curve fitting with an accuracy of 98.11 %.

0 0.1 0.2 0.3

Time [s]

-0.02 0 0.02 0.04 0.06

Angular displacement [rad]

Measured Simulated

Figure 4.2: Comparing the measured displacement with the Euler calculated dis- placement.

0 0.1 0.2 0.3

Time [s]

-20 0 20 40 60 80

Force [N]

F1 F2 F3 F_op_J

0 0.1 0.2 0.3

Time [s]

-5 0 5 10 15 20 25

Torque [Nm]

Figure 4.3: Force calculated with four different methods from the same torque pulse.

(21)

4.2 Data and statistics

The grey-box model managed to calculate parameters for each tightening with vari- ous quality. In Appendix D the selected output data is presented which all met the set criteria and had an accuracy of at least 90 %. The figures in this appendix con- tains tightenings performed by several participants using both tightening strategies TT and QS. The joint types HJ and SJ were also both used and the participants used at pace of five or eight tightenings per minute.

Furthermore, the derived parameter values were either from selected or rejected data in order to illustrate the differences in distribution. In Figure 4.4 the differentiating distributions of the calculated parameters and the natural frequency as selected or rejected data are illustrated.

0 10 20 30 40

Mass [kg]

0 50 100 150 200 250

Number of tightenings

Rejected data Selected data

(a) Mass

0 200 400 600 800

Damping constant [kg/s]

0 50 100 150 200

Number of tightenings

Rejected data Selected data

(b) Damping constant

0 1 2 3

Spring constant [N/m] 104

0 50 100 150 200

Number of tightenings

Rejected data Selected data

(c) Spring constant

0 10 20 30 40 50

Natural frequency [Hz]

0 100 200 300 400 500

Number of tightenings

Rejected data Selected data

(d) Natural frequency Figure 4.4: The selected data layered in front of the rejected data.

When all parameters and natural frequencies had been derived it was possible to calculate the corresponding mean values and standard deviations which can be seen in Figure 4.5. The values are presented in Appendix E.

(22)

All QSTT HJ SJ 5’ 8’ 1 2 3 4 5 6 15 20 25 30 35 40 0

2 4 6

Mass[kg]

All QSTT HJ SJ 5’ 8’ 1 2 3 4 5 6 15 20 25 30 35 40 0

100 200

Dampingconstant[kg/s]

All QSTT HJ SJ 5’ 8’ 1 2 3 4 5 6 15 20 25 30 35 40 0

2,000 4,000 6,000

Springconstant[N/m]

All QSTT HJ SJ 5’ 8’ 1 2 3 4 5 6 15 20 25 30 35 40 0

2 4 6 8

Naturalfrequency[Hz]

Figure 4.5: Parameter and natural frequency mean values and standard deviations for all measurements and the different conditions; Tightening strategy (QS/TT), Joint type (HJ/SJ), Tightening pace (5 or 8 per minute), Test person (1-6) and Target torque in Nm.

(23)

Table 4.1 displays the calculated p-values for the different conditions joint type (HJ/SJ), tightening strategy (QS/TT) and tightening pace (5 or 8 per minute) with a level of significance of 0.05. The null hypothesis stated that the condition variables did not affect the estimated parameter value and the alternative hypothesis stated that the condition variables did affect the resulting parameter value. As can be seen all p-values but one were less than the significance level, meaning that only one p-value did not reject the null hypothesis. Hence, the conditions had an impact on all parameter values except choice of tightening pace when calculating the natural frequency.

Table 4.1: p-values for the conditions joint type, tightening pace and tightening strategies.

Condition Mass Damping const. Spring const. Natural freq.

[kg] [kg/s] [N/m] [Hz]

p-value p-value p-value p-value

Joint type < 0.05 < 0.05 < 0.05 < 0.05 Tightening pace < 0.05 < 0.05 < 0.05 0.8705 Tightening strategy < 0.05 < 0.05 < 0.05 < 0.05

(24)

5 Discussion

There are many factors which have had an impact on the quality of the data and, consequently, on the result of this project. It is therefore important that the im- pact of these factors are taken into consideration when analyzing the quality of the measured data and result.

5.1 Human factors

The tool users participating in the measurements may have a significant impact on the results. For instance, if the participant moves in an unexpected way or does not hold the tool exactly as intended, the data will potentially be influenced by those disturbances. In some cases, these disturbances will be significant enough to cause the data to become degraded. Also, the distance between the point of gripping and the centre of rotation for the joint will affect the moment arm which will affect the torque and the moment of inertia. If this distance differs between measurements, the data from each measurement will change in size and will therefore differ with a scaling factor.

The level of muscle tension before a tightening sequence will affect the damping and the spring constant of the system. This muscle tension is thought to be inversely proportional to the damping constant. Moreover, when the number of measurements a person participates in increases, the participant is likely to become more fatigued.

This means that when the person becomes more tired, they will not be able to hold the tool as firmly as before. Due to this the spring constant will decrease over time and the damping constant will increase with repeated use. This will have a great impact on the quality of the parameters the system has estimated.

Figure 4.5 illustrates parameter and natural frequency mean values and standard deviations for different conditions. It can be seen how these values differ depending on the test person who performs the tightening. Test person number 4 in particular seems to have yielded higher mean values and standard deviation with regards to the mass, damping constant and spring constant. This leads to the conclusion that the parameter values must be individual to at least some degree.

5.2 Quality of data and model

As mentioned in section 3.5 the data could behave in ways that would not yield for correct parameter estimation since the model could not handle that behaviour. For that reason a few criteria were set in order to determine if the data could be viewed as satisfying. In section 4 it is presented that 34.6 % of the total data could be used

(25)

in the model with the set criteria. This leads to the question whether the data or the model is inadequate.

One way to answer this is that some measurements could have been executed in ways that differed considerably from a “standard” tightening, i.e. it is perhaps too difficult to develop a model that can handle all kind of data whilst, at the same time, giving a meaningful result. On the one hand some of the data could be perceived as insufficient. On the other hand the quality of the model could be viewed as inadequate since it cannot handle every possible behaviour of the data. In this case the model could be seen as inadequate and would therefore have to be redesigned to process all kinds of data. If this is true it is unlikely that the 1 DOF system is enough. A solution to this could be to increase the number of degrees of freedom for the system to process a higher percentage of the data.

Moreover, by decreasing the accuracy limit of 90 % it is possible to examine a higher percentage of the data without changing the 1 DOF system. A limit which could be perceived as too high since a considerable amount of the rejected data yielded parameter values which seem valid when comparing them with the result of the selected data (see Appendix D). Decreasing this limit would result in a higher percentage of the data being selected and after a certain point too much data would be included which could lead to an inaccurate model estimation. But by looking at the distribution of the data in Figure 4.4, it could be argued that the limit could be lower since much of the rejected data aligns with the selected data. This change of the accuracy limit could be examined in the future.

It would be beneficial if a larger proportion of the data were examined. Therefore, further optimization of the model is of interest. Workers will in many cases not perform a tightening according to a “standard”; instead, it is likely they will use the tool in ways that differ from an ideal tightening.

5.3 The tightening sequence

The emerged torques were analyzed by rounding off to the nearest number divis- ible by five and, thereafter, displayed in graphs. An illustrative example of this is visualized in Figure 5.1. It was found that the torques that had been rounded off in almost every case were 2 Nm greater. A target torque which the tightening should aim towards is set before starting the tightening sequence. Due to various characteristics the accuracy of an actual tightening varies. For instance, different properties of the joint could result in overshoot or a torque being unable to reach its target torque.

(26)

0 50 100 150 Data point

20 25 30 35

Torque [Nm]

Actual torque values Rounded torque values

Figure 5.1: The torques rounded off to the nearest number divisible by five.

(27)

6 Conclusion

The parameter values for an operator hand-arm system could be estimated by using an 1 DOF model describing the angular displacement and the reaction force gen- erated by a nutrunner. A significant amount of data were not considered in the result because they did not strictly match the model, this suggests that either the data quality or the model accuracy is not sufficient. A stricter way of performing the tightenings or a model with more DOF could potentially solve these problems.

(28)

References

[1] Fridstrand, Jonathan C.E. Comparing simulations of displacement and forces using right angled nutrunner. Stockholm: Atlas Copco, Design and Ergonomics Department, Aug. 2019.

[2] Glad, Torkel and Ljung, Lennart. Reglerteknik: grundläggande teori. Swedish.

4th ed. Lund: Studentlitteratur AB, 2006. isbn: 978-91-44-02275-8.

[3] Kihlberg, Steve, Kjellberg, Anders, and Lidbeck, Lars. Discomfort from pneu- matic tool torque reaction: Acceptability limits. Tech. rep. 1995, pp. 417–426.

doi: 10.1016/0169-8141(94)00059-C.

[4] Lin, Jia-Hua, Radwin, R. G., and Richard, T. G. “Dynamic biomechanical model of the hand and arm in pistol grip power handtool usage”. In: Er- gonomics, 44:3 (2001), pp. 295–312. doi: 10.1080/00140130118167.

[5] Lindqvist, Bo. “Torque reaction in angled nutrunners”. In: Applied Ergonomics (1993). R&D Applied Ergonomics. Product Safety and Liability. Atlas Copco, pp. 174–180. doi: 10.1016/0003-6870(93)90005-T.

[6] Lindqvist, Bo and Skogsberg, Lars. Power Tool Ergonomics: Evaluation of Power Tools. Atlas Copco Printed Matter, 2007. isbn: 978-91-631-9900-4.

[7] MATLAB version 9.6.0.1214997 (R2019a). System Identification Toolbox.

The Mathworks, Inc. Natick, Massachusetts, 2019.

[8] Molitor, Erik. “Simulation of forces and displacements in handheld power tools”. Swedish. KTH, Royal Institute of Technology, Institution for Sound and Vibration, June 2019.

[9] Nilsson, Anders C. Vibroacoustics. Part 1. Stockholm: KTH Royal Institute of Technology, Department of Vehicle Engineering, 2000.

[10] Zetterberg, Carl and Öfverholm, Torsten. Carpal tunnel syndrome and other wrist/hand symptoms and signs in male and female car assembly workers.

Tech. rep. 1999, pp. 193–204. doi: 10.1016/S0169-8141(97)00054-1.

(29)

Appendix A Main program code

% KEX , SA118X

% This program runs through all .mat - files containing tightening data

% in this current folder and outputs tables for each file which contain

% estimatied values for mass , dampening constant and spring constant

% for 1DOF system and more.

% Each .mat -file is a set of three tightening intervals.

clc

clear all close all

%% Importing data

DataFiles = dir( fullfile (pwd ,'*.mat ')); % Looking for .mat files

for I = 1: length ( DataFiles ) % Goes through .mat - files in current folder

% Importing the datafiles

Import = load( DataFiles (I) .name );

% Saving tightening condition for current data file T_cond (:,I) = Info( Import.File_name );

% Importing the events vector as numerical values

Events = str2num (char( replace ( Import.Events (: ,3) ,',','.')));

% The following if - statements find the correct

% data files whether it 's QS or TT measurment :

% Importing the acceleration

if isfield (Import ,'angle_acc_Acc_FIR150 ')

Acc_import = double ( Import.angle_acc_Acc_FIR150 );

elseif isfield (Import ,'Data1_angle_acc_Acc_FIR150 ')

Acc_import = double ( Import.Data1_angle_acc_Acc_FIR150 );

end

% Importing the Torque pulse

if isfield (Import ,'Inline_Torque ')

Torque_import = double ( Import.Inline_Torque );

elseif isfield (Import ,'Inline ')

Torque_import = double ( Import.Inline );

elseif isfield (Import ,'Data1_Inline ')

Torque_import = double ( Import.Data1_Inline );

end

(30)

% Importing the force

if isfield (Import ,'F_op_J ')

Force_import = double ( Import.F_op_J );

elseif isfield (Import ,'Data1_F_op_J_FIR_Filter_OFFSET ')

Force_import = double ( Import.Data1_F_op_J_FIR_Filter_OFFSET );

else

Force_import = [];

end

%% Setup

% Defining vectors used in the program

GBoxFit = [];

good_or_bad_data = [];

Tightening_No = [];

m_a_est = [];

c_est = [];

k_est = [];

Torque_value = [];

Nfreq = [];

Time_Vector = zeros ( length ( Events )/3 ,1); % Defining the time vector

Ts = 0.0001 ; % Time step

% for -loop goes through each tightening (i) in current data file (I) for i = 1: length ( Events )/3

Time_Vector (i+1) = Events (i*3) - Events (i*3 -2) + Time_Vector (i);

% Defining the time positions

TP_start = round ( Time_Vector (i)/Ts + 1);

TP_end = round ( Time_Vector (i+1)/Ts);

TP_length = TP_end - TP_start ;

% Time vector

t = Ts. *( TP_start :1: TP_end ) ';

%% Defining values

% Values given from Atlas Copco

l_n = 0.470; % Length of nutdriver [m]

l_n2 = 0.330; % Lengt from point of rotation to hand [m]

m_n = 2.60; % Mass of the nutdriver [m]

(31)

% Defining the moment of inertia of the nutdriver

% Two different cases if isempty ( Force_import )

% 1) I_n measured without force transducer I_n = 0.15;

else

% 2) I_n measured with force transducer I_n = 0.275;

end

% Calcultaion the displacement with integration of the acceleration Acc = Acc_import ( TP_start : TP_end );

Vel = cumtrapz (t, Acc);

Dis = cumtrapz (t, Vel);

% Torque pulse vector

TPulse = Torque_import ( TP_start : TP_end );

% Rounding the max torque to the nearest 5 Nm Torque_value (i) = ( floor (max( TPulse )/5+ .5))*5;

% Imports force measured from force transducer , only for Quick Step if isfield (Import ,'F_op_J ')

Force = Import.F_op_J ( TP_start : TP_end );

else

Force = [];

end

%% Cropping and adjusting displacement data

% Define end cutoff time and start of torque pulse t_end = 0.3;

t0 = 1.48;

% Cutting of ends of data vectors thus only evaluating relevant data t([1: round (t0/Ts),round (( t0+ t_end )/Ts) :end ]) = [];

TPulse ([1: round (t0/Ts),round (( t0+ t_end )/Ts) :end ]) = [];

Dis ([1: round (t0/Ts),round (( t0+ t_end )/Ts) :end ]) = [];

Acc ([1: round (t0/Ts),round (( t0+ t_end )/Ts) :end ]) = [];

if isfield (Import ,'F_op_J ')

Force ([1: round (t0/Ts),round (( t0+ t_end)/Ts) :end ]) = [];

end

% Adjusting the data so that displacement is zero when pulse starts minpoints1 (1: round ( length (Dis)/3)) = ...

islocalmin (Dis (1: round ( length (Dis)/3)));

(32)

if all( minpoints1 (:) ==0) == false

minPos1 (i) = find( minpoints1 ,1,'first ')*Ts;

else

minPos1 (i) = 0 .0274 ; end

Off = Dis( round (( minPos1 (i))/Ts));

Dis = Dis - Off;

%% Sorting out bad ( rejected ) data

% There are two conditions that the determine whether the data is

% "good" ( selected ) or "bad" ( rejected ). Good data shows a diplacement

% that oscillates around a steady state. The displacement can go up (1)

% or down (2) to much.

% Data marked with zero means "good" ( selected ).

% 1) Marking data where the displacement goes up to much for ii = round (.1/Ts): length (Dis)

if(Dis(ii) <= 0) ii = length (Dis);

good_or_bad_data (i ,1) = 0;

break;

elseif ii == length (Dis)

good_or_bad_data (i ,1) = 1;

end end

% 2) Marking data where the displacement goes down to much if max(Dis) <= abs(min(Dis))

good_or_bad_data (i ,1) = 2;

else

good_or_bad_data (i ,1) = 0;

end

%% Method

% Matlab 's Greybox toolbox is used to approximate the parameters mass

% (m_a), spring constant (k) and dampening constant (c). This is done

% by curve fitting of the model with these parameters to given data.

% Identifying input data

data = iddata (Dis , TPulse , Ts);

% Defining initial parameter values , guessed values m_a = 1.76; % Mass of the arm and hand

k = 1837 .27; % Spring constant c = 38 .26; % Damping constant

(33)

% Defining parameters to be used in the system

parameters = {'mass of arm ', m_a; 'spring constant ', k; ...

'damping constant ', c; 'Distance rotation to hand ', l_n2; ...

'Tool moment of inertia ' I_n };

fcn_type = 'c'; % Continious function type

odefun = 'state_space_model ';

% Identifying initial greybox model

init_system = idgrey (odefun , parameters , fcn_type );

% Defining l_n2 and I_n as fixed parameters

init_system.Structure.Parameters (4) .Free = false ; init_system.Structure.Parameters (5) .Free = false ;

opt = greyestOptions ('InitialState ', 'zero ', 'Display ', 'On ');

opt.EnforceStability = true;

% Estimating parameter values

GboxResult = greyest (data , init_system , opt);

% Saving estimated parameter values

m_a_est (i) = GboxResult.Structure.Parameters (1) .Value ; k_est(i) = GboxResult.Structure.Parameters (2) .Value ; c_est(i) = GboxResult.Structure.Parameters (3) .Value ;

GBoxFit (i) = GboxResult.Report.Fit.FitPercent ; Tightening_No (i) = i;

%% Calculating the level of accuracy of the Euler method

% Defining m_a , k and c m_a = m_a_est (i);

k = k_est(i);

c = c_est(i);

% Validating that the system is lightly damped

% This is true when w0 > beta , which makes w_n a reell number > 0 w0 = sqrt(k/( m_a + m_n)); % Angular velocity

beta = c/(2*( m_a + m_n)); % Damping number

w_n = sqrt(w0 ^2 - beta ^2); % Angual velocity for the damped system

% If the parameter values does not create a valid 1DOF system , the data

% is marked as "bad data" category 3.

if isreal (w_n) == 0

good_or_bad_data (i) = 3;

end

(34)

% Importing the Euler method

[ theta_Euler_method , omega_Euler_method , alpha_Euler_method ] = ...

thetasolve (t, TPulse , m_a , k, c, l_n , l_n2 , I_n);

% Calculating the error between the Euler method and the given data error_term_values = abs(Dis - theta_Euler_method );

correct_value = mean(abs(Dis));

% Calculating the level of accuracy

error_term = (1- mean( error_term_values )/ correct_value ) *100;

%% Calculating the natural frequency of the hand -arm system

% Natural frequency undamped (is used in the analysis later ) Nfreq(i) = sqrt( k_est (i)/ m_a_est (i))/(2* pi);

% Natural frequency damped (for the whole system , including the tool) Nfreq_d (i) = sqrt ((2* pi)* Nfreq (i)^2- c_est(i)^2) /(2* pi);

%% Calculating the force on the hand arm system

% The angle theta and the angular velocity is given by the Euler method

% Force , F1 , theoretical equation from parameter values

F_1 = l_n2 *( c_est (i)* omega_Euler_method + k_est(i)* theta_Euler_method );

% Force , F2 , given from data ( torque pulse and angular acceleration ) F_2 = (1/ l_n2)*( TPulse -I_n*Acc);

% Force , F3 , calculated with acceleration given from the Euler method.

% Different acceleration compared with F2.

F_3 = (1/ l_n2)*( TPulse -I_n* alpha_Euler_method );

%% Plotting close all

% Tightening examples

figure ('Renderer ', 'painters ', 'Position ', [500 10 800 500]) subplot (2 ,2 ,1)

compare (data , GboxResult );

xlabel ('Time ', 'FontSize ',18);

ylabel ('Angular displacement [rad]', 'FontSize ',16);

title('Grey -box ', 'FontSize ',16) set(gca , 'FontSize ',14);

grid on

(35)

subplot (2 ,2 ,2)

plot(Ts:Ts:.3 -Ts ,Dis ,'LineWidth ',1.5 ,'Color ','# D95319 ') hold on

plot(Ts:Ts:.3 -Ts , theta_Euler_method ,'LineWidth ',1.5 , 'Color ','#0072 BD ') xlabel ('Time [s]', 'FontSize ',20);

ylabel ('Angular displacement [rad]', 'FontSize ',20);

set(gca , 'FontSize ',14);

legend ('Measured ', 'Simulated ') title('1 DOF Model ')

grid on

subplot (2 ,2 ,3)

plot(Ts:Ts:.3 -Ts , F_1 ,'LineWidth ',1.5);

grid on hold on

plot(Ts:Ts:.3 -Ts , F_2 ,'LineWidth ',1.5);

plot(Ts:Ts:.3 -Ts , F_3 ,'LineWidth ',1.5);

if isfield (Import ,'F_op_J ')

plot(Ts:Ts:.3 -Ts , Force ,'LineWidth ',1.5);

legend ('F_1 ','F_2 ','F_3 ','F\_op\_J ');

else

legend ('F_1 ','F_2 ','F_3 ');

end

title('Forces ')

xlabel ('Time [s]', 'FontSize ',20);

ylabel ('Force [N]', 'FontSize ',20);

set(gca , 'FontSize ',14);

hold off

subplot (2 ,2 ,4)

plot(Ts:Ts:.3 -Ts ,TPulse ,'Color ','# A2142F ','LineWidth ',1.5) title('Torque pulse ')

xlabel ('Time [s]', 'FontSize ',20);

ylabel ('Torque [Nm]', 'FontSize ',20);

set(gca , 'FontSize ',14);

grid on

% Un - comment the following if the figues should be saved with parameter

% values in the file name. Reqiures a folder " figures " in current fold.

% m_str = join (['m' num2str (m_a) ,'']);

% c_str = join (['c' num2str (c) ,'']);

% k_str = join (['k' num2str (k) ,'']);

% f_str = join (['f' num2str ( Nfreq (i)) ,'']);

% Name = strjoin ([ pwd '/ figures /' T_cond (I) 'No_ ' num2str (i) m_str ...

% c_str k_str f_str '.eps '],'');

% print (gcf , Name , '-depsc ')

(36)

end % Ends for -loop that goes through each tightening i

%% Displaying and saving the estimated values

M = [ Tightening_No ', GBoxFit ', m_a_est ', c_est ', k_est ',...

Torque_value ', good_or_bad_data , Nfreq '];

Tightening_Number = M(: ,1);

Level_of_accuracy = M(: ,2);

Mass_of_arm_and_hand = M(: ,3);

Damping_constant = M(: ,4);

Spring_constant = M(: ,5);

Torque = M(: ,6);

Good_or_bad_data = M(: ,7);

Natural_frequency = real(M(: ,8)); % Undamped frequency

T = table( Tightening_Number , Level_of_accuracy , ...

Mass_of_arm_and_hand , Damping_constant , Spring_constant , ...

Torque , Good_or_bad_data , Natural_frequency );

disp(join (['File conditions :' T_cond (:,I)]))

disp (['Number of tightenings with an accuracy above 90 % is ' ...

num2str ( height (T)) ' out of ' num2str ( length ( Events )/3) ...

' tightenings in total. ']);

disp(T)

T_struct (I) .Table = T;

T_struct (I) .Cond = T_cond (:,I);

end % Ends for -loop that goes through each data file I

%% Sorting the data to plot good or bad data

i_g = 1;

i_b = 1;

m_g = [];

m_b = [];

for ii = 1: length ( T_struct )

for i = 1: height ( T_struct (ii) .Table )

if table2array ( T_struct (ii) .Table (i,'Good_or_bad_data ')) == 0 ...

&& table2array ( T_struct (ii) .Table (i,'Level_of_accuracy ')) >= 90 ...

&& table2array ( T_struct (ii) .Table (i,'Mass_of_arm_and_hand ')) >= 0

m_g (1, i_g) = table2array ( T_struct (ii) .Table (i,'Mass_of_arm_and_hand '));

m_g (2, i_g) = table2array ( T_struct (ii) .Table (i,'Damping_constant '));

(37)

m_g (3, i_g) = table2array ( T_struct (ii) .Table (i,'Spring_constant '));

m_g (4, i_g) ...

= real( table2array ( T_struct (ii) .Table (i,'Natural_frequency ')));

i_g = i_g + 1;

else

m_b (1, i_b) = table2array ( T_struct (ii) .Table (i,'Mass_of_arm_and_hand '));

m_b (2, i_b) = table2array ( T_struct (ii) .Table (i,'Damping_constant '));

m_b (3, i_b) = table2array ( T_struct (ii) .Table (i,'Spring_constant '));

m_b (4, i_b) ...

= real( table2array ( T_struct (ii) .Table (i,'Natural_frequency ')));

i_b = i_b + 1;

end end end

for i = 1:4

% Mean and std:

% good data:

GorBstat (1,i) = mean(m_g(i ,:));

GorBstat (2,i) = std(m_g(i ,:));

% Bad data:

if isempty (m_b) == 0 % If no "bad" data is found , only "good" data GorBstat (3,i) = mean(m_b(i ,:)); % is analyzed GorBstat (4,i) = std(m_b(i ,:));

% all data:

GorBstat (5,i) = mean ([ m_g(i ,:) ,m_b(i ,:) ]);

GorBstat (6,i) = std ([ m_g(i ,:) ,m_b(i ,:) ]);

end end

%% Deleting rows with bad data

for i = 1: length ( DataFiles )

T_struct (i) .Table ( table2array (...

T_struct (i) .Table (:,'Level_of_accuracy ')) <=90 ,:) = [];

T_struct (i) .Table ( table2array (...

T_struct (i) .Table (:,'Good_or_bad_data '))~=0 ,:) = [];

T_struct (i) .Table ( table2array (...

T_struct (i) .Table (:,'Mass_of_arm_and_hand ')) <=0 ,:) = [];

end

%% Categorising the data of the different conditions QS_val = []; % Storing all values with QS: m, c, k, f

TT_val = []; % -"- TT -"-

(38)

for i = 1: length ( T_struct )

if isempty ( strfind ( T_struct (i).Cond ,'TT')) == 1

% QS

current_length = size(QS_val ,1);

data_length = ( height ( T_struct (i) .Table ));

QS_val = [ QS_val ; zeros ( data_length ,4) ];

QS_val (( current_length +1) :( current_length + data_length ) ,1) ...

= table2array ( T_struct (i) .Table (:,'Mass_of_arm_and_hand '));

QS_val (( current_length +1) :( current_length + data_length ) ,2) ...

= table2array ( T_struct (i) .Table (:,'Damping_constant '));

QS_val (( current_length +1) :( current_length + data_length ) ,3) ...

= table2array ( T_struct (i) .Table (:,'Spring_constant '));

QS_val (( current_length +1) :( current_length + data_length ) ,4) ...

= real( table2array ( T_struct (i) .Table (:,'Natural_frequency ')));

else

% TT

current_length = size(TT_val ,1);

data_length = ( height ( T_struct (i) .Table ));

TT_val = [ TT_val ; zeros ( data_length ,4) ];

TT_val (( current_length +1) :( current_length + data_length ) ,1) ...

= table2array ( T_struct (i) .Table (:,'Mass_of_arm_and_hand '));

TT_val (( current_length +1) :( current_length + data_length ) ,2) ...

= table2array ( T_struct (i) .Table (:,'Damping_constant '));

TT_val (( current_length +1) :( current_length + data_length ) ,3) ...

= table2array ( T_struct (i) .Table (:,'Spring_constant '));

TT_val (( current_length +1) :( current_length + data_length ) ,4) ...

= real( table2array ( T_struct (i) .Table (:,'Natural_frequency ')));

end end

HJ_val = []; % Storing all values with HJ: m, c, k, f

SJ_val = []; % -"- SJ -"-

for i = 1: length ( T_struct )

if isempty ( strfind ( T_struct (i).Cond ,'Soft ')) == 1

% HJ

current_length = size(HJ_val ,1);

data_length = ( height ( T_struct (i) .Table ));

HJ_val = [ HJ_val ; zeros ( data_length ,4) ];

HJ_val (( current_length +1) :( current_length + data_length ) ,1) ...

= table2array ( T_struct (i) .Table (:,'Mass_of_arm_and_hand '));

HJ_val (( current_length +1) :( current_length + data_length ) ,2) ...

= table2array ( T_struct (i) .Table (:,'Damping_constant '));

HJ_val (( current_length +1) :( current_length + data_length ) ,3) ...

= table2array ( T_struct (i) .Table (:,'Spring_constant '));

HJ_val (( current_length +1) :( current_length + data_length ) ,4) ...

References

Related documents

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

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

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

Parallellmarknader innebär dock inte en drivkraft för en grön omställning Ökad andel direktförsäljning räddar många lokala producenter och kan tyckas utgöra en drivkraft

A few copies of the complete dissertation are kept at major Swedish research libraries, while the summary alone is distributed internationally through the series Comprehensive

[3] applied an identification procedure based on normalized moments of an impulse response to identify a set of linear models used for the model predictive control of a

In this pa- per, we suggest an alternative method called the multiple model least-squares (MMLS), which is based on a single matrix factorization and directly gives all lower order

standardized Internet-based cognitive behavior therapy for depression and comorbid symptoms: A randomized controlled trial.. Psychodynamic guided self-help for