Next Article in Journal
Tethered Unmanned Aerial Vehicles—A Systematic Review
Previous Article in Journal
Design of Bluetooth 5.1 Angle of Arrival Homing Controller for Autonomous Mobile Robot
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

A Passivity-Based Framework for Safe Physical Human–Robot Interaction

1
Electrical and Computer Engineering Department, University of Central Florida (UCF), Orlando, FL 32816, USA
2
ECE and NanoScience Technology Center, University of Central Florida (UCF), Orlando, FL 32816, USA
*
Author to whom correspondence should be addressed.
Robotics 2023, 12(4), 116; https://doi.org/10.3390/robotics12040116
Submission received: 21 July 2023 / Revised: 6 August 2023 / Accepted: 11 August 2023 / Published: 14 August 2023
(This article belongs to the Section Humanoid and Human Robotics)

Abstract

:
In this paper, the problem of making a safe compliant contact between a human and an assistive robot is considered. Users with disabilities have a need to utilize their assistive robots for physical human–robot interaction (PHRI) during certain activities of daily living (ADLs). Specifically, we propose a hybrid force/velocity/attitude control for a PHRI system based on measurements from a six-axis force/torque sensor mounted on the robot wrist. While automatically aligning the end-effector surface with the unknown environmental (human) surface, a desired commanded force is applied in the normal direction while following desired velocity commands in the tangential directions. A Lyapunov-based stability analysis is provided to prove both the convergence as well as passivity of the interaction to ensure both performance and safety. Simulation as well as experimental results verify the performance and robustness of the proposed hybrid controller in the presence of dynamic uncertainties as well as safe physical human–robot interactions for a kinematically redundant robotic manipulator.

1. Introduction

While assistive robotic devices such as Wheelchair-Mounted Robotic Arms (WMRAs) [1,2,3,4,5] and Companion Robots [6,7,8,9,10] traditionally help users with object retrieval [11,12] or pick-and-place tasks [13], they are quite capable of physical human–robot interaction (PHRI) with the user themselves. Users with disabilities have a need for assistance with activities of daily livings (ADLs) such hair-grooming, scratching, face-sponging, etc.; these ADLs require physical interaction with various surfaces on the human body. Under this need, the assistive robot’s end-effector (tool) has to be able to align with the unknown (human) surface, and also apply a desired force in the normal direction while following the surface based on desired velocity profiles that the user can command to the robot. During interaction, it is paramount to ensure that the assistive robot can establish safe and compliant contact with the human user.
Researchers have proposed various methods to achieve hybrid position/force control on a surface. In [14], the author used the exact CAD model for polishing position/force control. With the CAD/CAM model, they are able to track the desired trajectory, force, and contact direction. Since it requires an exact CAD model of the environment, this method will not work for the PHRI problem considered in this paper, which is likely to be implemented in unmodeled real-world environments. In [15], the authors designed and implemented a compliant arm to perform bed baths for patient hygiene. A bang-bang controller was utilized to maintain the z-axis force against the body between 1 and 3 N while a laser range finder was utilized to retrieve the skin surface point cloud of the skin followed by selection of wiping area by the operator. This method also requires obtaining the point cloud of the environment. The authors of [16] proposed a contact force model for wiping and shaving tasks. They captured the face point cloud and the force profile of healthy participants performing daily living tasks such as wiping and shaving. Then, they built a three-parameter trapezoidal force model of each stroke and the force dependency on the facial area. Besides assuming previous knowledge of the environment, there are other approaches for unknown environments. In [17], the author proposed two methods for exploring unknown surfaces with discontinuities by using only a force/torque sensor. They rotated the direction of the desired motion/force instead of rotating the end-effector to keep moving and inserting force on an unknown surface; however, this method cannot be used for certain PHRIs which need continuously variable alignment between the end-tool and human body, such as during shaving. In [18], the authors proposed a hybrid position/force sliding mode control for surface treatment such as polishing, grinding, finishing, and deburring—the end-effector can apply the desired pressure on the surface and also keep the end-effector orientation perpendicular to the surface; however, the orientation constraint is not considered for moving along a frictional environment. In [19], the authors proposed deformation-tracking impedance control for interacting with unknown surfaces by using an extended Kalman filter to estimate the parameters of the environment, thereby controlling the interaction force indirectly by tracking the desired deformation without force sensing. However, this method cannot estimate the interaction torque; therefore, during the alignment phase of the assembly task, their desired interaction torque is just determined experimentally. In [20], the authors proposed an inverse differential kinematics-based position/force control for cleaning an unknown surface. They utilized a force/torque sensor to provide feedback for the force control part. However, this velocity-control-based algorithm is not considered safe for human–robot interaction; furthermore, the evaluation of surface alignment is also missing.
In this paper, we propose a robust hybrid force/velocity/attitude controller which guarantees passivity of a robot manipulator with respect to unknown environments. By using measurements of robot states as well as interaction forces/torques at the end-effector, we are able to reshape the end-effector impedance (namely inertia, damping, and stiffness) to desired values needed for a safe and compliant interaction. Sliding mode control is utilized to compensate for exogenous disturbances, model uncertainty, and friction effects which can otherwise degrade the performance of the impedance controller. Within the sliding mode controller, we are able to achieve the desired system dynamics with a general assistive robot, which has a lower cost and less precision than industry collaboration robots. The resulting controller is able to align the end-effector with the unknown environmental surface while simultaneously tracking desired force and velocity profiles, respectively, in the normal and tangential directions. This work is novel in terms of the guarantees of 6-DOF exponential stability and passivity of our hybrid controller while interacting with an unknown environment.
The remainder of this paper is organized as follows. Section 2 and Section 3 deal, respectively, with the problem statement and the modeling. In Section 4, we present the controller design, stability analysis, proof of passivity, and simulation results for a frictionless environment. In Section 5, we present the corresponding control design and stability analysis for a real environment with friction. Experimental results with a kinematically redundant collaborative robot are presented in Section 6 (see [21] for visual demonstrations of the simulations and experiments). Section 7 concludes the paper.

2. Problem Statement

The research objective is to align the robot end-effector with the unknown environment and apply a desired force in the normal direction while following a commanded velocity profile along the tangential directions. In order to guarantee safe human–robot interaction, another research objective is to ensure that the robot acts as a passive system while transmitting user intent to and during interaction with the environment. To design and implement our robust impedance control framework, we assume knowledge of the joint position/velocity measurements as well as the interaction force at the end-effector using a wrist-mounted six-axis force/torque sensor. We assume uncertainty in the robot dynamics and no prior knowledge of the location/orientation of the environmental surface with respect to the robot coordinate system. While we assume that the surface presents damping and stiffness in the normal direction and pure damping along the surface, we assume no prior knowledge of the parameters; being model-free in this sense allows the controller the ability to interact with a variety of unknown environments.

3. Modeling

3.1. Manipulator Model

The dynamics of an n-degree-of-freedom robot are given by
M ( q ) q ¨ + C ( q , q ˙ ) q ˙ + G ( q ) = τ + τ e n v τ f
where M ( q ) R n × n is the symmetric positive-definite inertia matrix, C ( q , q ˙ ) R n × n is the matrix of Coriolis and centrifugal torques, G ( q ) R n is the vector of gravitational torques, q , q ˙ , q ¨ R n denote, respectively, the joint angle, joint velocity, and joint acceleration vectors, τ R 6 is the control input vector of joint torques, τ e n v = J T F e , e R 6 is the external torque registered at the robot joints, F e , e f e , e T τ e , e T T = f e , x f e , y f e , z τ e , x τ e , y τ e , z T R 6 is the interaction force measured with the force/torque sensor mounted on the wrist, J R 6 × n is the Jacobian matrix, while τ f R 6 denotes joint friction. The joint velocity and acceleration for a redundant robot (i.e., n > 6 ) can be written as follows:
q ˙ = J + x ˙ + ( I J + J ) b
q ¨ = J + x ¨ J + J ˙ J + x ˙ J + J ˙ ( I J + J ) b
where x ˙ = v b T ω b T T , x ¨ = v ˙ b T ω ˙ b T T R 6 denote end-effector velocity and acceleration vectors, respectively, v b and ω b are the end-effector translation and angular velocity expressed in the base frame, J + J T ( J J T ) 1 denotes the right pseudoinverse of the Jacobian matrix, while b R n is an arbitrary vector utilized to accomplish secondary objectives such as joint limit, collision avoidance, etc. For ease of presentation, we choose b = 0 for the remainder of the paper. After replacing the joint acceleration and velocity with (2) and (3), we can obtain the task space robot dynamics as follows:
M J + x ¨ M J + J ˙ J + x ˙ + C J + x ˙ + G J T F e , e + τ f = τ
To accomplish our velocity tracking objective, we define error e e v e ω T R 6 in the end-effector frame as follows:
e = v e T ω e T T v d T 0 1 × 3 T
where v d t v d , x t v d , y t 0 T R 3 denotes the desired translational velocity in the end-effector frame, v e v e , x v e , y v e , z T = R T v b and ω e ω e , x ω e , y ω e , z T = R T ω b are, respectively, the end-effector translation and angular velocity expressed in the end-effector frame, while R t S O ( 3 ) denotes the rotation matrix between the robot base frame and the end-effector frame. By utilizing the velocity tracking error expressed in the end-effector frame, e t can be related to the end-effector velocity variables in the base frame as follows
e = R 0 0 R R ¯ T v b ω b x ˙ v d 0 3 × 1 v ¯ d .
By rearranging (5) and taking its time derivative, one can obtain the following expressions for x ˙ t and x ¨ t :
x ˙ = R ¯ e + R ¯ v ¯ d
x ¨ = R ¯ e ˙ + R ¯ v ¯ . d + R ¯ . e + R ¯ . v ¯ d
By substituting (6) and (7) in (4), we can obtain the open-loop error dynamics as follows:
M J + R ¯ e ˙ = τ + τ e n v τ f G + U x ˙ M J + R ¯ v ¯ . d
where U M J + J ˙ J + C J + M J + R ¯ . R ¯ T . We denote the best-guess estimates of M ,   G , and U, respectively, as M ^ ,   G ^ , and U ^ , while M ˜ M M ^ , G ˜ G G ^ , and U ˜ U U ^ denote the corresponding uncertainties. Based on these definitions, we can rewrite the open-loop error dynamics as follows:
M ^ J + R ¯ e ˙ = τ + τ e n v G ^ + U ^ x ˙ M ^ J + R ¯ v ¯ . d + M ^ D
where
D M ^ 1 ( G ˜ + U ˜ x ˙ M ˜ J + R ¯ v ¯ . d τ f )
is a lumped model uncertainty term. Before proceeding further, we are motivated by the structure of the robot dynamics and the ensuing control development and stability analysis to assume the existence of the following properties:
Property 1
All kinematic singularities are always avoided and the pseudoinverse of the manipulator Jacobian, denoted by J + ( q ) , is assumed to always exist.
Property 2
The actual and best estimate values of M , G , U are assumed to be upperbounded as follows: M i b M , G i b G , U i b U 0 + b U 1 q ˙ , M ^ i b M ^ , G ^ i b G ^ , U ^ i b U ^ 0 + b U ^ 1 q ˙ , where · i denotes the induced infinity norm of a matrix while b M , b G , b U 0 , b U 1 , b M ^ , b G ^ , b U ^ 0 , b U ^ 1 denote known positive bounding constants [22,23].
Property 3
The inverse of the inertia matrix is assumed to be bounded by a known positive constant b M i n v as M 1 i b M i n v , where b M i n v denotes a known positive bounding constant [23].
Property 4
Based on Properties 2 and 3, the lumped model uncertainty term D defined above in (10) can be upper bounded by a function of the joint velocity as follows:
D < b D 0 + b D 1 q ˙ + b D 2 q ˙ 2
where b D 0 , b D 1 , and b D 2 denote known positive bounding constants.

3.2. Environment Model

We model the environment as a spring-damper which provides the environmental force in the object (environment) frame as follows:
f e , o = K e z ^ v ( z n z o ) + B e v o
where K e = d i a g 0 0 k e , B e = d i a g b e b e 0 R 3 × 3 are diagonal matrices of environment stiffness and damping, respectively, z ^ v = 0 0 1 T denotes the standard basis vector in the z-direction, while z n R is the z-axis neutral position of the environment in the object frame, and z o R is the current z-axis position of the end-effector expressed in the object frame. Here, v o = R e o v e is the velocity of the end-effector with respect to the object expressed in the object frame, v e is the end-effector translational velocity as defined earlier, while R o e is the unknown rotation matrix between the object frame and end-effector frame. In the end-effector frame, the environmentally exerted torque on the end-effector can be defined as follows:
τ e = r e × f e , e
where r e is the unknown position vector from the center of the sensor to the contact point while f e , e = R o e f e , o is the environmental force expressed in the end-effector frame. The model of the interaction between the end-effector and the environment is shown in Figure 1.
We also model the end-tool for the manipulator as a rigid partial sphere as specified in Figure 2. In the figure, x e e denotes the center of the robot wrist where the six-axis force/torque sensor is mounted, x c denotes the center of the sphere, r R is the position vector from the sphere center of the end-tool to the contact point, while r o f f is the position vector from the sphere center to the robot wrist center and is parallel with the end-effector z-axis denoted by z ^ e .

4. Control Design and Stability Analysis: Non-Dissipative Environment

4.1. Control Design

The proposed control design has an inner and an outer loop. While the inner loop is a robust controller to compensate for the system uncertainties and linearize the robot dynamics, the outer loop reshapes the linearized dynamics to the desired dynamics. In what follows, we discuss the design of control strategies within the two loops that guarantee robust stability, convergence, as well as passivity. For lucidity of presentation, we first demonstrate PHRI stability and passivity when interacting with a non-dissipative (frictionless) environmental surface.

4.1.1. Design of the Inner Loop

Based on the structure of the open-loop error dynamics in (8) and our desire to obtain an impedance controller, we first design a computed torque inner-loop controller to linearize the dynamics as follows:
τ = M ^ a j τ e n v + G ^ U ^ x ˙ + M ^ J + R ¯ v ¯ . d
By substituting (14) into (9), we can obtain
J + R ¯ e ˙ = a j D .
In (14), a j is an auxiliary control term that is designed to compensate for the disturbance using a sliding mode controller as follows:
a j = J + a x Q s i g n ( S )
where a x [ a x , v a x , ω ] T is a yet-to-be-designed auxiliary control term related to the desired dynamics. Motivated by the bound in (11) and in a manner similar to [22], we design the gain, Q, for the s i g n ( ) function (the standard signum) as follows:
Q = b D 0 + b D 1 q ˙ + b D 2 q ˙ 2 + α ,
where α is a positive design constant, b D 0 , b D 1 , and b D 2 have been introduced earlier in (11), while S denotes a sliding surface which is defined as follows:
S q ˙ + 0 t J + J ˙ J + x ˙ R ¯ v ¯ . d R ¯ . e R ¯ . v ¯ d a x d t
such that
S ˙ = J + ( R ¯ e ˙ a x ) = D Q s i g n ( S ) .
Then, we have the following result for the inner loop:
Lemma 1.
Given the robot system in (9) under the control law of (14) and (16), the sliding surface S and its time derivative S ˙ will converge to zero in finite time t 1 , and remain there for all subsequent time.
Proof. 
We define a positive-definite function V S as follows:
V S = 1 2 S T S
After time differentiating (20) along (19) and utilizing (11) and (17), we can obtain
V ˙ S = S T ( D Q s i g n ( S ) ) Q b D 0 + b D 1 q ˙ + b D 2 q ˙ 2 S
α S
Given that sliding mode control [24] has finite convergence time t 1 , it is easy to conclude that lim t t 1 S = 0 , lim t t 1 S ˙ = J + R ¯ e ˙ J + a x = 0 lim t t 1 R ¯ e ˙ a x = 0 . □

4.1.2. Design of the Desired Dynamics

To meet our velocity and force control objectives while projecting desired impedance characteristics on the environment, we propose the following desired dynamics in the translational axes:
M d e ˙ v + B d e v + K d 0 t e v τ d τ = e f
where M d d i a g { m d , x y , m d , x y , m d , z } , B d d i a g { b d , x y , b d , x y , b d , z } , K d d i a g { k d , x y , k d , x y , 0 } denote desired mass, damping, and stiffness matrices (note all non-zero matrix elements are positive design constants), while e f   0 0 f e , z f d , z denotes the force error with f d , z denoting the desired force in the z-direction. In order to achieve the desired dynamics of (23), the auxiliary control term a x , v can now be designed as follows:
a x , v = R M d 1 B d e v K d 0 t e v τ d τ + e f
For the angular axis, we design a quaternion-based controller to align the end-effector with the unknown environment. The rotation between the end-effector z-axis z ^ e and the environmental normal n ^ o can be represented by a unit quaternion q ( q , q 0 ) where q 0 = cos ( θ m 2 ) , q = sin ( θ m 2 ) n , and θ m and n are the angle and the rotation axis between z ^ e and n ^ o . The quaternion can be extracted from the torque and force feedback as follows. Based on the definition of the environment torque from (13) and the geometry of the end-tool in Figure 2, we can rewrite the environmental interaction torque as follows:
τ e = r e × f e , e = ( R o e r R r o f f ) × f e , e .
Since the environmental surface is assumed frictionless and based on the geometry of the end-tool shown in Figure 2, it is evident that R o e r R f e , e n ^ o and r o f f z ^ e , where the notation ‖ denotes parallel vectors. Then, we can simplify the relationship expressed in (25) as
τ e = f e , e × r o f f = f e , e r o f f n ^ o × z ^ e .
Now, it is possible to calculate the rotation axis n as follows:
n = n ^ o × z ^ e n ^ o × z ^ e = τ e τ e .
Since the rotation direction is already contained in the vector n, the range of the angle θ m between n ^ o and z ^ e is [ 0 , π 2 ) . From (26), we can calculate the angle θ m between n ^ o and z ^ e as
θ m = arcsin τ e f e , e r o f f .
The dynamics of the unit quaternion q ( q , q 0 ) are as follows:
q ˙ 0 = 1 2 ω e T q q ˙ = 1 2 ( q 0 ω e + q × ω e ) .
To reshape the angular dynamics in a desired mass/damper form, we begin by designing the desired rotational dynamics as follows:
I d ω ˙ e + B d ω e = u
where I d d i a g { I d , x , I d , y , I d , z } is the desired rotational inertia, while B d and u are, respectively, a damping matrix and an auxiliary control input which are yet to be designed. By taking the time derivative of a filtered tracking error r ω e + K 1 q ( K 1 is diagonal positive-definite) and premultiplying by I d , we obtain
I d r ˙ = I d ω ˙ e + I d K 1 q ˙
which, by substitution of (29) and (30), can be rewritten as
I d r ˙ = B d ω e + u + 1 2 I d K 1 ( q 0 ω e + q × ω e ) .
Motivated by the ensuing stability analysis, we design u as follows:
u = B d ω e 1 2 I d K 1 ( q 0 ω e + q × ω e ) P ¯ r q
such that
I d r ˙ = P ¯ r q
where P ¯ is a positive-definite matrix. Now, it is possible to rewrite the desired rotational dynamics in the following compact form:
I d ω ˙ e + B d , ω ω e = τ a
where B d , ω 1 2 q 0 I d K 1 + 2 P ¯ + [ q ] × is a positive time-varying damping matrix, while
τ a ( P ¯ K 1 + I ) q = ( P ¯ K 1 + I ) 2 f e , e r o f f q 0 τ e
is an auxiliary torque vector which is well defined everywhere on the domain of the problem. Finally, we can design the auxiliary control term a x , ω defined in (16) as follows:
a x , ω = R I d 1 [ τ a B d , ω ω e ]
The overall proposed controller is shown in Figure 3.

4.2. Stability Analysis

Before presenting the main results, we state the following lemmas which will be invoked later.
Lemma 2.
The desired dynamics of the angular axis in (35) are locally exponentially stable at the equilibrium point ( ω e = 0 , q = 0 , q 0 = 1 ) in the sense that q q ( 0 ) e γ t , ω e ω e ( 0 ) e γ t when q ( 0 ) 0 , 1 / 2 , which implies that ω e , q L 1 when the robot is interacting with a frictionless environment.
Proof. 
Inspired by [25], we define a non-negative function V ω as follows
V ω = q T q + ( q 0 1 ) 2 + r T I d r
which can be upperbounded as follows
V ω max { 2 , λ max ( I d ) } ( q 2 + r 2 )
by utilizing the fact that q T q + q 0 2 = 1 . After taking the derivative of (37) along (34) and (29) and canceling common terms, we can obtain
V ˙ ω = q T K 1 q r T P ¯ r
It is easy to see from (37) and (39) that q , r L 2 L . From this and previous definitions, it follows that ω e , q ˙ , r ˙ L . Then, one can utilize Barbalat’s Lemma [23] to prove that lim t q t = lim t r t = 0 which implies that lim t ω e = 0 , lim t q 0 = 1 . Since V ˙ ω can be lowerbounded as follows:
V ˙ ω min { λ min ( K 1 ) , λ min ( P ¯ ) } ( q 2 + r 2 )
it is easy to see from (38) and (40) that V ˙ ω γ V ω , where γ = min { λ min ( K 1 ) , λ min ( P ¯ ) } max { 2 , λ max ( I d ) 2 } . Thus we can conclude that the equilibrium point ( q 0 = 1 , q = 0 , ω e = 0 ) is exponentially stable in the sense specified in the statement of the Lemma. □
Lemma 3.
The desired dynamics of the translational axes in (23) are globally exponentially stable (GES) at the equilibrium point ( e v = 0 , e ˙ v = 0 ) when the robot is interacting with a frictionless environment. Furthermore, v e , z , v ˙ e , z , e ˙ v , x y , e v , x y L 1 L while f e , o , τ e L .
Proof. 
We begin our analysis in the x- and y-axes. The desired dynamics in the x- and y-axes are as follows:
M d , x y e ˙ v , x y e v , x y = B d , x y K d , x y I 2 0 2 e v , x y 0 t e v , x y τ d τ
where the notation is obvious from context given the previous definitions. Since (41) is a second-order LTI system with eigenvalues b d , x y ± b d , x y 2 4 k d , x y m d , x y 2 m d , x y in the strict LHP, the equilibrium point ( e v , x y = 0 , 0 t e v , x y d τ = 0 ) is GES. As for the z-axis, the desired dynamics of (23) in that direction can be written as follows:
m d , z v ˙ e , z = b d , z v e , z + z ^ v T R o e f e , o f d , z .
Since we are assuming no environmental friction, we can simplify (12) as
f e , o = K e z ^ v ( z n z o ) = z ^ v k e z n z o
the time derivative of which can be written as
f ˙ e , o = K e z ˙ o = K e R e o v e
To facilitate the analysis, we take the time derivative of (42) and obtain the dynamics as
m d , z v ¨ e , z = b d z v ˙ e , z k e v e , z + G 1
which is a second-order linear system with perturbation G 1 defined in (A1) in Appendix A. By utilizing (A2)–(A4), we can upperbound G 1 as follows:
G 1 max γ 1 , γ 2 , γ 3 exp γ t x
where x v ˙ e , z v e , z 1 T is a state vector. Given this definition, we rewrite (45) as follows:
x ˙ = A x + x ^ v m d , z 1 G 1
where x ^ v 1 0 0 T denotes the standard basis vector in the x-direction while A is a Hurwitz matrix defined in Appendix A. We also define a positive- definite function V = 1 2 x T P x whose derivative along (47) is
V ˙ = x T Q x + 1 2 x T P x ^ v m d , z 1 G 1 + 1 2 ( x ^ v m d , z 1 G 1 ) T P x
where P and Q are defined in the Appendix A. After utilizing the growth bound of (46), we can upperbound (48) as follows
V ˙ λ min ( Q ) κ 1 P m d , z 1 max γ 1 , γ 2 , γ 3 κ 2 exp γ t x 2
which implies exponential stability of V t in the following sense
V t V ( 0 ) exp 2 κ 1 t + κ 2 γ 1 e γ t λ min P u t u t t f + V ( t f ) exp 2 κ 1 t t f + κ 2 γ 1 e γ t t f λ max P u t t f
where t f = max 0 , 1 γ ln κ 2 κ 1 and u t denotes the unit step function. Therefore, x = 0 is exponentially stable in the sense that x , v e , z , v ˙ e , z κ e κ 1 t where κ is a sufficiently large constant of analysis. Following the same process as in the proof for Lemma 2, it can be shown that v e , z , v ˙ e , z , e ˙ v , x y , e v , x y L 1 L , which implies, according to (42), that f e , o , f e , e L and that lim t f e , z = f d z . Since τ e = f e , e × r o f f f e , e r o f f sup { f e , e } r o f f < , it is evident that τ e L . □
Remark 1.
From Lemma 1, it can be seen that the closed-loop dynamics converge to the desired dynamics in (23) and (35) such that the desired impedance characteristics can be projected on the frictionless environment. Based on Lemma 2, the quaternion q (which represents the tool–environment misalignment) converges to zero, which implies that the robot end-effector aligns with the frictionless environment. Furthermore, according to Lemma 3, the end-effector can reproduce the commanded end-effector velocities on the environmental tangential plane while applying the desired amount of force in a direction normal to the environment.
From the above Lemmas, we can also have the main passivity result for the proposed controller in the following theorem:
Theorem 1.
The proposed control law can ensure the work performed by the robot on the frictionless environment (human) is bounded in the sense that W = 0 ( F e n v ) T v e d t c < where F e n v f e , e T τ e , e T T is the force/torque applied by the robot on the environment.
Proof. 
We split the work performed by the robot into two phases: (Part a) Work performed before reaching the desired dynamics: Since the sliding mode control has finite-time convergence, it will drive the system dynamics to the desired dynamics in finite time t 1 . So, the work performed by the robot from t = 0 to t = t 1 is as follows:
W a = 0 t 1 f e , e T τ e , e T v e T ω e T T d t
Based on the stability analysis of the sliding mode controller, we know that S = [ S v S ω ] , S ˙ = [ S ˙ v S ˙ ω ] L . During [ 0 , t 1 ] ,
S ˙ = J + ( R ¯ e ˙ a x ) 0 .
Therefore, we can write
S ˙ v = J + ( R e ˙ v a x , v ) .
Given the definition of (24), we can rewrite (51) as follows:
M d e ˙ v + B d e v + K d 0 t e v τ d τ e f = M d R T J S ˙ v
which is nothing but a perturbed version of the desired translational dynamics driven by the additional input M d R T J S ˙ v , which remains bounded between 0 , t 1 and is zero thereafter. Since we know from previous analysis that the solution for the desired dynamics of (23) stays bounded, the solution for the perturbed version driven by a bounded input over a finite time period will also stay bounded. A similar argument can be made for the angular velocity desired dynamics. Thus,
W a sup t { v e } sup t { f e , e } t 1 + sup t { ω e } sup t { τ e , e } t 1 c a
where c a is a positive constant of analysis. (Part b) After reaching the desired dynamics: The work performed by the robot on the environment is denoted by W b ( t ) , and can be bounded as follows:
W b = t 1 ( F e n v ) T v e d t t 1 f e , e T τ e , e T T v e T ω e T T d t sup t v e , x y t 1 f e , x y d t + sup t f e , z t 1 v e , z d t + sup t τ e t 1 ω e d t
since v e , x y , f e , z , τ e L as previously shown. Since f e , x y = A x y R o e z ^ v f e , o , we can bound
t 1 f e , x y d t sup t f e , o t 1 2 q 0 q 1 + 2 q 2 q 3 + 2 q 1 q 3 2 q 0 q 2 d t
given that f e , o L and where A x y 1 0 0 0 1 0 . Since q 1 and q L 1 , it is easy to see that t 1 f e , x y d t < . Since v e , z , ω e L 1 as previously shown, it is clear to see that W b c b < . Therefore, we can conclude that the total work performed by the robot end-effector during Parts a and b is W = W a + W b c a + c b c < , which proves passivity. □

4.3. Simulation Results

During the simulation, we choose 0–5 s as the initial alignment phase during which the commanded velocities in the x- and y-directions are both chosen to be 0 cm/s. Between 5–20 s and 20–35 s, we, respectively, command the desired velocity to be ±1.5 cm/s along the end-effector y-direction. Finally, between 35 and 40 s, we command 0 cm/s velocity in the tangential direction of the end-effector. From Figure 4, Figure 5, Figure 6, Figure 7 and Figure 8, we can see that the proposed controller can regulate the force error in end-effector z-direction to zero after the initial alignment process. The end-effector velocity along the tangential directions also tracks the desired velocity with nearly zero tracking error. As for the alignment, the norm of the quaternion q and the misalignment angle decrease to 0. To evaluate the alignment, we define the so-called equivalent lever r tan = F z 2 / ( τ x 2 + τ y 2 ) , which represents the length of projection of the lever arm r e in the end-effector x-y plane. When the end-effector is aligned with the environment, it is clear to see from Figure 8 that r tan also converges to zero.

5. Control Design and Stability Analysis for Dissipative Environment

5.1. Control Design

In the previous section, it is seen that the proposed controller is stable and passive during interaction with a frictionless environment. In this section, we will introduce the controller for a dissipative (frictional) environment, which is a better model for the real world. For the case with friction, we can design the sliding mode control and torque input as similarly carried out in Section 4.1, but if friction is not compensated for, even though the equilibrium for the angular axis remains the same ( q 0 = 1 , q = 0 , ω e = 0 ), the quaternion now represents the rotation between r e and f e , e ; therefore, the equilibrium represents r e f e , e . Since f e , e = f o + f f is the resultant of the friction force f f R 3 and the normal force f o R 3 from the object, the angle between the environment normal and r e is θ o = arctan ( f f f o ) ; as for the geometry of the problem, there exists a non-zero misalignment angle θ m between the end-effector and the environment normal which is related to the surface friction and the environment normal force. The orientation between the end-effector and environment can be seen in Figure 9.
r o f f sin ( θ m ) = r e sin ( θ o ) θ m = arcsin r e r o f f sin arctan f f f o
To compensate for the misalignment due to friction, we design a desired torque τ d r d × f e , e and extract the desired quaternion q d ( q d , q d 0 ) , which represents the rotation between the desired lever arm r d ( r R r o f f ) z ^ e and the environment force f e , e . Similar to the case without friction in Section 4.1.2, we can define q ( q , q 0 ) and q d ( q d , q d 0 ) as follows:
q 0 = cos ( θ c 2 ) , q = sin ( θ c 2 ) n e
q d 0 = cos ( θ d 2 ) , q d = sin ( θ d 2 ) n d
where n e = τ e τ e , sin ( θ c ) τ e f e , e r e , θ c is the angle between r e and f e , e , while n d = τ d τ d , sin ( θ d ) τ d r d f e , e , where θ d is the angle between r d and f e , e . Then, we define the quaternion error e ( e , e 0 ) based on q and q d
e = q d 1 q e 0 = q 0 q d 0 + q T q d e = q d 0 q q 0 q d + [ q ] × q d
The quaternion dynamics are as follows:
e ˙ 0 = 1 2 ω e T e e ˙ = 1 2 ( e 0 ω e + e × ω e )
With a process similar to that in Section 4.1.2, the desired dynamics of the rotation axis are designed as follows:
I d ω ˙ e + B d , ω f ω e = τ a , f
where
B d , ω f = 1 2 ( e 0 I d K 1 + 2 P ¯ + [ e ] × ) τ a , f = ( P ¯ K 1 + 1 ) e
such that the dynamics of r ω e + K 1 e can be written as
I d r ˙ = P ¯ r e
Finally, we design the auxiliary control term a x , ω as follows:
a x , ω = R I d 1 [ τ a , f B d , ω f ω e ]

5.2. Stability Analysis

Lemma 4.
The desired dynamics of the angular axis in (59) is locally exponentially stable at the equilibrium point ( ω e = 0 , e = 0 , e 0 = 1 ) when the robot is interacting with a frictional environment, in the sense that e e ( 0 ) e γ t , ω e ω e ( 0 ) e γ t for e ( 0 ) [ 0 , 1 / 2 ) and a positive constant γ. Furthermore, the states of the angular axis ω e , e L 1 .
Proof. 
For the environment with friction, our sliding mode control remains the same, but the desired dynamics in the angular axis are different. Based on the desired dynamics in (59) and the dynamics of quaternion error in (58), we can define a positive function similar to (37) as follows
V ω = e T e + ( e 0 1 ) 2 + r T I d r
where r = ω e + K 1 e . After taking the time derivative of (62) along (58) and (60) and simplifying, we can obtain
V ˙ ω = e T K 1 e r T P ¯ r
With a process akin to that followed in the proof of Lemma 2 in Section 4.2, it is easy to see that the angular axis is exponentially stable at the equilibrium point ( e 0 = 1 , e = 0 , ω e = 0 ) such that we can have e e ( 0 ) e γ t and ω e ω e ( 0 ) e γ t , which clearly implies that ω e , e L 1 .
Lemma 5.
The desired dynamics of the translational axis in (23) are globally exponentially stable at the equilibrium point ( e v , e = 0 , e ˙ v , e = 0 ) when the robot is interacting with a frictional environment. Furthermore, v e , z , v ˙ e , z , e ˙ x y , e x y L 1 L , while f e , o , τ e L .
Proof. 
The analysis for the x- and y-axes remains the same as in Section 4.2 but the model of the environmental force has the damping term due to non-zero B e as shown in (12). The time derivative of the the desired dynamics of (23) in the z-axis can be written as follows:
m d , z v ¨ e , z = b d z v ˙ e , z + z v T R ˙ o e f e , o + z v T R o e f ˙ e , o
Given that f ˙ e , o can be written as
f ˙ e , o = K e R e o v e + B e ( R e o v ˙ e + R e o [ ω e ] × v e )
the second-order dynamics can of (63) can be compactly written after algebraic manipulations as follows:
m d , z v ¨ e , z = b d z v ˙ e , z k e v e , z + G 1 + G 2
where G 1 has been previously defined while G 2 is an additional term defined and bounded, respectively, in (A7) and (A8). It is now clear to see from (46) and (A8) that G 1 + G 2 can be norm-bounded as follows:
G 1 + G 2 max ( γ 1 , γ 2 , γ 3 , γ 4 ) x
where γ 4 , γ 5 , γ 6 are positive constants. It is now possible to follow the analysis as pursued in Section 4.2 for the non-dissipative case to obtain exponential stability in the sense that x , v e , z , v ˙ e , z ρ e ρ 1 t , where ρ and ρ 2 are positive constants of analysis. Since v e , v o , v ˙ e , z L , it can be seen from (42) and (12) that z ^ v T R o e z ^ v k e z n z 0 L , from which it is clear that k e z n z 0 L since z ^ v T R o e z ^ v > 0 as shown in the Appendix A. This implies from (12) and (13) that f e , o , f e , e , τ e L . It can now be seen from (23) that lim t f e , z = f d z .
Remark 2.
To summarize the analysis for the dissipative case, Lemma 1 shows that we can project the desired impedance on the frictional environment, which is then followed up by Lemmas 4 and 5, which show that the robot end-effector aligns with the environment and tracks the end-effector velocity along the environmental tangential axes while also applying the desired amount of force in the environmental normal direction.
Given the above Lemmas, the passivity result for the proposed controller can be stated in the following theorem:
Theorem 2.
The proposed control law can ensure the work performed by the robot over and above the dissipation expected from relative motion at the desired surface velocity between the end-effector and the frictional environment(human) is limited in the sense that W = 0 ( F e n v ) T v e v d T B e v d d t c < where B e v d , x y T v d , x y 0 is the essential power expended.
Proof. 
As similarly carried out in the proof of Theorem 1, we split the work performed by the robot into two phases: (Part a) Work performed before reaching the desired dynamics: Proof is identical to that for the frictionless environment shown earlier. (Part b) After reaching the desired dynamics: The work performed by the robot on the frictional environment is denoted by W b ( t ) , and can be bounded as follows:
W b = t 1 f e , x y T v e , x y d t + t 1 f e , z T v e , z d t + t 1 τ e T ω e d t = t 1 f e , x y T e v , x y + v d , x y d t + t 1 f e , z T v e , z d t + t 1 τ e T ω e d t t 1 f e , x y T v d , x y d t + sup t f e , x y t 1 e v , x y d t
+ sup t f e , z t 1 v e , z d t
+ sup t τ e t 1 ω e d t
since f e , x y , f e , z , τ e L as previously shown. After some algebraic manipulations as shown in the Appendix A, we can bound the first time in the above inequality as follows
t 1 f e , x y T v d , x y d t t 1 v d T B e v d d t + b e v d , x y t 1 e v , x y d t + v d , x y A x y sup B e v e + f e , o 2 t 1 H 2 d t
Since H 2 , e v , x y , v e , z , ω e L 1 , we can clearly see from (65) and (67) that W b + t 1 v d T B e v d d t c < . Putting together the results from Part a and Part b proves the passivity result as stated in the statement of the theorem. □

5.3. Simulation Results

In order to closely mirror experimental reality, we add joint friction, measurement noise, imperfect gravity compensation, and imperfect robot inertial matrix to the simulation studies. The joint friction model utilized is as follows
τ f = F c s n g ( q i ) [ 1 exp ( q ˙ i 2 v s ) ] + F s i s n g ( q ˙ i ) exp ( q ˙ i 2 v s ) + F v q ˙ i
where F c , F s , F v are the Coulomb, static, and viscous friction coefficients, while v s is the Stribeck parameter. We also add measurement noise which follows a normal distribution with μ = 0.0001 , σ = 0.0315 . We assume there is 3 % imperfect gravity compensation in the simulation. As for the imperfect robot inertial matrix, we assume there is a constant 20 % error in the inertial matrix for the last three joints. We assume a planar surface for the simulation. We also replace the s i g n ( S ) function in the sliding mode control with a continues function tanh ( S ) to mitigate the chattering phenomenon. The parameters utilized for each joint are listed in Table 1.
During implementation, we treat θ c and θ d defined in (55) and (56) as immeasurable since is impractical to assume that the lever arm r e (as shown in Figure 2) is measurable. Instead, we replace the unknown value of r e with a known upperbound r m and redefine q ( q ´ , q ´ 0 ) and q d ( q ´ d , q ´ d 0 ) as follows:
q ´ 0 = cos ( θ ´ c 2 ) , q ´ = sin ( θ ´ c 2 ) n e
q ´ d 0 = cos ( θ ´ d 2 ) , q ´ d = sin ( θ ´ d 2 ) n d
where n e and n d have been previously defined, while sin ( θ ´ c ) k 1 sin ( θ c ) = τ e r M f e , e , k 1 r e r M , sin ( θ ´ d ) k 2 sin ( θ d ) = τ d r M f e , e , k 2 r d r M . Here, k 2 1 is a constant, while k 2 k 1 1 is a function of θ c . While the proof using the redefined quaternions is beyond the scope of this manuscript, it can be easily shown (see Appendix A) that the exponential convergence of θ ´ c to θ ´ d implies the exponential convergence of θ c to θ d .
From Figure 10, Figure 11, Figure 12, Figure 13 and Figure 14, we can see similar performance as obtained with the frictionless environment. The force error in the z-axis is regulated within 0.5 N. The force in the y-axis is the friction force from the environment surface. The quaternion error is also regulated to within 0.01, which means that the relative attitude between the end-effector z-axis and environment normal converges to ( e = 0 , e 0 = 1 ) . Alignment results from Figure 13 show that the misalignment angle converges to 0. The velocity and position tracking in the x- and y-axes also perform as expected and the tracking error is regulated to within 0.2 cm. From Figure 14, we can see that the sliding mode control signal compensates for the disturbance, thereby converging the system dynamics to the desired dynamics.

6. Experiment

6.1. Implementation

For experimentation, the Baxter robot from Rethink Robotics was used as the testbed. The ATI Mini45 force/torque sensor was mounted on the wrist of the Baxter to sense the interaction force/torque. The sensor was covered with soft rubber to lower the stiffness of the end-tool. As for the signal processing, we utilized an averaging filter with a 45-sample window on the 1000 Hz Baxter status publish node. For ease of implementation, we modified the controllers (16) and (61) as follows:
a j = J + a x K S Q tanh ( S )
a x , ω = R I d 1 [ B d ω ω e + e τ ]
where e τ τ e τ d , τ d r d × f e , e , K is a constant diagonal matrix, while I d d i a g { i d , i d , i d } > 0 and B d ω d i a g { b d , ω x , b d , ω y , b d , ω z } > 0 denote desired rotational inertia and damping matrices.

6.2. Experimental Results

The following experiments were conducted: (1) alignment of the end-effector with a yoga ball, (2) moving the end-effector along the yoga ball, and (3) moving the end-effector along the back of a mannequin.
The first experiment focused on the alignment and stabilization of the end-effector with respect to the environment in order to highlight the critical role of sliding mode control (SMC). Here, we commanded 0 cm/s desired x and y velocities to the end-effector and 10 ( 1 e 0.2 t ) N as the desired force in the end-effector z-direction. From Figure 15, Figure 16, Figure 17, Figure 18 and Figure 19, it can be seen that use of SMC leads to the interaction force along the end-effector z-direction being regulated to around 10N with ± 0.5 N error while the position error was less than 0.2 cm after the end-effector aligned with the surface. The figures also show that the system does not converge without application of SMC. The interaction torque was seen to decrease to less than 0.005 N · m , and the equivalent lever converged to around 0.3 mm; both results clearly illustrate that the end-effector aligned along the yoga ball surface with high fidelity through the course of the experiment.
In the second experiment, we commanded 10 ( 1 e 0.2 t ) N as the desired force in the end-effector z-direction and the desired velocity was set to 0 from 0–10 s for the initial alignment and ±1.5 cm/s along the end-effector x-direction during the movement. The movement of the manipulator is shown in Figure 20.
From Figure 21, Figure 22, Figure 23, Figure 24 and Figure 25, it can be seen that the force along the end-effector z-direction was regulated around 10 N while moving on the yoga ball with the desired velocity/position. It can be noticed that there was a minuscule torque error on the pitch axis of around ± 0.015 N · m during movement. Since the controller design assumes a level environment, this torque error drives the end-effector to perform a constant angular velocity to align with the curvature of the surface during the movement.
For the third experiment, we replaced the ball environment with a mannequin with an irregular surface typical of the back of a human torso. The movement of the manipulator is shown in Figure 26. From 0 to 10 s, we commanded the same force along the end-effector z-direction. Then, we set v d x = 0 cm / s , v d y = 0.15 cm / s for 10–30 s, v d x = 0.05 cm / s , v d y = 0 cm / s for 30–50 s, v d x = 0 cm / s , v d y = 0 cm / s for 50–55 s, and then commanded the same velocities in the opposite direction. From Figure 27, Figure 28, Figure 29, Figure 30 and Figure 31, it can be seen that the overall position/velocity tracking and force regulation performance was close to expected. However, the performance was comparatively degraded with respect to the results in the second experiment due to the high stiffness and the sharp curvature changes in the surface of the mannequin. During the time periods when the end-effector moved over the sharp curvature regions on the mannequin back, such as 13–18 s, 40–45 s, 70–73 s, and 88–93 s, the force tracking and position tracking and alignment were affected. The force in the end-effector z-direction reduced to 4 N for about 0.1 s, the position error increased to 0.6 cm, the equivalent lever also increased to between 1 and 1.5 cm, but the degradation was seen to happen for short periods and the force and position/velocity tracking profiles recovered each time.

7. Conclusions

In this paper, a robust hybrid controller has been implemented relying on the wrist force/torque and robot joint position/velocity feedback. A Lyapunov-based stability analysis is provided to prove both the convergence as well as passivity of the interaction to ensure both performance and safety. Simulations as well as experimental results verify the performance and robustness of the proposed impedance controller in the presence of dynamic uncertainties as well as the safety compliance of physical human–robot interactions for a redundant robot manipulator. The design and implementation of verifiably safe PHRI controllers is important for deploying such controllers in the real world without the need for specialized hardware (sensors and/or actuators), which can be expensive. This is especially important for assistive robotics applications where cost is among the most critical factors in technology adoption. Our future work will be focused on adapting impedance parameters during interaction to limit force amplitudes.

Author Contributions

Conceptualization, A.B.; methodology, A.B.; software, Z.D. and M.B.; validation, Z.D. and M.B.; formal analysis, Z.D.; investigation, Z.D.; resources, A.B.; writing—original draft preparation, Z.D.; writing—review and editing, A.B.; visualization, Z.D.; supervision, A.B.; project administration, A.B.; funding acquisition, A.B. All authors have read and agreed to the published version of the manuscript.

Funding

This study was funded in part by NIDILRR grant #H133G120275, and in part by NSF grant numbers IIS-1409823 and IIS-1527794. However, these contents do not necessarily represent the policy of the aforementioned funding agencies, and you should not assume endorsement by the Federal Government.

Data Availability Statement

Not applicable.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix A

Appendix A.1. Definition and Growth Bound of G1(t)

The time derivative of (42) can be written as
m d , z v ¨ e , z = b d z v ˙ e , z + z ^ v T R ˙ o e f e , o + z ^ v T R o e f ˙ e , o = b d z v ˙ e , z z ^ v T [ ω e ] × R o e z ^ v k e ( z n z o ) z ^ v T R o e K e R e o v e = b d z v ˙ e , z z ^ v T R o e K e R e o v e z ^ v T [ ω e ] × R o e z ^ v m d , z v ˙ e , z + b d z v e , z + f d , z z ^ v T R o e z ^ v
where we have utilized (42) and (43) to substitute for k e ( z n z o ) as well as the identity that R ˙ o e = [ ω e ] × R o e . By utilizing the identity that R o e = I + H , we can simplify
m d , z v ¨ e , z = b d z v ˙ e , z k e v e , z + G 1
where
G 1 = k e z ^ v T H T v e k e z ^ v T H z ^ v v e , z k e z ^ v T H z ^ v z ^ v T H T v e z ^ v T [ ω e ] × R o e z ^ v m d , z v ˙ e , z + b d z v e , z + f d , z z ^ v T R o e z ^ v
and
H = 2 q T q I + 2 q q T 2 q 0 [ q ] ×
which can be bounded as
H 4 q 2 + 2 q 0 q 6 q
which is an exponential bound owing to the exponential boundedness for q from Lemma 2. By decomposing v e as
v e = z ^ v v e , z + v x v y 0 T , v e , x y 0
we can rewrite the perturbation system (A1) as follows
G 1 = G 11 + G 12 + G 13
where
G 11 = z ^ v T [ ω e ] × R o e z ^ v m d , z v ˙ e , z z ^ v T R o e z ^ v
G 12 = k e z ^ v T H T z ^ v v e , z k e z ^ v T H A v e , z k e z ^ v T H z ^ v z ^ v T H T z ^ v v e , z z ^ v T [ ω e ] × R o e z ^ v b d z v e , z z ^ v T R o e z ^ v
G 13 = k e z ^ v T H z ^ v z ^ v T H T v e , x y 0 k e z ^ v T H T v e , x y 0 z ^ v T [ ω e ] × R o e z ^ v f d , z z ^ v T R o e z ^ v .
The denominator term z ^ v T R o e z ^ v in G 11 , G 12 , and G 13 can be lowerbounded as follows:
z ^ v T R o e z ^ v = 2 q 0 2 1 + 2 q 3 2 2 q 0 2 0 1 > 0
since q 0 ( 0 ) 1 / 2 , 1 and q 0 converges exponentially to 1. Since ω e and H converge exponentially to the origin, we can upperbound G 11 , G 12 , G 13 as follows:
G 11 γ 1 m d , z exp γ t v ˙ e , z
G 12 γ 2 k e , b d z exp γ t v e , z
G 13 γ 3 k e exp γ t
where γ 1 m d , z , γ 2 k e , b d z , γ 3 k e are system-parameter-dependent constants.

Appendix A.2. Definitions of A, P and Q

The matrices A, P, and Q are defined as follows:
A A = b d z m d , z k e m d , z 0 1 0 0 0 0 γ
P P = m d , z ϵ m d , z 0 ϵ m d , z k e 0 0 0 1 > 0
Q b d z ϵ m d , z 1 2 ϵ b d z 0 1 2 ϵ b d z ϵ k e 0 0 0 γ > 0
for sufficiently small ϵ .

Appendix A.3. Definition and Linear Growth Bound of G2(t)

G 2 = z ^ v T [ ω e ] × R o e z ^ v z ^ v T R o e B e R e o v e z ^ v T R o e z ^ v z ^ v T [ ω e ] × R o e B e R e o v e + z ^ v T R o e B e R e o [ ω e ] × v e + z ^ v T H B e v ˙ e + z ^ v T H B e H T v ˙ e + z ^ v T B e H T v ˙ e
Since ω e and H converge exponentially to the origin and v x , v y L , G 2 can be norm-bounded (in a manner akin to G 1 ) as follows
G 2 γ 4 B e exp γ t x
where γ 4 B e is a system-parameter-dependent constant.

Appendix A.4. Bound for t 1 e , x y T v d , x y d t

t 1 f e , x y T v d , x y d t = t 1 A x y I + H 2 f e , o T v d , x y d t = t 1 v e T I + H 2 B e v d , x y d t t 1 f e , o T H 2 T A x y T f e , o v d , x y d t = t 1 v d + e v T B e A x y T v d , x y d t t 1 v e T H 2 B e A x y T v d , x y d t t 1 f e , o T H 2 T A x y T f e , o v d , x y d t = t 1 v d T B e v d d t t 1 e v T B e A x y T v d , x y d t t 1 v e T H 2 B e A x y T v d , x y d t t 1 f e , o T H 2 T A x y T f e , o v d , x y d t = t 1 v d T B e v d d t t 1 b e e v , x y T v d , x y d t t 1 v e T H 2 B e A x y T v d , x y d t t 1 f e , o T H 2 T A x y T f e , o v d , x y d t t 1 v d T B e v d d t + b e v d , x y t 1 e v , x y d t + v d , x y A x y sup B e v e + f e , o 2 t 1 H 2 d t
where we have utilized the fact that R o e = I 2 e T e I + 2 e e T 2 e 0 [ e ] × . H 2

Appendix A.5. Exponential Convergence of θ ´ c to θ ´ d Implies Exponential Convergence of θc to θd

Based on the relation between θ ´ c , θ ´ d , and θ c , θ d , we can write
e = q d 0 q q 0 q d + [ q ] × q d = cos ( θ d 2 ) sin ( θ c 2 ) n cos ( θ c 2 ) sin ( θ d 2 ) n d + sin ( θ c 2 ) sin ( θ d 2 ) n × n d = cos ( θ d 2 ) cos ( θ ´ c 2 ) k 1 cos θ c 2 cos ( θ ´ d 2 ) cos ( θ ´ d 2 ) sin ( θ ´ c 2 ) n cos ( θ c 2 ) cos ( θ ´ d 2 ) k 2 cos ( θ ´ c 2 ) cos ( θ d 2 ) cos ( θ ´ c 2 ) sin ( θ ´ d 2 ) n d + cos ( θ ´ c 2 ) cos ( θ ´ d 2 ) k 1 k 2 cos ( θ c 2 ) cos ( θ d 2 ) sin ( θ ´ c 2 ) sin ( θ ´ d 2 ) n × n d
Since 0 < k 2 k 1 1 , and θ ´ c , θ ´ d , θ c , θ d [ 0 , π 2 ) , it is easy to see that all the bracketed terms in (A9) can be bounded by constants λ 1 , λ 2 , λ 3 such that
e λ 1 cos ( θ ´ d 2 ) sin ( θ ´ c 2 ) + λ 2 cos ( θ ´ c 2 ) sin ( θ ´ d 2 ) + λ 3 sin ( θ ´ c 2 ) sin ( θ ´ d 2 ) max { λ 1 , λ 2 , λ 3 } e ´
which clearly shows that the exponential convergence of e ´ to the origin implies the same convergence result for e .

References

  1. Engelberger, J. Robotics in Service; The MIT Press: Cambridge, MA, USA, 1989. [Google Scholar]
  2. Kwee, H.H.; Duimel, J.J.; Smits, J.J.; Tuinhof de Moed, A.A.; van Woerden, J.A. The MANUS Wheelchair-Borne Manipulator: System Review and First Results. In Proceedings of the IARP Workshop on Domestic and Medical & Healthcare Robotics, Newcastle, UK, 1989; pp. 385–395. [Google Scholar]
  3. Van der Loos, M.; Michalowski, S.; Leifer, L. Design of an Omnidirectional Mobile Robot as a Manipulation Aid for the Severely Disabled. In Interactive Robotic Aids, World Rehabilitation Fund Monograph #37; Foulds, R., Ed.; World Rehabilitation Fund: New York, NY, USA, 1986. [Google Scholar]
  4. Mahoney, R.M. The Raptor Wheelchair Robot System. In Integration of Assistive Technology in the Information Age; Mokhtari, M., Ed.; IOS: Amsterdam, The Netherlands, 2001; pp. 135–141. [Google Scholar]
  5. Prior, S.D. An electric wheelchair mounted robotic arm—A survey of potential users. J. Med. Eng. Technol. 1990, 14, 143–154. [Google Scholar] [CrossRef] [PubMed]
  6. Nguyen, H.; Anderson, C.; Trevor, A.; Jain, A.; Xu, Z.; Kemp, C. El-E: An Assistive Robot that Fetches Objects from Flat Surfaces. In Proceedings of the Human-Robot Interaction 2008 Workshop on Robotic Helpers, Amsterdam, The Netherlands, 12 March 2008. [Google Scholar]
  7. Bien, Z.; Kim, D.-J.; Chung, M.J.; Kwon, D.S.; Chang, P.H. Development of a Wheelchair-Based Rehabilitation Robotic System (KARES II) with Various Human Robot Interaction Interfaces for the Disabled. In Proceedings of the IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Kobe, Japan, 20–24 July 2003; pp. 902–907. [Google Scholar]
  8. Neveryd, H.; Bolmsj, G. WALKY, an Ultrasonic Navigating Mobile Robot for the Disabled. In Proceedings of the TIDE, Paris, France, 26–28 April 1995; pp. 366–370. [Google Scholar]
  9. Dario, P.; Guglielmelli, E.; Laschi, C.; Teti, G. Movaid: A Mobile Robotic System Residential Care to Disabled and Elderly People. In Proceedings of the First MobiNet Symposium, Athens, Greece, 1997; pp. 9–14. [Google Scholar]
  10. Bischoff, R. Design, Concept, and Realization of the Humanoid Service Robot HERMES. In Field and Service Robotics; Zelinsky, A., Ed.; Springer: London, UK, 1998; pp. 485–492. [Google Scholar]
  11. Ding, Z.; Paperno, N.; Prakash, K.; Behal, A. An Adaptive Control-Based Approach for 1-Click Gripping of Novel Objects Using a Robotic Manipulator. IEEE Trans. Control Syst. Technol. 2019, 27, 1805–1812. [Google Scholar] [CrossRef]
  12. Al-Mohammed, M.; Adem, R.; Behal, A. A Switched Adaptive Controller for Robotic Gripping of Novel Objects With Minimal Force. IEEE Trans. Control Syst. Technol. 2023, 31, 17–26. [Google Scholar] [CrossRef]
  13. Kim, D.; Wang, Z.; Behal, A. Motion Segmentation and Control Design for UCF-MANUS—An Intelligent Assistive Robotic Manipulator. IEEE/ASME Trans. Mechatron. 2012, 17, 936–948. [Google Scholar] [CrossRef]
  14. Nagata, F.; Hase, T.; Haga, Z.; Omoto, M.; Watanabe, K. CAD/CAMbased Position/Force Controller for a Mold Polishing Robot. Mechatronics 2007, 17, 207–216. [Google Scholar] [CrossRef]
  15. King, C.; Chen, T.L.; Jain, A.; Kemp, C.C. Towards an assistive robot that autonomously performs bed baths for patient hygiene. In Proceedings of the 2010 IEEE/RSJ International Conference on Intelligent Robots and Systems, Taipei, Taiwan, 18–22 October 2010; pp. 319–324. [Google Scholar]
  16. Hawkins, K.P.; King, C.H.; Chen, T.L.; Kemp, C. Informing assistive robots with models of contact forces from able-bodied face wiping and shaving. In Proceedings of the RO-MAN, Paris, France, 9–13 September 2012; pp. 251–258. [Google Scholar]
  17. Jamisola, R.S.; Kormushev, P.; Bicchi, A.; Caldwell, D.G. Haptic exploration of unknown surfaces with discontinuities. In Proceedings of the 2014 IEEE/RSJ International Conference on Intelligent Robots and Systems, Chicago, IL, USA, 14–18 September 2014; pp. 1255–1260. [Google Scholar]
  18. Gracia, L.; Solanes, J.E.; Muz-Benavent, P.; Miro, J.V.; Perez-Vidal, C.; Tornero, J. Adaptive Sliding Mode Control for Robotic Surface Treatment Using Force Feedback. Mechatronics 2018, 52, 102–118. [Google Scholar] [CrossRef]
  19. Roveda, L.; Vicentini, F.; Tosatti, L.M. Deformation-tracking impedance control in interaction with uncertain environments. In Proceedings of the 2013 IEEE/RSJ International Conference on Intelligent Robots and Systems, Tokyo, Japan, 3–7 November 2013; pp. 1992–1997. [Google Scholar]
  20. Moura, J.; Mccoll, W.; Taykaldiranian, G.; Tomiyama, T.; Erden, M.S. Automation of Train Cab Front Cleaning With a Robot Manipulator. IEEE Robot. Autom. 2018, 3, 3058–3065. [Google Scholar] [CrossRef] [Green Version]
  21. Ding, Z. Robust Impedance Control Design of a Robot Manipulator for Passive Physical Human-Robot Interaction. Available online: https://youtu.be/IAccCLQKWuY (accessed on 12 August 2023).
  22. Feng, Y.; Yu, X.; Man, Z. Non-singular terminal sliding mode control of rigid manipulators. Automatica 2002, 38, 2159–2167. [Google Scholar] [CrossRef]
  23. Behal, A.; Dixon, W.E.; Dawson, D.M.; Xian, B. Lyapunov-Based Control of Robotic Systems; CRC Press: Boca Raton, FL, USA, 2009; ISBN 0-8493-7025-6. [Google Scholar]
  24. Khalil, H.K. Nonlinear Systems, 3rd ed.; Prentice Hall: Upper Saddle River, NJ, USA, 2002. [Google Scholar]
  25. Tayebi, A.; McGilvray, S. Attitude stabilization of a VTOL quadrotor aircraft. IEEE Trans. Control Syst. Technol. 2006, 14, 562–571. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Spring-damper environmental model.
Figure 1. Spring-damper environmental model.
Robotics 12 00116 g001
Figure 2. End-tool geometry, where f o = K e ( x n x o ) and f f = B e v o are the spring- and damper-induced forces from the environment.
Figure 2. End-tool geometry, where f o = K e ( x n x o ) and f f = B e v o are the spring- and damper-induced forces from the environment.
Robotics 12 00116 g002
Figure 3. Block diagram of proposed physical human–robot interaction controller.
Figure 3. Block diagram of proposed physical human–robot interaction controller.
Robotics 12 00116 g003
Figure 4. External force profile.
Figure 4. External force profile.
Robotics 12 00116 g004
Figure 5. Velocity tracking profile.
Figure 5. Velocity tracking profile.
Robotics 12 00116 g005
Figure 6. Position tracking profile.
Figure 6. Position tracking profile.
Robotics 12 00116 g006
Figure 7. Quaternion tracking profile.
Figure 7. Quaternion tracking profile.
Robotics 12 00116 g007
Figure 8. Misalignment evaluation: (Top) Misalignment angle between the end-effector z-direction and the normal of the contact surface. (Bottom) Equivalent lever in end-effector tangential direction.
Figure 8. Misalignment evaluation: (Top) Misalignment angle between the end-effector z-direction and the normal of the contact surface. (Bottom) Equivalent lever in end-effector tangential direction.
Robotics 12 00116 g008
Figure 9. Geometry of the end-tool. Left plot is the general misalignment case for the environment with friction. Middle plot is the equilibrium of the controller in last section applied to the frictional environment. The right plot is the desired equilibrium for the frictional environment.
Figure 9. Geometry of the end-tool. Left plot is the general misalignment case for the environment with friction. Middle plot is the equilibrium of the controller in last section applied to the frictional environment. The right plot is the desired equilibrium for the frictional environment.
Robotics 12 00116 g009
Figure 10. Force tracking profile for frictional environment.
Figure 10. Force tracking profile for frictional environment.
Robotics 12 00116 g010
Figure 11. Quaternion error tracking profile for frictional environment.
Figure 11. Quaternion error tracking profile for frictional environment.
Robotics 12 00116 g011
Figure 12. Velocity tracking profile for frictional environment.
Figure 12. Velocity tracking profile for frictional environment.
Robotics 12 00116 g012
Figure 13. Alignment evaluation for frictional environment.
Figure 13. Alignment evaluation for frictional environment.
Robotics 12 00116 g013
Figure 14. SMC performance for frictional environment.
Figure 14. SMC performance for frictional environment.
Robotics 12 00116 g014
Figure 15. External force for ball alignment.
Figure 15. External force for ball alignment.
Robotics 12 00116 g015
Figure 16. External torque for ball alignment.
Figure 16. External torque for ball alignment.
Robotics 12 00116 g016
Figure 17. Velocity tracking for ball environment alignment experiment.
Figure 17. Velocity tracking for ball environment alignment experiment.
Robotics 12 00116 g017
Figure 18. Position tracking and error for ball environment alignment experiment.
Figure 18. Position tracking and error for ball environment alignment experiment.
Robotics 12 00116 g018
Figure 19. Alignment evaluation for ball environment alignment.
Figure 19. Alignment evaluation for ball environment alignment.
Robotics 12 00116 g019
Figure 20. Video frames from the experiment on the yoga ball environment.
Figure 20. Video frames from the experiment on the yoga ball environment.
Robotics 12 00116 g020
Figure 21. External force for moving on ball environment.
Figure 21. External force for moving on ball environment.
Robotics 12 00116 g021
Figure 22. External torque profile for moving on ball environment.
Figure 22. External torque profile for moving on ball environment.
Robotics 12 00116 g022
Figure 23. Velocity tracking for moving on ball environment.
Figure 23. Velocity tracking for moving on ball environment.
Robotics 12 00116 g023
Figure 24. Position tracking for moving on ball environment.
Figure 24. Position tracking for moving on ball environment.
Robotics 12 00116 g024
Figure 25. Alignment evaluation for moving on ball environment.
Figure 25. Alignment evaluation for moving on ball environment.
Robotics 12 00116 g025
Figure 26. Video frames from the experiment on the mannequin environment.
Figure 26. Video frames from the experiment on the mannequin environment.
Robotics 12 00116 g026
Figure 27. External force profile for moving on mannequin back. During initial alignment (0–10 s), force error is less than 0.5 N. During movement, force error stays less than 2 N except when end-effector moves on regions of sharp curvature where force error goes to 4 N for less than 0.2 s.
Figure 27. External force profile for moving on mannequin back. During initial alignment (0–10 s), force error is less than 0.5 N. During movement, force error stays less than 2 N except when end-effector moves on regions of sharp curvature where force error goes to 4 N for less than 0.2 s.
Robotics 12 00116 g027
Figure 28. External torque profile for moving on mannequin. To orient end-effector during changes in surface curvature, torque error increases up to 0.1 Nm, otherwise it remains regulated to within 0.05 Nm.
Figure 28. External torque profile for moving on mannequin. To orient end-effector during changes in surface curvature, torque error increases up to 0.1 Nm, otherwise it remains regulated to within 0.05 Nm.
Robotics 12 00116 g028
Figure 29. Velocity tracking for moving on mannequin back.
Figure 29. Velocity tracking for moving on mannequin back.
Robotics 12 00116 g029
Figure 30. Position tracking and error profile for moving on mannequin back.
Figure 30. Position tracking and error profile for moving on mannequin back.
Robotics 12 00116 g030
Figure 31. Equivalent lever in the tangential plane of end-effector. At 13 s, 41 s, 70 s, and 88 s, end-effector moves on regions of sharp curvature on mannequin which affects alignment during the transient, but the controller always recovers alignment in steady-state.
Figure 31. Equivalent lever in the tangential plane of end-effector. At 13 s, 41 s, 70 s, and 88 s, end-effector moves on regions of sharp curvature on mannequin which affects alignment during the transient, but the controller always recovers alignment in steady-state.
Robotics 12 00116 g031
Table 1. Simulation parameters.
Table 1. Simulation parameters.
F c = d i a g [ 0.07 0.07 0.07 0.07 0.014 0.014 0.0035 ]
F s = d i a g [ 0.14 0.14 0.14 0.14 0.028 0.028 0.007 ]
F v = d i a g [ 0.13 0.13 0.13 0.13 0.026 0.026 0.013 ]
v s = d i a g [ 0.01 0.01 0.01 0.01 0.01 0.005 0.005 ]
M d , v = d i a g [ 1 1 10 ]
I d = d i a g [ 0.3 0.3 0.3 ]
B d , v = d i a g [ 10 10 70 ]
K d = d i a g [ 30 30 0 0 0 0 ]
Q = d i a g [ 24 48 48 60 72 72 84 ]
P = d i a g [ 4 4 4 ]
K 1 = d i a g [ 10 10 10 ]
K e = d i a g [ 0 0 506 ]
B e = d i a g [ 100 100 0 ]
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Ding, Z.; Baghbahari, M.; Behal, A. A Passivity-Based Framework for Safe Physical Human–Robot Interaction. Robotics 2023, 12, 116. https://doi.org/10.3390/robotics12040116

AMA Style

Ding Z, Baghbahari M, Behal A. A Passivity-Based Framework for Safe Physical Human–Robot Interaction. Robotics. 2023; 12(4):116. https://doi.org/10.3390/robotics12040116

Chicago/Turabian Style

Ding, Zhangchi, Masoud Baghbahari, and Aman Behal. 2023. "A Passivity-Based Framework for Safe Physical Human–Robot Interaction" Robotics 12, no. 4: 116. https://doi.org/10.3390/robotics12040116

APA Style

Ding, Z., Baghbahari, M., & Behal, A. (2023). A Passivity-Based Framework for Safe Physical Human–Robot Interaction. Robotics, 12(4), 116. https://doi.org/10.3390/robotics12040116

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop