- freely available
- re-usable
Sensors 2014, 14(1), 1723-1739; doi:10.3390/s140101723
Published: 20 January 2014
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.1. 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.
2. 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.
The dynamic model of the three-DOF finger can be expressed as follows:
Firstly, for the three-DOF finger, the transformation from four tensions to three joint torques is given by [9,10]:
Secondly, the relationship between the tendon tensions and motor torques is expressed as:
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]:
3. The Control System of Tendon-Driven Dexterous Finger
3.1. 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.
The trajectory generator provides the desired angular displacement θ_{d}, which need to be converted to the desired displacement X_{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 F_{d} and the actual contact force F_{e} and the output is a displacement offset X_{f}. And ΔX is defined as the output of the adaptive adjustment part. X_{r} = X_{d} + X_{f} + ΔX represents the displacement that has been adjusted in Cartesian-space. X_{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 Δl. 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 Δl are four-dimensional column matrices; X_{d}, X_{f}, X_{r}, ΔX, F_{d} and F_{e} are three-dimensional column matrices.)
In Figure 5, Δl_{1}, Δl_{2}, Δl_{3} and Δl_{4} are the input variables of the control module and represent the displacement offset of the four tendons; θ_{1}, θ_{2}, θ_{3}, θ_{4}, F_{x}, F_{y} and F_{z} are the output variables, where θ_{1}, θ_{2}, θ_{3} and θ_{4} represent the angular displacements of joints and F_{x}, F_{y} and F_{z} represent the components of the contact force.
3.2. 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:
For a classical impedance control, ΔX = 0 and X_{f} = X_{r} − X_{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.
The key of the adaptive adjustment is to get an adaptive offset ΔX to compensate the output of the impedance control. Let Δx_{k}, f_{d}_{k}, f_{e}_{k}, x_{e}_{k} and x_{d}_{k} respectively represent the k-th element of ΔX, F_{d}, F_{e}, X_{e}, X_{d} (k = 1–3, X_{e} represents the actual position of the fingertip in Cartesian-space). Then Δx_{k} can be expressed as follows [7]:
3.3. Inverse Kinematics Solver
The Cartesian and joint coordinate systems are built, as show in Figure 7, where O_{0} is the Cartesian coordinate system; O_{1}, O_{2}, O_{3} and O_{4} are respectively the coordinate system of each joint.
The Denavit-Hartenberg(D-H) parameters of the robot finger are listed in Table 1.
where η_{i}_{−1} represents the rotation angle round Y_{i}_{−1} axis; L_{i}_{−1} is defined as the distance from Z_{i}_{−1} to Z_{i}; d_{i} is defined as the distance from Y_{i}_{-1} to Y_{i}.
According to Figure 7 and Table 1, the kinematics equation of the three-DOF finger is expressed as:
The following equations can be obtained from Equation (12):
In addition, there is relationship between θ_{3} and θ_{4} due to the coupled structure, as shown in Figure 8.
The relational expressions between θ_{3} and θ_{4} are given by:
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.
3.4. 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]:
4. Simulation and Analysis
4.1. 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:
4.2. 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.
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.
4.3. 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.
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.
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.
4.4. 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.
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.
5. 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.
This work was supported by the National Natural Science Foundation of China (Grant No. 51105196) and Natural Science Foundation of Jiangsu Province (Grant No. BK2011733).
Conflicts of Interest
The authors declare no conflict of interest.
References
- Jung, S.; Hsia, T.C.; Bonitz, R.G. Force tracking impedance control of robot manipulators under unknown environment. IEEE Trans. Control Syst. Technol. 2004, 12, 474–483.
- Platt, R.; Abdallah, M.; Wampler, C. Multiple-Priority Impedance Control. Proceedings of the IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 6033–6038.
- Jung, S.; Hsia, T.C. Force Tracking Impedance Control of Robot Manipulators for Environment with Damping. Proceedings of the 33rd Annual Conference of the IEEE Industrial Electronics Society, Taipei, Taiwan, 5–8 November 2007; pp. 2742–2747.
- Chen, Z.; Lii, N.Y.; Jin, M.; Fan, S.W.; Liu, H. Intelligent Robotics and Applications; Liu, H.H., Ding, H., Xiong, Z.H., Zhu, X.Y., Eds.; Springer Berlin Heidelberg: Berlin, Germany, 2010; pp. 1–12.
- Biagiotti, L.; Liu, H.; Hirzinger, G.; Melchiorri, C. Cartesian Impedance Control for Dexterous Manipulation. Proceedings of the 2003 IEEE/RSJ International Conference on Intelligent Robots and Systems, Las Vegas, NV, USA, 27–31 October 2003; pp. 3270–3275.
- Lasky, T.A.; Hsia, T.C. On Force-Tracking Impedance Control of Robot Manipulators. Proceedings of the 1991 IEEE International Conference on Robotics and Automation, Sacramento, CA, USA, 9–11 April 1991; pp. 274–280.
- Seraji, H. Adaptive Admittance Control: An Approach to Explicit Force Control in Compliant Motion. Proceedings of the 1994 IEEE International Conference on Robotics and Automation, San Diego, CA, USA, 8–13 May 1994; pp. 2705–2712.
- Diftler, M.A.; Mehling, J.S.; Abdallah, M.E.; Radford, N.A.; Bridgwater, L.B.; Sanders, A.M.; Askew, R.S.; Linn, D.M.; Yamokoski, J.D.; Permenter, F.A.; et al. Robonaut—The First Humanoid Robot in Space. Proceedings of the 2011 IEEE International Conference on Robotics and Automation, Shanghai, China, 9–13 May 2011; pp. 2178–2183.
- Abdallah, M.E.; Platt, R.; Wampler, C.W.; Hargrave, B. Applied Joint-Space Torque and Stiffness Control of Tendon-Driven Fingers. Proceedings of the 10th IEEE-RAS International Conference on Humanoid Robots (Humanoids), Nashville, TN, USA, 6–8 December 2010; pp. 74–79.
- Borghesan, G.; Palli, G.; Melchiorri, C. Design of Tendon-Driven Robotic Fingers: Modeling and Control Issues. Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–7 May 2010; pp. 793–798.
- Li, H.J.; Yang, Z.J. Study on the modelling for wire rope substances in Adams. Mech. Manag. Dev. 2007, 4, 4–5.
- Li, J.W.; Bu, C.G.; Wang, L. The application of Macro command in ADAMS in building the virtual prototype of cable drill. Mach. Tool Hydraul. 2011, 39, 150–153.
- Heinrichs, B.; Sepehri, N.; Thornton-Trump, A.B. Position-based impedance control of an industrial hydraulic manipulator. IEEE Control Syst. 1997, 17, 46–52.
- Sadjadian, H.; Taghiradf, H.D. Impedance Control of the Hydraulic Shoulder a 3-DOF Parallel Manipulator. Proceedings of the IEEE International Conference on Robotics and Biomimetics, Kunming, China, 17–20 December 2006; pp. 526–531.
- Ioannou, P.A.; Kokotovic, P.V. Adaptive systems with reduced models. Lect. Notes Control Inf. Sci. 1983, 47, 162.
- Escande, A.; Mansard, N.; Wieber, P.B. Fast Resolution of Hierarchized Inverse Kinematics with Inequality Constraints. Proceedings of the 2010 IEEE International Conference on Robotics and Automation, Anchorage, AK, USA, 3–7 May 2010; pp. 3733–3738.
Table 1. The D-H parameters of the robot finger. |
i | η_{i}_{−1}/(°) | L_{i}_{−1}/mm | d_{i}/mm | θ_{i}/rad |
---|---|---|---|---|
1 | 90.0 | 21 | 0 | θ_{1} |
2 | −90.0 | 9 | 0 | θ_{2} |
3 | 0 | 45 | 0 | θ_{3} |
4 | 0 | 30 | 0 | θ_{4} |
© 2014 by the authors; licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution license (http://creativecommons.org/licenses/by/3.0/).