# Impedance Model-Based Optimal Regulation on Force and Position of Bimanual Robots to Hold an Object

Authors: Darong Huang; Hong Zhan; Chenguang Yang
Journal: Complexity
 (2020)

---

## Abstract

Bimanual robots have been studied for decades and regulation on internal force of the being held object by two manipulators becomes a research interest in recent years. In this paper, based on impedance model, a method to obtain the optimal target position for bimanual robots to hold an object is proposed. We introduce a cost function combining the errors of the force and the position and manage to minimize its value to gain the optimal coordinates for the robot end effectors (EE). To implement this method, two necessary algorithms are presented, which are the closed-loop inverse kinematics (CLIK) method to work out joint positions from desired EE pose and the generalized-momentum-based external force observer to measure the subjected force acting on the EE so as to properly compensate for the joint torques. To verify the effectiveness, practicality, and adaptivity of the proposed scheme, in the simulation, a bimanual robot system with three degrees of freedom (DOF) in every manipulator was constructed and employed to hold an object, where the results are satisfactory.


---

## Body

## 1. Introduction

Robots were invented mainly to help human being to carry out tasks, reducing the intensity of human labour, for example, grasping, holding, or moving an object. In such a process, we need robot to keep the object fixed on the end effector (EE) in a proper manner and move along the desired trajectory. Researchers have made effort to perfect these movements in many specific aspects. For instance, in [1], the optimal grasp rectangle for determining the correct position to pick up an object is obtained. Precision of robotic grasping is considered in [2], using probabilistic postgrasp displacement estimation method. Inspired by the scheme of human grasping, [3] presents a controller with tactile sensing and the grasp force can be adjusted as needed; for example, the object slips or not. In [4], the object with dynamics parameters and deformable shape is considered and the grasping forces can be regulated based on a similar tactile framework. The application scenarios of these motions vary from daily life (cloth grasping or towel folding [5]) to industry (plate and belt assembling [6]), military [7], and so on. The literature also demonstrates the fact of a trend of research on holding a target object by robots.The above-mentioned implementations are related to managing to make an object “stick” to EE of one manipulator. These methods are good, but not better than multirobot system (MRS) to some extent [8]. Compared to a single manipulator, MRS is more complex but competent due to its higher redundancy, larger loading capability, and stronger robustness [9]. It has also been employed in many fields, for example, welding [10], assembly [11], and source seeking [12]. Generally, thanks to the aforementioned advantages, MRS is more prominent to handle complicated manipulations, such as curving and screwing. In the domain of MRS, the bimanual robotic system [6, 13] or the humanoid (dual-arm) robotic system [14, 15] has drawn a lot of attention from scientists and specialists.In the specific domain of the bimanual robot system, the collaboration of the two manipulators becomes one of the research hotspots in the past decades [16–18]. The regulation of the internal force of a held object or the two robotic manipulators is a pronounced tendency and plenty of related methods appear. An adaptive global neural network control law for bimanual robots system is reported in [13] to simultaneously guarantee the internal forces to converge within a small neighbourhood of the desired values. Based on relative impedance models, in bimanual robots teleoperation system, [19] improves the internal force control performance by deducing the desired position; [20] implements the proposed method on the two manipulator systems to carry out hold-and-move task also in the teleoperation field and the authors separately handle the orientation, position, and force regulation problem. A symmetric strategy is developed in [21] for redundant dual-arm robots to regulate both arm’s pose and force coordination. In [22], a hybrid force/position controller is designed based on a fuzzy observer and a two-arm robot is applied to demonstrate the effectiveness in simulation. Researchers have done a great deal of work on achieving either better force control or the minimum position/orientation tracking errors. However, when they are in pursuit of a nice control performance on one side (e.g., force), they may sacrifice the performance on the other side (e.g., position/orientation).Sometimes, we need a compromise between the behaviours of the force and the position; for example, when two robots are commanded to manipulate a deformable object from one place to another, they are informed to hold the object either with a desired internal force or along a predesigned trajectory (EE poses). However, few works take both of them into consideration in bimanual robot manipulation but just take one of the many items into account; for example, [23] focuses on only the position item. Hence, in this paper, we bend our effort for finding a suitable method to determine the optimal compromise when two robots cooperate in holding an object. Thanks are due to the linear-quadratic approaches presented in [24, 25], which, in a geometric way, explain the optimal intersection point of the force and the position in impedance model-based control. It gives us the inspiration to construct a similar cost function to estimate the control performance containing the force and the position tracking in the bimanual manipulation task. Methods to obtain the optimal solution to such kind of cost function in impedance model-based linear/nonlinear system can be found in the literature; for example, [26] seeks help from iterative adaptive dynamic programming algorithm, and [27, 28] solve it by constructing the Hamilton-Jacobi-Bellman equation (HJB) while a neural network-based computational method is provided in [29] to handle the algebraic Riccati equation (ARE) that usually accompanies the HJB. The techniques in [29] make the solution to the HJB accessible, which is confirmed by researchers who apply the method into robot-environment interaction [30]. Inspired by these papers, in this paper, we construct a suitable performance measure to fit the bimanual robots’ collaboration situation in order to gain an optimal regulation for force and position.To facilitate the proposed method, we still need two auxiliary techniques to transfer the Cartesian tasks into robot joint space control problems. First, environmental forces surely affect the tracking performance of a robot; therefore, before we compensate the contact force acting on each EE, we need to measure how heavy the contact force is at the current time. In this respect, [31] introduces several ideas that we can turn to; for example, the technique regarding generalized momentum [32] can be an appropriate choice and is adopted by many researchers to design force observer without installing sensors on EE [33–36]. Second, a specific coordinate in the task space is the target pose we need to command our EE to move to, but we can only indirectly control the joint actuator, not directly the EE. Hence, position mapping from the task space to the joint space should be calculated. In this regard, the closed-loop inverse kinematics (CLIK), which has been studied for decades [37–40], is a sophisticated algorithm to obtain joint positions in real time and becomes our option in this paper. In the latter sections, we are going to introduce these two supplementary approaches to make our proposed bimanual robotic system complete.The contributions of this paper lie in the following:(i)
This paper constructs a relatively complete bimanual robot simulation system, which contains two 3-degree-of-freedom (DOF) robots (different from those simple 2-DOF robots employed in many papers) and provides basic and practical techniques to make this system function well when it carries out tasks. These techniques include inverse kinematics algorithm CLIK and force observer that plays the role of a force sensor installed on the EE. Such a basic platform, with multiple robots and basic control algorithms, provides possibilities for the researcher to conduct simulation within a larger range of application scenarios.(ii)
We take both the force and the position regulation into consideration in the scenario that bimanual robots cooperate to hold an object. Despite the fact that we might be not able to minimize both tracking errors of the two factors (force and position), we make the sum of the two closed to the minimum values by modelling the object as an impedance model and constructing proper cost function to suit the solving procedure. And to work out the optimal solution, a model-free computational algorithm is introduced.The structure of the paper is organized as follow: Section 2 (Methods) develops the proposed method, including the restatement on the purpose of this paper, some preliminary knowledge, and the introduction of the force observer and the CLIK; right after Methods comes Section 3 (Simulations and Analysis) that involves the simulation configuration, procedures, results, and analysis; the final section (Conclusions) summarizes the whole paper.


## 2. Methods

In this section, we are going to (1) explain the optimal target (namely, the significance) of minimizing the sum of the tracking errors of both the force and the position, (2) develop the adaptive optimal method on regulation on force and position of bimanual robots in holding an object, and (3) present the preliminary techniques (force observer and CLIK) that contribute to the bimanual manipulating system. A brief introduction of the whole control system of the bimanual robots is depicted in Figure1, which will be explained gradually in the following subsections.Figure 1
The whole system structure of the bimanual robot manipulation.


### 2.1. Geometrical Interpretation on Minimizing the Sum of the Errors

When robots interact with physical objects in the form of an impedance model, it is usually commanded to “touch” them with its EE moving to a certain position or approaching the object’s centre point until it senses a desired counterforce. In these cases, a single error of either force or position is considered and can be properly minimized. However, in many other cases, we need the tracking of both the force and the position to reach a relatively good performance rather than just one of them. And the following are the explanation of what the relatively “good” point (the optimal target) is.Let us consider a deformable object’s physical model to be(1)f=gx¨,x˙,x,where f denotes the subjected force, x, x˙, and x¨ represent the deformation, deforming velocity, and deforming acceleration of the object, respectively, and g⋅ is the mapping with regard to the object’s impedance model.In implementation, we desire that the object subjects to a certain forcefd with a certain deformation state xd, but we do not know the exact parameters in g⋅. Hence, in most cases, fd≠gx¨,x˙,xd. Therefore, referring to [24, 25], we can obtain an optimal point fopt,xopt that is the nearest to the desired set fd,xd and satisfies the condition fopt=gx¨,x˙,xopt. It can be explained geometrically via Figure 2 [25].Figure 2
A 2D graph to explain the geometrical optimal point of the force and the deformation, which locates at the intersection between the linef=g∼,∼,x and the line perpendicular to it and passing through fd,xd.Note 1. If we take x˙ or x¨ into consideration, it will turn out to be a three- or four-dimensional optimization problem.Only in such an optimal pointfopt,xopt, can the sum of tracking errors of the force and the deformation be the minimum; namely,(2)fopt−fd2+xopt−xd2=minf−fd2+x−xd2.If we add weightsWf and Wx to the tracking errors in equation (2), it turns out to be(3)Wffopt−fd2+Wxxopt−xd2=minWff−fd2+Wxx−xd2.In the case of bimanual robots holding an object,f becomes the object’s internal force and x equals the distance between the EEs of the two robotic arms. We can adjust weights Wf and Wx to achieve different tracking performance. Particularly, if Wf=0 and Wf≠0, that is, pure position control, while Wf≠0 with Wx=0 represents pure force control.Considering the 3D space of the task space,f and x denote generalize force (force and torque) and position (position and orientation) with 6 dimensions in each; the performance measure can be written in a quadratic form as(4)Γ=efTWfef+exTWxex,where ef=f−fd and ex=x−xd are tracking errors of force and position.If we need to guarantee the tracking performance within a certain time intervalta,tb, equation (4) needs to be modified into equation (5):(5)Γ=∫tatbefTWfef+exTWxexdt.By minimizing equation (5), we can obtain the optimal performance from ta to tb.


### 2.2. Adaptive Optimal Regulation on Force and Position

In object holding tasks, as we do not move the object, we ignore the acceleration information. Let us consider the object to be held as a damping-spring model whose expression is written as(6)−fo=Cox˙o+Koxo,which is a specific situation of equation (1) with xo and x˙o denoting the object’s deformation and its deforming velocity and fo standing for its internal force.In such case with the object being a damping-spring model, considering the preliminary knowledge in the previous subsection, with reference to [30, 34], the cost function is set to be(7)Γm=∫0tfxo−xd,oTWxxo−xd,o+f^o−fd,oTWff^o−fd,odt,where tf stands for the system running final time; xd,o, f^o, and fd,o are the user-desired deformation, the estimated subjected force (the real internal force is usually inaccessible and the estimated value is obtained through force observer), and the user-desired object subjected force, respectively; Wx≥0 and Wf≥0 denote the weights for trajectory tracking error and force tracking error, respectively. Wx and Wf can be defined according to the tracking demand; for example, if we require precision in force tracking, Wx can be set to closed 0 while Wf≠0, and likewise, the situation with Wx≠0 and Wf closed to 0 makes the position tracking more accurate.The absolute value of subjected force on EEfext,i (the subscript i=1,2 is used to distinguish between robot 1 and robot 2) equals the internal force of object fo in a relatively static condition and the estimation of the subjected force on EE f^ext,i usually converges to the real value. In this paper and in the application scenarios, we have(8)fo=fext,i=f^ext,i=f^o.In this paper, we want the object internal force to be minimized when it is held by two robots, namely, using a minimum force to hold an object; therefore, we set the desired internal force:(9)fd,o=0.Then, equation (7) in this paper can be rewritten as(10)Γm=∫0tfxo−xd,oTWxxo−xd,o+f^ext,iTWff^ext,idt.In order to employ the optimal control [29] in trajectory tracking problem, we define a linear system to determine the xd,o as(11)η˙o=Uηo,xd,o=Vηo,where ηo is treated as a system state; U and V are two matrices to be determined. Then equation (7) can be rewritten as(12)Γm=∫0tfxoTxd,oTWx−WxV−VTWxVTWxVxoxd,o+efTWfefdt=∫0tfξTQξ+efTRefdt,where ξ=xoTηoTT, ef=f^ext,i−fd,o=f^ext,i, Q=Wx−WxV−VTWxVTWxV, and R=Wf. Let us view ξ as a state in another system, modified from equation (6), whose state-space form is(13)ξ˙=Aξ+Bef,where A=−Co−1Ko00U and B=−Co−10.In this system,ef is treated as the system input. Through linear optimal control theory [41] and the proven model-free adaptive dynamic programming (ADP) algorithm in [29], an optimal control law(14)ef=−Koptξ,can be acquired such that the performance index (equation (12)) is minimized without knowing A or B. The key point is to obtain the feedback gain matrix K⟶Kopt, which can be computed via the flowing steps (refined and depicted in Figure 3).Figure 3
The flowchart of the procedures for obtaining the approximate optimal control law.Step 1.
Takeef=−K0ξ+ν as the input on the time interval t0,tl, in which K0 is stabilizing and ν is the exploration noise to meet the persistent excitation (PE) condition. Compute δξ,ξ, Iξ,ξ, and Iξ,ef through(15)δξ,ξ=ξ¯t1−ξ¯t0,ξ¯t2−ξ¯t1,…,ξ¯tl−ξ¯tl−1T,Iξ,ξ=∫t0t1ξ⊗ξdt,∫t1t2ξ⊗ξdt,…,∫tl−1tlξ⊗ξdtT,Iξ,ef=∫t0t1ξ⊗efdt,∫t1t2ξ⊗efdt,…,∫tl−1tlξ⊗efdtT,with “⊗” denotes the Kronecker product and(16)ξ¯=ξ12,ξ1ξ2,…,ξ1ξp,ξ22,ξ2ξ3,…,ξ2ξp,…,ξp−12,ξp−1ξp,ξp2T,until the following condition is satisfied:(17)rankIξ,ξ,Iξ,ef=pp+12+pr,where p is the number of elements in ξ and r is the number of elements in ef.Step 2.
SolvePk and Kk+1 according to(18)P^kvecKk+1=ΘkTΘk−1ΘkTΞk,where “vec” is the operator that “stretches” a matrix to a vector; that is, if X=c1,c2,c3 with c1, c2, and c3 are column vectors, then vecX=c1T,c2T,c3TT, and(19)P^k=P1,1,2P1,2,…,2P1,p,P2,2,2P2,3,…,2P2,p,…,Pp−1,p−1,2Pp−1,p,Pp,pT,Θk=δξ,ξ,−2Iξ,ξIp⊗KkTR−2Iξ,efIp⊗R,Ξk=−Iξ,ξvecQk,where Ip is a unit matrix with p dimensions, Pi,ji,j=1,2,3,…,p are the elements of Pk, and(20)Qk=Q+KkTRKk.
Note 2. The solution of P∗ is the key point to the well-known algebraic Riccati equation (ARE) before deriving the optimal feedback gain matrix Kopt [29].Step 3.
Letk⟵k+1 and repeat Step 2 until Pk−Pk−1≤ε, where ε>0 is a predefined constant.Step 4.
Use equation (21) as the approximate optimal control law.(21)ef=−Kkξ.Remark 1.
It is noticed that the above procedure does not rely onA or B in equation (13), which shows one of its favourable properties that the optimal solution is applicable to that system with unknown dynamics parameters, for example, an object with unknown mass, damping, or spring parameters. In many application scenarios, these parameters are usually inaccessible.


### 2.3. Generalized-Momentum-Based Force Observer

As mentioned in equation (7), we need to observe the robot’s subjected force to replace the object’s internal force. Thus, in this subsection, the target is to construct a force observer to “sense” the force act on the EE without installing sensor hardware on it.The two-robots dynamics model in the bimanual system can be expressed as(22)M1q1q¨1+C1q1,q˙1q˙1+G1q1=τ1+τext,1,M2q2q¨2+C2q2,q˙2q˙2+G2q2=τ2+τext,2,where qi∈Rni stands for the joint position of robot ii=1,2 (ni is the joint number of robot i); Miqi∈Rni×ni denotes the inertia matrix of the robot i; Ciqi,q˙i∈Rni×ni is the centripetal and Coriolis coupling matrix; Giqi∈Rni represents the gravitational force; τi∈Rni is the control input torque, and τext,i∈Rni is the torque act on joints caused by the subjected force fext,i on the EE.Property 1.
Miqi is a symmetric and positive definite matrix [42].Property 2.
The result ofM˙iqi−2Ciqi,q˙i is a skew-symmetric matrix [42].
As it is known [43], the relationship between τext,i and fext,i is(23)fext,i=Jiτext,i,where Ji is the Jacobian matrix of robot i. Hence, we can estimate fext,i indirectly via observing τext,i. Referring to the concept of generalized momentum [32] and its applications [33–36], we define pi as the generalized momentum with(24)pi=Miq˙i.
Then, we have(25)p˙i=Miq¨i+M˙iq˙i=M˙iq˙i+τi+τext,i−Ciq˙i−Gi,and with properties in [42], the derivative of inertia matrix M with respect to time is(26)M˙i=Ci+CiT.
Substituting equation (26) into equation (25), we obtain(27)p˙i=CiTq˙i+τi−Gi+τext,i=ui+τext,i,where we define ui=CiTq˙i+τi−Gi.
According to [32, 36], the observer for the generalized momentum pi can be written as(28)p^˙i=ui+Lipi−p^i,where(29)τ^ext,i=Lipi−p^iis the estimation of τext,i. Next, we obtain the estimated value of the subjected force fext,i with the help of equation (23). That is,(30)f^ext,i=Jiτ^ext,i,which will be used to compare with the desired contact force fd,i=fd,o=0.


### 2.4. EE Pose Assignment and CLIK Algorithm

The basic problem of the bimanual robot system is to drive the robot EEs to first touch and then hold the object. In this aspect, we should have the desired trajectory and the way to convert the trajectory into desired Cartesian space to joint angles.So far, the optimal control inputefopt is obtained according to equation (21), then, the optimal deformation is derived(31)xoopt=−1K1efopt+K2ηo,where K1K2=Kk.Considering the object being held by two manipulators, we have to transform the optimal deformationxoopt of the object into certain reference positions xr,i for each EE. To this end, we apply a simple symmetric way (a more complicated way is introduced in [21]) for robots to hold the object. As depicted in Figure 4, the reference robots’ EE position xr,i is obtained(32)xr,i=xO+Ti,where xO=POOO (different from object deformation xo) is the target holding centre within the object with PO and OO denoting the object’s position and orientation, respectively, and Ti=TPiTOi is the transformation from the centre to the EE with TPi and TOi being the position and the orientation transformation. To be specific,(33)TPi=±12xooptcosαocosβocosγo,TOi=03×1,i=1,−πI3×1,i=2,where αo, βo, and γo, as shown in Figure 4, represent the desired orientation of the object and i = 1 and 2 represents the robot i on the left (i = 1) and the right (i = 2) of the object.Figure 4
A symmetric way to hold the object by two robots, where two EEs approach the object centre symmetrically.Finally, the Cartesian space coordinatexr,i can be reached through CLIK [37–40]. From Figure 1, we can see that we need to derive desired joint position qd,i based on the information of the robot’s current state (qi, and xi) and the target EE position xr,i.In CLIK, the inverse kinematics problem of a class of serial-link manipulators is treated as a dynamical problem. As we usually use serial-link robots in the bimanual manipulator system, the computation from the joint space velocity to the task space velocity is described as(34)q˙d,i=Ji†x˙r,i+kEexr,i,where exr,i=xi−xr,i is the EE tracking error.Then, the target joint position, which is employed as the input of the PD controller in Figure1, is derived by(35)qd,i=∫0tcJi†x˙r,i+kEexr,idt,where tc represents the current time.


## 2.1. Geometrical Interpretation on Minimizing the Sum of the Errors

When robots interact with physical objects in the form of an impedance model, it is usually commanded to “touch” them with its EE moving to a certain position or approaching the object’s centre point until it senses a desired counterforce. In these cases, a single error of either force or position is considered and can be properly minimized. However, in many other cases, we need the tracking of both the force and the position to reach a relatively good performance rather than just one of them. And the following are the explanation of what the relatively “good” point (the optimal target) is.Let us consider a deformable object’s physical model to be(1)f=gx¨,x˙,x,where f denotes the subjected force, x, x˙, and x¨ represent the deformation, deforming velocity, and deforming acceleration of the object, respectively, and g⋅ is the mapping with regard to the object’s impedance model.In implementation, we desire that the object subjects to a certain forcefd with a certain deformation state xd, but we do not know the exact parameters in g⋅. Hence, in most cases, fd≠gx¨,x˙,xd. Therefore, referring to [24, 25], we can obtain an optimal point fopt,xopt that is the nearest to the desired set fd,xd and satisfies the condition fopt=gx¨,x˙,xopt. It can be explained geometrically via Figure 2 [25].Figure 2
A 2D graph to explain the geometrical optimal point of the force and the deformation, which locates at the intersection between the linef=g∼,∼,x and the line perpendicular to it and passing through fd,xd.Note 1. If we take x˙ or x¨ into consideration, it will turn out to be a three- or four-dimensional optimization problem.Only in such an optimal pointfopt,xopt, can the sum of tracking errors of the force and the deformation be the minimum; namely,(2)fopt−fd2+xopt−xd2=minf−fd2+x−xd2.If we add weightsWf and Wx to the tracking errors in equation (2), it turns out to be(3)Wffopt−fd2+Wxxopt−xd2=minWff−fd2+Wxx−xd2.In the case of bimanual robots holding an object,f becomes the object’s internal force and x equals the distance between the EEs of the two robotic arms. We can adjust weights Wf and Wx to achieve different tracking performance. Particularly, if Wf=0 and Wf≠0, that is, pure position control, while Wf≠0 with Wx=0 represents pure force control.Considering the 3D space of the task space,f and x denote generalize force (force and torque) and position (position and orientation) with 6 dimensions in each; the performance measure can be written in a quadratic form as(4)Γ=efTWfef+exTWxex,where ef=f−fd and ex=x−xd are tracking errors of force and position.If we need to guarantee the tracking performance within a certain time intervalta,tb, equation (4) needs to be modified into equation (5):(5)Γ=∫tatbefTWfef+exTWxexdt.By minimizing equation (5), we can obtain the optimal performance from ta to tb.


## 2.2. Adaptive Optimal Regulation on Force and Position

In object holding tasks, as we do not move the object, we ignore the acceleration information. Let us consider the object to be held as a damping-spring model whose expression is written as(6)−fo=Cox˙o+Koxo,which is a specific situation of equation (1) with xo and x˙o denoting the object’s deformation and its deforming velocity and fo standing for its internal force.In such case with the object being a damping-spring model, considering the preliminary knowledge in the previous subsection, with reference to [30, 34], the cost function is set to be(7)Γm=∫0tfxo−xd,oTWxxo−xd,o+f^o−fd,oTWff^o−fd,odt,where tf stands for the system running final time; xd,o, f^o, and fd,o are the user-desired deformation, the estimated subjected force (the real internal force is usually inaccessible and the estimated value is obtained through force observer), and the user-desired object subjected force, respectively; Wx≥0 and Wf≥0 denote the weights for trajectory tracking error and force tracking error, respectively. Wx and Wf can be defined according to the tracking demand; for example, if we require precision in force tracking, Wx can be set to closed 0 while Wf≠0, and likewise, the situation with Wx≠0 and Wf closed to 0 makes the position tracking more accurate.The absolute value of subjected force on EEfext,i (the subscript i=1,2 is used to distinguish between robot 1 and robot 2) equals the internal force of object fo in a relatively static condition and the estimation of the subjected force on EE f^ext,i usually converges to the real value. In this paper and in the application scenarios, we have(8)fo=fext,i=f^ext,i=f^o.In this paper, we want the object internal force to be minimized when it is held by two robots, namely, using a minimum force to hold an object; therefore, we set the desired internal force:(9)fd,o=0.Then, equation (7) in this paper can be rewritten as(10)Γm=∫0tfxo−xd,oTWxxo−xd,o+f^ext,iTWff^ext,idt.In order to employ the optimal control [29] in trajectory tracking problem, we define a linear system to determine the xd,o as(11)η˙o=Uηo,xd,o=Vηo,where ηo is treated as a system state; U and V are two matrices to be determined. Then equation (7) can be rewritten as(12)Γm=∫0tfxoTxd,oTWx−WxV−VTWxVTWxVxoxd,o+efTWfefdt=∫0tfξTQξ+efTRefdt,where ξ=xoTηoTT, ef=f^ext,i−fd,o=f^ext,i, Q=Wx−WxV−VTWxVTWxV, and R=Wf. Let us view ξ as a state in another system, modified from equation (6), whose state-space form is(13)ξ˙=Aξ+Bef,where A=−Co−1Ko00U and B=−Co−10.In this system,ef is treated as the system input. Through linear optimal control theory [41] and the proven model-free adaptive dynamic programming (ADP) algorithm in [29], an optimal control law(14)ef=−Koptξ,can be acquired such that the performance index (equation (12)) is minimized without knowing A or B. The key point is to obtain the feedback gain matrix K⟶Kopt, which can be computed via the flowing steps (refined and depicted in Figure 3).Figure 3
The flowchart of the procedures for obtaining the approximate optimal control law.Step 1.
Takeef=−K0ξ+ν as the input on the time interval t0,tl, in which K0 is stabilizing and ν is the exploration noise to meet the persistent excitation (PE) condition. Compute δξ,ξ, Iξ,ξ, and Iξ,ef through(15)δξ,ξ=ξ¯t1−ξ¯t0,ξ¯t2−ξ¯t1,…,ξ¯tl−ξ¯tl−1T,Iξ,ξ=∫t0t1ξ⊗ξdt,∫t1t2ξ⊗ξdt,…,∫tl−1tlξ⊗ξdtT,Iξ,ef=∫t0t1ξ⊗efdt,∫t1t2ξ⊗efdt,…,∫tl−1tlξ⊗efdtT,with “⊗” denotes the Kronecker product and(16)ξ¯=ξ12,ξ1ξ2,…,ξ1ξp,ξ22,ξ2ξ3,…,ξ2ξp,…,ξp−12,ξp−1ξp,ξp2T,until the following condition is satisfied:(17)rankIξ,ξ,Iξ,ef=pp+12+pr,where p is the number of elements in ξ and r is the number of elements in ef.Step 2.
SolvePk and Kk+1 according to(18)P^kvecKk+1=ΘkTΘk−1ΘkTΞk,where “vec” is the operator that “stretches” a matrix to a vector; that is, if X=c1,c2,c3 with c1, c2, and c3 are column vectors, then vecX=c1T,c2T,c3TT, and(19)P^k=P1,1,2P1,2,…,2P1,p,P2,2,2P2,3,…,2P2,p,…,Pp−1,p−1,2Pp−1,p,Pp,pT,Θk=δξ,ξ,−2Iξ,ξIp⊗KkTR−2Iξ,efIp⊗R,Ξk=−Iξ,ξvecQk,where Ip is a unit matrix with p dimensions, Pi,ji,j=1,2,3,…,p are the elements of Pk, and(20)Qk=Q+KkTRKk.
Note 2. The solution of P∗ is the key point to the well-known algebraic Riccati equation (ARE) before deriving the optimal feedback gain matrix Kopt [29].Step 3.
Letk⟵k+1 and repeat Step 2 until Pk−Pk−1≤ε, where ε>0 is a predefined constant.Step 4.
Use equation (21) as the approximate optimal control law.(21)ef=−Kkξ.Remark 1.
It is noticed that the above procedure does not rely onA or B in equation (13), which shows one of its favourable properties that the optimal solution is applicable to that system with unknown dynamics parameters, for example, an object with unknown mass, damping, or spring parameters. In many application scenarios, these parameters are usually inaccessible.


## 2.3. Generalized-Momentum-Based Force Observer

As mentioned in equation (7), we need to observe the robot’s subjected force to replace the object’s internal force. Thus, in this subsection, the target is to construct a force observer to “sense” the force act on the EE without installing sensor hardware on it.The two-robots dynamics model in the bimanual system can be expressed as(22)M1q1q¨1+C1q1,q˙1q˙1+G1q1=τ1+τext,1,M2q2q¨2+C2q2,q˙2q˙2+G2q2=τ2+τext,2,where qi∈Rni stands for the joint position of robot ii=1,2 (ni is the joint number of robot i); Miqi∈Rni×ni denotes the inertia matrix of the robot i; Ciqi,q˙i∈Rni×ni is the centripetal and Coriolis coupling matrix; Giqi∈Rni represents the gravitational force; τi∈Rni is the control input torque, and τext,i∈Rni is the torque act on joints caused by the subjected force fext,i on the EE.Property 1.
Miqi is a symmetric and positive definite matrix [42].Property 2.
The result ofM˙iqi−2Ciqi,q˙i is a skew-symmetric matrix [42].
As it is known [43], the relationship between τext,i and fext,i is(23)fext,i=Jiτext,i,where Ji is the Jacobian matrix of robot i. Hence, we can estimate fext,i indirectly via observing τext,i. Referring to the concept of generalized momentum [32] and its applications [33–36], we define pi as the generalized momentum with(24)pi=Miq˙i.
Then, we have(25)p˙i=Miq¨i+M˙iq˙i=M˙iq˙i+τi+τext,i−Ciq˙i−Gi,and with properties in [42], the derivative of inertia matrix M with respect to time is(26)M˙i=Ci+CiT.
Substituting equation (26) into equation (25), we obtain(27)p˙i=CiTq˙i+τi−Gi+τext,i=ui+τext,i,where we define ui=CiTq˙i+τi−Gi.
According to [32, 36], the observer for the generalized momentum pi can be written as(28)p^˙i=ui+Lipi−p^i,where(29)τ^ext,i=Lipi−p^iis the estimation of τext,i. Next, we obtain the estimated value of the subjected force fext,i with the help of equation (23). That is,(30)f^ext,i=Jiτ^ext,i,which will be used to compare with the desired contact force fd,i=fd,o=0.


## 2.4. EE Pose Assignment and CLIK Algorithm

The basic problem of the bimanual robot system is to drive the robot EEs to first touch and then hold the object. In this aspect, we should have the desired trajectory and the way to convert the trajectory into desired Cartesian space to joint angles.So far, the optimal control inputefopt is obtained according to equation (21), then, the optimal deformation is derived(31)xoopt=−1K1efopt+K2ηo,where K1K2=Kk.Considering the object being held by two manipulators, we have to transform the optimal deformationxoopt of the object into certain reference positions xr,i for each EE. To this end, we apply a simple symmetric way (a more complicated way is introduced in [21]) for robots to hold the object. As depicted in Figure 4, the reference robots’ EE position xr,i is obtained(32)xr,i=xO+Ti,where xO=POOO (different from object deformation xo) is the target holding centre within the object with PO and OO denoting the object’s position and orientation, respectively, and Ti=TPiTOi is the transformation from the centre to the EE with TPi and TOi being the position and the orientation transformation. To be specific,(33)TPi=±12xooptcosαocosβocosγo,TOi=03×1,i=1,−πI3×1,i=2,where αo, βo, and γo, as shown in Figure 4, represent the desired orientation of the object and i = 1 and 2 represents the robot i on the left (i = 1) and the right (i = 2) of the object.Figure 4
A symmetric way to hold the object by two robots, where two EEs approach the object centre symmetrically.Finally, the Cartesian space coordinatexr,i can be reached through CLIK [37–40]. From Figure 1, we can see that we need to derive desired joint position qd,i based on the information of the robot’s current state (qi, and xi) and the target EE position xr,i.In CLIK, the inverse kinematics problem of a class of serial-link manipulators is treated as a dynamical problem. As we usually use serial-link robots in the bimanual manipulator system, the computation from the joint space velocity to the task space velocity is described as(34)q˙d,i=Ji†x˙r,i+kEexr,i,where exr,i=xi−xr,i is the EE tracking error.Then, the target joint position, which is employed as the input of the PD controller in Figure1, is derived by(35)qd,i=∫0tcJi†x˙r,i+kEexr,idt,where tc represents the current time.


## 3. Simulations and Analysis

In this section, we conduct two groups of simulations on MATLAB platform, in which two 3-DOF robots are employed to hold an object. The first group aims to demonstrate the importance of the force observer and the CLIK. The second group mainly shows the significance of the synchronously optimal regulation on force and position in bimanual robots holding tasks. Some basic information on the bimanual robot system is listed in Table1.Table 1
Partial parameters of the bimanual robot system.
ItemsValuesRobot 1 link lengthl11, l12, l13 = 0.5, 0.3, 0.1 (m)Robot 2 link lengthl21, l22, l23 = 0.5, 0.3, 0.1 (m)Robot 1 link massm11, m12, m13 = 1.5, 1.0, 0.5 (kg)Robot 2 link massm21, m22, m23 = 1.5, 1.0, 0.5 (kg)Robot 1 initial joint position2/3π,−1/3π,−1/3πT(rad)Robot 2 initial joint position1/3π,1/3π,1/3πT(rad)Robot 1 base coordinate[0, 0] (m)Robot 2 base coordinate[0.5, 0] (m)Gravitational accelerationg=0Sample time10−4 (s)PD controller gainsKp = 102diag [40, 35, 28]Kd = diag [10, 1, 0.01]


### 3.1. Simulation Group 1

In the first group of simulation, two cases are conducted. Case1 is a demo, commanding two robot EEs to collaborate to approach an object before holding it. Case 2 is a comparison between the situations with and without using force observer.Case 1.
In this case, we suppose that there exists an objectCo=0.01,Ko=1 that (randomly) locates within the intersection of the two robots’ workspace, shown in Figure 5. From 0 s to 2 s, we generate two paths for both robots, and they move their EEs from the initial positions to the holding target positions through the derived desired joint position qd,i obtained via CLIK. From 2 s to 6.5 s, the two robots are commanded to hold the object according to the desired object desired deformation trajectory xo=0.21−e−t−2, where U=−1 and V=0.2. Finally, from 6.5 s to 10 s, based on the aforementioned pose assignment method and according to the desired object poses, new EE trajectories are generated. And as robots move along the two paths, the object also turns along the desired poses. Some sample frames are posed in Figure 5, and some changing variables as time goes by are depicted in Figure 6.
Based on the results, it is not hard to tell that (1) the CLIK algorithm plays an important role in generating theqd,i, enabling EEs to move precisely along the desired path so as to enable the object to deform and turn along the desired trajectory (Figures 6(e)–6(f)); (2) the force observer performs well in estimating the subjected forces acting on EEs such that the estimated object internal force is worked out (Figures 6(b) and 6(c)).Figure 5
Some frames captured in the task described in Case1.Figure 6
Some changing variables in Case1, including object deforming information, internal force, estimated forces, and EE trajectories.
(a)(b)(c)(d)(e)(f)Case 2.
In this case, we demonstrate the importance of the developed force observer by comparing the deformation tracking errors (namely, the tracking performance of EEs) in the conditions with and without using force observer. We place the object in the centre between the initial position of EEs, seen in Figure7, and then command the two robots to hold the object for a while along the desired trajectory xd,o=0.21−e−t. The object’s deformation information collected from the two conditions is illustrated in Figure 8. It is apparent that, under the circumstance without employing force observer, the subjected force is not sensed, and thus, the compensation for the joint torque is 0 resulting in that the PD controller is always not able to address the EE position steady-state tracking error. We can also see larger steady-state errors as the external force goes up when using the same holding path but different object impedance parameters Ko=1,5,10 of the object. We can conclude that, without force observer, the steady-state errors stay larger as the external force becomes heavier.
Therefore, we can tell that, in the task of bimanual robots holding an object, the compensation for the contact force is of great importance. In other words, the force observer acts like a sensor installed on the EE and senses the contact force before informing the system to make up for the joint control torques so as to enable EEs to precisely move along the desired paths. In order to demonstrate the effectiveness of the force observer in estimating the subjected external torques and forces, some other pieces of information corresponding to the simulation of Figure8(g) are displayed in Figure 9. Figures 9(a)–9(d) show how the estimated joint torques (derived from equation (29)) and the estimated external forces (calculated from equation (30)) are closed to the real joint torques and the real subjected external forces, respectively, and Figure 9(e) illustrates slight error between the object’s internal force and the resultant force of f^ext,2,x and f^ext,2,y (namely, the estimated object’s internal force).Figure 7
The initial state of the system in Cases2–4.Figure 8
Comparison of deformation information of the object between the conditions with and without using force observer. (a)Ko=1 with force observer, (b)Ko=5 with force observer, (c)Ko=10 with force observer, (e)Ko=1 without force observer, (f)Ko=5 without force observer, and (g)Ko=10 without force observer.
(a)(b)(c)(d)(e)(f)Figure 9
Some other system states corresponding to the simulation of Figure8(g). (a) Subjected joint torques in robot 1. (b) Subjected joint torques in robot 2. (c) Subjected external force in EE 1. (d) Subjected external force in EE 2. (e) Object’s internal force.
(a)(b)(c)(d)(e)


### 3.2. Simulation Group 2

In the second group of simulation, we also have two cases to illustrate how the impedance model-based optimal regulation method works. Case3 shows a comparison between the optimal solutions obtained via the paper-introduced algorithm without knowing model parameters (A and B in equation (13)) and the solutions by solving algebraic Riccati equation (ARE) based on known A and B. Case 4 demonstrates how effectively and adaptively the optimal method can regulate the force and position under various conditions.Case 3.
In this case, the object impedance model is firstly set as−fo=0.01x˙o+1xo, and it is placed on the pose depicted in Figure 7; the other variables are Wx=1, Wf=1, U=−1, V=0.2, ε=0.03, tl−tl−1=0.03, K0=−1,1, and ν=∑i=180.001/isinit. By exactly knowing these items, the optimal solution Kopt=−0.4142,0.1404 is obtained through solving ARE, while the Kk=−0.4187,0.1324 is also gained without knowing the information of A and B, through the aforementioned procedures (from Step 1 to Step 4). We can tell that Kk is very closed to Kopt, and the control performance based on Kk is also satisfactory according to the cost function results depicted in Figure 10(b), despite a gap between them, which does not affect the effectiveness of Kk since the gap increment does not significantly tend to become larger after 2.5 s. This gap is mainly accumulated within 0 s–2.5 s, because (i) when executing Step 1 (0 s–0.15 s), a not very proper K0 and the exploration noise ν are used; and, referring to Figure 10(a), (ii) to avoid a sudden big change between xo (obtained through K0 in Step 1) and xoopt (obtained through Kk via equation (31)), from 0.15 s on, xoopt is not directly utilized. From 0.15 s on, the modified deformation trajectory is calculated through(36)xo=decay∗xo+1−decay∗xoopt,where decay=erate∗t−t′ with rate=−1 and t′ being the time when equation (17) is satisfied for the first time, which results in that xo keeps going up before it smoothly converges to xoopt.
In Figure11, we also see a fast converging rate of Pk in this case, with the value of Pk−Pk−1 decreasing less than ε within a few steps of iterations.
In a word, this model-free computational adaptive optimal method is feasible to seek a solution to minimize cost function in equation (12) in bimanual roots holding-damping-spring-model task, minimizing the sum of the tracking position errors and force errors.Figure 10
(a) The comparison of the object deformation information between differentK∗ values and (b) the comparison of the cost between different K∗ values.
(a)(b)Figure 11
Euclidean norm value ofPk−Pk−1.Case 4.
In this case, we applied the adaptive optimal method under different conditions to test its adaptation performance. The object impedance model is set as−fo=0.01x˙o+2xo in this case.
Different weight values and the correspondingKk and the Kopt values are shown in Table 2, and the corresponding simulation results are shown in Figure 12. Through these results, on the one hand, this method is proved to be compatible in different conditions. As we can see from Table 2, all Kk are closed to Kopt in different weight conditions. Besides, if we notice the difference between the object impedance model in Case 4 and that in Case 3, we can conclude that this algorithm is also compatible in dealing with different kinds of damping-spring models since the differences between Kk and Kopt among all the presented results are small. On the other hand, the practicality of this method is also validated. Figure 12 reveals how the weights work: if we want to keep the position tracking errors smaller, we can increase the value of Wx; vice verses, if we want to keep the force tracking to more precise, we can increase the value of Wf. For instance, comparing Figures 12(a) and 12(c), as the desired holding force is 0, the increase of Wf (from 1 to 3) decreases the force tracking errors, in spite of losing some precision in the position tracking.Table 2
Kk and Kopt values in the condition with different weights.
WeightWxWf[1, 1][1, 2][2, 1][3, 1][1, 3]Kk[−0.2780, 0.0901][−0.1464, 0.0481][−0.5117, 0.1620][−0.7187, 0.2231][−0.0995, 0.0329]Kopt[−0.2361, 0.0890][−0.1213, 0.0469][−0.4495, 0.1626][−0.6458, 0.2259][−0.0817, 0.0319]Figure 12
The deformation information and the internal force in the condition with different weights. (a)WxWf = [1, 1], (b)WxWf = [3, 1], and (c)WxWf = [1, 3].
(a)(b)(c)


## 3.1. Simulation Group 1

In the first group of simulation, two cases are conducted. Case1 is a demo, commanding two robot EEs to collaborate to approach an object before holding it. Case 2 is a comparison between the situations with and without using force observer.Case 1.
In this case, we suppose that there exists an objectCo=0.01,Ko=1 that (randomly) locates within the intersection of the two robots’ workspace, shown in Figure 5. From 0 s to 2 s, we generate two paths for both robots, and they move their EEs from the initial positions to the holding target positions through the derived desired joint position qd,i obtained via CLIK. From 2 s to 6.5 s, the two robots are commanded to hold the object according to the desired object desired deformation trajectory xo=0.21−e−t−2, where U=−1 and V=0.2. Finally, from 6.5 s to 10 s, based on the aforementioned pose assignment method and according to the desired object poses, new EE trajectories are generated. And as robots move along the two paths, the object also turns along the desired poses. Some sample frames are posed in Figure 5, and some changing variables as time goes by are depicted in Figure 6.
Based on the results, it is not hard to tell that (1) the CLIK algorithm plays an important role in generating theqd,i, enabling EEs to move precisely along the desired path so as to enable the object to deform and turn along the desired trajectory (Figures 6(e)–6(f)); (2) the force observer performs well in estimating the subjected forces acting on EEs such that the estimated object internal force is worked out (Figures 6(b) and 6(c)).Figure 5
Some frames captured in the task described in Case1.Figure 6
Some changing variables in Case1, including object deforming information, internal force, estimated forces, and EE trajectories.
(a)(b)(c)(d)(e)(f)Case 2.
In this case, we demonstrate the importance of the developed force observer by comparing the deformation tracking errors (namely, the tracking performance of EEs) in the conditions with and without using force observer. We place the object in the centre between the initial position of EEs, seen in Figure7, and then command the two robots to hold the object for a while along the desired trajectory xd,o=0.21−e−t. The object’s deformation information collected from the two conditions is illustrated in Figure 8. It is apparent that, under the circumstance without employing force observer, the subjected force is not sensed, and thus, the compensation for the joint torque is 0 resulting in that the PD controller is always not able to address the EE position steady-state tracking error. We can also see larger steady-state errors as the external force goes up when using the same holding path but different object impedance parameters Ko=1,5,10 of the object. We can conclude that, without force observer, the steady-state errors stay larger as the external force becomes heavier.
Therefore, we can tell that, in the task of bimanual robots holding an object, the compensation for the contact force is of great importance. In other words, the force observer acts like a sensor installed on the EE and senses the contact force before informing the system to make up for the joint control torques so as to enable EEs to precisely move along the desired paths. In order to demonstrate the effectiveness of the force observer in estimating the subjected external torques and forces, some other pieces of information corresponding to the simulation of Figure8(g) are displayed in Figure 9. Figures 9(a)–9(d) show how the estimated joint torques (derived from equation (29)) and the estimated external forces (calculated from equation (30)) are closed to the real joint torques and the real subjected external forces, respectively, and Figure 9(e) illustrates slight error between the object’s internal force and the resultant force of f^ext,2,x and f^ext,2,y (namely, the estimated object’s internal force).Figure 7
The initial state of the system in Cases2–4.Figure 8
Comparison of deformation information of the object between the conditions with and without using force observer. (a)Ko=1 with force observer, (b)Ko=5 with force observer, (c)Ko=10 with force observer, (e)Ko=1 without force observer, (f)Ko=5 without force observer, and (g)Ko=10 without force observer.
(a)(b)(c)(d)(e)(f)Figure 9
Some other system states corresponding to the simulation of Figure8(g). (a) Subjected joint torques in robot 1. (b) Subjected joint torques in robot 2. (c) Subjected external force in EE 1. (d) Subjected external force in EE 2. (e) Object’s internal force.
(a)(b)(c)(d)(e)


## 3.2. Simulation Group 2

In the second group of simulation, we also have two cases to illustrate how the impedance model-based optimal regulation method works. Case3 shows a comparison between the optimal solutions obtained via the paper-introduced algorithm without knowing model parameters (A and B in equation (13)) and the solutions by solving algebraic Riccati equation (ARE) based on known A and B. Case 4 demonstrates how effectively and adaptively the optimal method can regulate the force and position under various conditions.Case 3.
In this case, the object impedance model is firstly set as−fo=0.01x˙o+1xo, and it is placed on the pose depicted in Figure 7; the other variables are Wx=1, Wf=1, U=−1, V=0.2, ε=0.03, tl−tl−1=0.03, K0=−1,1, and ν=∑i=180.001/isinit. By exactly knowing these items, the optimal solution Kopt=−0.4142,0.1404 is obtained through solving ARE, while the Kk=−0.4187,0.1324 is also gained without knowing the information of A and B, through the aforementioned procedures (from Step 1 to Step 4). We can tell that Kk is very closed to Kopt, and the control performance based on Kk is also satisfactory according to the cost function results depicted in Figure 10(b), despite a gap between them, which does not affect the effectiveness of Kk since the gap increment does not significantly tend to become larger after 2.5 s. This gap is mainly accumulated within 0 s–2.5 s, because (i) when executing Step 1 (0 s–0.15 s), a not very proper K0 and the exploration noise ν are used; and, referring to Figure 10(a), (ii) to avoid a sudden big change between xo (obtained through K0 in Step 1) and xoopt (obtained through Kk via equation (31)), from 0.15 s on, xoopt is not directly utilized. From 0.15 s on, the modified deformation trajectory is calculated through(36)xo=decay∗xo+1−decay∗xoopt,where decay=erate∗t−t′ with rate=−1 and t′ being the time when equation (17) is satisfied for the first time, which results in that xo keeps going up before it smoothly converges to xoopt.
In Figure11, we also see a fast converging rate of Pk in this case, with the value of Pk−Pk−1 decreasing less than ε within a few steps of iterations.
In a word, this model-free computational adaptive optimal method is feasible to seek a solution to minimize cost function in equation (12) in bimanual roots holding-damping-spring-model task, minimizing the sum of the tracking position errors and force errors.Figure 10
(a) The comparison of the object deformation information between differentK∗ values and (b) the comparison of the cost between different K∗ values.
(a)(b)Figure 11
Euclidean norm value ofPk−Pk−1.Case 4.
In this case, we applied the adaptive optimal method under different conditions to test its adaptation performance. The object impedance model is set as−fo=0.01x˙o+2xo in this case.
Different weight values and the correspondingKk and the Kopt values are shown in Table 2, and the corresponding simulation results are shown in Figure 12. Through these results, on the one hand, this method is proved to be compatible in different conditions. As we can see from Table 2, all Kk are closed to Kopt in different weight conditions. Besides, if we notice the difference between the object impedance model in Case 4 and that in Case 3, we can conclude that this algorithm is also compatible in dealing with different kinds of damping-spring models since the differences between Kk and Kopt among all the presented results are small. On the other hand, the practicality of this method is also validated. Figure 12 reveals how the weights work: if we want to keep the position tracking errors smaller, we can increase the value of Wx; vice verses, if we want to keep the force tracking to more precise, we can increase the value of Wf. For instance, comparing Figures 12(a) and 12(c), as the desired holding force is 0, the increase of Wf (from 1 to 3) decreases the force tracking errors, in spite of losing some precision in the position tracking.Table 2
Kk and Kopt values in the condition with different weights.
WeightWxWf[1, 1][1, 2][2, 1][3, 1][1, 3]Kk[−0.2780, 0.0901][−0.1464, 0.0481][−0.5117, 0.1620][−0.7187, 0.2231][−0.0995, 0.0329]Kopt[−0.2361, 0.0890][−0.1213, 0.0469][−0.4495, 0.1626][−0.6458, 0.2259][−0.0817, 0.0319]Figure 12
The deformation information and the internal force in the condition with different weights. (a)WxWf = [1, 1], (b)WxWf = [3, 1], and (c)WxWf = [1, 3].
(a)(b)(c)


## 4. Conclusions

This paper introduces an impedance model-based optimal approach to regulate force and position tracking in bimanual robots holding-object task. In the whole system, several algorithms are employed, for example, the CLIK technique to help derived joint positions for robots to move to the right poses according to the desired deformation of the object; the force observer scheme based on generalized momentum theory to help robots to sense the subjected force exerted by the deformed object, instead of installing sensors on EE, such that the robot joint control torques can be correctly compensated and the EE steady-state tracking errors are tackled; and the model-free computational adaptive optimal method to seek a solution to the optimal trade-off between the position and the force tracking errors. The simulation results demonstrate both the effectiveness and the practicality of this optimal scheme, in which theKk value in equation (21) is acquired within a very short time without knowing the object’s impedance model, which is also very closed to the exact optimal value Kopt. And through modifying the weight value in the cost function, different desired control performance can be easily achieved. In a word, by properly integrating these techniques, the bimanual robots can “feel” the force raised by the held object and exert the optimal regulation on their poses according to user-defined weights.



---

*Source: 3561807-2020-11-17.xml*