This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

A Hybrid Position/Force Controller for Joint Robots

Shengwen Xie1 and Juan Ren1 *This work has been published in the proceedings of ICRA 2021 and we have added some extra explanations in this version.1 Department of Mechanical Engineering, Iowa State University, Ames, IA 50011, USA swxie@outlook.com,juanren@iastate.edu
Abstract

In this paper, we present a hybrid position/force controller for operating joint robots. The hybrid controller has two goals—motion tracking and force regulating. As long as these two goals are not mutually exclusive, they can be decoupled in some way. In this work, we make use of the smooth and invertible mapping from the joint space to the task space to decouple the two control goals and design controllers separately. The traditional motion controller in the task space is used for motion control, while the force controller is designed through manipulating the desired trajectory to regulate the force indirectly. Two case studies—contour tracking/polishing surfaces and grabbing boxes with two robotic arms—are presented to show the efficacy of the hybrid controller, and simulations with physics engines are carried out to validate the efficacy of the proposed method.

I Introduction

In many automation tasks in which the robot interacts with the environment, both position and force of the end-effector need to be controlled to complete the task, i.e., a hybrid motion/force controller is needed. For example, when using a robotic arm to polish the car apron [1], both the position and contact force should be regulated.

Controllers for joint robots with one control goal, e.g., force regulation or position control, have been studied extensively. Position controller can be designed in the joint space or task space [2, 3]. Designing force controller is more challenging due to the interaction with the environment and the interaction model is hard to determine. Impedance controllers and admittance controllers can establish a mass-spring-damper model between the end-effector and the environment, but force cannot be accurately controlled[4, 5]. By incorporating force feedback in the position controller, accurate force tracking can be achieved [6, 7]. When force sensor is not available, sensorless approaches were developed [8]. Although various position or force controllers are available, the choices for hybrid position/force controller are still limited, and designing robust hybrid controller remains an active research area.

One popular position/force controller is proposed in [9], in which the motion and force controllers are applied in two complementary subspaces thus the stability analysis of each controller can be inherited. However, the controller is not robust since the constraint is hard to guarantee in the entire process (e.g., contact loss can happen), and the orthogonality relies on the choice of coordinate and metric [10, 2]. Marin et al. proposed to use kinestatic filtering to overcome the limitation, but it still relies on the constraints to hold, which makes the controller less robust for applications without natural constraints[11]. Recently, the concept of energy tank based on passivity has been used in robot controller design [12, 1, 13]. For example, a Cartesian force/impedance control is developed in [1]. However, the controller is not a position/force controller in the sense that the path to the setpoint cannot be regulated. Iterative learning control (ILC) has been proposed to increase the controller robustness when the nonlinear terms cannot be accurately compensated, but ILC achieves the control results through repetitions[14]. To deal with the lag of robot position control, Liu et al. proposed to control the position and force with different control frequencies [15]. Although the robustness has been improved, the bandwidth of the position controller is limited. Therefore, robust hybrid position/force controllers which can be used without natural constraints are still not available.

In this work, we present a hybrid position/force controller which does not rely on the constraints and can regulate both the position and force applied by the end-effector. It is assumed that the two control objectives do not conflict, that is, achieving one objective does not prohibit achieving another. Generally, there are 6 degree of freedoms (DOFs) in the task space. If a smooth and invertible mapping exists such that the interaction force depends on nn DOFs of the 6 DOFs, one can design force controller for the nn DOFs and motion controller for the rest 6n6-n DOFs. The motion controller which utilizes a smooth and invertible mapping to transform the configuration from the joint space to the task space is used [3]. Then, a force controller is incorporated through manipulating the desired position corresponding to the nn DOFs. The closed-loop stability of the hybrid controller is analyzed with the linear interaction model between the end-effector and the environment.

To verify the effectiveness of the hybrid controller, two cases studies are presented. The first case is inspired by the task in [1] which can be generalized to a contour tracking problem with a desired contact force. Compared to the approach in [1], the proposed controller is advantageous in following the pre-designed trajectory while regulating the force in the process. In the second case study, the direction of the force to be controlled can be varying, but it always corresponds to 1 DOF among the 6 DOFs of the end-effector in the task space. The key is to modify the smooth and invertible mapping from the joint space to the task space to ensure that the force controller is related with 1 DOF and thus the proposed hybrid controller framework can be adopted. Although in all the case studies, the force controller always corresponds to 1 DOF, it can be easily extended to more DOFs. Moreover, the proposed controller can be used for mounting a screwdriver onto a screw as reported in [19].

II Hybrid Controller Design

Let RSO(3)R\in SO(3) denote the orientation of the end-effector and we can map RR to Θ=[Θx,Θy,Θz]so(3)\Theta=[\Theta_{x},\Theta_{y},\Theta_{z}]\in so(3)[2] (p. 83). Thus, the end-effector pose can be represented with [Θx,Θy,Θz,x,y,z][\Theta_{x},\Theta_{y},\Theta_{z},x,y,z] where [x,y,z][x,y,z] is the position. The hybrid controller design in this work is based on the assumption that the interaction force in some direction can only be affected by the position in that direction. For example, the torque around xx axis can only be changed through varying Θx\Theta_{x} and the interaction force along xx axis can be changed by manipulating position in xx direction. Note that the interaction between the end-effector and the environment is very complex, the assumption here is to simplify the theoretical analysis and the hybrid controller may still work even when they are violated due to its robustness.

II-A Motion Control in the Task Space

We consider a robotic arm with 6 DOFs. The equation of motion is

M(𝜽)𝜽¨+C𝜽˙+𝒈(𝜽)+JTFext=𝝉,M(\bm{\theta})\ddot{\bm{\theta}}+C\dot{\bm{\theta}}+{\bm{g}}({\bm{\theta}})+J^{T}\pazocal{F}_{\rm ext}=\bm{\tau}\text{,} (1)

where 𝜽6×1\bm{\theta}\in\mathbb{R}^{6\times 1} is the joint angle vector, JJ is the arm’s Jacobian matrix, M(𝜽)M({\bm{\theta}}), C(𝜽,𝜽˙)C({\bm{\theta}},\dot{\bm{\theta}}), and 𝒈(𝜽)\bm{g}(\bm{\theta}) are the mass matrix, Coriolis and centrifugal vector, gravity vector, respectively, and Fext=[𝐦extT,𝐟extT]T=[mx,my,mz,fx,fy,fz]T\pazocal{F}_{\rm ext}=[\bm{m}^{T}_{\rm ext},\bm{f}^{T}_{\rm ext}]^{T}=[m_{x},m_{y},m_{z},f_{x},f_{y},f_{z}]^{T} is the wrench applied by the end-effector to the environment. The control input to the robot is 𝝉\bm{\tau}, the torque applied to the joint motors.

The motion controller in the task space from [3] (pp. 195-197) is used. Define a smooth and invertible mapping from the joint space to task space f:𝜽6×1𝒙6×1f:\bm{\theta}\in\mathbb{R}^{6\times 1}\to\bm{x}\in\mathbb{R}^{6\times 1}. In this work, the joint space is mapped to the task space defined with the position and orientation of the end-effector, i.e., 𝒙=[α,β,γ,x,y,z]T\bm{x}=[\alpha,\beta,\gamma,x,y,z]^{T}. Note that this mapping is not globally but locally invertible thus works in a region, so multiple mappings may be used for the entire joint space. The Jacobian JfJ_{f} with respect to ff is defined as

𝒙˙=Jf𝜽˙,Jf=f𝜽.\dot{\bm{x}}=J_{f}\dot{\bm{\theta}}\text{,}\quad\quad J_{f}=\frac{\partial f}{\partial{\bm{\theta}}}\text{.} (2)

Thus,

𝒙¨=J˙f𝜽˙+Jf𝜽¨𝜽¨=Jf1(𝒙¨J˙f𝜽˙).\ddot{\bm{x}}=\dot{J}_{f}\dot{\bm{\theta}}+J_{f}\ddot{\bm{\theta}}\quad\Rightarrow\quad\ddot{\bm{\theta}}=J_{f}^{-1}(\ddot{\bm{x}}-\dot{J}_{f}\dot{\bm{\theta}})\text{.} (3)

The motion controller can be expressed as

𝝉=C𝜽˙+𝒈(𝜽)+MJf1(𝒙¨d+Kv𝒙˙e+Kp𝒙e+Ki0t𝒙e𝑑sJ˙f𝜽˙),\bm{\tau}=C\dot{\bm{\theta}}+{\bm{g}}({\bm{\theta}})+MJ_{f}^{-1}(\ddot{\bm{x}}_{d}+K_{v}\dot{\bm{x}}_{e}+K_{p}{\bm{x}}_{e}+K_{i}\int_{0}^{t}{\bm{x}}_{e}ds-\dot{J}_{f}\dot{\bm{\theta}})\textbf{,} (4)

where 𝒙e=𝒙d𝒙{\bm{x}}_{e}={\bm{x}}_{d}-{\bm{x}}; 𝒙d{\bm{x}}_{d} and 𝒙{\bm{x}} are the desired and actual configuration, respectively; KvK_{v}, KpK_{p}, and KiK_{i} are the controller parameters and should be chosen properly to ensure stability [3] (pp. 198).

To introduce the hybrid controller, consider a task of cleaning a table with a robotic arm. The table surface is a plane parallel to the x-yx\text{-}y plane in world frame with the zz axis pointing upward. Therefore, for such a task, a hybrid controller is needed to manipulate the end-effector to move from point AA to point BB on the table while maintaining a downward force (i.e., in -zz direction).

Define the mapping f:𝜽𝒙=[α(t),β(t),γ(t),x(t),y(t),z(t)]Tf:{\bm{\theta}}\to{\bm{x}}=[\alpha(t),\beta(t),\gamma(t),x(t),y(t),z(t)]^{T}, where xx, yy, and zz are coordinates in world frame and the rest DOFs are orientation angles. We can decouple the 6 DOFs in the task space, i.e., the motion controller will be used to regulate {x(t),y(t),α(t),β(t),γ(t)}\{x(t),y(t),\alpha(t),\beta(t),\gamma(t)\} to track the reference trajectory and the force controller regulates the contact force in zz direction through manipulating z(t)z(t). Let 𝒙d=[αd(t),βd(t),γd(t),xd(t),yd(t),zd0]T{\bm{x}}_{d}=[\alpha_{d}(t),\beta_{d}(t),\gamma_{d}(t),x_{d}(t),y_{d}(t),z_{d0}]^{T} be the reference trajectory in the task space with zr0z_{r0} the initial zz position of the tip.

Plug Eqs.(4) and (3) into Eq. (1), we can obtain

𝒙¨e+Kv𝒙˙e+Kp𝒙e+Ki0t𝒙e𝑑sJfM1JTFext=0.\ddot{\bm{x}}_{e}+K_{v}\dot{\bm{x}}_{e}+K_{p}{\bm{x}}_{e}+K_{i}\int_{0}^{t}{\bm{x}}_{e}ds-J_{f}M^{-1}J^{T}\pazocal{F}_{\rm ext}=0\text{.} (5)

Let []i[\cdot]_{i} denote the iith elements of a vector and u=JfM1JTFextu=J_{f}M^{-1}J^{T}\pazocal{F}_{\rm ext}. Eq. (5) can be decomposed into two parts as follows.

[𝒙¨e]i+Kv[𝒙˙e]i+Kp[𝒙e]i+Ki0t[𝒙e]i𝑑s[u]i=0,1i5{[\ddot{\bm{x}}_{e}]}_{i}+K_{v}{[\dot{\bm{x}}_{e}]}_{i}+K_{p}{[{\bm{x}}_{e}]}_{i}+K_{i}\int_{0}^{t}{[{\bm{x}}_{e}]}_{i}ds-[u]_{i}=0\text{,}1\leq i\leq 5 (6)
[𝒙¨e]6+Kv[𝒙˙e]6+Kp[𝒙e]6+Ki0t[𝒙e]6𝑑s[u]6=0[\ddot{\bm{x}}_{e}]_{6}+K_{v}{[\dot{\bm{x}}_{e}]}_{6}+K_{p}{[{\bm{x}}_{e}]}_{6}+K_{i}\int_{0}^{t}{[{\bm{x}}_{e}]}_{6}ds-[u]_{6}=0 (7)

Eq. (6) represents the motion error dynamics while Eq. (7) will be used for the force controller design. Note that Fext\pazocal{F}_{\rm ext} is not canceled in Eq. (5) since it is difficult to accurately measure the term Fext\pazocal{F}_{\rm ext} and there will be a delay in canceling the term resulting in some unexpected behaviors.

Remark 1. The force term Fext\pazocal{F}_{\rm ext} can be canceled (then u=0u=0) if accurate sensors are available and the conclusion will not be affected. We are going to discuss the effect if this term is not canceled or just partially canceled.

II-B Hybrid Control: Part \Romannum1-Motion Control

Eq. (6) is the motion error dynamics after applying the motion controller Eq. (4). Here we explain how the term Fext\pazocal{F}_{\rm ext} affects the controller performance. If Fext\pazocal{F}_{\rm ext} is not canceled then [u]i=[JfM1JTFext]i[u]_{i}=[J_{f}M^{-1}J^{T}\pazocal{F}_{\rm ext}]_{i}; if Fext\pazocal{F}_{\rm ext} is not fully canceled, [u]i[u]_{i} represents the residual term after canceling, then we can obtain the transfer function of the system with input ui(t)u_{i}(t) and output yi(t)=[Xe]iy_{i}(t)=[X_{e}]_{i} from Eq. (6) as

Gi(s)=Yi(s)Ui(s)=ss3+Kvs2+Kps+Ki.G_{i}(s)=\frac{Y_{i}(s)}{U_{i}(s)}=\frac{s}{s^{3}+K_{v}s^{2}+K_{p}s+K_{i}}\text{.} (8)

If KvK_{v}, KpK_{p}, and KiK_{i} are chosen such that Eq. (8) is stable, it yields a low pass filter which has a very small gain in low frequency region. Thus, uiu_{i} does not affect the tracking error yiy_{i} much. In particular, when s0s\to 0, Gi(s)0G_{i}(s)\to 0 which implies that constant uiu_{i} cannot affect the output at all.

II-C Hybrid Control: Part \Romannum2-Force Control

Let ze=zdzt=[𝒙e]6{z}_{e}={z}_{d}-{z}_{t}={[{\bm{x}}_{e}]}_{6} where zd{z}_{d} is the desired zz position and ztz_{t} is the actual zz position of the end-effector. Let fe=fdfzf_{e}=f_{d}-f_{z}, with fdf_{d} the desired downward force and fzf_{z} the actual downward force. We integrate another controller Eq. (10) with Eq. (7) as follows (Note that (9) is obtained by replacing [𝒙e]6{[\bm{x}_{e}]}_{6} with ze{z}_{e} in (7)).

z¨e+Kvz˙e+Kpze+Ki0tze𝑑s(ϵfz+η)=0\displaystyle\ddot{z}_{e}+K_{v}\dot{z}_{e}+K_{p}{z}_{e}+K_{i}\int_{0}^{t}{z}_{e}ds-(\epsilon f_{z}+\eta)=0 (9)
uc=z˙d=Kp1fe+Ki10tfe𝑑s ,\displaystyle u_{c}=\dot{z}_{d}=K_{p1}f_{e}+K_{i1}\int_{0}^{t}f_{e}ds\text{~{},} (10)

where (ϵfz+η)=[JfM1JTFext]6(\epsilon f_{z}+\eta)=[J_{f}M^{-1}J^{T}\pazocal{F}_{\rm ext}]_{6}, ucu_{c} is the input for the force controller. In Eq. (9), fzf_{z} is extracted and the rest terms in [JfM1JTFext]6[J_{f}M^{-1}J^{T}\pazocal{F}_{\rm ext}]_{6} are accounted for with ϵ\epsilon and η\eta. Again, if Fext\pazocal{F}_{\rm ext} can be canceled, ϵ=0\epsilon=0, η=0\eta=0. The reason why fzf_{z} is extracted here is that fzf_{z} can be very large thus dominates over other terms in Fext\pazocal{F}_{\rm ext} (i.e., fxf_{x}, mxm_{x}, etc.) when fdf_{d} is large.

Controller Eq. (10) essentially indirectly regulates the contact force through adjusting the desired zz position. The block diagram of the force controller is shown in Fig. 1. We use a spring model to approximate the interaction dynamics between the tip and the environment. As seen in Fig. 2, let qzq_{z} be the zz position of the contact point before contacting (before contacting there is no deformation at the contact point), the contact force can be computed with fz=δ(k)(qzzt)f_{z}=\delta(k)({q_{z}}-z_{t}), where

δ(k)={k , ifqz>zt0 , ifqzzt.\begin{aligned} \delta(k)=\begin{cases}&k\text{~{}, if}~{}~{}q_{z}>z_{t}\\ &0\text{~{}, if}~{}~{}q_{z}\leq z_{t}\end{cases}\end{aligned}\text{.} (11)

Sometimes the environment may be rigid and there is no deformation, the model can still work due to the flexibility of the robotic arm. When implementing the controller, fzf_{z} can be read from the F/T sensor.

Refer to caption
Figure 1: Control diagram for the force controller.
Refer to caption
Figure 2: Interaction model between the end-effector and the environment.

To obtain the closed-loop force error dynamics, the system state W=[w1,,w6]TW=[w_{1},\cdots,w_{6}]^{T} is defined as follows. For simplicity, it is assumed that f˙d=0\dot{f}_{d}=0, but this assumption can be removed and similar analysis can be carried out.

{w1=0tze𝑑sw2=ztw3=z˙ew4=zdw5=0tfe𝑑sw6=fe{w˙1=ze=zdzt=w4w2w˙2=z˙t=z˙dz˙e=ucw3=w3+Ki1w5+Kp1w6w˙3=z¨e=Kvw3Kp(w4w2)Kiw1+(ϵfz+η)(by Eq. (9))w˙4=z˙d=uc=Ki1w5+Kp1w6w˙5=fe=w6w˙6=f˙e=f˙z\begin{aligned} \begin{cases}w_{1}&=\int_{0}^{t}z_{e}ds\\ w_{2}&=z_{t}\\ w_{3}&=\dot{z}_{e}\\ w_{4}&=z_{d}\\ w_{5}&=\int_{0}^{t}f_{e}ds\\ w_{6}&=f_{e}\end{cases}\end{aligned}\Rightarrow\begin{aligned} \begin{cases}\dot{w}_{1}&=z_{e}=z_{d}-z_{t}=w_{4}-w_{2}\\ \dot{w}_{2}&=\dot{z}_{t}=\dot{z}_{d}-\dot{z}_{e}=u_{c}-w_{3}\\ &=-w_{3}+K_{i1}w_{5}+K_{p1}w_{6}\\ \dot{w}_{3}&=\ddot{z}_{e}=-K_{v}w_{3}-K_{p}(w_{4}-w_{2})\\ &~{}~{}-K_{i}w_{1}+(\epsilon f_{z}+\eta)~{}(\text{by Eq. (\ref{controller2_1})})\\ \dot{w}_{4}&=\dot{z}_{d}=u_{c}=K_{i1}w_{5}+K_{p1}w_{6}\\ \dot{w}_{5}&=f_{e}=w_{6}\\ \dot{w}_{6}&=\dot{f}_{e}=-\dot{f}_{z}\end{cases}\end{aligned} (12)

The system state-space equation is

W˙=AwW+BUw=[0101000010Ki1Kp1Kiϵδ(k)+KpKdKp000000Ki1Kp100000100δ(k)0δ(k)Ki1δ(k)Kp1]W+[000010000001][ηϵδ(k)qzδ(k)q˙z].\begin{aligned} \dot{W}&=A_{w}W+BU_{w}\\ =&\begin{bmatrix}0&-1&0&1&0&0\\ 0&0&-1&0&K_{i1}&K_{p1}\\ -K_{i}&\epsilon\delta(k)+K_{p}&-K_{d}&-K_{p}&0&0\\ 0&0&0&0&K_{i1}&K_{p1}\\ 0&0&0&0&0&1\\ 0&0&-\delta(k)&0&\delta(k)K_{i1}&\delta(k)K_{p1}\end{bmatrix}W\\ +&\begin{bmatrix}0&0\\ 0&0\\ 1&0\\ 0&0\\ 0&0\\ 0&1\end{bmatrix}\begin{bmatrix}\eta-\epsilon\delta(k)q_{z}\\ -\delta(k)\dot{q}_{z}\end{bmatrix}\end{aligned}\text{.} (13)

Next, we analyze the case when ϵ(t)=0\epsilon(t)=0 and η(t)=0\eta(t)=0, i.e., Fext\pazocal{F}_{\rm ext} can be canceled. If ϵ(t)0\epsilon(t)\neq 0, the system Eq. (13) will be a time-varying model which is more challenging to analyze its closed-loop stability.

Non-contact Mode: If qzztq_{z}\leq z_{t} for tt0t\geq t_{0}, there is no contact, thus w6=0w_{6}=0, fe=fdf_{e}=f_{d}, the controller Eq. (10) becomes

uc(t)\displaystyle u_{c}(t) =Kp1fd+Ki10t0fe𝑑s+Ki1fd(tt0)\displaystyle=K_{p1}f_{d}+K_{i1}\int_{0}^{t_{0}}f_{e}ds+K_{i1}f_{d}(t-t_{0}) (14)
=z˙d(t0)+Ki1fd(tt0),\displaystyle=\dot{z}_{d}(t_{0})+K_{i1}f_{d}\cdot(t-t_{0})\text{,}

where tt0t\geq t_{0}. Eq. (13) degenerates to

[W]˙1:3=[010001Ki+KpKd][W]1:3+[zd(t0)+t0tuc(t)𝑑suc(t)0].\dot{[W]}_{1:3}=\begin{bmatrix}0&-1&0\\ 0&0&-1\\ -K_{i}&+K_{p}&-K_{d}\end{bmatrix}[W]_{1:3}+\begin{bmatrix}z_{d}(t_{0})+\int_{t_{0}}^{t}u_{c}(t)ds\\ u_{c}(t)\\ 0\end{bmatrix}\text{.} (15)

As seen in Eq. (14), uc(t)u_{c}(t) will monotonously decrease or increase, which may result in very large uc(t)u_{c}(t) before reaching the surface again if zdqz\|z_{d}-q_{z}\| is very large. To avoid this and make the controller more robust, we can add a saturation function to the controller. Specifically, assume the estimated contact point position q^z\hat{q}_{z} satisfies Δ<q^zqz<0-\Delta<\hat{q}_{z}-q_{z}<0 (Δ>0\Delta>0 can be seen as the estimation error bound), the controller Eq. (10) is modified to

uc={S(Kp1fe+Ki10tfe𝑑s) iffz=0Kp1fe+Ki10tfe𝑑s iffz0\displaystyle u_{c}=\begin{cases}&S(K_{p1}f_{e}+K_{i1}\int_{0}^{t}f_{e}ds)\text{~{}~{}if}~{}~{}f_{z}=0\\ &K_{p1}f_{e}+K_{i1}\int_{0}^{t}f_{e}ds\text{~{}~{}~{}~{}~{}~{}if}~{}~{}f_{z}\neq 0\end{cases} (16)

with

S(z)={0 ifzd<q^zz otherwise.\displaystyle S(z)=\begin{cases}&0\text{~{}~{}if}~{}~{}z_{d}<\hat{q}_{z}\\ &z\text{~{}~{}otherwise}\end{cases}\text{.} (17)

Since KpK_{p}, KvK_{v} and KiK_{i} can be chosen to make Eq. (15) stable, the end-effector will eventually reach the surface again, then the controller will switch to contact mode as explained next.

Contact Mode: If qz>ztq_{z}>z_{t}, choose Ki1K_{i1} and Kp1K_{p1} such that all the non-zero eigenvalues of AwA_{w} have negative real parts. However, since rank(Aw)=5\text{rank}(A_{w})=5, there will be a zero eigenvalue for AwA_{w}. We have the following proposition.

Proposition 1. In contact mode, suppose Fext\pazocal{F}_{\rm ext} can be canceled, i.e., ϵ=0\epsilon=0 and η=0\eta=0, choose Ki1K_{i1} and Kp1K_{p1} such that all the non-zero eigenvalues have negative real parts, then,

  1. 1.

    if qz=0q_{z}=0 and q˙z=0\dot{q}_{z}=0, fef_{e} converges to 0, i.e., for the system W˙=AwW\dot{W}=A_{w}W, limtfe=limtw6=0\lim\limits_{t\to\infty}f_{e}=\lim\limits_{t\to\infty}w_{6}=0;

  2. 2.

    if qz0q_{z}\neq 0 and q˙z0\dot{q}_{z}\neq 0, limtfe=limtw6ΓUw\lim\limits_{t\to\infty}\|f_{e}\|=\lim\limits_{t\to\infty}\|w_{6}\|\leq\Gamma\|U_{w}\|_{\infty}, where Γ\Gamma is a constant.

Proof. 1) Here we consider the case in which AwA_{w} has distinct eigenvalues, if AwA_{w} has repeated eigenvalues, as long as they have negative real parts, the similar analysis can be performed based on linear system theory without changing the conclusion [16].

The solution of W˙=AwW\dot{W}=A_{w}W is W(t)=icieλit𝒗iW(t)=\sum\limits_{i}c_{i}e^{\lambda_{i}t}{\bm{v}}_{i} (cic_{i} is a constant scalar depending on the initial state, 𝒗i{\bm{v}}_{i} is the eigenvector corresponding to the eigenvalue λi\lambda_{i}), limtcieλit𝒗i=0\lim_{t\to\infty}c_{i}e^{\lambda_{i}t}{\bm{v}}_{i}=0 if real(λi)<0\text{real}(\lambda_{i})<0. Since there is only one zero eigenvalue λ6\lambda_{6}, thus limtW(t)=c6𝒗6\lim_{t\to\infty}W(t)=c_{6}{\bm{v}}_{6}. The eigenvector corresponding to the zero eigenvalue is 𝒗6{\bm{v}}_{6}, then Aw𝒗6=0A_{w}{\bm{v}}_{6}=0, we have

{[𝒗6]3+Ki1[𝒗6]5+Kp1[𝒗6]6=0Ki1[𝒗6]5+Kp1[𝒗6]6=0[𝒗6]6=0{[𝒗6]3=0[𝒗6]5=0[𝒗6]6=0.\begin{aligned} \begin{cases}-[{\bm{v}}_{6}]_{3}+K_{i1}[{\bm{v}}_{6}]_{5}+K_{p1}[{\bm{v}}_{6}]_{6}=0\\ K_{i1}[{\bm{v}}_{6}]_{5}+K_{p1}[{\bm{v}}_{6}]_{6}=0\\ [{\bm{v}}_{6}]_{6}=0\end{cases}\end{aligned}\Rightarrow\begin{aligned} \begin{cases}[{\bm{v}}_{6}]_{3}=0\\ [{\bm{v}}_{6}]_{5}=0\\ [{\bm{v}}_{6}]_{6}=0\end{cases}\end{aligned}\text{.} (18)

It follows that limtfe=limtw6=c6[𝒗6]6=0\lim\limits_{t\to\infty}f_{e}=\lim\limits_{t\to\infty}w_{6}=c_{6}[{\bm{v}}_{6}]_{6}=0, implying that the system is asymptotically stable in contact mode. Eq. (18) also indicates that z˙e0\dot{z}_{e}\to 0 and 0tfe𝑑s0\int_{0}^{t}f_{e}ds\to 0 as tt\to\infty. \blacksquare

2) Let y=fe=CW=[0,0,0,0,0,1]Wy=f_{e}=CW=[0,0,0,0,0,1]W be the output of the system. Then, the state-space model can be expressed as

W˙=AwW+BUwy(t)=CW.\begin{aligned} \dot{W}&=A_{w}W+BU_{w}\\ y(t)&=CW\end{aligned}\textbf{.} (19)

The solution of Eq. (19) is known as [16]

y(t)=CeAwtW(0)+C0teAw(tτ)BUw(τ)𝑑τ,y(t)=Ce^{A_{w}t}W(0)+C\int_{0}^{t}e^{A_{w}(t-\tau)}BU_{w}(\tau)d\tau\text{,} (20)

where W(0)W(0) denotes the state at t=0t=0. As AwA_{w} has distinct eigenvalues, AwA_{w} can be decomposed as Aw=VDV1A_{w}=VDV^{-1}, where D=diag{λ1,λ2,λ3,λ4,λ5,0}D=\text{diag}\{\lambda_{1},\lambda_{2},\lambda_{3},\lambda_{4},\lambda_{5},0\} and real(λi)<0(\lambda_{i})<0, the iith column of VV is an eigenvector of AwA_{w} corresponding to eigenvalue λi\lambda_{i}. Therefore, eAwt=VeDtV1e^{A_{w}t}=Ve^{Dt}V^{-1}, eDt=diag{eλ1t,,eλ5t,1}e^{Dt}=\text{diag}\{e^{\lambda_{1}t},\cdots,e^{\lambda_{5}t},1\}. Let 𝜸6{\bm{\gamma}}_{6} denote the 6th row of VV, then

limtCeAwtW(0)\displaystyle\lim\limits_{t\to\infty}Ce^{A_{w}t}W(0) =limtCVdiag{eλ1t,,eλ5t,1}V1W(0)\displaystyle=\lim\limits_{t\to\infty}CV\text{diag}\{e^{\lambda_{1}t},\cdots,e^{\lambda_{5}t},1\}V^{-1}W(0)
=𝜸6diag{0,0,0,0,0,1}V1W(0)=0,\displaystyle={\bm{\gamma}}_{6}\text{diag}\{0,0,0,0,0,1\}V^{-1}W(0)=0\text{,}

where we have used the fact that [𝜸6]6=0[{\bm{\gamma}}_{6}]_{6}=0 which is proven by Eq. (18). Let V1=[𝜶1,,𝜶6]V^{-1}=[{\bm{\alpha}}_{1},\cdots,{\bm{\alpha}}_{6}], where 𝜶i{\bm{\alpha}}_{i} is a column vector, we have

0tCeAw(tτ)BUw(τ)𝑑τ=0tCVdiag{eλ1(tτ),,eλ5(tτ),1}V1BUw(τ)𝑑τ=0t𝜸6diag{eλ1(tτ),,eλ5(tτ),1}[𝜶3,𝜶6]Uw(τ)𝑑τ=0t[[𝜸6]1eλ1(tτ),,[𝜸6]5eλ5(tτ),0][𝜶3,𝜶6]Uw(τ)𝑑τ.\begin{aligned} &\int_{0}^{t}Ce^{A_{w}(t-\tau)}BU_{w}(\tau)d\tau\\ &=\int_{0}^{t}CV\text{diag}\{e^{\lambda_{1}(t-\tau)},\cdots,e^{\lambda_{5}(t-\tau)},1\}V^{-1}BU_{w}(\tau)d\tau\\ &=\int_{0}^{t}{\bm{\gamma}}_{6}\text{diag}\{e^{\lambda_{1}(t-\tau)},\cdots,e^{\lambda_{5}(t-\tau)},1\}[{\bm{\alpha}}_{3},{\bm{\alpha}}_{6}]U_{w}(\tau)d\tau\\ &=\int_{0}^{t}[[{\bm{\gamma}}_{6}]_{1}e^{\lambda_{1}(t-\tau)},\cdots,[\bm{\gamma}_{6}]_{5}e^{\lambda_{5}(t-\tau)},0][{\bm{\alpha}}_{3},{\bm{\alpha}}_{6}]U_{w}(\tau)d\tau\end{aligned}\text{.}

Since limt0teλi(tτ)𝑑τ<\lim\limits_{t\to\infty}\int_{0}^{t}e^{\lambda_{i}(t-\tau)}d\tau<\infty for λi<0\lambda_{i}<0, there exists a constant ϵi>0\epsilon_{i}>0 such as limt0teλi(tτ)𝑑τ<ϵi\lim\limits_{t\to\infty}\|\int_{0}^{t}e^{\lambda_{i}(t-\tau)}d\tau\|<\epsilon_{i}. Therefore,

limtfe=limty(t)0t[[𝜸6]1eλ1(tτ),,[𝜸6]5eλ5(tτ),0][𝜶3,𝜶6]Uw(τ)𝑑τ[|[𝜸6]1|ϵ1,,|[𝜸6]5|ϵ5,0][|𝜶3|,|𝜶6|][1,1]TUw=ΓUw,\begin{aligned} &\lim\limits_{t\to\infty}\|f_{e}\|=\lim\limits_{t\to\infty}\|y(t)\|\\ &\leq\left\lVert\int_{0}^{t}[[\bm{\gamma}_{6}]_{1}e^{\lambda_{1}(t-\tau)},\cdots,[\bm{\gamma}_{6}]_{5}e^{\lambda_{5}(t-\tau)},0][\bm{\alpha}_{3},\bm{\alpha}_{6}]U_{w}(\tau)d\tau\right\rVert\\ &\leq[|[\bm{\gamma}_{6}]_{1}|\epsilon_{1},\cdots,|[\bm{\gamma}_{6}]_{5}|\epsilon_{5},0][|\bm{\alpha}_{3}|,|\bm{\alpha}_{6}|][1,1]^{T}\cdot\|U_{w}\|_{\infty}\\ &=\Gamma\|U_{w}\|_{\infty}\end{aligned}\text{,}

where γ\gamma is a constant, and |||\cdot| on a vector is element-wise, i.e., taking absolute value for each entry of a vector.

If AwA_{w} has repeated eigenvalues, DD will be a Jordan matrix and similar arguments can be used to prove 2) with the linear system theory [16]. \blacksquare

Remark 2. 2) also implies that the system is bounded-input-bounded-output (BIBO)[17].

Hybrid Mode: Usually, the system will start from non-contact mode and remain in contact mode, but it is also possible that it switches between the two modes when qzq_{z} is changing. In such case, it is difficult to show the asymptotically stability, however, we can show that the system output is bounded with the proposed controller applied: if the system stays in contact mode for infinite time, the system is asymptotically stable thus bounded based on the above discussion; if it switches to non-contact mode at t0t_{0}, then the output at t0t_{0} must be a finite value thus bounded, once entering non-contact mode the output is still bounded due to the saturation function in the modified controller (Eq. (16)). Therefore, the output ztz_{t} is always bounded with the proposed force controller.

Remark 3. Eq. (10) is a PI controller, it can also be upgraded to a PID controller as uc=z¨d=Kv1f˙e+Kp1fe+Ki10tfe𝑑su_{c}=\ddot{z}_{d}=K_{v1}\dot{f}_{e}+K_{p1}f_{e}+K_{i1}\int_{0}^{t}f_{e}ds. The analysis can be carried out in the same way by adding an extra state w7=z˙dw_{7}=\dot{z}_{d} to Eq. (12). Note that this analysis is quite conservative. In simulation (e.g., in case study A, the topography qzq_{z} is changing), it turns out that limtfe=0\lim_{t\to\infty}f_{e}=0 when q˙z\dot{q}_{z} is not large.

Remark 4. In Eq. (12), AwA_{w} is rank-deficient due to the linear interaction model. The rank deficiency is not guaranteed if other interaction models were used.

Remark 5. In non-contact mode, extra information is needed to make sure that end-effector can reach the object surface, i.e., entering contact-mode again. In this case, this extra information is that by moving in -zz direction, it is guaranteed to reach the surface. Note that the signs of Kp1K_{p1} and Ki1K_{i1} are determined with such extra information.

III Case Studies

III-A Contour Tracking/Polishing Parts

This case is similar to the task presented in [1]. The goal is to explore everywhere on the object surface (position control) with constant downward force (force control). We can directly apply the hybrid controller here with force in zz direction maintained. The process is also equivalent to contour tracking with constant force as shown in Fig. 3. In the simulation the object is an ellipsoid as shown in Fig. 3.

Refer to caption
Figure 3: (a) Setup for Case A. (b) Initial state. (c) Intermediate state during contour tracking.

III-B Grabbing a Box with Two Robotic Arms

Using two arms to grab a box is a common task for human beings. To mimic this with robots, consider the scenario in which two robotic arms are used to grab a box as shown in Fig. 4 (a).

During the process, the end-effector of two robots have to track the pre-designed trajectories, and maintain a force in the zz direction of the frame with origin at CaC_{a} as shown in Fig. 4 (b). Therefore a motion/force controller is needed. The proposed hybrid controller can be applied in this case through modifying the mapping ff in Eq. (3). Note that the hybrid controller will only be applied to robot B as shown in Fig. 4 (a) in order to establish an invertible and smooth mapping from the joint space to the task space as explained next. Robot A is controlled with a motion controller.

As seen in Fig. 4 (a), the frame (CaC_{a} is the frame origin) attached to the end-effector of robot A can be determined with ϕ(t)={(xa(t),ya(t),za(t)),[Vx(t),Vy(t),Vz(t)]}\phi(t)=\{(x_{a}(t),y_{a}(t),z_{a}(t)),[V_{x}(t),V_{y}(t),V_{z}(t)]\}, where (xa(t),ya(t),za(t))(x_{a}(t),y_{a}(t),z_{a}(t)) is the coordinate of CaC_{a} in world frame and [Vx(t),Vy(t),Vz(t)]T3×1[V_{x}(t),V_{y}(t),V_{z}(t)]^{T}\in\mathbb{R}^{3\times 1} represents the directions of the xx, yy, and zz axes of the attached frame in world frame. Note that once the trajectory of end-effector of robot A is given, ϕ(t)\phi(t) is fixed at time tt assuming the motion controller works effectively. Recall that the aforementioned mapping f:𝜽Q𝒙6×1f:{\bm{\theta}}\in Q\to\bm{x}\in\mathbb{R}^{6\times 1} with 𝒙=[α,β,γ,x,y,z]T\bm{x}=[\alpha,\beta,\gamma,x,y,z]^{T}. Now for the end-effector of robot B, define a new mapping h:𝒙𝒙¯h:\bm{x}\to\bar{\bm{x}} where 𝒙¯=[α,β,γ,x¯,y¯,z¯]T\bar{\bm{x}}=[\alpha,\beta,\gamma,\bar{x},\bar{y},\bar{z}]^{T} and x¯,y¯,z¯\bar{x},\bar{y},\bar{z} can be computed as follows.

[x¯y¯z¯]=[VxTVyTVzT]([xyz][xayaza])\begin{bmatrix}\bar{x}\\ \bar{y}\\ \bar{z}\end{bmatrix}=\begin{bmatrix}V_{x}^{T}\\ V_{y}^{T}\\ V_{z}^{T}\end{bmatrix}\Bigg{(}\begin{bmatrix}x\\ y\\ z\end{bmatrix}-\begin{bmatrix}x_{a}\\ y_{a}\\ z_{a}\end{bmatrix}\Bigg{)} (21)

It can be verified that hh is a smooth and invertible mapping. Therefore, hfh\circ f, the composition of two smooth and invertible mappings, is still a smooth and invertible mapping. Essentially, hh maps the coordinate of CbC_{b} to the frame originated at CaC_{a}. Thus the force in the zz direction of frame CaC_{a} is determined by z¯\bar{z} which is the same with the hybrid controller we discussed before. Therefore, the same hybrid controller can be applied by modifying the mapping from ff to hfh\circ f.

Note that this does not mean that the box is guaranteed to be picked up and follow the desired trajectory, the force-closure conditions are required to hold [2]. Here we assume that the force-closure conditions hold by adjusting properly the initial orientation and position of the two end-effectors as shown in Fig. 4 (a).

Refer to caption
Figure 4: Case B: grabbing with two robotic arms.
Refer to caption
Figure 5: (a) and (c) Desired positions during control for constant and varying qzq_{z}, respectively. (b) and (d) Force errors for constant and varying qzq_{z}, respectively.
Refer to caption
Figure 6: The force profile in zz direction for case A.
Refer to caption
Figure 7: Position control errors for case B.

IV Simulation Results

IV-A Force Controller Simulation Results

To simulate the force controller Eq. (9)-(10), parameters of controller Eq. (6) were set as Kv=35K_{v}=35, Kp=405K_{p}=405, and Ki=1500K_{i}=1500. The desired force was fz=5f_{z}=5N. The PI force controller parameters are Kp1=0.05K_{p1}=-0.05 and Ki1=0.01K_{i1}=-0.01. We simulated the contact model for three different spring constants: k=300k=300N/m, k=1500k=1500N/m, and k=4500k=4500N/m. At the beginning, the tip position was zt=0.05z_{t}=0.05m. The initial desired position was zd=0.001z_{d}=-0.001m.

If ϵ=0\epsilon=0 and η=0\eta=0, it can be checked that all the nonzero eigenvalues of AwA_{w} have negative real parts, thus the above analysis can be applied. Fig. 5 (a) and (b) show the performance of the force controller for different kks when qz=0q_{z}=0. It can be seen that the system starts from non-contact mode and then switches to contact model and remains there for the rest time. The force can be accurately regulated for different kks and converges in about 0.1s.

To test the controller performance for time-varying qzq_{z}, we simulated the controller with qz(t)=0.01sin(2π0.2t)+0.01q_{z}(t)=0.01\sin(2\pi 0.2t)+0.01m. The results are shown in Fig. 5(c) and (d). This can happen when the tip is sliding on a curved surface. It can be seen that the converged force error is very small for different kk even when the contact point changes from 0.02m to 0m in about 5s.

The robotic arm used is UR5 which has the size of a human arm and the simulation platform is MuJoCo [18]. For both two cases, the controller parameters are Kv=35K_{v}=35, Kp=405K_{p}=405, Ki=1500K_{i}=1500, Kp1=0.008K_{p1}=0.008 and Ki1=0.002K_{i1}=0.002. The video is available in the supplementary material.

IV-B Case A: Contour Tracking/Polishing Parts

In this case, the topography qzq_{z} is changing as shown in Fig. 3. The force curve during the polishing process is shown in Fig. 6 (b) and the downward force is maintained to 5-5N.

IV-C Case B: Grabbing with Two Robotic Arms

In this case, the goal is to lift the box with mass of 1kg and move along the vector [0.27,0.1,0.27][0.27,0.1,0.27]m within 5s in the world frame. Note that the hybrid controller is only applied to robotic arm B while the other one is controlled by a motion controller alone. The force is regulated to 20N with the friction coefficient set to be 0.9 and the force control error is shown in Fig. 8 (a). The motion control errors for the two robots are shown in Fig. 8 (b) and (c), respectively. Note that for robotic arm B the motion error are expressed in term of x¯\bar{x} and y¯\bar{y} based on the mapping in Eq. (21). Again, the hybrid controller works as expected with both the motion and force regulated.

Note that for both cases the force error is very noisy as can be seen in Figs. 6 and 8 (a). This is partly due to the fact that the environment in simulation is very hard. The contact is shortly broken and then established again due to the controller resulting in spikes in the plots. On the other hand, the algorithm for calculating the interaction force in MuJoCo may also contribute to this. Computing the interaction force is transformed to solving an optimization problem in MuJoCo making it very challenging to set parameters to change the elasticity of the environment.

Refer to caption
Figure 8: (a) Force control errors for case B. Motion errors for (b) robotic arm A and (c) robotic arm B.

V Conclusion and Future Work

In this paper, a hybrid position/force controller is proposed. The position and force controllers correspond to different DOFs in the task space with the smooth and invertible mapping. The simulation results validated the proposed approach.

The interaction model used in this work is linear, which may not be the real case, more complex interaction models will be considered in the future. More examples in which the force controller corresponds to more DOFs will be studied. In addition, experiments with real robots will be conducted to verify the proposed method.

Although we have not observed Zeno behavior of the hybrid controller in simulations, current analysis cannot rule out the possibility of this phenomena which needs further investigations.

ACKNOWLEDGMENT

Shengwen would like to thank Professor Yan-Bin Jia for the technical discussions which improved the quality of this work.

References

  • [1] C. Schindlbeck and S. Haddadin, “Unified passivity-based cartesian force/impedance control for rigid and flexible joint robots via task-energy tanks,” in 2015 IEEE International Conference on Robotics and Automation, pp. 440–447, IEEE, 2015.
  • [2] K. M. Lynch and F. C. Park, Modern Robotics. Cambridge University Press, 2017.
  • [3] R. M. Murray, Z. Li, S. S. Sastry, and S. S. Sastry, A mathematical introduction to robotic manipulation. CRC press, 1994.
  • [4] N. Hogan, “Impedance control: An approach to manipulation: Part i—theory,” 1985.
  • [5] C. Ott, R. Mukherjee, and Y. Nakamura, “Unified impedance and admittance control,” in 2010 IEEE International Conference on Robotics and Automation, pp. 554–561, IEEE, 2010.
  • [6] F. Lange, W. Bertleff, and M. Suppa, “Force and trajectory control of industrial robots in stiff contact,” in 2013 IEEE International Conference on Robotics and Automation, pp. 2927–2934, IEEE, 2013.
  • [7] T. Kroger, B. Finkemeyer, M. Heuck, and F. M. Wahl, “Adaptive implicit hybrid force/pose control of industrial manipulators: Compliant motion experiments,” in 2004 IEEE/RSJ International Conference on Intelligent Robots and Systems(IEEE Cat. No. 04CH37566), vol. 1, pp. 816–821, IEEE, 2004.
  • [8] S. A. M. Dehghan, M. Danesh, and F. Sheikholeslam, “Adaptive hybrid force/position control of robot manipulators using an adaptive force estimator in the presence of parametric uncertainty,” Advanced Robotics, vol. 29, no. 4, pp. 209–223, 2015.
  • [9] M. H. Raibert and J. J. Craig, “Hybrid position/force control of manipulators,” 1981.
  • [10] J. Duffy, “The fallacy of modern hybrid control theory that is based on “orthogonal complements” of twist and wrench spaces,” Journal of Robotic systems, vol. 7, no. 2, pp. 139–144, 1990.
  • [11] A. G. Marin and R. Weitschat, “Unified impedance and hybrid force-position controller with kinestatic filtering,” in 2016 IEEE/RSJ International Conference on Intelligent Robots and Systems, pp. 3353–3359, IEEE, 2016.
  • [12] V. Duindam and S. Stramigioli, “Port-based asymptotic curve tracking for mechanical systems,” European Journal of Control, vol. 10, no. 5, pp. 411–420, 2004.
  • [13] C. T. Landi, F. Ferraguti, C. Fantuzzi, and C. Secchi, “A passivity-based strategy for coaching in human-robot interaction,” in 2018 IEEE International Conference on Robotics and Automation, pp. 1–6, IEEE, 2018.
  • [14] S. Chen, Z. Wang, A. Chakraborty, M. Klecka, G. Saunders, and J. Wen, “Robotic deep rolling with iterative learning motion and force control,” IEEE Robotics and Automation Letters, vol. 5, no. 4, pp. 5581–5588, 2020.
  • [15] G. Liu, L. Fang, B. Han, and H. Zhang, “Frequency-division based hybrid force/position control of robotic arms manipulating in uncertain environments,” Industrial Robot: the international journal of robotics research and application, 2020.
  • [16] C.-T. Chen, Introduction to linear system theory. Holt, Rinehart and Winston, 1970.
  • [17] H. K. Khalil and J. W. Grizzle, Nonlinear systems, vol. 3. Prentice hall Upper Saddle River, NJ, 2002.
  • [18] E. Todorov, “Convex and analytically-invertible dynamics with contacts and constraints: Theory and implementation in mujoco,” in 2014 IEEE International Conference on Robotics and Automation, pp. 6054–6061, IEEE, 2014.
  • [19] S. Xie, “Mounting a screwdriver onto a screw using hybrid control,” Master’s thesis, Iowa State University, USA, 2020.