Abstract
This paper presents a method of switching from position to stiffness control for a two-degree-of-freedom robot arm driven by three pairs of antagonistic actuators by applying the position and stiffness controller with the aim of developing a robot arm that can perform tasks involving a change from free to constrained motion. The control law consists of a feedback position controller and a feedforward stiffness controller in joint space. The position controller is a traditional PD feedback. The stiffness controller is designed using a newly developed method for solving the robot redundancy and adjusts joint stiffness through the coactivation of all the actuators. The solution to the redundancy expresses the actuator force space by a direct sum of its three subspaces and gives two independent relationships between actuator forces to joint torques and to joint stiffness. The position and stiffness controller is expected to control the position and the stiffness simultaneously and seamlessly perform tasks that involve changing from free to constrained motion. However, it has been revealed that the PD feedback controller affects the joint stiffness and that the stiffness controller reduces energy efficiency during position control. Therefore, this paper attempts to solve the problem by controlling the free motion with the position controller and by controlling the stiffness after the robot reaches the desired posture with the stiffness controller. Simulation results demonstrate that the proposed method can bring the robot to the desired posture, switch the control smoothly, and generate the desired stiffness.
1. Introduction
Many researchers have investigated the role of biarticular and antagonist muscles in human libs using musculoskeletal models. Hogan [Citation1] studied the variable stiffness property of a single-joint arm model driven by two opposing spring-like muscles and found that the joint torque and the joint stiffness can be controlled separately by the co-activation of the antagonistic muscles. Hogan [Citation2] analysed the stiffness matrix of the endpoint of a musculoskeletal arm model having biarticular and antagonist muscles and showed that these muscles provide the ability to adjust all components of the stiffness matrix. Robots intended to have the variable stiffness property have been developed by mimicking the human joint drive mechanism [Citation3, Citation4] since it is accepted that stiffness adjustment is essential for robots to perform tasks involving contact with an environment.
Musculoskeletal-inspired robots are redundant systems since they have more actuators than joints. Thus they have an infinite number of combinations of actuator forces that produce the same joint torques; different combinations result in different stiffness. Therefore, controllers for musculoskeletal-inspired robots require a procedure to select just a single combination of actuator forces producing desired joint torques and stiffness. Such a problem is called the force distribution problem.
Optimization techniques can find a solution that minimizes an objective function and are employed in many studies [Citation5, Citation6]. Optimization algorithms, however, include numerical evaluations and iterative computations and thus cannot provide an equation relating the joint torques and stiffness to the actuator forces, complicating theoretical controller design and stability analysis.
The pseudo-inverse of the transformation matrix from actuator forces to joint torques can successfully solve the distribution problem. While the pseudo-inverse provides the linear mapping from joint toques to actuator forces, it still requires optimization to determine the actuator forces generating desired stiffness. Tahara [Citation7] used the pseudo-inverse matrix to solve the force distribution problem and controlled the position and damping of their musculoskeletal robot arm. However, they did not refer to a relationship between actuator forces and damping coefficients.
We presented a position and stiffness control law consisting of a PD feedback position controller and a feedforward stiffness controller in joint space based on the direct sum decomposition method for a two-degree-of-freedom robot arm driven by three pairs of antagonistic actuators [Citation8]. The direct sum decomposition method [Citation9] is a newly developed solution to the robot redundancy caused by the six actuators; it expresses the actuator force space by a direct sum of its three subspaces and provides two simple and independent relationships between actuator forces to joint torques and to joint stiffness. Thus the direct sum decomposition allows us to design the position and the stiffness controller separately. The proposed position and stiffness controller are expected to control the position and the stiffness simultaneously and seamlessly perform tasks that involve changing from free to constrained motion. We validated the effectiveness of the proposed position and stiffness controller by individually evaluating the performance of each controller. Simulation results, however, revealed that the PD feedback controller affects the joint stiffness and that the stiffness controller reduces energy efficiency during position control, implying that the use of both PD feedback and stiffness controllers is not appropriate.
In this paper, to develop a robot arm that can perform tasks involving a transition from free motion to constrained motion, we propose a switching method for the position and stiffness controller to solve the above problems. The proposed method controls the free motion using the position controller and the stiffness after the robot reaches the desired posture using the stiffness controller.
This paper is organized as follows. Section 2 presents a mathematical model of a musculoskeletal-inspired robot. Section 3 formulates the distribution problem, presents the direct sum decomposition, and provides a solution to the distribution problem. Section 4 develops a switching method from position to stiffness control in joint space using the position and stiffness controller proposed in [Citation8]. Section 5 carries a numerical simulation and argues about the effectiveness of the proposed controller. The final section concludes this paper.
2. Musculoskeletal-inspired robot arm
2.1. Musculoskeletal-inspired robot arm model
This paper considers a robot arm with two rotational joints, and move in a horizontal plane and mimic the human musculoskeletal system, as shown in Figure . The joints are driven by six prismatic actuators . and drive the first joint, and drive the second joint, and and drive both the joints.
Let be the angle of joint () and be the displacement of actuator (). Assuming that the moment arm of each joint is constant regardless of the robot's posture, we have (1) (1) where is the vector of joint angles, and is the vector of actuator displacements. is a constant matrix describing the routing of the actuators and is given by (2) (2) where is the moment arm of joint . Let be the torque acting on joint () and be the output of actuator (). Let be the vector of joint torques and be the vector of actuator outputs, then we have (3) (3)
2.2. Force generation model
Assume that each actuator consists of a force generator and an elastic and a viscous element parallel to the force generator, as shown in Figure . We also assume that the force generator can generate positive and negative forces and that the output of actuator is described by (4) (4) which is a linear approximation of the Hill model around its natural length [Citation10]. is the force generated by the force generator and is called the active force. Note that the spring constant of the elastic element and the damping coefficient of the viscous element are described by and and depend on the active force .
Getting together all the output yields (5) (5) and are the stiffness and the viscous matrix with respect to the actuator displacements . They are given by (6) (6) (7) (7) Combining Equations (Equation1(1) (1) ), (Equation3(3) (3) ), and (Equation5(5) (5) ), we obtain (8) (8) where (9) (9) (10) (10) which are called the stiffness and the viscosity matrix in joint space.
2.3. Dynamics
The equations of motion for a standard industrial robot are given by (11) (11) is the mass matrix, and represents the Coriolis and centrifugal forces. Substituting Equation (Equation8(8) (8) ) into Equation (Equation11(11) (11) ) leads to the equations of motion of the musculoskeletal-inspired robot arm: (12) (12) The right-hand side of the above equation represents the joint torques that can be used to control the robot motion. The third term on the left-hand side is the viscous torques due to the parallel viscous element, and the fourth term is the restoring torques due to the parallel elastic element, both of which depend on the active force . Therefore, we can control the motion, viscosity, and stiffness through the coactivation of the active forces.
3. Active force distribution problem
3.1. Active force distribution problem
In this research, we focus on the control of the position and stiffness except for the damping and consider the following problem called the active force distribution problem.
Problem 3.1
For a desired joint torque vector and a desired joint stiffness matrix , find an active force vector such that (13) (13) (14) (14)
3.2. Direct sum decomposition
To find a solution to the force distribution problem, we first define a representation matrix describing a linear transformation from an active force vector to a joint stiffness matrix.
Let be the ith column vector in the joint stiffness matrix . We define a column vector formed by stacking vertically as (15) (15) The above equation can be rewritten as (16) (16) where is defined as (17) (17) where (18) (18) (19) (19) Then the following proposition [Citation9] holds.
Proposition 3.1
Let U be the set of all active force vectors. Assume that the routing of a musculoskeletal-inspired robot is described by (Equation1(1) (1) ), the force generation of the actuators is governed by (Equation5(5) (5) ), and the force generators can create positive and negative forces. If , , and , then the active force space U can be expressed by the direct sum of its subspaces as (20) (20) where is the set of all active force vectors that change only the joint toques, is the set of all active force vectors that change only the joint stiffness, and is the set of all active force vectors that changes neither the joint torques nor the joint stiffness. The bases of , , and are given by , , and , respectively, where are given by (21) (21) (22) (22) (23) (23) (24) (24) (25) (25) (26) (26)
represents a coactivation pattern of actuators , as shown in Figure . An actuator in white outputs an active force of 1, an actuator in black -1, and an actuator in gray zero. Every active force vector can be uniquely represented using the new basis as (27) (27)
3.3. Rewriting active force distribution problem
Applying the above proposition to Equations (Equation13(13) (13) ) and (Equation16(16) (16) ), we have (28) (28) (29) (29) where and are defined as (30) (30) (31) (31) and are defined as (32) (32) (33) (33) Combining Equations (Equation15(15) (15) ), (Equation16(16) (16) ), and (Equation29(29) (29) ), we obtain (34) (34) Thus the joint stiffness matrix can be rewritten as (35) (35) Therefore, we can rewrite the force distribution problem as follows.
Problem 3.2
For a desired joint torque vector and a desired joint stiffness matrix , find and such that (36) (36) (37) (37)
Equations (Equation36(36) (36) ) and (Equation37(37) (37) ) are simple algebraic equations, and and can be easily obtained without numerical evaluations and iterative computations. Moreover, Equations (Equation36(36) (36) ) and (Equation37(37) (37) ) show that and can be determined independently.
3.4. Solution to active force distribution problem
From Equations (Equation36(36) (36) ) and (Equation37(37) (37) ), and are obtained as (38) (38) (39) (39) where (40) (40) The answer to the force distribution problem, i.e. the active forces that generate the desired torques and stiffness, is given by Equation (Equation27(27) (27) ). We set to zero because ; holds for all .
3.5. Joint viscosity matrix
Equations (Equation9(9) (9) ) and (Equation10(10) (10) ) imply that the joint viscosity matrix equals the joint stiffness matrix if . Therefore, we employ , , and . Then the joint viscosity matrix depends on , but not , leading to (41) (41)
3.6. Rewriting equations of motion
Using Equations (Equation28(28) (28) ), (Equation35(35) (35) ), and (Equation41(41) (41) ), the equations of motion of the musculoskeletal-inspired robot can be rewritten as (42) (42) The above equation shows that the motion and the stiffness of the robot can be controlled independently, improving the capability of stiffness control of the musculoskeletal-inspired robot arm.
4. Control of joint position and stiffness
4.1. Position and stiffness controller
Consider the following control law of the position and stiffness in joint space of the musculoskeletal-inspired robot arm [Citation8]: (43) (43) where is a vector of desired angles, is the angle error vector, and and are positive definite matrices. The first and second terms on the right-hand side of Equation (Equation43(43) (43) ) form a PD feedback law for position control. The third term is a feedforward law for stiffness adjustment and implies that the stiffness controller does not require a force sensor; changing the coactivation of the actuators can control the joint stiffness. is determined using Equation (Equation39(39) (39) ) so that Equation (Equation37(37) (37) ) holds. is determined by solving Equation (Equation43(43) (43) ) under . The controller (Equation43(43) (43) ) can asymptotically stabilize the equilibrium point .
4.2. Switch from position control to stiffness control
Equation (Equation43(43) (43) ) suggests that the proposed position and stiffness controller is likely able to simultaneously control the position and the stiffness and thus seamlessly perform tasks that involve transitions from free to constrained motion. In reference [Citation8], we demonstrated the effectiveness of the proposed position and stiffness controller by simulation. Simulation results, however, revealed that the PD feedback controller affects the joint stiffness and that the stiffness controller reduces energy efficiency during position control. The results imply that the simultaneous use of the PD feedback and stiffness controllers is inappropriate.
Considering these results, we consider a task that involves a transition from position control to stiffness control and propose a switching method for the position and stiffness controller (Equation43(43) (43) ). The switching method uses the position controller but not the stiffness controller during position control and does the opposite during stiffness control.
5. Simulation
This section investigates the effectiveness of the proposed switching method by simulation. Table shows the physical parameters of the musculoskeletal-inspired robot arm. The spring constants per unit active force were , , and , which were determined by referring to [Citation11], and the damping coefficients per unit active force were (). The MATLAB function ode45 was used to solve the differential equations given by Equation (Equation42(42) (42) ).
We assigned the robot the following task to verify the effectiveness of the proposed switching method. Moreover, we compared the result of the proposed switching method with the result when using the PD feedback and stiffness controllers simultaneously throughout the simulation (i.e.not switching).
Move the hand to the desired position using the PD feedback law consisting of the first and second terms of Equation (Equation43(43) (43) ) but not the stiffness control law given by the third term.
Switch from position to stiffness control at t = 5 seconds, a while after the end-effector has reached the desired position: activate the stiffness controller and deactivate the PD feedback controller.
Apply an external force of 1N to the hand at t = 10 seconds. The angle between the external force and the x-axis of the task coordinate system is varied from 0 to 360 degrees in 5-degree increments.
Evaluate the stiffness ellipse at time t = 15 seconds, a while after the robot has arrived at rest under the external force.
The stiffness ellipse represents the tip stiffness properties of the robot and is defined by (44) (44) where is the tip displacement from the desired tip position , and c is a constant. The stiffness ellipse can be made by computing the work using the external force and the tip displacement .
The initial and desired joint angles, and , were determined from the corresponding initial and desired tip positions, and : (45) (45) The desired joint stiffness matrix was determined from the corresponding desired tip stiffness matrix using the following equation: (46) (46) where is the Jacobian matrix at the desired joint angle , and the desired tip stiffness was set as follows: (47) (47) The feedback gains were set as follows: (48) (48) (49) (49) Figure shows the stiffness ellipse. The red crosses indicate the stiffness ellipse using the proposed switching method, the blue dots indicate the stiffness ellipse using the PD feedback and stiffness controllers simultaneously throughout the simulation (i.e.not switching), and the green solid line indicates the theoretical result. The figure shows that the proposed switching method can provide the desired tip stiffness but not the simultaneous controller. Equation (Equation43(43) (43) ) implies that the PD feedback controller affects the joint stiffness, and thus, the simultaneous controller fails to generate the desired tip stiffness; however, the proposed switching method can overcome this problem by disabling the PD feedback controller in the stiffness control. The difference between the theoretical and stiffness controller results is due to the change in the robot's posture caused by the external force; The desired joint stiffness matrix calculated by Equation (Equation46(46) (46) ) is available at the desired joint angle and not at other postures.
Figure shows the time response of the tip position and velocity when the angle between the external force and the x-axis of the task coordinate system is 45 degrees. The red solid line shows the response using the proposed switching method, the blue dashed line shows the response using the simultaneous PD and stiffness controller, and the green solid line shows the desired value. The figure observes no disturbances in the tip position and velocity around the switching time t = 5 seconds, demonstrating a stable transition from position to stiffness control. Although the responses of the two controllers are almost the same until the end-effector receives the external force, the subsequent behaviours are quite different because of the failure of the stiffness control in the simultaneous control, as mentioned above.
Figure shows the active forces. The red solid line shows the active force using the proposed switching method, and the blue dashed line shows the active force using the simultaneous PD feedback and stiffness controller. Magnified views are provided to clear the small changes in the active forces after the end-effector receives the external force. In the proposed switching method, the active force during position control is given by the sum of the first and second terms of Equation (Equation43(43) (43) ), and that during stiffness control is obtained by the third term. In the simultaneous controller, the active force throughout the simulation is given by the sum of all the terms.
Figure shows that the switching method produces small active forces during position control and large active forces during stiffness control. The large active forces during stiffness control arise from the antagonistic activation of the actuator pairs. Active forces produced by the stiffness controller are expressed by a linear combination of , , and , and these basis vectors have activation patterns that antagonistically activate the actuator pairs as shown in Figure . The magnified views show that no changes in the active forces of the switching method are observed even though the external force is exerted on the end-effector since the basis vectors have no effect on the joint torques from Theorem 1. Meanwhile, the active forces of the simultaneous controller change slightly when the robot hand is subjected to an external force. This change coincides with the change in the output of the PD feedback controller.
Summarizing the above results, we can conclude that the proposed switching method can achieve the desired stiffness during stiffness control and improve energy efficiency during position control compared to the simultaneous PD feedback and stiffness controller.
6. Conclusion
This paper proposed a method of switching from position to stiffness control of a two-degree-of-freedom musculoskeletal-inspired robot arm utilizing the position and stiffness controller presented in reference [Citation8]. The proposed method switches from position to stiffness control by disabling the position controller and enabling the stiffness controller. The simulation result demonstrated the effectiveness of the proposed switching method; the proposed method can achieve position control with low energy consumption, smooth switching from position to stiffness control, and the desired tip stiffness in stiffness control, resolving the problem arising from the simultaneous use of the position and stiffness controllers. The proposed method could be applied to more complicated tasks involving the transition from free to constrained motion. However, since the proposed controller is designed in joint space, it is unsuitable for controlling position and stiffness in task space, and further improvements are required. Future work will develop the control law in task space and validate its effectiveness using an experiment system.
Disclosure statement
The author reports that there are no competing interests to declare and that no one else except the author has contributed to this study.
Additional information
Funding
Notes on contributors
Toshimi Shimizu
Toshimi Shimizu received his Dr. degree from Gifu University in 2003. He joined Niigata University as an assistant in 2004 and Ibaraki University as an associate professor in 2009. His research interests include the control of flexible-link manipulators, musculoskeletal-inspired robot arms.
References
- Hogan N. Adaptive control of mechanical impedance by coactivation of antagonist muscles. IEEE Trans Autom Control. 1984;29(8):681–690. doi: 10.1109/TAC.1984.1103644
- Hogan N. The mechanics of multi-joint posture and movement control. Biol Cybern. 1985;52(5):315–331. doi: 10.1007/BF00355754
- Katayama M, Kawato M. Learning trajectory and force control of an artificial muscle arm by parallel-hierarchical neural network model. Adv Neural Inf Process Syst. 1991;3:436–442.
- Stanev D, Moustakas K. Stiffness modulation of redundant musculoskeletal systems. J Biomech. 2019;85:101–107. doi: 10.1016/j.jbiomech.2019.01.017
- Salvucci V, Kimura Y, Oh S, et al. Force maximization of biarticularly actuated manipulators using infinity norm. IEEE/ASME Trans Mechatron. 2013;18(3):1080–1089. doi: 10.1109/TMECH.2012.2193670
- Jantsch M, Wittmeier S, Dalamagkidis K, et al. Adaptive neural network dynamic surface control: an evaluation on the musculoskeletal robot anthrob. In: Proceedings of 2015 IEEE International Conference on Robotics and Automation; May 2630; Seattle, WA; 2015. doi: 10.1109/ICRA.2015.7139799
- Tahara K, Arimoto S, Sekimoto M, et al. On control of reaching movements for musculo-skeletal redundant arm model. Appl Bionics Biomech. 2009;6(1):11–26. doi: 10.1155/2009/498363
- Toshimi S. Position and stiffness control of musculoskeletal-inspired robot arm based on direct sum decomposition. In: Proceedings of SICE Annual Conference; 2023 Sep 69; Tsu, Japan; 2023.
- Toshimi S. New solution to the force distribution problem for a special class of musculoskeletal robot arms based on direct sum decomposition. Mech Machine Theory. 2020;151:103900. doi: 10.1016/j.mechmachtheory.2020.103900
- Ito K, Tsuji T. Control properties of human-prosthesis systems with bilinear variable structure. In: Mancini G, Martensson L, Johannsen G, editors. Proceedings of 2nd IFAC/IFIP/IFORS/IEA Conference on Analysis, Design and Evaluation of Man-Machine Systems; Sep 10–12; Varese, Italy; 1985. doi: 10.1016/S1474-6670(17)60245-3
- Mera R, Okajima H, Matsunaga N, et al. Stiffness parameter estimation of the muscle for six muscle model using the longitudinal elastic modulus search with gradient method. Jpn J Ergon. 2012;48(4):187–195, (in Japanese).