{'fraction_non_alphanumeric': 0.03877849301862736, 'fraction_numerical': 0.007525577634729608, 'mean_word_length': 4.896222955628896, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 2, 'lorem ipsum': 0, 'www.': 1, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Convex Controller Synthesis for Contact

Controlling contacts is truly challenging, and this has been a major hurdle to deploying industrial robots into unstructured/human-centric environments. More specifically, the main challenges are: (i) how to ensure stability at all times; (ii) how to satisfy task-specific performance requirements; (iii) how to achieve (i) and (ii) under environment uncertainty, robot parameters uncertainty, sensor and actuator time delays, external perturbations, etc. Here, we propose a new approach – Convex Controller Synthesis (CCS) – to tackle the above challenges based on robust control theory and convex optimization. In two physical interaction tasks – robot hand guiding and sliding on surfaces with different and unknown stiffnesses – we show that CCS controllers outperform their classical counterparts in an essential way.


I. INTRODUCTION
Controlling the contacts between an industrial robot and an unknown environment is truly challenging. To date, contact tasks for industrial, position-controlled, robots, such as assembly, deburring, or polishing, have always required a highly accurate model (geometry, stiffness, friction) of the environment. In particular, there are very few, if any, production-deployed instances of industrial robots physically interacting with environments whose stiffnesses are unknown. More specifically, the challenges are threefold: 1) How to ensure the stability of the robot at all times: instability may lead to catastrophic consequences such as excessive contact forces that may damage the robot, the workpiece or, at worst, harm the human operator; 2) How to satisfy task-specific performance requirements, which may include minimizing force/position tracking errors, fast response, noise attenuation, disturbance rejection; 3) How to achieve (1) and (2) under environment uncertainty, robot parameters uncertainty, sensor and actuator time delays, external perturbations, etc.
There has been substantial work on contact controllers that can deal with environment uncertainty, in particular, unknown environment stiffness. One approach consists in estimating the environment stiffness in real time and adapting controller gains accordingly [1], [2], [3], [4], [5]. One major limitation is the comparatively low sensitivity and speed of the stiffness estimator, which, in turn, severely restricts the reactivity of the controller. Other approaches are based on robust control theory [6], [7] or Model-Predictive Control [8], but so far such approaches have been restricted to simple robot/environment models and limited ranges of environment stiffnesses (about two times).

Sliding on different surfaces
Robot hand guiding In this paper, we propose a new approach -Convex Controller Synthesis (CCS) -to tackle the above challenges. Our approach relies on robust control theory as a systematic modeling framework, and numerical convex optimization as a synthesis tool. Unlike approaches based on stiffness estimation, there is no need here to estimate environment stiffness nor to change controller gains, which enables fast and reactive control. Compared to previous approaches based on robust control or MPC, our systematic framework can model most of the relevant sources of uncertainties (robot parameter uncertainties, sensor and control time delays, external perturbations), while handling a large range of environment stiffnesses (up to 27 times, as shown in the experiments). A more detailed discussion of related work is offered in Section II.
Specifically, our contributions are: • we formulate contact control problems (including Admittance/Impedance Control and Direct Force Control 1 ), and relevant sources of uncertainties in the framework of robust control theory; • we numerically address that formulation based on appropriate tools (Q-parameterization and convex optimization); • we demonstrate, in two physical experiments -robot hand guiding and robot sliding on surfaces with different and unknown stiffnesses -that CCS controllers outperform their classical counterparts in an essential way.
Note that our experiments are performed with positioncontrolled industrial robots, which involve significantly more difficulties when it comes to contact control (see Section III-B for more detail) as compared to torque-controlled robots. The results are therefore widely applicable, as the overwhelming majority of robots in the industry are position-controlled, owing to their high precision and cost-effectiveness [9].
The paper is organized as follows. In Section III, we present the core framework, which relies on appropriately selected and contextualized elements of robust control theory and convex optimization. In Section IV, we delve into the synthesis of convex controllers for contact. In Section V, we report the results of two physical contact experiments, robot hand guiding and sliding on multiple surfaces. Finally, we discuss the significance of the experimental results and conclude by sketching some future research directions (Section VI).

II. RELATED WORK
As mentioned, one approach to dealing with uncertainties in environment stiffness is to estimate the stiffness online and adapt the controller gains accordingly. In [1], [2], [3], [4], researchers used a Least-Square-based estimator to estimate the stiffness of the environment, which is then used to select the actual gains for the force control loop. More recently, [5] proposed to use Virtual Reference Feedback Tuning [10] to adapt the controller directly to stiffness measurements. These approaches work well when the control objective is simple, such as maintaining a level of contact force throughout the task. However, for tasks that involve switching among multiple modalities (e.g., rapidly making and breaking contacts with different surfaces), stiffness estimation is less effective, making it harder to select appropriate control gains.
In recent years, there has been a shift in force control research toward designing robust controllers that are stable across a range of environments. This also reduces the need for online estimation, paving the way for more difficult assembly or interaction problems. In [6], [7], set invariance theory is used to handle moderate level of uncertainty in environment stiffness (about two times, which is much less than what CCS can achieve). Model-Predictive Control is another common approach in control engineering [11] that improves the robustness of the system; this was applied to force control in [8]. Both approaches just mentioned assume a relatively simple model of the environment/robot -elastic environment with double-integrator robot dynamics. Other relevant types of uncertainties, such as timedelays or time-discretization, have not been considered.
The theory of passive systems leads to yet more approaches to the design of robust force controllers. The central observation is that a combination of passive systems is passive, and therefore stable [12]. Accordingly, a line of research consists in developing control algorithms that make the robot dynamics passive [13], [14]. While this approach works well in many reported experiments, its main drawback is that passivity is a conservative property: a system can be stable without being passive. In particular, timedelays and time-discretization in the robot control loop lead to extremely restrictive passivity requirements, which are detrimental to performance. Thus, passivity-based controllers are stable but not necessarily high-performing: it is difficult to achieve the kind of performance specifications described in the present paper.

A. General Control Problem Formulation
We model contact dynamics by a discrete-time linear and time-invariant (LTI) system (a justification for this modeling choice is given when we discuss an actual control system in Section III-B): Here, x[n] is the vector of internal states at time n; u[n], w[n] are respectively the control inputs and the exogenous inputs; y[n], z[n] are respectively the measured outputs and the exogenous outputs. Note that actuator/sensor time-delays can be easily modeled by introducing additional states. Denote the Z-transform of a signal by a single boldfaced letter (e.g. x). Taking the Z-transform of both sides of equation (1) and assuming zero initial conditions yield the following transfer matrix representation: This representation is more convenient during modeling, while the state-space representation offers efficiency in simulation and analysis. We consider controllers that are also discrete-time LTI systems: here the superscripts (K) denote quantities internal to the controller. Note the measured outputs y[n] are inputs to the controller, while the control inputs u[n] are its outputs, see Fig. 2 for an illustration. The Z-transform of the controller is also a transfer matrix: Suppose that controller K(z) stabilizes a given plant P(z), the closed-loop system dynamics is an LTI system that maps the exogenous inputs w to the exogenous outputs z. The closed-loop transfer matrix H(z) is given by 2 : (6) The controller synthesis problem is to find a controller K(z) so that the closed-loop system is stable and that the closedloop transfer matrix H(z) achieves the desired specifications of the given task, which are specified via the exogenous inputs w and outputs z.

B. Example of General Control Problem Formulation: Direct Force Control for a position-controlled robot
To illustrate the General Control Problem Formulation, we show here how to cast a classical problem in industrial robotics, Direct Force Control for a position-controlled robot (see e.g. [9]), into that formalism.
Most industrial robots are position-controlled, i.e. the user specifies a desired position u, and the robot internal controller R(z) -on which the user usually has no authority -tries to achieve that desired position as precisely as possible using a high-gain loop. To perform Direct Force Control -i.e. tracking a desired contact force f d -the idea is to obtain a measurement y of the contact force through a Force/Torque (F/T) sensor mounted at the robot flange, and compute an appropriate position command u. This scheme is illustrated in Fig. 3. Note at this point that the LTI formulation is well justified: the environment can be appropriately modeled as a linear spring-damper system, while the input/output relationships of the actuation and of the F/T sensor can be appropriately modeled as linear filters with time-delays. 2 A subtle issue in the design of controller is the well-posedness of the feedback loop, which guarantees the existence of H(z). A necessary and sufficient condition is that the matrix is invertible [15]. In the context of robotic applications, P represents a physical system, which often has zero feed-through D 22 = 0 due to timedelays, hence, satisfying the well-posedness condition trivially.
To cast this scheme into the General Control Problem Formulation, one may define the following signals: • the exogenous inputs as the desired contact force f d , the perturbation x p in the robot position, and the perturbation f p in the contact force; • the control input is the position command u to the robot; • the exogenous outputs are the actual robot position x a and the actual contact force f a ; • the measured output is the measured contact force y from the F/T sensor. This yields the following open-loop plant transfer function and the corresponding closed-loop system transfer function: Besides guaranteeing close-loop stability, one can enforce performance specifications such as: • the robot should maintain a stable contact with the environment, which can be time-varying; • the robot should track a step reference force signal without steady-state error, and with a sufficiently high bandwidth; • attenuation of noises from the sensors and motors. These three performance specifications correspond in fact to three elements of the transfer matrix H(z). Therefore, by appropriately constraining and optimizing these elements, one can achieve the stated specifications.

C. Q-parameterization and CCS
A controller is said to be stabilizing if the closed-loop system is stable. The set of all closed-loop transfer matrices H(z) achievable by stabilizing controllers H = {H(z) | K(z) is stabilizing and satisfies (6)} (8) has in fact a very simple structure: it can be parameterized affinely [16]. Specifically, there exist three transfer matrices T 1 (z), T 2 (z), T 3 (z) such that for any H(z) ∈ H, there is a stable transfer matrix Q(z) such that Conversely, for any stable transfer matrix Q(z), the transfer matrix H(z) defined by Eq. (6) is a valid closed-loop transfer matrix that is realized by a stabilizing controller.
Specializing to stable open-loop plants, the coefficients T 1 (z), T 2 (z), T 3 (z) are relatively simple [15]: The controller can be recovered from Q(z) using the following relation: While it is possible to use the above equation to explicitly compute the controller, it is not recommended. Rather, one can implement a controller K(z) directly by constructing a feedback loop of Q(z) and P 22 (z).
Note that H is an affine set: for any two closed-loop transfer matrices H 1 , H 2 ∈ H, one can obtain a one-parameter family of closed-loop transfer matrix: This follows easily from the linearity of Q in the expression of H(z) Eq. (9), and the observation that linear combinations of stable transfer matrices are stable. Since affine sets are favourable from a computational viewpoint, this property is perhaps the most fundamental to our numerical synthesis of controllers.
As a result, one can formulate a general Convex Controller Synthesis problem as a convex optimization problem: where f is a convex objective function and the C i 's are convex sets arising from performance requirements.

D. Synthesis by numerical optimization
To obtain a finite-dimensional approximation, we follow the computational approach proposed in [17]. In particular, we select a set of basis stable transfer matrices {Q i , i = 0, . . . , n − 1}, and approximate the optimal Q(z) by Q(z) = n−1 i=0 θ i Q i (z), where θ i are real parameters. The closed-loop transfer matrix H(z) is given by: H(e jωTs ), the frequency response at angular velocity ω, is linear in the parameter vector Θ := [θ 0 , . . . , θ n−1 ] : H(e jωTs ) = T 1 (e jωTs ) + T (e jωTs )Θ, where T (e jωTs ) is a complex-valued block matrix, obtained by appropriately rearranging Eq. (14). By the linearity of the inverse Z-transform, the closed-loop impulse response is also linear in the parameter vector: By expressing performance requirements as convex constraints and convex objective function on the frequency response and the impulse response of the closed-loop transfer matrix, we obtain standard numerical convex optimization problems, which can be solved easily with standard convex optimization solvers.
In the sequel, we choose delayed unit-impulses as basis transfer functions. For a Single-Input Single-Output system with scalar u and y, this choice simplifies to Q i (z) := z −i . For general Multiple-Input Multiple-Output system, there is a set of delayed impulses for each element of Q. With this basis choice, computing the coefficients of Θ(e jωTs ) and Θ[n] is straightforward: each term of the sum in Eq. (14) is simply a delayed transfer matrix of the previous one.
Some additional details on the computer implementation of CCS controllers are given in the Supplementary Material: https://www.ntu.edu.sg/home/cuong/docs/CCS-sup.pdf.

IV. CCS FOR CONTACT TASKS
A. Modeling contacts with unknown environments 1) Nominal and particular systems: Following the practice of robust control theory, we distinguish two types of systems: nominal and particular. The nominal system captures the system dynamics in the expected operating condition, while the particular system may display any dynamics within a given set of possible dynamics.
We propose to synthesize controllers that achieve nominal performance and robust stability. This means that the nominal system satisfies all performance specifications (including optimization of some criteria), while all particular systems are stable (but without performance guarantees). Compared to the strategy where all particular systems satisfy performance specifications, the proposed strategy is less conservative, and is thus more likely to achieve better performance at and around the expected operating condition.
2) Modeling the environment: We model the unknown environment as a transfer function with real additive parametric uncertainty, characterized by an unknown variable taking values in the interval [0, 1]. Here δ = 0 corresponds to the nominal system, while δ = 1 corresponds to the worst-case particular system: Such uncertainties can be incorporated in the overall system block diagram as shown in Fig. 4. Fig. 4. Interactions between the robot R(z), the controller K(z) and the environment E(z). Taking into account uncertainties amounts to "closing the uncertainty loop", making the dashed line w E solid.
Specifically, in our experiments, we consider two kinds of uncertainties: a human operator with unknown stiffness interacting with the robot (Experiment 1: robot hand guiding), and an environment with unknown and varying stiffness (Experiment 2: sliding on different surfaces).
The former can be modeled as where k hum , b hum are the nominal human stiffness and damping, which apply when the operator is at rest. When the operator exerts effort to interact with the robot, her muscles contract, increasing the equivalent stiffness and damping coefficients [18]. As for the environment with unknown and varying stiffness, it can be modeled as 3) Modeling the robot: We model the dynamics of the robot (industrial robot arm and F/T sensor) as a transfer matrix R(z), mapping control input u and actual force f a to actual distance moved x and measured force f m : The transfer function R(z) can either be derived from a physical model, or by direct identification from experimental data. Effects such as time-delays, which are difficult to handle in "analytic" approaches, can be modeled directly in R(z) without difficulty. Other robot architectures and effects can also be modeled, just to name a few: torque-controlled or position-and velocity-controlled robot control schemes; joint elasticity as well as effects of tip-mounted (non-collocated) and joint-mounted (collocated) force sensors.

B. Robust stability under real parametric uncertainty
The key observation to guarantee robust stability is: for all values of δ ∈ [0, 1], "closing the uncertainty loop" in Fig. 4 must not destabilize the system. Assuming nominal stability, by Nyquist's stability criterion [19], the total open-loop gain of the uncertainty loop must not encircle the (−1, 0) point in the complex plane in the clock-wise direction for all values of δ. Note that a passive system has an open-loop gain that remains on the right-hand side of the (−1, 0) point and therefore is stable (but also more conservative).  H add (z, δ). Therefore, in principle, one can ensure robust stability by enforcing Nyquist's stability criterion in the controller synthesis procedure.
In its original form, however, Nyquist's stability constraint is non-convex in the parameters [θ 0 , . . . , θ n−1 ]. We transform this constraint into a set of multiple convex constraints. The main idea is to enclose different parts of the Nyquist plot in different convex sets, which, together, enforce Nyquist's stability criterion. A simple example is a pair of two halfspace constraints as shown in Fig. 5: H add (e jωTs , δ = 1) ∈ HP 2 , ∀ω ∈ [ω corner , ω Nyquist ].
Since for δ = 0, H add (e jωTs , δ = 0) satisfies both constraints in Eq. (20) and (21), it follows from convexity that this holds for all δ ∈ [0, 1], satisfying the robust stability condition. Our proposed relaxation requires selecting a corner angular velocity ω corner that the Nyquist plot for all velocities less than this value lie the half-plane HP 1 and for all velocities greater lie in the second half-plane HP 2 . In practice this is relatively easy to achieve. Additionally, for robust stability, it is common to limit the high-frequency spectrum of dynamics to avoid exciting unmodeled dynamics.

C. Convex formulation of some common performance specifications
We now discuss some performance specifications commonly found in robotic applications. We show that these specifications admit convex formulations in the parameter space.
1) Time-domain response: Specifications on time-domain responses concern the evolution of the output signal in response to a known input signal. For example, in force control, the contact force should have a first-order or second-order critically damped response to a step input signal, without overshoot. In robot hand guiding, the robot's motion in response to a step input in the operator's "desired position" should imitate the movement of an ideal mass-spring-damper system, so that it is intuitive for the operator.
From Eq. (16), we see that the impulse response between any exogenous input/output pair is a linear function of the parameters [θ 0 , . . . , θ n−1 ]. Let ij denote the indices of the input/output signals of interest and h ij [n] denote the impulse response, by concatenating the matrices, one obtains: Here, N is the horizon of the impulse responses, which is a parameter to be chosen. Let r j [n] be the reference input signal and y (d) i [n] be the desired output signal. One can enforce timedomain response shaping specifications by minimizing the cost function: Notice that any convex norm can be used.
Specifications such as no overshoot or minimum rise time can be formulated as (convex) linear inequality constraints. Steady-state value of a discrete-time transfer function is the sum of its impulse response.
2) Noise attenuation and passivity constraint: We can attenuate the effect of noise with known frequency on certain exogenous outputs by enforcing constraints on the frequency response of the corresponding elements of the closed-loop transfer matrix H(z). In particular, to attenuate noise entering from the j-th input on the i-th output, one includes the following constraint: where w n (ω) is the desired signal gain at frequency ω. Passivity is desirable for robot interacting with the environment: Because almost all environments are passive, interactions between a passive robot and an arbitrary environment is guaranteed to be stable [12], [14]. Constraining the dynamics between an exogenous input and output to be passive can be done by constraining its frequency response. A discrete-time transfer function H ij (z) is passive if and only if Re[·] returns the real part of a complex number. This result can be proven relatively easily following the proof of the corresponding result for passive continuous-time LTI systems. The above inequality is a linear parameter vector Θ. Because both inequalities (24) and (25) are to be satisfied over intervals, they are infinite-dimensional. For numerical computation, one needs to approximate them as multiple point constraints over a finely sampled frequency grid.
3) Disturbance rejection: In many robotic applications, disturbances acting on the robot are not random white noise. Rather, these are better characterized as having bounded energy, or also known as the signal 2-norm [20]. For example, an operator might push a legged robot accidentally, and we wish to ensure that the position of the center-of-pressure [21] in the robot's feet sole does not deviate greater than a certain amount. In other cases, disturbances can be characterized as having bounded amplitude, e.g. elevation change in hybrid force control, and we wish to limit the maximum force tracking error to some allowable range about the desired value.
Standard results in robust control theory [20] allow us to formulate the worst-case system gain in these situations as convex constraints on the parameter vector Θ. Consider a signal u j [n], let u j [n] 1 , u j [n] 2 , u j [n] ∞ be its 1-norm, 2-norm (also known as the energy) and ∞-norm (maximum amplitude) respectively. Let H ij (z) 2 be the 2-norm of the transfer function. For definitions of the norms please refer to [20]. The following inequalities hold: The above inequalities corresponds to the two examples given earlier. One can easily show that upper bounds on H ij (z) 2 and h ij [n] 1 are convex in the parameter vector Θ using the respective definitions.

V. EXPERIMENTS A. Experimental setup
We used an industrial 6-axis position-controlled (at 125 Hz) Denso VS-060 robot. The joint position control dynamics were experimentally identified to be first-order LTI SISO with time constant 0.0437 s and time delay of 36 ms. To measure contact forces, we used an ATI Force/Torque sensor on the robot wrist at 125 Hz. A low-pass filter with cut-off frequency 73 Hz was used to prevent aliasing.
We used a personal computer running Ubuntu 16.04 with a fully-preemptible kernel as the controller. Connections to and from the robot and the sensor were via Ethernet TCP/IP.
In both experiments, we employed translation-only, decoupled, Cartesian force controllers. First, wrench measurements are projected to the global work-space coordinate frame. The projected force components are then fed to three decoupled controllers (in X, Y and Z). Each controller thus receives a measured force and a setpoint, and outputs a Cartesian position command. The three position commands are fed to a differential inverse kinematics module, which computes reference joint positions for the robot using a Quadratic Programming solver.
Optimization programs for controller synthesis were solved with mosek [22]. The time taken for controller systhesis was only a few seconds. During execution, the time taken to compute the controls at each step was a few microseconds.
B. Experiment 1: Robot hand guiding 1) Task description: We instructed the operator to hold the robot end-effector and guide it along a straight line across a distance of 60 cm along the Y axis of the global coordinate frame in about 3 sec, see top plot of Fig. 1. Timing was done with a simple visual cue. This task evaluates the effort required to teach the robot poses in free-space.
We implemented three controllers for admittance control in the Y direction: • CCSa (Controller obtained by Convex Synthesis for admittance control) was synthesized subject to two main specifications. First, the closed-loop dynamics should be stable for all environment stiffness up to 500 N/mm. Second, the time-domain behaviour should imitate that of a mass/spring/damper system with m = 1.2 kg, b = 8 Ns/m, k = 0 N/m. The nominal human stiffness was modeled to be 20 N/mm. • CLa1 and CLa2 (CLassical admittance controller 1 and 2) were designed using the common admittance control architecture [23], in which the controller act as an inverse admittance model. Controller CLa1 has the same admittance parameters as the desired values used for CCS. This is the ideal dynamics. CLa2 has the following admittance parameters: m = 6 kg, b = 23 Ns/m, k = 0 N/m. The greater mass and damping coefficients were chosen to achieve a higher stability.
2) Results: Fig. 6 shows the forces and displacements in the Y direction. One can observe that CCSa yields a stable behavior and low interaction forces (less effort is required from the operator). By contrast, under CLa1, a similar interaction forces were observed, but the robot was strongly oscillatory; while under CLa2, the interaction forces were significantly higher. C. Experiment 2: Sliding on surfaces with different stiffnesses 1) Task description: We designed a "terrace surface" consisting of multiple horizontal patches with different stiffnesses and decreasing elevations, see bottom plot of Fig. 1. The stiffnesses and elevations of the areas are given in Table I. Initially the robot was in contact with the foam patch and kept a 5 N contact force in the Z axis. We then commanded the robot to move uniformly along the Y axis at 5 mm/s while maintaining the 5 N vertical contact force. We implemented three controllers for direct force control in the Z direction: • CCSf (Controller obtained by Convex Synthesis for direct force control) was synthesized subject to two main specifications. First, the closed-loop dynamics should be stable for all environment stiffnesses up to 100 N/mm. Second, the time-domain response to step input should be that of a first-order system with time constant 0.17 sec at the nominal stiffness (foam, 3 N/mm). • CLf1 and CLf2 (CLassical direct force controller 1 and 2) are classical Proportional-Integral controllers. CLf1 was tuned to achieve the same response as CCSf at the nominal stiffness, while CLf2 was tuned to ensure stability at the highest expected stiffness level (steel, 80 N/mm). 2) Results: Fig. 7 shows the forces and displacements in the Z direction. Under CCSf, the robot maintained contact at 5 N during the whole experiment, regardless of material, except at brief transition periods between surfaces. The recorded contact force had sharp overshoots when making contact with the stiff materials, but showed no noticeable vibrations.
Under CLf1, the force tracking loop was stable only on foam and paper, and became unstable on stiffer materials such as steel and aluminum, as evident from the strong oscillations in the force measurements. Under CLf2, the robot response became so slow that it was in fact unable to track the changes in surface elevation. . Under CLf2, the robot was too sluggish to follow the changes in surface elevation, losing contact immediately. Video available at https://youtu.be/uqYXVB5Sqlg.

D. Discussion
The experimental results demonstrate that CCS controllers perform significantly better than their classical counterparts.
The robot remained stable when in contact with environments up to 27 times stiffer than the nominal value. In addition to being robustly stable, there were no visible loss in nominal performance as compared to hand-tuned Admittance and PI controllers.
One main reason for this superior performance is that classical controllers have fixed structures, hence are limited by the number of tunable parameters. By contrast, CCS controllers were optimized in the space of all stabilizing controllers: they can therefore achieve a significantly higher level of performance.
In the limit, there will however be an unavoidable tradeoff between nominal performance and robust stability. For instance, if one wishes to synthesize a CCS controller for robot hand guiding (CCSa) that is robustly stable against environments stiffer than 500 N/m, then one will have to sacrifice somehow the responsiveness of the robot. Such a trade-off has also been reported in other contexts [24], [17].

VI. CONCLUSION
We have proposed a new approach for synthesizing controllers for contact. Our CCS controllers are robustly stable while achieving high performance. Compared to approaches reviewed in Section II, CCS can account for most relevant uncertainties including time-delays, time-discretization, highorder dynamics, while remaining stable against an unprecedentedly wide range of environment stiffnesses (up to 27 times).
Synthesizing controllers numerically has two operational benefits. First, one can implement a synthesized controller in a simple fashion, requiring no complex online computation. Second, numerical synthesis is efficient thanks to available powerful convex optimization solvers, reducing the need for manual hand tuning. This is especially relevant for complex systems with multiple inputs and multiple outputs and/or complex performance requirements.
One assumption we make in this paper is that the dynamics along the three translation axis are decoupled: extending CCS to rotational motions and coupled dynamics is an important research direction.
Since CCS is particularly adapted to handle fast switching contacts between the robot and environments with widely varying and unknown stiffnesses, applying CCS to legged robots is another promising avenue for future research.