Literature DB >> 24448167

The control of tendon-driven dexterous hands with joint simulation.

Jinbao Chen1, Dong Han2.   

Abstract

An adaptive impedance control algorithm for tendon-driven dexterous hands is presented. The main idea of this algorithm is to compensate the output of the classical impedance control by an offset that is a proportion-integration-differentiation (PID) expression of force error. The adaptive impedance control can adjust the impedance parameters indirectly when the environment position and stiffness are uncertain. In addition, the position controller and inverse kinematics solver are specially designed for the tendon-driven hand. The performance of the proposed control algorithm is validated by using MATLAB and ADAMS software for joint simulation. ADAMS is a great software for virtual prototype analysis. A tendon-driven hand model is built and a control module is generated in ADAMS. Then the control system is built in MATLAB using the control module. The joint simulation results demonstrate fast response and robustness of the algorithm when the environment is not exactly known, so the algorithm is suitable for the control of tendon-driven dexterous hands.

Entities:  

Mesh:

Year:  2014        PMID: 24448167      PMCID: PMC3926635          DOI: 10.3390/s140101723

Source DB:  PubMed          Journal:  Sensors (Basel)        ISSN: 1424-8220            Impact factor:   3.576


Introduction

The control system of dexterous robot hands can control the robot fingers to reach the desired position, contact with the environment and track a specified desired force. Thereinto, stable force tracking is an important research topic, which can be solved by compliance control. Impedance force control is very practical in the field of robotic compliance control and the main concept is based on the impedance equation which is the relationship between force and position/velocity error [1]. Many researchers have improved the performance of the impedance control and expanded the application range since it was primarily proposed by Hogan [2-5]. However, the classical impedance control is unsatisfying when the environment parameters are not exactly known. To overcome this problem, Lasky et al. [6] proposed a two-loop control system that the inner-loop is a classical impedance controller and the outer-loop is a trajectory modified for force-tracking. This algorithm uses the outer-loop to automatically modify the reference position by a simple force-feedback scheme when the environment is not exactly known. Jung et al. [1] proposed an adaptive impedance control. The main idea of this algorithm is to minimize the force error directly by using a simple adaptive gain when the environment is changed. Seraji [7] proposed an adaptive admittance control based on the concept of mechanical admittance, which relates the contact force to the resulting velocity perturbation. Two adaptive PID and PI force compensators are designed in Seraji's paper. In this paper an adaptive impedance control is proposed that uses an adaptive PID force compensator as an offset to adjust the output of the impedance controller when the environment position or stiffness is changed. It is a way that adjusts the impedance parameters indirectly, which is different from Jung's. In order to validate the algorithm, a joint simulation with MATLAB and ADAMS is presented. Firstly, the model of the tendon-driven dexterous hand is built in ADAMS referring to the robot hand of Robonaut-2, which is the first humanoid robot in space and has the typical tendon-driven dexterous hands [8]. A three-DOF finger of the robot hand is chosen as the research object. Then a control module of the robot finger is generated in ADAMS. Finally, the control system is built in MATLAB using the control module. The results of the joint simulation demonstrate that the proposed algorithm is robust. In addition, the position controller and inverse kinematics solver are designed for the tendon-driven finger.

Features of the Robot Hand and Dynamic Model

The model of the tendon-driven dexterous hand in ADAMS consists of four three-DOF fingers, a four-DOF thumb and a palm, as shown in Figure 1. For the three-DOF fingers, the fingertip's motion depends on the coupled link, as shown in Figure 1. The actuation system of the robot hand is remotely packaged in the forearm, which makes the size of the robot hand as large as a man's hand. Each unit of the actuation system consists of a brushless motor and a lead screw. The lead screw can convert rotary motion to linear motion. Each of the tendons connects the finger joint and the lead screw. The motors can drive the lead screws to control the finger motion through the tendons. Since the tendons can only transmit forces in tension, the number of tendons should be more than the DOFs. It turns out that only one tendon more than the number of DOF is needed [9], so a three-DOF finger needs four tendons.
Figure 1.

The model of the dexterous hand in ADAMS.

The dynamic model of the three-DOF finger can be expressed as follows: where (), () and () represent the inertia matrix, centrifugal term, and gravity term respectively; represents the joint angle vector; , f and ext represent the joint torque vector, friction torque vector and external torque vector respectively. ext is given by [10]: where represents the Jacobian matrix, t = [ tx ty tz]T represents the fingertip force. m is defined as the motor torque vector. Then there should be a certain relationship between and m, which is shown as follow. Firstly, for the three-DOF finger, the transformation from four tensions to three joint torques is given by [9,10]: where is a column vector consisting of four tendon tensions; represents the mapping from tensions () to joint torques () and is the radius of the circular surface where the j-tendon envelops itself on the i-joint (The tendons are numbered from t1 to t4, as shown in Figure 2), i = 1 ∼ 3, j = 1 ∼ 4. For the three-DOF finger, r11 = r12 = r13 = r14 = 5.5 mm, r21 = r22 = r23 = r24 = 5.2 mm, r33 = r34 = 5.0 mm.
Figure 2.

Force analysis between a two small cylinders of the tendon model.

Secondly, the relationship between the tendon tensions and motor torques is expressed as: where d represents the screw pitch of the lead screws. According to Equations (3) and (4), the Equation (1) can be rewritten as: The above indicates that the tendons have an impact on the control of the tendon-driven robot hand. In order to simulate the performance of the tendons in ADAMS, the tendon model is built by adding bushing force between small stiffness cylinders. The force analysis between a two small cylinders is shown in Figure 2. The dynamic equation of the tendon model can be expressed as [11]: where and represent the force and torque between the cylinders respectively; and represent the stiffness diagonal matrix and damping diagonal matrix respectively; , , and represent the relative displacement, angle, velocity and angular velocity between the two cylinders respectively; 0 and 0 are respectively the initial values of the force and torque. In order to get a reasonable tendon model, and should be set to appropriate values. In the control of the robot hand, the tendons that are not flexible enough will affect the finger motion but the very flexible tendons will diminish the control accuracy. Considering that, the satisfying tendon models are built by adjusting the parameters of and in ADAMS [12], as shown in Figure 3.
Figure 3.

The tendon model in the three-DOF finger.

The Control System of Tendon-Driven Dexterous Finger

The Components of the Control System

The control system is built for the three-DOF finger. It consists of a control module, adaptive impedance controller, trajectory generator, inverse kinematics solver, position controller and other modules as shown in Figure 4.
Figure 4.

The components of the control system.

The trajectory generator provides the desired angular displacement d, which need to be converted to the desired displacement d in Cartesian-space by forward kinematics because the output of the adaptive impedance controller is in Cartesian-space. The adaptive impedance controller consists of an impedance control part and an adaptive adjustment part. The input of the impedance control part is the difference between the desired contact force d and the actual contact force e and the output is a displacement offset f. And Δ is defined as the output of the adaptive adjustment part. r = d + f + Δ represents the displacement that has been adjusted in Cartesian-space. r can be converted to the angular displacement r in joint-space by inverse kinematics. Δ represents the difference between r and the actual angular displacement e. The position controller can convert Δ to the tendon displacement offset Δ. The control module is generated in ADAMS. It is the interface between ADAMS and MATLAB and contacts the robot model in ADAMS with the control system in MATLAB. So it can be seen as a MATLAB module that has the same effect with the model in ADAMS. The control module of the three-DOF finger is shown in Figure 5 (by the way, d, e, r, Δ and Δ are four-dimensional column matrices; d, f, r, Δ, d and e are three-dimensional column matrices.)
Figure 5.

The control module of the three-DOF finger in MATLAB.

In Figure 5, Δl1, Δl2, Δl3 and Δl4 are the input variables of the control module and represent the displacement offset of the four tendons; θ1, θ2, θ3, θ4, F, F and F are the output variables, where θ1, θ2, θ3 and θ4 represent the angular displacements of joints and F, F and F represent the components of the contact force.

Adaptive Impedance Controller

The impedance control is based on the concept that it is neither position nor force that should be controlled, but rather the dynamic relation between the two [13]. The relation is an impedance equation, which is given by: where = d − e; d, d and d are respectively 3 × 3 constant-positive-diagonal matrices of the desired inertial, damping and stiffness. The impedance parameters d, d and d should keep the system in the critical damping state or overdamping state at least. And increasing d will result in large impact to environment. A large d can increase the response time and have no vibration. For position accurate tracking, a large d should be selected [14]. According to these, the suitable impedance parameters for specified control system can be got. For a classical impedance control, Δ = 0 and f = r − d. So, Equation (7) can be expressed in the Laplace domain as follows: According to Equation (8), the structure diagram of the impedance control compensator is shown in Figure 6. However, the impedance control compensator is only suitable for a specific environment and the impedance parameters can't be changed in the whole control process. If the environmental parameters changed or weren't exact, the performance of the controller would be unsatisfactory. Hence an adaptive adjustment is needed to change the impedance parameters indirectly according to the environment changes.
Figure 6.

The structure diagram of the impedance control compensator.

The key of the adaptive adjustment is to get an adaptive offset Δ to compensate the output of the impedance control. Let Δx, fd, fe, xe and xd respectively represent the k-th element of Δ, d, e, e, d (k = 1–3, e represents the actual position of the fingertip in Cartesian-space). Then Δx can be expressed as follows [7]: where g(t) is an auxiliary signal which contains the integral term; k(t) and k(t) are respectively the adaptive proportional and derivative force feedback gain; e(t) = fd − fe. Equation (9) is a PID expression of force error in nature, so this adaptive adjustment compensator can respond quickly to the change of the force error, that is to say, to the change of the environment. It is the reason why this expression is used as the compensator of impedance control. g(t), k(t) and k(t) are given by: where ω and ω are the positive position and velocity weighting factors respectively; α1, β1 and γ1 are the positive integral adaptation gains respectively; α2, β2 and γ2 are the positive or zero proportional adaptation gains. Let α2, β2 and γ2 equal to zero to simplify the expressions. And k0, k0 and g0 are the initial values and equal to zero. Since the actual contact force is measured by the force sensor, there is often a noisy signal. Therefore the derivative of the force error is unsatisfying. To solve this problem, ė(t) is replaced by −k(t) in Equations (9) and (10), where x(t) = xd − xe and k is a positive constant. In addition, σ-modification terms are used to modify the adaptive compensator to ensure the robustness of the control system [7,15]. Finally the modified expressions of the compensator are given by: where λ1 = γ1k, ω = ω; σ1, σ2 and σ are small positive constants.

Inverse Kinematics Solver

The Cartesian and joint coordinate systems are built, as show in Figure 7, where O0 is the Cartesian coordinate system; O1, O2, O3 and O4 are respectively the coordinate system of each joint.
Figure 7.

The coordinate systems buit in the finger model.

The Denavit-Hartenberg(D-H) parameters of the robot finger are listed in Table 1.
Table 1.

The D-H parameters of the robot finger.

iηi−1/(°)Li−1/mmdi/mmθi/rad
190.0210θ1
2−90.090θ2
30450θ3
40300θ4
where η−1 represents the rotation angle round Y−1 axis; L−1 is defined as the distance from Z−1 to Z; d is defined as the distance from Y-1 to Y. According to Figure 7 and Table 1, the kinematics equation of the three-DOF finger is expressed as: where: where x, y and z are the coordinate values of the fingertip in Cartesian coordinate system respectively. The following equations can be obtained from Equation (12): where: In addition, there is relationship between θ3 and θ4 due to the coupled structure, as shown in Figure 8.
Figure 8.

The coupled structure of the three-DOF finger.

The relational expressions between θ3 and θ4 are given by: where ρ, rp, Lg and rt are constant, ρ = 1.52 rad, rp = 4 mm, Lg = 27 mm, rt = 6.2 mm. It is easy to get the solution of θ1 from Equation (13). However, Equations (14–17) are nonlinear and the computation cost is high, which is a limitation of inverse kinematics [16]. Therefore it is not easy to get the solutions of θ2, θ3 and θ4. Since the control system is built in MATLAB, the fsovle function in MATLAB can be used to solve the nonlinear equations. The fsovle function solves the equations by the iterative method and hence the initial values of the iteration have a great influence on the simulation speed. Since the angular displacements are continuous, the current solutions can be used as the initial values of the next iteration.

The Position Controller

In order to control the position of the robot finger accurately, it is necessary to get the relationship between the joint angular displacements and the tendon displacements. Due to the particular design and neglecting the tendon elasticity, the relationship can be expressed as [9,10]: where is defined in Equation (3); Δ and Δ are defined in Section 3.1.

Simulation and Analysis

Simulation Setups

The control system is built in MATLAB using the control module, as shown in Figure 9. The sample time of the simulation is 0.001 s. The simulation is mainly to validate the performance of the adaptive impedance control in uncertain environment and the reasonableness of the robot finger model. The impedance parameters and the adaptive parameters are given by:
Figure 9.

The Control system built in MATLAB.

The Position Control

In the free space, the finger motion is controlled by the position controller. The simulation time is set to 0.5 s. The final-desired angular displacements of the joints are [0, −0.17, −1.25]T rad. Then the position controller controls the finger motion according to the desired trajectories. The results are shown in Figures 10, 11 and 12.
Figure 10.

The desired and actual angular displacements of the 1-joint.

Figure 11.

The desired and actual angular displacements of the 2-joint.

Figure 12.

The desired and actual angular displacements of the 3-joint.

From Figures 10, 12 and 12, we may conclude that the actual angular displacements lag behind the desired one at the beginning. The reason is that the finger is driven by tendons which have elasticity and it takes some time for the tendons to go from slack to tight in the simulation. So, on the whole, the results are satisfactory.

Uncertainties in Environment Stiffness

Firstly, the robot finger is required to track on the environment which is a cylinder and has the stiffness of 10,000 N/m. The desired contact force is [−3, 6, 0]T N. The fingertip makes contact with the environment at about 0.48 s, as shown in Figure 13. The force tracking results are shown in Figure 14.
Figure 13.

The finger makes contact with the environment in ADAMS.

Figure 14.

The force tracking results when environment stiffness is 10,000 N/m.

In the next simulation, the environment stiffness is modified as 80,000 N/m and other conditions remain unchanged. After rerunning, the force tracking results are shown in Figure 15.
Figure 15.

The force tracking results when environment stiffness is 80,000 N/m.

Figures 14 and 15 show that the average error of the force tracking is both less than 0.5 N in different stiffness although the actual force is oscillating due to the tendons, so on the whole, the force tracking results are satisfying when the environment stiffness is different, that is to say, without knowing the environment stiffness information, the force control algorithm performs well.

Uncertainties in Environment Position

In order to validate the robustness without knowing the environment position, let the environment position suddenly change at 0.65 s in the simulation. The change takes 0.005 s and the direction is shown in Figure 16. The displacement of the environment is 0.5 mm. The environment stiffness is 10,000 N/m and other conditions remain unchanged. The force tracking results are shown in Figure 17.
Figure 16.

The direction of the row is the direction of the change.

Figure 17.

The force tracking results when environment position changed at 0.65 s.

Comparing the force plot of Figure 17 with that of Figure 14 shows that the contact force changes at 0.65 s in Figure 17 due to the sudden change of environment position and the force overshoots are about 70% on x-direction and 65% on y-direction and the settling time is about 0.02 s. These demonstrate that without knowing the environment position information, the force control algorithm is robust. Another simulation is carried out for the moving environment, as shown in Figure 18. The velocity of the environment movement is 0.025 m/s. There is dynamic friction between fingertip and environment due to the relative sliding. Hence, the desired force is set to [−3, 6, −1.88]T N, where the force on z-direction is decided by friction coefficient. And the environment stiffness is also 10,000 N/m. The force tracking results are shown in Figure 19. Figure 19 shows that the environment movement has little impact on the force tracking results. This simulation demonstrates that the algorithm can perform diverse tasks.
Figure 18.

The finger makes contact with moving environment.

Figure 19.

The force tracking results while the environment is moving.

Conclusions

In the joint simulation with ADAMS and MATLAB, the results of the position tracking and force tracking are satisfactory on the whole. In particular, the control system can keep the contact force near to expected value when the position or stiffness of the environment is uncertain, so the proposed adaptive impedance control algorithm is robust and the control system is suitable for a tendon-driven hand and the dexterous hand model built in ADAMS is reasonable. However, the tendon friction and joint friction are not considered in the robot hand model built in ADAMS. The friction can affect the control performance in practice, so the following research should build the friction model for the tendons and joints.
  3 in total

1.  A velocity-based impedance control system for a low impact docking mechanism (LIDM).

Authors:  Chuanzhi Chen; Hong Nie; Jinbao Chen; Xiaotao Wang
Journal:  Sensors (Basel)       Date:  2014-12-03       Impact factor: 3.576

2.  A proposal for automatic fruit harvesting by combining a low cost stereovision camera and a robotic arm.

Authors:  Davinia Font; Tomàs Pallejà; Marcel Tresanchez; David Runcan; Javier Moreno; Dani Martínez; Mercè Teixidó; Jordi Palacín
Journal:  Sensors (Basel)       Date:  2014-06-30       Impact factor: 3.576

3.  Control Parameters Optimization Based on Co-Simulation of a Mechatronic System for an UA-Based Two-Axis Inertially Stabilized Platform.

Authors:  Xiangyang Zhou; Beilei Zhao; Guohao Gong
Journal:  Sensors (Basel)       Date:  2015-08-14       Impact factor: 3.576

  3 in total

北京卡尤迪生物科技股份有限公司 © 2022-2023.