Instruction FACTA UNIVERSITATIS Series: Electronics and Energetics Vol. 31, N o 1, March 2018, pp. 51 - 61 https://doi.org/10.2298/FUEE1801051J FEEDBACK LINEARIZATION FOR DECOUPLED POSITION/STIFFNESS CONTROL OF BIDIRECTIONAL ANTAGONISTIC DRIVES  Kosta Jovanović 1 , Branko Lukić 1 , Veljko Potkonjak 2 1 Laboratory for Robotics - ETF Robotics, School of Electrical Engineering, University of Belgrade, Serbia 2 School of Information Technologies, Metropolitan University, Belgrade, Serbia Abstract. To ensure safe human-robot interaction impedance robot control has arisen as one of the key challenges in robotics. This paper elaborates control of bidirectional antagonistic drives – qbmove maker pro. Due to its mechanical structure, both position and stiffness of bidirectional antagonistic drives could be controlled independently. To that end, we applied feedback linearization. Feedback linearization based approach initially decouples systems in two linear single-input-single-output subsystems: position subsystem and stiffness subsystem. The paper elaborates preconditions for feedback linearization and its implementation. The paper presents simulation results that prove the concept but points out application issues due to the complex mechanical structure of the bidirectional antagonistic drives. Key words: bidirectional antagonistic drives, variable stiffness actuators, puller- follower control, stiffness control. 1. INTRODUCTION This paper presents a further elaboration of the approach for stiffness control of classical antagonistic drives in robotics [1] 1 to bidirectional antagonistic drives. The long term desire of scientists to design and build a faithful copy of a human being finally coincides with the latest efforts of in-house service robotics - how to design a robot which fully matches the house environment. Because humans shape their living environment to fully meet their comfort and necessities, home robots have to be built to fit such areas and therefore they must move and behave in the same manner as humans. Received November 16, 2016; received in revised form May 4, 2017 Corresponding author: Kosta Jovanović Laboratory for Robotics - ETF Robotics, School of Electrical Engineering, University of Belgrade, 11000 Belgrade, Serbia (E-mail: kostaj@etf.rs) *An initial research related to this paper received Best Paper Award at 3 rd International Conference on Electrical, Electronic and Computing Engineering (IcETRAN ’16) – Section Robotics and Flexible Automation [1]. 52 K. JOVANOVIĆ, B. LUKIĆ, V. POTKONJAK Therefore, there are numbers of actual research projects with the ultimate goal of creating musculoskeletal (or so-called anthropomimetic robots [2], [3]). The most popular among them are famous Japanese robot Kenshiro [4] and Eccerobot as an anthropomimetic robot of European consortium [5]. Following the anthropomimetic approach, key issues are human-like actuators and their control. The design of an anthropomimetic actuator has to follow guidelines set by its human paragon: it should be tendon driven, compliant (of changeable compliance - VSA) and therefore it has to be driven by at least two motors – to control both position and compliance (opposite of stiffness). The control of such drives, which are inevitably multi- variable and non-linear, has to be reliable, safe and robust. This paper presents one instance of a bio-inspired robotic drive of changeable stiffness – bidirectional qbmove maker pro, and an approach to control such drive initially based on our work on puller-follower approach [6]. A brief overview of bidirectional antagonistic joints in robotics, as well as our target one, is given in Section 2. Special attention of our group from Robotics Laboratory at the School of Electrical Engineering, University of Belgrade, is paid to the control of novel bio- inspired robot actuators in general and the control of bidirectional antagonistic drives as one of the instances available in the laboratory. Generalized puller-follower approach based on feedback linearization to the control of qbmove maker pro is introduced in Section 3. The validity of the proposed control algorithm is proven via simulation in Section 4. Section 5 brings conclusions about a prospective application of the proposed methodology, gives tips for future work and points out the already tested alternative approaches for stiffness control of bidirectional antagonistic drives. 2. BIDIRECTIONAL ANTAGONISTIC DRIVES - QBMOVE MAKER PRO A subgroup of VSAs that mimics biological paragon of mammals is antagonistic actuators. Although classical antagonistic actuation is the prime example of a fully biologically inspired actuation, lately, the engineers turned to bidirectional antagonistic actuation as a big step towards real antagonistic actuation. The most significant advantage of bidirectional antagonistic actuation is bidirectional torque achieved by two antagonistically coupled motors. Namely, both motors could either pull or push, contrary to classical antagonistic, tendon driven actuators and human muscles. Therefore, slacking of the tendons is not possible, and controllability of such drives is ensured. Pioneering works in antagonistic actuation exploited intrinsic compliance of hydraulic and pneumatic actuators as antagonistically coupled drives. Therefore, the first widely known implementation of antagonistic drives were: the Utah/M.I.T. Dexterous Hand [7], McKibben pneumatic artificial muscles in antagonistic arrangements [8] such as work of Tondu et al. [9] or Boblan et al. [10], biped walking robots with antagonistically actuated joints at Waseda University [11], or European pneumatic biped Lucy build at Vrije University of Brussels [12]. In parallel, electric drives have been gradually developed and prevailed in antagonistic drives due to control issues when pneumatic actuators are employed [13]. To achieve variable stiffness, non-linear tendon transmission has to be designed [14]. The non-linear transmission could be obtained either by placing non-linear elastic elements ([15] and [16]) or placing linear elastic elements with a controlled system Feedback Linearization for Decoupled Position/Stiffness Control of Bidirectional Antagonistic Drives 53 dedicated to shaping non-linearity in transmission. The latter approach was employed by Migliore [17], Hurst [18], and Tonietti [19]. In this research we opted for the first approach. Although VSA is a topic of an increasing importance towards safe human-robot interaction, a limited number of VSA is available on the market due to high costs and complex mechanical design. With an idea to bring an instance of such compliant actuator to a broad audience, to researchers and academy, The Natural Motion Initiative [20] developed qbmove maker series of the actuator. Their latest prototype, qbmove maker pro is a low- cost 3D printed bidirectional spring antagonistic actuator design which is affordable and it has all features of bidirectional antagonistic VSA. All parts of the actuator are on-the-shelf and could be either purchased from The Natural Motion Initiative or their models could be downloaded from the internet free-of-charge. Furthermore, all software dedicated to real- time control of qbmove maker pro is open source [21]. A prototype of qbmove maker pro actuator and its functional scheme are depicted in Fig.1. Therefore, both motors can contribute to the overall shaft torque symmetrically. This is the basic difference when compared to the traditional antagonistic structure where each motor can contribute only in one direction due to a pulling constraint. Joint shaft and motors are coupled via non-linear springs. The non-linear force-deflection characteristic is of fundamental importance since it enables variable stiffness of the joint which depends on spring pretensions [17]. Experiments which confirm this non-linear coupling are given in [22]. Fig. 1 qbmove maker pro: prototype (left), functional scheme (right) A mathematical model of qbmove maker pro actuator is given by equations (1) - (7). Non-linearity in force-deflection characteristics causes that relatively small displacement of motors positions and/or output shaft induces a significant change in stiffness for high stiffness values. Equation (1) describes joint/shaft dynamics, equation (2)-(3) stands for motor dynamics. Resulting driving torques are given by (4)-(7). ( ) ̈ ( ̇) ̇ ̇ ( ) ( ) (1) ̈ ̇ ( ) (2) ̈ ̇ ( ) (3) ( ) ( ) ( ) (4) 54 K. JOVANOVIĆ, B. LUKIĆ, V. POTKONJAK ( ) ( ( )) (5) ( ) ( ( )) (6) ( ) ( ( )) ( ( )) (7) Actuator dynamics is specified by shaft inertia - ( ), velocity related terms (centrifugal and Coriolis) - ( ̇) ̇, viscous damping - , gravity load ( ), and overall actuator torque ( ) as a sum of both bidirectional antagonistic tendon/drive torques - ( ) and ( ). The bidirectional antagonistic drives are assumed to be symmetric with inertia – and damping term – . Note that non-linearity in the transmission given by (5) and (6) is a prerequisite for variable stiffness of qbmove maker pro actuator. Since both drives influence actuator position as well as actuator stiffness, decoupling of position and stiffness subsystem is demanding control challenge which is considered in this paper. Since our final goal to control joint stiffness, let us briefly recall the definition of joint stiffness equivalent to the stiffness of a translational spring. The force acting on the spring depends on its extension and this static dependence is defined as the spring stiffness ⁄ . Thus, the spring of length in its equilibrium position ( ) stays undeformed, whereas if the spring is extended to a length , it generates force . If this relation is linear, then we consider the spring as linear (8) and the stiffness is constant. Otherwise, the spring is considered as non-linear (9) and the stiffness is variable. Likewise, the stiffness of the robot joint (usually denoted in the literature as ⁄ ) is defined by (10), where stands for the torque generated in the joint and denotes the joint position. ( ) ⁄ (8) ( ) ( ) ( ) ⁄ (9) (10) Analogously, joint stiffness can be constant or changeable which is a desirable feature from an exploitation point of view since it enables tradeoffs between safe and precise manipulation. Since we focus on robot joints that exploit antagonism, the stiffness of such joints is presented in accordance with the source of mechanical stiffness in antagonistically coupled tendons. Therefore, the overall shaft/joint stiffness of qbmove maker pro actuator is estimated as follows in (11). For unloaded shaft, equilibrium position is given by (12). ( ) ( ( )) ( ( )) (11) (12) Feedback Linearization for Decoupled Position/Stiffness Control of Bidirectional Antagonistic Drives 55 3. FEEDBACK LINEARIZATION FOR DECOUPLED POSITION/STIFFNESS CONTROL OF BIDIRECTIONAL ANTAGONISTIC DRIVES Since both bidirectional antagonistic motors contribute to joint position and joint stiffness, static feedback linearization is employed to decouple this multivariable system into two decoupled and linearized single-input-single-output systems. The original system can be written in state-space representation - (13). ̇ ( ) ( ) (13) Here, joint and motor positions and velocities are considered as state space variables ̇ ̇ ̇ , while motor torques are considered as control inputs. Joint position and overall joint stiffness are outputs: . By straightforward application of feedback linearization [23], outputs and were differentiated until a linear relation to inputs and/or was obtained. To that end, outputs and were differentiated four times (14) and two times (15) respectively. Since the sum of the relative degrees (=4+2) of the outputs was equal to the state dimension of the system (=6), zero dynamics does not exist and all states are fully observable. ( ) ( ) (14) ( ) ( ) (15) ( ) denotes Lie derivative of ( ) along vector function ( ). Lie derivatives in cases of position and stiffness of the model representing qbmove maker pro are depicted in (16) and (17) respectively. Decoupling the matrix ( ), defined as in (18), has to be non-singular to prove controllability of the system, which is always valid for positive joint stiffness. At the same time, this is the second precondition for the application of static feedback linearization. For the sake of simplicity, the following notation is adopted: ( ( )), ( ( – )), ( ( )), and ( ( )). ( ( ( ) ) ( ̇ ̇) ( ( ) ) ( ̇ ̇) ) (16) ( ( ( ) ) ( ̇ ̇) ( ( ) ) ( ̇ ̇) ) (17) 56 K. JOVANOVIĆ, B. LUKIĆ, V. POTKONJAK [ ] [ ] (18) Finally, in accordance to [23], original input can be transformed as in (19) to achieve independent control of both the joint position and stiffness via the newly-defined intermediate input [ ] . The result of this input transformation is two linear single-input-single-output systems controlled by intermediate input which can be written in linear state space form (20). New state vector contains all output derivatives up to the highest order [ ̇ ̈ ( ) ̇] . ( * ( ) ( ) + * +) (19) ̇ (20) From (14) through (20) follows that ( ) ( ) [ ] . Thus, if we choose as the desired joint position and as the desired joint stiffness, a basic control law (21) can be applied. Accordingly, state feedback linearization allows control of both the positions and stiffness of the bidirectional antagonistic robot joint, using two totally independent linear controllers, composed of static state feedback and feed-forward action. As demonstrated in [24] and [25], the stability of the proposed control methodology (21) is ensured if the gains in are chosen so the polynomials depicted in (22) are Hurwitz's. ( ) ( ( ) ( )) ( ̈ ( )) ( ̇ ( )) ( ( )) ̈ ( ̇ ( )) ( ( )) (21) (22) Theoretically, if the desired joint positions and stiffness are smooth trajectory, asymptotic trajectory/force tracking is possible. In this paper, the desired trajectories are set manually without considering higher control levels and optimization issues. An illustrative scheme of the proposed algorithm is depicted in Fig 2. Feedback Linearization for Decoupled Position/Stiffness Control of Bidirectional Antagonistic Drives 57 Fig. 2 Decoupled position/stiffness control scheme for qbmove maker pro actuator 4. RESULTS AND DISCUSSION The mathematical model (presented in Section 2) and the presented control approach (Section 3) are implemented in user-defined dedicated Matlab/Simulink model. The validation of the proposed approach is given in Fig 3 through Fig 6. Fig 3 presents joint position tracking - the desired trajectory combines an interval of smooth increase in position for ⁄ and sine trajectory with an amplitude of ⁄ . Desired and achieved stiffness are depicted in Fig 4. Desired stiffness comprises flat and sine part of an amplitude of which is in accordance with desired trajectory to demonstrate simultaneous control of both joint position and stiffness for different trajectory patterns. Theoretically, as elaborated by Palli et al. [24], [25], if the desired joint positions are continuous up to the 4 th order ( ) , and the stiffness is planned to be continuous up to the 2 nd order ( ) , asymptotic trajectory/ force tracking is achieved. Fig 5 presents coordinated actions of two antagonistically coupled motors which contribute to the joint position but also stiffness. One can see that while the desired stiffness is constant ( ) both motors move in the same direction equally contributing to the joint position which follows its pattern. When stiffness starts changing its value motors act as follows: when joint stiffen (rise in stiffness) motors move in opposing directions while a decrease in joint stiffness results in a decrease in the difference in antagonistic motor positions. The overall resulting joint torque is depicted in Fig 6 which fits the pattern of the desired joint trajectory. Demonstrated results are obtained for parameters adopted as shown in Table 1. Control parameters (23) and (24) are adopted from [6]. ( )( ) ( ) ( ) (23) ( ) (24) 58 K. JOVANOVIĆ, B. LUKIĆ, V. POTKONJAK Table 1 Simulation parameters Label Numerical value Unit Description 0.000003 Motor inertia 0.015 Joint inertia 0.000001 [ s/rad] Motor damping 0 [ s/rad] Joint damping 6.7328 Spring coefficient 0.0227 Spring coefficient Fig. 3 Joint position tracking Fig. 4 Joint stiffness tracking Feedback Linearization for Decoupled Position/Stiffness Control of Bidirectional Antagonistic Drives 59 Fig. 5 Positions of bidirectional antagonistically coupled motors Fig. 6 Resulting joint torque as contribution of both bidirectional antagonistically coupled motors 5. CONCLUSION The paper elaborated exploitation of the stiffness control method proposed in [1] to robot joint driven by a bidirectional antagonistic actuators - qbmove maker pro actuator. Therefore, an increasing topic of variable stiffness actuation was presented. The approach which enables simultaneous decoupled control of joint position and joint stiffness was demonstrated. The concept is validated through simulations. 60 K. JOVANOVIĆ, B. LUKIĆ, V. POTKONJAK However, the key issue in the implementation of this feedback linearization based control approach is model dependence. The model itself is very complex and non-linear, so model identification must be considered comprehensively before the approach is used. Moreover, it is well known that systems that are linearized by decomposing their structure to two or more linear subsystems are prone to behave erratically when disturbed. The robustness of the presented approach is discussed by authors’ previous work [6]. To overcome the dependence on the model, alternative approaches to simultaneous position/ stiffness control of bidirectional antagonistic drives were pointed out in authors’ previous works [27] and [28], while neural networks for system modeling and feed-forward control were presented in [29]. Future work on the topic will consider the implementation of the proposed approach for stiffness control on the laboratory setup driven by qbmove maker pro actuators, on a model-based multi-jointed robot with bidirectional antagonistic drives, as well as its implementation for Cartesian stiffness control. An ultimate goal of this research is the development of a control scheme which should shape Cartesian stiffness by symbiosis of joint stiffness control and posture planning of the robot. Acknowledgment: Research leading to these results was funded by the Ministry of Education, Science and Technological Development, Republic of Serbia, under contract TR-35003. REFERENCES [1] K. Jovanovic, B. Lukic, V. Potkonjak, “Enhanced puller-follower approach for stiffness control of antagonistically actuated joints”, In Proceedings of International Conference on Electrical, Electronic and Computing Engineering (IcETRAN ’16), 13-16 Jun 2016, pp. ROI1.2.1-5. [2] A. Diamond, R. Knight, D. Devereux, O. Holland, "Anthropomimetic robots: concept, construction and modelling," International Journal of Advanced Robotic Systems, vol. 9, no. 209, pp. 1-14, 2012. [3] K. Jovanovic, V. Potkonjak, O. Holland, "Dynamic modelling of an anthropomimetic robot in contact tasks," Advanced Robotics, vol. 28, no. 11, pp. 793-806, 2014. [4] Y. Nakanishi, S. Ohta, T. Shirai, Y. Asano, T. Kozuki, Y. Kakehashi, H. Mizoguchi, T. Kurotobi, Y. Motegi, K. Sasabuchi, J. Urata, K. Okada, I. Mizuuchi, M. Inaba, "Design approach of biologically- inspired musculoskeletal humanoids", International Journal of Advanced Robotics Systems, vol. 10, no. 216, pp. 1-13, 2013. [5] S. Wittmeier, C. Alessandro, N. Bascarevic, K. Dalamagkidis, A. Diamond, M. Jäntsch, K. Jovanovic, R. Knight, H. G. Marques, P. Milosavljevic, B. Svetozarevic, V. Potkonjak, R. Pfeifer, A. Knoll, O. Holland, "Toward anthropomimetic robotics: development, simulation, and control of a musculoskeletal torso", Artificial Life, vol. 19, no. 1, pp. 171-193, 2013. [6] V. Potkonjak, B. Svetozarevic, K. Jovanovic, O. Holland, "The puller-follower control of compliant and noncompliant antagonistic tendon drives in robotic system", International Journal of Advanced Robotics Systems, vol. 8, no. 5, pp. 143-155, 2012. [7] S. C. Jacobsen, E. K. Iversen, D. Knutti, R. Johnson, K. Biggers, "Design of the Utah/M.I.T. dextrous hand", In Proceedings of IEEE International Conference on Robotics and Automation (ICRA 1986), San Francisco, CA, USA, 7-10 April 1986. pp. 1520-1532. [8] G. C. Klute, J. M. Czerniecki, B. Hannaford, "McKibben artificial muscles: pneumatic actuators with biomechanical intelligence", In Proceedings of IEEE/ASME International Conference on Advanced Intelligent Mechatronics, Atlanta, GA, USA, 19-23 September 1999, pp. 221-226. [9] B. Tondu, S. Ippolito, J. Guiochet, A. Daidie, "A seven-degrees-of-freedom robotarm driven by pneumatic artificial muscles for humanoid robots", The International Journal of Robotics Research, vol. 24, no. 4, pp. 257-274, 2005. [10] I. Boblan, J. Maschuw, D. Engelhardt, A. Schulz, H. Schwenk, R. Bannasch, I. Rechenberg, "A human- like robot hand and arm with fluidic muscles: modelling of a muscle driven joint with an antagonistic Feedback Linearization for Decoupled Position/Stiffness Control of Bidirectional Antagonistic Drives 61 setup", In Proceedings of International Symposium on Adaptive Motion in Animals and Machines, Ilmenau, Germany, 25-30 September 2005. [11] J. Yamaguchi, D. Nishino, A. Takanishi, "Realization of dynamic biped walking varying joint stiffness using antagonistic driven joints", in Proceedings of IEEE International Conference on Robotics and Automation (ICRA 1998), Leuven, Belgium, 16-20 May 1998, pp. 2022-2029. [12] B. Verrelst, R. Van Ham, B. Vanderborght, F. Daerden, D. Lefeber, "The pneumatic biped "LUCY" actuated with pleated pneumatic artificial muscles", Autonomous Robots, vol. 18, no. 2, pp. 201-213, 2005. [13] S. Ĉajetinac, D. Šešlija, V. Nikolić, M. Todorović, "Comparison of PWM control of pneumatic actuator based on energy efficiency", Facta Universitatis, Series: Electronics and Energetics, vol. 25, no. 2, pp. 93-101, 2012. [14] R. Van Ham, T. Sugar, B. Vanderborght, K. Hollander, D. Lefeber, "Compliant Actuator Design: Review of Actuator with Passive Adjustable Compliance/Controllable Stiffness for Robotic Applications", IEEE Robotics & Automation Magazine, vol. 13, no. 3, pp. 771-789, 2009. [15] K. Koganezawa, Y. Watanabe, N. Shimizu, "Stiffness and angle control of antagonistically driven joint", Advanced Robotics, vol. 12, no. 7-8, pp. 81-94, 1997. [16] C. English, D. Russell, "Implementation of variable joint stiffness through antagonistic actuation using rolamite springs", Mechanism and Machine Theory, vol. 34, no. 1, pp. 27-40, 1999. [17] S. Migliore, E. Brown, S. DeWeerth, "Biologically inspired joint stiffness control", In Proceedings of IEEE International Conference on Robotics and Automation (ICRA ’05), 18-22 April 2005, pp. 4508-4513. [18] J. Hurst, J. Chestnutt, A. Rizzi , "An actuator with physically variable stiffness for highly dynamic legged locomotion", In Proceedings of IEEE International Conference on Robotics and Automation (ICRA 2004), New Orleans, LA, USA, 26 April-1 May 2004, pp. 4662-4667. [19] G. Tonietti, R. Schiavi, A. Bicchi, "Design and control of a variable stiffness actuator for safe and fast physical human/robot interaction", In Proceedings of IEEE International Conference on Robotics and Automation (ICRA 2005), Barcelona, Spain, 18-22 April 2005. pp. 526-531. [20] M. Catalano, G. Grioli, M. Garabini, F. Bonomo, M. Mancini, N. Tsagarakis and A. Bicchi, “VSA-CubeBot: a modular variable stiffness platform for multiple degrees of freedom robots”, In Proceedings of IEEE International Conference on Robotics and Automation (ICRA ’11), 9-13 May 2011. pp. 5090 - 5095. [21] Natural Motion Machine Initiative (NMMI) [QBmove maker pro assembly guide], Last accessed November 13th, 2016 – https://sourceforge.net/projects/nmmiwebsite/files/qbmovev01/Assembly%20guide%20V01.pdf/ download [22] K. Melo, M. Garabini, G. Grioli, M. Catalano, L. Malagia, A. Bicchi, “Open Source VSA-CubeBots for Rapid Soft Robot Prototyping”, Robot Makers - Workshop in conjunction with 2014 Robotics Science and Systems Conference, Berkeley, California, USA, July 12, 2014. [23] H. K Khalil, "Chapter 13: State Feedback Stabilization," in Nonlinear Systems, 3rd Edition, Upper Saddle River, New Jersey, USA, Prentice Hall, 2002, pp. 197-227. [24] G. Palli, C. Melchiorri, A. De Luca, "On the feedback linearization of robots with variable joint stiffness", In Proceedings of IEEE International Conference on Robotics and Automation (ICRA 2008), Pasadena, CA, USA, 19-23 May 2008. pp. 1753-1759. [25] G. Palli, C. Melchiorri, T. Wimböck, M. Grebenstein, G. Hirzinger, "Feedback linearization and simultaneous stiffness-position control of robots with antagonistic actuated joints", In Proceedings of IEEE International Conference on Robotics and Automation (ICRA '07), Rome, Italy, 10-14 April 2007. pp. 4367-4372. [26] B. Lukić, K. Jovanović, A, Rakić, “Realization and Comparative Analysis of Coupled and Decoupled Control Methods for Bidirectional Antagonistic Drives: QBmove maker pro,” presentedat the 3 rd International Conference on Electrical, Electronic and Computing Engineering (IcETRAN 2016), Zlatibor, Serbia, Jun 13-16, 2016. [27] B. Lukić, K. Jovanović, “Minimal Energy Cartesian Impedance Control of Robot with Bidirectional Antagonistic Drives,” In Proceedings of the IFTOMM/IEEE/EUROBOTICS 25 th International Conference On Robotics InAlpe-Adria-Danube Region – RAAD 2016, Belgrade, June 30 th - July 2 nd 2016. [28] B. Lukić, K. Jovanović, G. Kvašĉev, “Feedforward Neural Network for Controlling Qbmove Maker Pro Variable Stiffness Actuator”, In Proceedings of the 13th Symposium on Neural Networks Applications in Electrical Engineering (NEUREL 2016), Belgrade, Serbia, November, 2016.