Interpolating across the impedance/admittance spectrum with Unified Interaction Control

Impedance Control (IC) and Admittance control (AC) are two control methods for robot-environment interaction which have opposing performance and stability characteristics. Previous research has proposed that the two controllers define a spectrum of controllers. This paper quantifies the IC/AC spectrum as a trade-off between the suppression of force sensor error and modelling error. Unified Interaction Control (UIC) is introduced, which can interpolate across this spectrum of controllers by using a periodic state-reset and an inner-loop gain weighting parameter. The UIC is verified through simulation, experiment, and an eigenvalue analysis. Interpolating across the spectrum allows one to choose an ideal controller given the nature of the robot and environment. This is demonstrated in two case studies: adapting the level of interpolation to optimize performance with a changing environment, and using a static level of interpolation to mitigate the worst-case effects in both IC and AC.


Introduction
Interaction between robotic manipulators and external environments is the subject of a broad class of controllers, for example in physical human-robot interaction (pHRI) applications [1].Early approaches used Compliance Control for a special case of interaction when instantaneous mechanical work is negligible [2].The natural constraints of the environment allow one to partition the task space into either position-controlled or force-controller subspaces.Additional artificial constraints can be introduced in order to satisfy prescribed trajectories or force patterns.Hybrid Force and Position control can be implemented according to this framework [3], although separating the control task into generalized orthogonal complements has been called into question [4].However, when there is non-negligible energy exchange between robot and environment, compliance control is not applicable [5].
Interaction Control and its variants provide a more general framework for interaction by regulating the dynamic relation between the robot and the environment, specifically the relation between flow (velocity) and effort (force) [5, 1 3 6].A system can be either an impedance, which accepts an input flow to yield an output effort; or an admittance, which accepts an input effort and yields an output flow.Hence, there are two fundamental implementations of Interaction Control: Impedance Control (IC) and Admittance Control (AC).IC uses the position and velocity of the robot to determine an appropriate control force.AC, first introduced as a type of force control [7], uses interaction force feedback to determine an appropriate trajectory, which is tracked using a position control inner-loop.Note that naming is not consistent across the literature-sometimes, AC is also called Position-Based Impedance Control; IC can also be called Model-based or Dynamic-based Impedance Control, etc.These controllers all have the same goal: to implement a desired relation between the motion of the robot and external force, often in the form of a mass-spring-damper impedance.Interaction Controllers can also control generalized forces and impedances, including rotational impedances [8].
IC and AC have complementary stability and performance characteristics in terms of the nature of the robot, the choice of desired impedance [9], and the stiffness of the environment [10,11].IC tends to perform better on low impedance devices (e.g.direct drives) and when interacting with stiff environments, although it can be perform well with adequate model-based controls [12].AC performs better with high impedance devices (e.g.some industrial robots with high gear reductions) and when interacting with lower stiffness environments, and may cause instabilities and oscillations with high stiffness environments [7,13].In the presence of unmodelled dynamics and time delays, IC has difficulty rendering high stiffness, whereas AC has difficulty rendering low stiffness's [14].Often the combination of robot, desired impedance and environment stiffness may not be conducive to either controller (e.g. using a rigid industrial robot for low desired impedance interaction with a stiff environment may have performance issues using either IC or AC).Furthermore, pHRI can also lead to instabilities, due in part to delays and the human's limb impedance [15,16].Another perspective on the complementary nature of the two Interaction Controllers is known as the accuracy/robustness dilemma, which refers to the trade-off between robustness to modelling error and the accuracy of the rendered impedance that exists between IC and AC [17].IC relies on an accurate dynamic model and so is not robust to modelling error.AC overcomes this using the position control inner-loop, however the rendered impedance is inaccurate when there is error between the robot's position and the desired virtual trajectory, because the inner-loop gains, which are typically very high, add impedance when there is non-zero error.
A variety of methods can be used to overcome the limitations of IC or AC.Hybrid Impedance Control divides the task space into Impedance and Admittance subspaces, similar to Hybrid Position and Force Control [18].This is useful specifically when different types of Interaction Control are better suited along different degrees of freedom (DOF's).Modelling error can be reduced through adaptive control schemes for both AC [19] and IC [20].Control schemes such as Model Reference Adaptive Control (MRAC) can be used to augment IC in the presence of unknown model parameters [21].Sliding mode control can be integrated into the AC inner-loop to avoid contact instability, especially in the presence of actuator saturation [22].Neural Network based adaption can improve AC performance in the presence of actuator deadzones in an unknown environment [23].Force control methods have been made more robust to changes in environmental impedance by estimating the impedance of the environment using recursive least squares (RLS) [24], or with MRAC [25].Environment estimates can be used to adjust desired impedance parameters to avoid instabilities [26,27], or to prevent force overshoots [28].Others adapt the desired impedance parameters without direct environment estimation [29].AC can be made adaptive for pHRI [30,31], specifically in the presence of oscillations [26,32,33].Adaptive schemes can improve transitions from free-space to contact [34], for example by using Fuzzy Logic and classifications of motion and contact phases [35].Instantaneous Model Impedance Control (IM-IC) is a variant of the AC which to some degree overcomes the accuracy/robustness dilemma by resetting the virtual trajectory at every time step to the states of the robot [17,36,37].
Despite the improvements to IC or AC, they remain two inherently dichotomous controllers with opposing performance characteristics in situations were there is unmodelled dynamics, modelling error, delays, and other non-linearities.Unifying the two controllers into a single framework would allows for more fundamental improvements for interaction.To this end, Unified Impedance and Admittance Control (UIAC) is a hybrid control framework based on IC and AC [11,38].The authors proposed that IC and AC lay on opposite ends of a spectrum of controllers, and that the UIAC can interpolate across this spectrum.This is achieved through high frequency switching between control commands.By controlling the duty cycle, i.e. the proportion of time steps using either IC or AC over a window of time (the switching period), the resulting system can have a desired performance interpolating between the two base controllers.By allowing for interpolation across this IC/AC spectrum, performance can be optimized for a given environment, or the controller can adapt to changing environments.
The UIAC provides a method for interpolating between IC and AC, but does not directly address how to determine the optimal level of interpolation.Further research has been conducted to address adapting the duty cycle based on the impedance of the environment.One approach is to use simulation over a range of environmental impedances to build an offline mapping to the optimal duty cycle (which minimizes the squared-error).Algorithms such as recursive least squares can then be used to estimate environmental impedance in real-time to adapt the controller to the optimal duty cycle [39,40].This method was shown to improve performance for a robot interacting with a spring and damper in simulation.Another approach is to use simulations to train a feedforward neural network which directly maps measured states (position, velocity, and external force) to the optimal duty cycle [41], which is also shown to reduce error when interacting with a spring of known stiffness.Adapting both the duty cycle and the switching period based on both environment stiffness and inertia has been shown to improve the performance of the UIAC [42].It also possible to use a switching condition based on the deviation from the equilibrium trajectory [43].
The UIAC has several shortcomings.The switching framework limits the rate of online adaption of the duty cycle to a changing environment-the duty cycle is implemented over a window of multiple time steps, precluding a change in duty cycle during this time.Therefore, the adaption rate will always be slower than the control rate, and more granular options of duty cycle will require longer windows and therefore slower adaption rates.Furthermore, the IC/AC spectrum is not well understood beyond a qualitative understanding of the trade-offs between the two controllers.The virtual state reset, which is purported to be for maintaining command continuity when switching, is also not well grounded.A similar state reset is used in the IM-IC, suggesting that it may have broader implications for unifying IC and AC.Finally, the level of interpolation is investigated qualitatively by plotting the responses.Analysis of the controller may benefit from a measure of the level of interpolation.
This paper expands on the previous work highlighted above to provide a general unification of IC and AC.The contributions of this paper include: 1. Quantifies the IC/AC spectrum as a trade-off between the suppression of force-sensor and modelling error.2. Presents the Unified Interaction Controller (UIC) which can interpolate across this spectrum by tuning two parameters, validated in an eigenvalue analysis, in simulation and experimentally.The UIC allows tuning Interaction Controllers to the needs of the application (e.g.type of robot, stiffness or the environment, etc), in order to avoid issues inherent to IC or AC. 3. Introduces two methods of calculating the level of interpolation across the IC/AC spectrum based on eigenvalues or system error.4. Compares the UIC with the UIAC, showing that the UIC explains and avoids inconsistencies in the UIAC, and is better suited to adapting to changing environments.
The paper is organized as follows.Sec. 2 introduces the control fundamentals, unifies IC and AC, and defines the IC/AC spectrum.Sec. 3 introduces the UIC and provides a 1-DOF eigenvalue analysis to determine the impact of control parameters on interpolation.In Sec. 4, the UIC is validated in simulation, and the benefits of the UIC as compared to UIAC are demonstrated.Sec. 5 presents the results of an experiment with a linear drive, including a validation of interpolation and a stiff environment case study showing that even a simple static interpolation can improve performance for a changing environment.A stability analysis is presented in the Appendix 1.

Control fundamentals
The dynamics of an n-DOF robotic manipulator operating in p-dimensional Cartesian space are where ( ) and C q (q, q) are n × n positive definite symmetric matrices for the system's mass and centrifugal/coriolis terms, respectively; q , ( ) , and are n × 1 vectors denoting the general coordinates of the robot, the torques due to gravity, and the control torque; J is the p × n Jacobian; and is the p × 1 external force applied to the robot.The dynam- ics can be expressed in Cartesian space [44], (1) M q ( ) q + C q (q, q) q + G q (q) = + J T F ext , where x is the p × 1 state vector and M = J −T M q J −1 , C = J −T (C q − M q J −1 ̇J)J −1 , and G = J −T G q .The computed torque method for feedback linearization is used [45], where M , Ĉ , and Ĝ are estimates of the robot dynamic matrices; Fext is the external force as measured by a force sensor, and ẍ * is the acceleration control term which will be specified for IC or AC.The closed loop dynamics of ( 2) and ( 3 The goal of Interaction Control is to implement a prescribed dynamic relationship between the flow and effort variables, such as the following mass spring damper system where M d , B d , and K d are p × p positive semi-definite matrices representing the desired impedance parameters of mass, damping, and stiffness, respectively.The desired equilibrium trajectory x 0 and its derivatives are reference points for the impedance elements (Fig. 1).
IC implements the desired impedance directly by feedback linearization, such that the closed-loop system is equal to the desired impedance system.The acceleration control term is then and the resulting closed loop system is which matches the desired dynamics (6) except with the estimate of the external force on the right-hand-side, and with a disturbance term caused by modelling and force sensor error (Fig. 2).The IC control loop is illustrated in Fig. 3.
AC simulates the desired dynamics in real-time given the external force as input, (2) where x v and its derivatives defines the virtual trajectory that the desired system would take given the estimate of the external force as input.An inner-loop position controller is then used to drive the robot's trajectory towards the virtual trajectory, where K v is the p × p velocity gain and K p is the p × p position gain.This yields the following closed-loop system, depicted in Fig. 4, The controller is illustrated in Fig. 5, where the desired impedance system and the inner-loop controller is formulated in the frequency domain.

Unification
The AC control acceleration is reformulated to include the virtual trajectory.Solving (9) for ẍv and substituting it into the acceleration term (10) yields While IC and AC approach the problem of Interaction Control from different perspectives, the control command for AC (12) becomes equivalent to the IC command (7) in two scenarios: when the inner-loop gains are equal to the desired impedance parameters, and when the virtual state is set equal to the robot state.

Inner-loop gains perspective
If the inner-loop gains (K p , K v ) are equal to the desired impedance parameters (12) reduces to (7).This equivalent formulation of IC is depicted in Fig. 6.
This demonstrates that IC can be conceptualized as a special case of AC, and has an implicit inner-loop with gains equal to the desired impedance parameters.Typically, IC is implemented as originally formulated, without the need for the simulation of the virtual system.

Virtual state reset perspective
If the virtual position and velocity ( x v , ẋv ) equal the robot position and velocity ( x, ẋ ), then (12) reduces to (7).Con- tinuously resetting the virtual states of AC such that x v ≡ x results in IC.While this is not possible to implement, it will motivate Unified Interaction Control in Sec. 3.
Other controllers which seek to unify IC and AC, such as IM-IC and UIAC, also use forms of state reset, suggesting that it plays a significant role.The authors of the UIAC suggest that a reset of the virtual states is needed to maintain control continuity when switching, i.e. such that AC = IC [11].They note that as the switching period approaches zero, the AC controller becomes equal to the IC controller, since the command is continuously reset.When using the computed torque method, the AC command (10) becomes equal to the IC command (7) when the virtual state x v is reset to the robot state x , hence the state reset used in the UIAC is the same as the state reset noted here.
Fig. 4 The AC closed-loop system.The dashed line indicates that forces from the innerloop spring and damper are not transmitted to the desired impedance system, but only track its position.The system is disturbed by both force sensor and modelling error, while the desired impedance system is driven by the estimate of the external force

Defining the IC/AC spectrum
In order to define the IC/AC spectrum, a measure of performance must be introduced to allow for comparison between the two controllers.The desired impedance model defines a reference trajectory, described previously in the literature as the target-impedance reference trajectory (TIRT) [20], where the solution x r is the reference trajectory that the desired impedance system would follow if subjected to the real external force F ext .The goal of IC or AC is then to drive the reference error − to zero.The reference trajectory differs from the virtual trajectory used in AC, which is generated based on the estimate of the external force.In general x r can- not be determined as it requires perfect knowledge of the external force.
In the frequency domain, both the inner-loop controller and the desired impedance can be represented by second-order systems where Z c (s) is the inner-loop and Z d (s) is the desired impedance.The unification in Sec.2.2 shows that the AC is equivalent to IC when Z c (s) = − Z d (s) .There are three systems of interest: the closed-loop robot system − (11), the virtual system − (9), and the reference system − (13), By substitution, the closed-loop reference error using AC is The system is disturbed by two terms, one caused by modelling error and one caused by force sensor error.AC uses high position control gains in Z c to reject modelling error to an extent that feedback linearization is not needed and the con- troller can be implemented with a simple position controller.However, the term s) is not necessarily small-so force sensor error is not suppressed.
IC was shown to be equivalent to AC with Z c = − Z d , and therefore it's behaviour with respect to the reference trajec- tory is The gains in Z d are the desired impedance parameters, which are not in general high, and therefore IC does not suppress the modelling error.The force sensor error term becomes small when the desired mass and the estimated mass of the system are similar.In certain circumstances the term becomes zero and force sensor error is completely rejected, such that the IC can be implemented without a force sensor [10,46].Thus, we propose that IC and AC sit on a spectrum determined by a trade-off in the suppression of modelling error and force sensor error.On one extreme, AC suppresses modelling error, but requires an accurate force estimate.On the other extreme, IC suppresses force sensor error, but requires an accurate robot model.
3 Unified Interaction Control

Control framework
The remaining sections establish the Unified Interaction Controller (UIC) which is capable of interpolating across the IC/ AC spectrum.IC and AC are related through the virtual state reset and the inner-loop gains.The UIC therefore uses two parameters: the virtual state reset period (  > 0 ) and the weighting parameter used to set inner-loop gains ( ∈ [0, 1] ). Figure 7 depicts the UIC block diagram, where the virtual system Z d is reset at rate and the inner-loop gains are changed by weighting parameter .
The UIC uses the AC control scheme.The virtual system with periodic state reset is simulated as follows, where is the switching period, k ∈ N is a series of integers, and t + k is the instant after t k ( t + k = t k + as → 0).The inner-loop gains are determined by a weighted sum, where is the weighting parameter, (K p , K v ) are the standard inner-loop position gains (typically set high), and ( � , � ) are the new inner-loop gains used by the UIC.The closed-loop dynamics are then When = 1 and → ∞ , the UIC is equivalent to AC (since an infinite is effectively a non-reset system, and AC is typically not reset).The UIC is equivalent to the IC when = 0 , or as → 0 .We hypothesize that by changing and , the UIC will be able to interpolate between IC and AC, specifically to trade-off the suppression of modelling and force sensor error.

Validating interpolation
To validate the UIC, we design two metrics related to the level of interpolation (L), such that L = 0 when the UIC behaves the same as IC, and L = 1 when the UIC behaves the same as AC. (18)

Level of interpolation-eigenvalues
If the closed-loop system can be formulated in linear state-space form, then it will have a conjugate pair of eigenvalues.We define the level of interpolation L ∈ [0, 1] as where || ⋅ || 2 is the complex 2-norm.By definition, a level of interpolation L = 0 and L = 1 will correspond to a system with same eigenvalues as IC or AC, respectively.

Level of interpolation-reference error
Given a specific environment, a desired trajectory, and a time interval, the UIC will produce a response and associated reference error x(t) − x r (t) .The reference error output will be a function in time.The 2-norm on a function space defined for t ∈ [0, T ] is or in discrete time Both IC and AC will produce a given output trajectory ( x IC and x AC ).The level of interpolation ( L e ) is defined as follows The metric L e varies from 0, when x UIC (k) ≡ x IC (k) , to 1, when x UIC (k) ≡ x AC (k).First, we use the eigenvalue definition to investigate the effects of the control parameters and on the level of interpolation.This analysis is limited to a linear system interacting with a spring.In Sec. 4 and 5, we use the reference error definition to analyse results from a simulation and experiments.

Equivalent discrete system
A 1-DOF linear analysis of a mass interacting with an external spring illustrates the effect of changing and on the level of interpolation achieved by the UIC across the IC/AC spectrum.The 1-DOF linear system is defined as where m is the mass, c v is an unmodeled viscous friction coefficient, f is the control force, f ext is the external force, and x is the position of the mass.The external environment is a linear spring, where k e is the stiffness and x 0 is the equilibrium position.The control command is where ke is the estimate of the stiffness, k ′ v and k ′ p are the UIC inner-loop gains and where x v are the virtual states reset at a period of .Note that to make the analysis possible the external force is determined by estimating the stiffness of the spring.A 4 × 1 state vector is defined containing both virtual and robot states, and the overall system can be formulated in state space form, where and where Next, the effect of the reset can be incorporated using the notion of an equivalent discrete system [47].The continuous system is discretized at a sampling period equal to the reset period.The dynamics of the system between resets is where the system is discretized using the matrix exponential.The reset matrix S can then be used to factor in the state reset, where Finally, the system is moved back into continuous time, resulting in the equivalent discrete system ,

Level of interpolation
An eigenvalue analysis of the equivalent discrete system ( ) is used to determine the level of interpolation according to the eigenvalue definition ( L ) as a function of the weighting parameter .Furthermore, the role of the state reset is shown to be the modulation of this distribution.
The parameters are listed in in Table .1.Eigenvalues are determined numerically in Matlab.The closed-loop system has four DOF's and therefore four eigenvalues, two corresponding to the virtual states and two corresponding to the robot states.The eigenvalues associated with the robot state ( x − x 0 ) are investigated.In this case, the eigenvalues for IC are = −7.82± 13.74 and for AC are = −7.18± 14.54.
Figure 8 shows the level of interpolation as a function of the two control parameters.According to the unification, the UIC should be equivalent to IC when either = 0 or = 0 , which is confirmed as L = 0 along the x-and y-axis.The UIC is equivalent to AC when = 1 and when → ∞ .The eigenvalue analysis demonstrates that the system (28) becomes equivalent to AC even for  < ∞ .Finally, the figure shows that as the parameters change, the eigenvalues change smoothly from IC to AC, indicating that interpolation is possible.
The goal is to determine a choice of the parameters to allow for consistent and reliable interpolation.Arguably the simplest method is to choose a static and then to vary to obtain the desired level.Figure 9 shows the resultant L across the range of given five levels of .
The choice of changes the distribution of L .Increasing compresses the distribution towards the y-axis.This results in a quicker transition from IC to AC as is increased.At the highest value of = 50 ms, even very small incre- ments of beyond 0 lead to unpredictable behaviour and an almost instant transition to AC.Under these conditions, reliable interpolation is impossible.This demonstrates the necessity of the state reset.A non-reset system effectively has → ∞ , so we can predict that the non-reset system wouldn't be able to interpolate with just a weighted sum of the gains.This aligns with remarks in [38], where simply using weighted sums of control commands did not achieve interpolation.
Decreasing compresses the distribution towards the x-axis.This aligns with the understanding that a hypothetical value of = 0 ms should result in IC control, regardless of .If is too low, e.g.0.5 ms in Fig. 9, then the range of ∈ [0, 1] cannot achieve the full range of interpolation L ∈ [0, 1] .This analysis suggests that a reset rate of = 5 ms allows for reliable interpolation, which can also achieve the full range of interpolation from IC to AC.Throughout this paper, simulations and experiments will use = 5 ms.Fig. 8 The level of interpolation according to the eigenvalue definition ( L ) of the UIC over a range of and .Dark red indicates the UIC is behaving similar to AC, whereas dark blue indicates similarity to IC where l(q) is the forward kinematics, i.e. the position of the end effector x as a function of the generalized coordinates q .The parameter values are listed in Table 2.The simulation includes modelling error, in terms of an estimate of the link masses m .The force sensor which measures is modelled as having a two time-step delay, and is affected by white noise using the "Band-Limited White Noise" Simulink block with a noise power of 0.001.The simulation is run at a fixed frequency of 1000 Hz.The equilibrium trajectory is a step ( = [0.95,0.95] , ẋ0 = ẍ0 = 0 ), and the simulation is run for 1.4 s.
The reference error x − x r is used to compare controllers.Ideally, this error would be zero.Figure 11 shows the refer- ence trajectory x r for the three different environment stiffnesses.

Validating interpolation
Figure 12 shows the reference error for a constant = 5 ms and for four values of while interacting with a soft ( K e = 10 N/m), moderate ( K e = 300 N/m), and stiff ( K e = 3200 N/m) spring.IC and AC are equivalent to the UIC when = 0 and = 1 , respectively.As expected, AC performs better in the soft and moderate environment, whereas IC performs better in the stiff environment.The weighting parameter is set to 0.05 and 0.2.Visually, the UIC is seen to interpolate between the responses of IC and AC by changing .Next, we use the reference error level of interpolation L e (24) to investigate its relation to .Figure 13 displays L e as a func- tion of , found by running the simulations over a series of with step size 0.01.The results again show that the UIC can achieve any level of interpolation between IC and AC, although the relationship is not linear (e.g. a choice of = 0.5 does not correspond to a response half-way between IC and AC).
Fitting a simple exponential function to the relationship yields Hence, this simulation suggests that the UIC can achieve a given level of interpolation by setting according to the following function, Fig. 12 Reference error from the simulation for a range of and = 5 ms while interacting with a soft spring (top), a moderate spring (middle), and a stiff spring (bottom).All three cases demonstrate the UIC's ability to interpolate between IC = 0 ) and AC ( = 1)

Improvements over the UIAC
The UIAC can also interpolate across the IC/AC spectrum, and can achieve the same results as shown above given the appropriate choice of duty cycle.The UIAC uses a high-frequency switch between IC and AC, and resets the virtual states to maintain control continuity when switching to AC.When using the computed-torque method, this reduces to a virtual state reset to the states of the robot, as is done in the UIC.The UIAC uses the computed-torque command (3) with a switched acceleration command where is the switching period (effectively the reset period as well), n ∈ [0, 1] is the duty cycle controlling the propor- tion of time allotted to IC and AC, and k is an integer 0, 1, 2, etc. IC and AC correspond to n = 0 and n = 1 , respectively.We propose that the UIAC is therefore a specific implementation of the UIC, with a reset period equal to the switching period, and where the weighted-sum is created through high-frequency switching with a specified duty cycle.
The eigenvalue analysis demonstrated that the reset period alters the distribution of the level of interpolation as a function of the weighting parameter.If the UIAC's switching period is analogous to the reset period, then we might expect that changing the switching period will impact the level of interpolation.The UIAC then suffers from potential inconsistencies: a given duty cycle may produce different results depending on the choice of switching period.This is verified by plotting the response for the same n across different (Fig. 14).The UIC therefore explains inconsistencies in the UIAC, and itself remains consistent by using a static value for .
The UIAC can only be adapted at a rate equal to the switching rate.However, the granularity of choices of levels of interpolation is dictated by the size of the switching period.Larger periods have more control steps, and so can achieve a greater number of duty cycles.Thus, there is an inherent trade-off between the granularity of available duty cycles, and the speed at which it can be adapted.A simple example demonstrates how the UIC instead has continuous granularity and can adapt as fast as the control rate.
The environment is a spring with changing stiffness, with an initial slow-changing phase followed by a sudden transition to a stiff environment.The following adaption law is used to determine the level of interpolation, based on the method suggested in [38], where K e,max = 4000 N/m and L is the desired level of interpolation.The corresponding value of to use is determined based on the (40).This adaption law leverages the fact that interpolation closer to 1 (AC) should perform better in soft environments, and vice versa.The resulting control parameters, and the stiffness of the environment for the duration of the experiment, are shown in Fig. 15.Two versions of UIAC are compared with the UIC.Each controller operates at a sampling rate of 1kHz.The "slow UIAC" has a large switching period of = 10 ms.This allows it achieve duty cycles at a granularity of 0.1.The fast UIAC has a small switching period = 1 ms, allowing it achieve only n = 0 or n = 1 .Figure 16 shows the refer- ence error of all three controllers.
The fast UIAC does not have adequate levels of interpolation to adapt to the slowly changing environment (Fig. 17, top plot).The slow UIAC is unable to adapt quickly to the sudden contact, resulting in greater oscillations (Fig. 17, bottom plot).In both cases, the UIC performs identically to the better version of the UIAC.

Device setup
The UIC is validated using a 1-DOF linear drive actuated by a DC motor and 24 in belt drive (Fig. 18).A load cell is attached to the belt drive to measure the external force.The control system is created with the C programming language and run on Linux Ubuntu with a PREEMPT_ RT kernel.The dynamic model is where m is the total mass and c v is the viscous friction.
The reference trajectory can be determined by assuming the true external force is F ext = −k e x , which assumes that the true stiffness of the spring is known and the spring is at zero stretch when the device is at position x = 0 .The

Results
The reference error for four weighting parameters is shown in Fig. 19.AC performs best, while IC has approximately 4 mm of steady-state error due to uncompensated friction.The interpolation is visible in the responses.The level of interpolation is calculated according to the reference error definition (24).The results are compared to the simulation results found in Fig. 20 and the eigenvalue analysis.The results are very similar across these three cases, despite each being calculated using different degrees of freedom, different dynamic parameters, and different desired impedances.This suggests that the interpolation created by the UIC is consistent for different devices.

Contact case study
Often robots are required to move through free-space until coming into contact with an external object, and then to interact with said object.It is well established that IC generally has large errors when moving through free-space (due to modelling error dominating the total error), whereas AC can cause oscillation during contact, especially if the object is stiff-due to force sensor error.
The results of the contact experiment are given in Fig. 21 for three levels of at a constant = 5 ms.The environment has a stiffness of 8300 N/m.The device moves through free space for approximately one second (the exact time of contact changes due to the different responses of the controllers) and then comes into contact with the rigid spring.IC has large error when moving through free space and stead-state error after contact, while AC shows sustained oscillation that are characteristic of AC in contact tasks.Setting = 0.1 interpolates between the two responses, reducing the errors associated with IC while also avoiding the oscillations caused by AC.

Conclusion
IC and AC are two methods of Interaction Control which have complementary stability and performance characteristics.This works quantifies the IC/AC spectrum, defined by a trade-off between the suppression of force sensor error and modelling error.This process also shows that IC and AC are equivalent in two cases: when the inner-loop gains are equal to the desired impedance parameters, or when the virtual states are set to the robot states.This motivates the UIC, which is a form of AC with weighted-sum inner-loop gains and a periodic virtual state reset.It's ability to interpolate across the IC/AC spectrum is validated through an eigenvalue analysis, simulation, and robot experiments.The UIC is shown to improve upon the UIAC.First, an understanding of the role of the periodic state reset better explains the UIAC, which was previously believed to function primarily to maintain command continuity between switches.This may result in inconsistencies in UIAC depending on the choice of switching period.The UIC avoids these inconsistencies.Furthermore, the UIC is capable of interpolating continuously across the spectrum, and is able to change that level of interpolation during each control step, whereas the UIAC must contend with a trade-off between the granularity of achievable levels of interpolation and the adaption rate.Finally, two methods for using the UIC to improve performance are demonstrated: first, adapting to changing environments by using a weighting parameter update law; second, by choosing a static weighting parameter that mitigates both the steady-state error of IC and the oscillations of AC in a contact experiment.While this paper presents case studies, future research will investigate more complex scenarios, such as when interacting with humans, and on muti-DOF robots.Furthermore, future research should address combining the UIC with other improvements to Interaction Control, such as those listed in the Introduction.
) are where M = M − M , C = Ĉ − C , G = Ĝ − G , and Fext = F ext − Fext are the error terms.The right-hand side comprises the force sensor error Fext and the modelling error, , defined as

Fig. 1 A 0 Fig. 2
Fig.1A simplified 1-DOF depiction of the desired impedance mass-springdamper system, with external force F ext and reference point x 0

Fig. 3
Fig. 3 Block Diagram of IC, where the desired impedance in terms of M d , B d , and K d is implemented using computed torque

Fig. 6 Fig. 5
Fig. 6 Diagram of refactored IC, which is equivalent to the AC diagram with specific inner-loop gains

Fig. 7
Fig. 7 Block Diagram of the UIC, which is equivalent to AC with the inner-loop gains modulated by and the desired impedance system reset at a rate of

Fig. 14 Fig. 15 Fig. 16 Fig. 17
Fig.14 Inconsistency in the UIAC for the same duty cycle (n) across different switching periods ( ), from the simulation.Ideally, different choices of would yield the same trajectory Fig. 17Reference error comparing the UIC to the Fast UIAC during slow environment change (top), and the Slow UIAC for the sudden environment change (bottom), highlighting that the UIC improves on both versions of the UIAC in certain situations

Fig. 20 Fig. 21
Fig.20 The level of interpolation as a function of , comparing the experimental results with the simulation results at k e = 300 N/m and the eigenvalue analysis at = 5 ms.The experimental data includes standard deviation bars at each value of

Table 1
Parameter values and units used in the analysis