Article Contents
Sumi Phukan, Chitralekha Mahanta. A Position Synchronization Controller for Co-ordinated Links (COOL) Dual Robot Arm Based on Integral Sliding Mode: Design and Experimental Validation. International Journal of Automation and Computing. doi: 10.1007/s11633-020-1242-3
Cite as: Sumi Phukan, Chitralekha Mahanta. A Position Synchronization Controller for Co-ordinated Links (COOL) Dual Robot Arm Based on Integral Sliding Mode: Design and Experimental Validation. International Journal of Automation and Computing. doi: 10.1007/s11633-020-1242-3

A Position Synchronization Controller for Co-ordinated Links (COOL) Dual Robot Arm Based on Integral Sliding Mode: Design and Experimental Validation

Author Biography:
  • Sumi Phukan received the B. Eng. degree from Electrical and Electronics Engineering Department, NETES (North East Technical Education Society) Institute of Technology and Science Mirza, India in 2013. Currently, she is a Ph. D. degree candidate in Electronics and Electrical Engineering Department, Indian Institute of Technology Guwahati, India. Her research interests include sliding mode control and controller design for robotic manipulators. E-mail: (Corresponding author) ORCID iD: 0000-0003-4990-5356

    Chitralekha Mahanta received the Ph. D. degree in control from Indian Institute of Technology (IIT) Delhi, India in 2000. She joined as an assistant professor in Department of Electronics and Communication Engineering (ECE), IIT Guwahati, India in 2000. Since then, she has been involved in active research in the area of control theory and its applications. She has offered a variety of courses in undergraduate and post graduate studies in the field of control systems at IIT Guwahati, India. She has been a full time professor in Department of Electronics and Electrical Engineering (EEE), IIT Guwahati since April 2012, starting her research at IIT Guwahati, India in the field of intelligent control. Currently, she is involved in the areas of robust and adaptive control with applications in robotics and flight control. She is a senior member of IEEE and a fellow of the Institution of Electronics and Telecommunication Engineers (IETE). Her research interests include control of nonlinear uncertain systems, sliding mode control of underactuated systems specific to humanoid robot arm, actuator failure tolerant control design for nonlinear systems with application in aircraft control. E-mail:

  • Received: 2020-03-11
  • Accepted: 2020-06-16
  • Published Online: 2020-10-21
通讯作者: 陈斌,
  • 1. 

    沈阳化工大学材料科学与工程学院 沈阳 110142

  1. 本站搜索
  2. 百度学术搜索
  3. 万方数据库搜索
  4. CNKI搜索

Figures (14)  / Tables (3)


Abstract Views (11) PDF downloads (5) Citations (0)

A Position Synchronization Controller for Co-ordinated Links (COOL) Dual Robot Arm Based on Integral Sliding Mode: Design and Experimental Validation

Abstract: In this study, a simple position synchronization control algorithm based on an integral sliding mode is developed for dual-arm robotic manipulator systems. A first-order sliding surface is designed using cross-coupling error in order to ensure position synchronization of dual-arm manipulators. The design objective of the proposed controller is to ensure stability as well as to synchronize the movement of both arms while maintaining the trajectory as desired. The integral sliding mode eliminates the reaching phase and guarantees robustness throughout the whole operating period. Additionally, a low pass filter is used to smoothen the discontinuous element and minimize unwanted chattering. Lyapunov stability theory is utilized to prove the asymptotic stability of the controlled system. Simulation studies are performed to validate the proposed controller′s effectiveness. Also, to investigate the possibility of realizing the proposed dynamic control method in practical applications, experiments are conducted on a 14DoF coordinated links (COOL) dual-arm robotic manipulator system. Experimental evidence indicates adequate efficiency in trajectory tracking and guarantees robustness in the presence of parametric uncertainty and external disturbance.

Sumi Phukan, Chitralekha Mahanta. A Position Synchronization Controller for Co-ordinated Links (COOL) Dual Robot Arm Based on Integral Sliding Mode: Design and Experimental Validation. International Journal of Automation and Computing. doi: 10.1007/s11633-020-1242-3
Citation: Sumi Phukan, Chitralekha Mahanta. A Position Synchronization Controller for Co-ordinated Links (COOL) Dual Robot Arm Based on Integral Sliding Mode: Design and Experimental Validation. International Journal of Automation and Computing. doi: 10.1007/s11633-020-1242-3
    • The use of robots has evolved very extensively in the last few years. Nowadays, robots are used and studied in a wide variety of fields, starting from industry, laboratory, space, and underwater exploration tools to educational and assistive robotics. Such enormous advancements in robots, both in terms of design and usability, have developed robotics into an extensively researched topic[14]. A significant branch of robotics is humanoid robotics involving robot manipulators or robot arms having similar functions to the human arm. These humanlike robot manipulators have been widely used in industrial and medical applications such as welding, surgery, etc. Humanoid robots typically have two arms, which allow dual-arm manipulation. Many tasks are very difficult or even impossible to achieve with just one arm. A dual-arm set-up is required for complicated operations and may be helpful for sharing loads and handling of heavy items. Recently, the ability of dual-arm manipulation for industrial production set-ups has also been established.

      Recent developments in humanoid and bi-manual industrial manipulators have prompted an increased interest in dual robotic manipulator systems. The use of dual-arm manipulators started around 1940. Dual or multi-arm manipulation requires a high level of planning as well as advanced control approaches to carry out a common task and all manipulators must be coordinated throughout the entire process. This coordination requirement for dual and multi-arm manipulation has introduced many challenges which do not arise in the single-arm manipulation case and attracted several research communities such as biology[5], artificial intelligence[6], control of mobile robots[7, 8]. The majority of conventionally developed coordinated and cooperative control algorithms for multiple robotic manipulator systems (MRMS) require a complicated set-up of hybrid position/force control architecture and internal force measurement. However, the estimation of internal forces is not easy in the real world.

      It can be observed from the previous research related to coordination of multi-agent systems that as compared to the conventional coordinated and cooperative control schemes, position synchronization control is more straightforward and easier to implement. Moreover, in this control scheme, internal force measurement is not required. For these reasons, several researchers have been studying position synchronization control for MRMS coordination in recent years[912]. In [13], an adaptive synchronization controller is designed for MRMS to perform assembly tasks. The position synchronization of cooperative manipulators was accomplished by using an exact model controller together with nonlinear velocity observers in [14]. For MRMS, Zhu[15] has built a robust adaptive position synchronization controller based on a terminal sliding mode to ensure finite-time convergence of both synchronization errors and tracking errors. In [16], coordination issues between multiple rope-climbing robots have been addressed by designing a synchronization control scheme such that each robot moves to the corresponding desired position while synchronizing the heights between each other. A synchronization control scheme based on a cross-coupling concept has been suggested in [17] for cable driven parallel robots. However, system uncertainty has been neglected in the above studies. The sliding mode control (SMC) is a robust, nonlinear control approach that is simple and easy to implement[18, 19]. Moreover, SMC can deal with matched system uncertainties. Taking this into consideration, a conventional sliding mode control approach has been combined with position synchronization in [20]. Nonetheless, information of acceleration in controller design is required here, which can be practically difficult to determine. For synchronization control of multiple motors, a second order adaptive SMC and an adaptive robust H-infinity control scheme have been proposed in [21] and [22] respectively based on deviation coupling control (DCC). However, the effectiveness of DCC is limited in many industrial applications because of the complexity of system non-linearity and parameter identification. Moreover, the H-infinity technique requires complex mathematical understanding and a reasonably good model of the system to be controlled. Further, Fathallah et al.[23] designed a synchronization controller of multi-robot manipulators based on a higher order sliding mode control. Liu and Chopra[24] have proposed a passivity based adaptive controller for multi-robot systems that can tackle both time-varying communication delays and uncertain dynamics. Wang[25] and Zhao et al.[26] studied another passivity based synchronization controller that could address both kinematic and dynamic uncertainty. An integral sliding mode controller (ISMC) was utilized in [27], but was limited to a single robotic manipulator only.

      All these studies have dealt with the position synchronization issue of MRMS. Inspired by the above observations and realizing the importance of dual-arm manipulators, this paper aims to develop a new position synchronization controller based on the integral sliding mode control for the coordination of dual-arm robotic manipulator systems. The main contributions of this paper are listed below:

      1) This study proposes a robust and effective control approach which can address system stability as well as the synchronization issue of multi-robot systems.

      2) The integral sliding mode control has been utilized for controller design, which eliminates the reaching phase and ensures insensitivity to lumped system uncertainties over the entire system response.

      3) By incorporating the cross-coupling technique, the proposed controller guarantees asymptotic and simultaneous convergence of both position errors and synchronization errors.

      4) In addition, a first-order low pass filter (LPF) has been utilized to reduce unwanted chattering.

      In summary, the proposed study combines several concepts together to develop a simple, robust and synchronized control scheme with reduced chattering for dual-arm robotic manipulator systems.

      This paper is arranged as follows: Section 2 deals with the mathematical background of the problem. The design procedure and stability analysis of the proposed controller are carried out in Section 3. Section 4 provides a brief description of the experimental set-up and torque to position converter. Section 5 demonstrates and analyses the simulation and experimental results. In Section 6, conclusions are drawn.

    • Considering the total number of identical robotic manipulators to be n, the dynamics in m-dimensional joint space for the i-th manipulator is given by

      ${{{M}}_{{i}}}({{{q}}_{{i}}}){{\ddot{ q}}_{{i}}} + {{{C}}_{{i}}}({{{q}}_{{i}}},{{\dot{ q}}_{{i}}}){{\dot{ q}}_{{i}}} + {{{G}}_{{i}}}({{{q}}_{{i}}}) = {{{\tau }}_{{i}}} + {{{d}}_{{i}}} $


      where ${{{q}}_{{i}}},{{\dot{ q}}_{{i}}} \in {{\bf{R}}^{{m}}}$ denote angular position and velocity of the joints of i-th robotic manipulator respectively, ${{{\tau }}_{{i}}} \in {{\bf{R}}^{{m}}}$ denotes the input torque, ${{{M}}_{{i}}}({{{q}}_{{i}}}) \in {{\bf{R}}^{{{m}} \times {{m}}}}$ represents the symmetric positive definite inertia matrix, ${{{C}}_{{i}}}({{{q}}_{{i}}},{{\dot{ q}}_{{i}}}) \in {{\bf{R}}^{{{m}} \times {{m}}}}$ stands for Coriolis and centripetal force matrix, ${{{G}}_{{i}}}({{{q}}_{{i}}}) \in {{\bf{R}}^{{m}}}$ is gravitational force and ${{{d}}_{{i}}} \in {{\bf{R}}^{{m}}}$ implies lumped system uncertainty.


      $ {{{x}}_{{i}}} = {{{h}}_{{i}}}({{{q}}_{{i}}}) $



      $ {{\dot{ x}}_{{i}}} = {{{J}}_{{i}}}({{{q}}_{{i}}}){{\dot{ q}}_{{i}}}$


      where ${{{x}}_{{i}}} \in {{\bf{R}}^{{m}}}$ is a Cartesian coordinate vector, ${{{h}}_{{i}}}({{{q}}_{{i}}}) \in {{\bf{R}}^{{m}}}$ is the transform function that transfers joint space coordinates into Cartesian space coordinates, ${{{J}}_{{i}}}({{{q}}_{{i}}}) \in {{\bf{R}}^{{{m}} \times {{m}}}}$ is Jacobian matrix, and i = 1, 2, ··· , n.

      Now, dynamics of the i-th robotic manipulator in Cartesian space is given as

      $\begin{split} {{{M}}_{{i}}}({{{q}}_{{i}}}){{J}}_{{i}}^{ - {{1}}}{{{\ddot{x}}}_{{i}}} + \;& ({{{C}}_{{i}}}({{{q}}_{{i}}},{{{\dot{ q}}}_{{i}}}) - {{{M}}_{{i}}}({{{q}}_{{i}}}){{J}}_{{i}}^{ - {{1}}}{{{\dot{ J}}}_{{i}}}){{J}}_{{i}}^{ - {{1}}}{{{\dot{ x}}}_{{i}}}+\\ & {{{G}}_{{i}}}({{{q}}_{{i}}}) = {{{\tau }}_{{i}}} + {{{d}}_{{i}}}. \end{split}$


      From (4), the dynamic equation of n robotic manipulator systems can be written as

      $\begin{split} {{M}}({{q}}){{{J}}^{ - {{1}}}}{\ddot{ x}} +\;& ({{C}}({{q}},{\dot{ q}}) - {{M}}({{q}}){{{J}}^{ - {{1}}}}{\dot{ J}}){{{J}}^{ - {{1}}}}{\dot{ x}} +\\ & {{G}}({{q}}) = {{\tau }} + {{d}} \end{split} $


      where ${{q}} = \left\{ {{{{q}}_{{i}}}} \right\} \in {{\bf{R}}^{{{mn}}}}$, ${{x}} = \left\{ {{{{x}}_{{i}}}} \right\} \in {{\bf{R}}^{{{mn}}}}$, ${{M}}({{q}}) =$ $\left\{ {{{{M}}_{{i}}}({{{q}}_{{i}}})} \right\} \in {{\bf{R}}^{{{mn}} \times {{mn}}}}$, ${{C}}({{q}},{\dot{ q}}) = \left\{ {{{{C}}_{{i}}}({{{q}}_{{i}}},{{{\dot{ q}}}_{{i}}})} \right\} \in$ ${{\bf{R}}^{{{mn}} \times {{mn}}}}$, ${{G}}({{q}}) = \left\{ {{{{G}}_{{i}}}({{{q}}_{{i}}})} \right\} \in {{\bf{R}}^{{{mn}}}}$, ${{d}} = \left\{ {{{{d}}_{{i}}}} \right\} \in$ ${{\bf{R}}^{{{mn}}}}$, ${{\tau }} = \left\{ {{{{\tau }}_{{i}}}} \right\} \in {{\bf{R}}^{{{mn}}}}$, ${{J}} = \left\{ {{{{J}}_{{i}}}} \right\} \in {{\bf{R}}^{{{mn}} \times {{mn}}}}.$

      The following expression is used for simplicity:

      $ {{\psi }} = ({{C}}({{q}},{\dot{ q}}) - {{M}}({{q}}){{{J}}^{ - {{1}}}}{\dot{ J}}){{{J}}^{ - {{1}}}}{\dot{ x}} + {{G}}({{q}}) . $


      Substituting (6) in (5) gives

      $ {{M}}({{q}}){{{J}}^{ - {{1}}}}{\ddot{ x}} + {{\psi }} = {{\tau }} + {{d}}. $


      Now, position error e is defined as

      $ {{e}} = {{x}} - {{{x}}^{{d}}} . $


      In (8), ${{x}} =$ ${\left[ {\begin{array}{*{20}{c}}{{{x}}_{{1}}^{\rm{T}}}\cdots{{{x}}_{{n}}^{\rm{T}}}\end{array}} \right]^{\rm{T}}} \in {{\bf{R}}^{{{mn}}}}$ denotes actual position vector, ${{{x}}^{{d}}} =$ ${\left[ {\begin{array}{*{20}{c}}{{{({{x}}_{{1}}^{{d}})}^{\rm{T}}}\cdots} {{{({{x}}_{{n}}^{{d}})}^{\rm{T}}}}\end{array}} \right]^{\rm{T}}} \in {{\bf{R}}^{{{mn}}}}$ is desired position vector and ${{e}} = {\left[ {\begin{array}{*{20}{c}}{{{e}}_{{1}}^{\rm{T}}}\cdots{{{e}}_{{n}}^{\rm{T}}}\end{array}} \right]^{\rm{T}}} \in {{\bf{R}}^{{{mn}}}}$ implies position error vector.

      To simplify the design of the controller, synchronization of each neighboring manipulator pair is presumed to result in synchronization of all the robotic manipulators involved in the system. Based on the above assumption, synchronization errors ${{{\varepsilon }}_{{1}}},{{{\varepsilon }}_{{2}}},\cdots,{{{\varepsilon }}_{{n}}}$ can be formulated as

      $ \begin{array}{*{20}{c}} {{{{\varepsilon }}_{{1}}} = {{{e}}_{{1}}} - {{{e}}_{{2}}}}\\ {{{{\varepsilon }}_{{2}}} = {{{e}}_{{2}}} - {{{e}}_{{3}}}}\\ \vdots \\ {{{{\varepsilon }}_{{n}}} = {{{e}}_{{n}}} - {{{e}}_{{1}}}}. \end{array} $


      Expression (9) can be written as

      ${{\varepsilon }} = {{Te}} $


      $ \left[\!\! {\begin{array}{*{20}{c}} {{\varepsilon _1}}\\ {{\varepsilon _2}}\\ \vdots \\ {{\varepsilon _n}} \end{array}}\!\! \right] = \left[ {\begin{array}{*{20}{c}} I&{ - I}&0& \ldots &0\\ 0&I&{ - I}& \ldots &0\\ \vdots & \vdots & \vdots & \ddots & \vdots \\ { - I}&0&0& \ldots &I \end{array}} \right] \left[\!\! {\begin{array}{*{20}{c}} {{e_1}}\\ {{e_2}}\\ \vdots \\ {{e_n}} \end{array}} \!\!\right]$


      where the synchronization error vector is represented by ${{\varepsilon }} = {\begin{bmatrix}{{{\varepsilon }}_{{1}}^{\rm{T}}\cdots}\;{{{\varepsilon }}_{{n}}^{\rm{T}}}\end{bmatrix}^{\rm{T}}} \in {{\bf{R}}^{{{mn}}}}$. Further, ${{T}} \in {{\bf{R}}^{{{mn}} \times {{mn}}}}$ and ${{I}} \in {{\bf{R}}^{{{m}} \times {{n}}}}$ denote transformation matrix and identity matrix respectively.

      Now, the cross-coupling error is defined as

      $ {{E}} = {{e}} + {{\beta \varepsilon }} = ({{I}} + {{\beta T}}){{e}} $


      where ${{E}} \in {{\bf{R}}^{{{mn}}}}$ represents the cross-coupling error, ${{\beta }} = {{{\rm{diag}}}}\begin{bmatrix}{{{{\beta }}_{{1}}}\cdots}\;{{{{\beta }}_{{{mn}}}}}\end{bmatrix} \in {{\bf{R}}^{{{mn}} \times {{mn}}}}$ is a positive-definite diagonal matrix. If ${{\beta }}$ is selected appropriately, $({{I}} + {{\beta T}})$ can be positive definite with full rank or $|({{I}} + {{\beta T}})| \ne {{0}}$. This implies that ${{E}}$ is a linear combination of ${{e}}$ and $ {{\varepsilon }} $. Hence, ${{E}} = {{0}}$ results in ${{e}} = {{0}}$ and simultaneously ${{\varepsilon }} = {{0}}$ from (10). Therefore, MRMS synchronization can be condensed into a problem of controller design, which merely requires ${{E}}$ to converge to zero asymptotically.

    • The control input ${{\tau }}$ is formulated according to the design principle of ISMC[28] as

      $ {{\tau }} = {{{\tau }}_{{0}}} + {{{\tau }}_{{1}}} $


      where ${{{\tau }}_{{0}}}$ and ${{{\tau }}_{{1}}}$ denote nominal control and discontinuous control respectively. Using computed torque control method, ${{{\tau }}_{{0}}}$ is constructed as

      $\begin{split} {{{\tau }}_{{0}}} =\; & {{\psi }} - {{M}}({{q}}){{{J}}^{ - {{1}}}}{({{I}} + {{\beta T}})^{ - {{1}}}}({{{K}}_{{P}}}{{E}} + {{{K}}_{{D}}}{\dot{ E}})+\\ & {{M}}({{q}}){{{J}}^{ - {{1}}}}{{{\ddot{ x}}}^{{d}}} \end{split} $


      where ${{{K}}_{{P}}},{{{K}}_{{D}}} \in {{\bf{R}}^{{{mn}} \times {{mn}}}}$ represent positive definite diagonal matrices.

      If the lumped system uncertainty vector ${{d}}$ is zero, then substituting nominal control ${{{\tau }}_{{0}}}$ into dynamic equation (7) yields

      $ {\ddot{ E}} + {{{K}}_{{D}}}{\dot{ E}} + {{{K}}_{{P}}}{{E}} = {{0}} .$


      It should be noted that ${{{\tau }}_{{0}}}$ differs from a traditional torque control method, because cross-coupling error is used to resolve the synchronized control instead of position error.

      Unlike conventional SMC, here sliding manifold ${{s}}$ is designed as a combination of two parts as shown in (16). The first term ${{{s}}_{{0}}}$ is similar to conventional SMC, and the second term ${{z}}$ induces the integral part.

      $ {{s}} = {{{s}}_{{0}}} + {{z}} $


      $ {{{s}}_{{0}}} = {\dot{ E}} + {{\varLambda E}}\tag{16a} $

      $ {\dot{z}} = - ({{I}} + {{\beta T}})[{{{H}}^{ - {{1}}}}({{{\tau }}_{{0}}} - {{\psi }}) - {{\ddot{ x}}^{{d}}}] - {{\varLambda}} {\dot{ E}}\tag{16b}$

      where ${{H}} = {{M}}(q){{{J}}^{ - {{1}}}}$ and ${{\varLambda }} \in {{\bf{R}}^{{{mn}} \times {{mn}}}}$ is a positive-definite diagonal matrix.

      To remove the reaching phase, set ${{s}}({{0}}) = {{0}}$. From (16),

      $ {{z}}({{0}}) = - {\dot{ E}}({{0}}) - {{\varLambda E}}({{0}})\tag{16c}.$

      Setting ${{s}}({{0}}) = {{0}}$ or expression (16c) ensures that the reaching phase is eliminated and sliding mode will exist from the initial time instant.

      Now, once the plant states are confined to the sliding manifold ${{s}} = {{0}}$, the equivalent control ${{{\tau }}_{{{1}}{{eq}}}}$ is obtained by setting ${\dot{ s}} = {{0}}$.

      $ \begin{split} {\dot{ s}} =\; & ({{I}} + {{\beta T}})[{{{H}}^{ - {{1}}}}({{{\tau }}_{{0}}} + {{{\tau }}_{{1}}} + {{d}} - {{\psi }}) - {{{\ddot{ x}}}^{{d}}}]+\\ &{{\varLambda}} {\dot{ E}} + {\dot{ z}} = 0 \end{split}$


      ${{{\tau }}_{{1}}} = - {{d}} = {{{\tau }}_{{{1}}{{eq}}}}.\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad\quad$


      A discontinuous control ${{{\tau }}_{{1}}}$ is designed to eliminate system uncertainties as

      $ {{{\tau }}_{{1}}} = \left\{ {\begin{array}{*{20}{l}} { - \dfrac{{{{({{{s}}^{\rm{T}}}({{I}} + {\beta {T}}){{{H}}^{ - {{1}}}})}^{\rm{T}}}}}{{{{\left\| {{{{s}}^{\rm{T}}}({{I}} + {\beta {T}}){{{H}}^{ - {{1}}}}} \right\|}^{{2}}}}}{{w}}},& {\rm{if}}&{\left\| {{s}} \right\| \ne {{0}}}\\ {{0}},&{\rm{if}}&{\left\| {{s}} \right\| = {{0}}} \end{array}} \right. $


      where ${{w}} = \left\| {{{{s}}^{\rm{T}}}} \right\|\left\| {({{I}} + {{\beta T}}){{{H}}^{ - {{1}}}}} \right\|{{\eta }} .$

      Substituting control law ${{\tau }} = {{{\tau }}_{{0}}} + {{{\tau }}_{{{1}}{{eq}}}}$ into dynamic equation (7), (15) is obtained. However, since ${{{\tau }}_{{{1}}{{eq}}}}$ depends on some unknown perturbation, it is not practically suitable to utilize it. Also, despite the capability of eliminating the effect of lumped system uncertainty, the discontinuous control ${{{\tau }}_{{1}}}$ is not directly applicable to robotic manipulators due to chattering. There are many techniques available in the literature to tackle the chattering problem, such as boundary layer saturation method[2931], higher order SMC (HOSMC) method[32, 33], etc. However, use of the continuous function in boundary layer saturation method decreases the system robustness. Moreover, the HOSMC approach usually complicates the calculation program of controllers, which may further reduce the system response speed. In this study, (18) implies that the equivalent control corresponds to the perturbation term. The system perturbation can be compensated completely, if the exact equivalent control can be obtained. However, it is not possible to obtain the exact equivalent control, mainly due to model uncertainties. The equivalent value of a discontinuous control has been found to be equal to the average value calculated by a first-order LPF with its input as discontinuous control. A first-order LPF has been utilized here to extract the equivalent control from the discontinuous control term and to reduce chattering. Moreover, the first order LPF technique can avoid the disadvantages of conventional boundary layer design method and HOSMC approach. In [19], it is shown that while the plant states are on the sliding surface, the equivalent control output coincides with the slow component of the discontinuous term. Hence, the time constant of the LPF should be made sufficiently small to prevent disruption of the slow component, yet large enough to reject the high frequency components. There is a trade-off between system robustness and reduction in chattering by tuning the time constant, selection of this time constant is sometimes difficult. Moreover, in practical applications, use of LPF to obtain the equivalent control may produce some delay.

      The expression for the first order LPF with ${{{\tau }}_{{{1}}{{av}}}}$ as its output is

      $ {{\mu }}{{\dot{ \tau }}_{{{1}}{{av}}}} + {{{\tau }}_{{{1}}{{av}}}} = {{{\tau }}_{{1}}} $


      where ${\mu }$ is time constant.

      Assumption 1. ${{M}}({{q}})$ is invertible for all q and $\left\| {{{M}}({{q}})} \right\| <$p, p is a positive number.

      Assumption 2. $ \left\| {{{C}}({{q}},{\dot{ q}})} \right\| < $c for all q, c is a positive number.

      Assumption 3. $ \left\| {{{G}}({{q}})} \right\| < $ g for all q, g is a positive number.

      Assumption 4. ${{J}}$ is invertible for all q, $ \left\| {{J}} \right\| < $ $ j_1 $, $ \left\| {{{{J}}^{ - {{1}}}}} \right\| < $$ j_2 $, $ \left\| {{\dot{ J}}} \right\| < $ $ j_3 $, and $ j_1,\; j_2,\; j_3 $ are positive numbers.

      Assumption 5. $ \left\| {{d}} \right\| < $ $ \eta,\; \eta $ is a positive number.

      Assumption 6. $ {{x}},\;{\dot{ x}},{{q}},\;{\dot{ q}} $ are measurable quantities.

      Remark 1. Assumptions 1–5 are reasonable. All signals of the closed-loop system (5) will be bounded if the suggested controller is effective. Under these bounded signals, Assumptions 1–5 must hold.

      Remark 2. Although in mechanical design and trajectory planning, the singularity of J can be avoided, Assumption 4 is reasonable. Using pseudo inverse J in practice is more efficient.

    • Let us define a positive definite Lyapunov function ${{V}}$ as

      $ {{V}} = \frac{{{1}}}{{{2}}}{{{s}}^{\rm{T}}}{{s}}.$


      Time derivative of ${{V}}$ gives

      $ {\dot{V}} \!=\! {{{s}}^{\rm{T}}}\left\{ {({{I}} \!+\! {{\beta T}})[{{{H}}^{ - {{1}}}}({{{\tau }}_{{0}}} \!+\! {{{\tau }}_{{1}}} \!+\! {{d}} \!- \!{{\psi }})\! -\! {{{\ddot{ x}}}^{{d}}}] \!+\! {{\Lambda}} {\dot{ E}} \!+ \!{\dot{ z}}} \right\} .$


      Substituting (16b) into (22), one gets

      $ {\dot{ V}} = {{{s}}^{\rm{T}}}({{I}} + {{\beta T}})({{{H}}^{ - {{1}}}}({{{\tau }}_{{1}}} + {{d}}))$


      $ {\dot{ V}} \le {{{s}}^{\rm{T}}}({{I}} + {{\beta T}}){{{H}}^{ - {{1}}}}{{{\tau }}_{{1}}} + \left\| {{{{s}}^{{{\rm{T}}}}}} \right\|\left\| {({{I}} + {{\beta T}}){{{H}}^{ - {{1}}}}} \right\|\left\| {{d}} \right\| . $


      Substituting ${{{\tau }}_{{1}}}$ into (24) gives

      $ {\dot{ V}} \le - \left\| {{{{s}}^{\rm{T}}}} \right\|\left\| {({{I}} + {{\beta T}}){{{H}}^{ - {{1}}}}} \right\|({{\eta }} - \left\| {{d}} \right\|) . $


      Considering Assumption 5, inequality (25) may be expressed as

      $ {\dot{ V}} \le - {{k}}\left\| {{{{s}}^{\rm{T}}}} \right\| < {{0}},\;\;\;{\kern 1pt} {\rm{for}}\;\left\| {{s}} \right\| \ne {{0}} $


      where ${{k}} = \left\| {({{I}} + {{\beta T}}){{{H}}^{ - {{1}}}}} \right\|({{\eta }} - \left\| {{d}} \right\|) > {{0}}.$

      The above equation (26) implies that s → 0 in finite time. The finite time reachability of the sliding variable has been proved. Now according to the sliding condition[34], once the system states are confined to the prespecified sliding manifold s = 0, they can slide towards the origin along the sliding surface s. Since in this study, the sliding manifold is constructed in cross-coupling error space, the cross-coupling error ${{E}}$ will converge to zero asymptotically along s, i.e., $E $ → 0 as t → ∞. The initial condition (16c) removes the reaching phase, meaning sliding mode starts from the starting time instant. Further, from (10) and (12), it can be shown that e → 0 and ε → 0 as t → ∞. This proves that both position errors and synchronization errors converge to zero asymptotically.

    • The hardware used as the experimental test-bed is a COOL 14 degrees of freedom (DoF) dual robot arm, with each arm having 7 joints as shown in Fig. 1. The parameter values of the robot arm are provided in Table 1.

      Figure 1.  The COOL robot arm

      Joint No. Link mass (kg) Link length (m)
      1L/1R 0.6 0.025
      2L/2R 0.32 0.110
      3L/3R 0.23 0.060
      4L/4R 0.23 0.080
      5L/5R 0.13 0.070
      6L/6R 0.13 0.082
      7L/7R 0.18 0.081

      Table 1.  Parameters of the COOL robot arm

      The terms L and R in Fig. 1 and Table 1 indicate the left and the right arm respectively. All the manipulator joints can be operated together or in different combinations by keeping the non-operating joints locked in one position. This allows each of the arms to be operated with any number of DoFs between 1 to 7 and also allows the arm to have different configurations depending upon the values of the angles the joints are fixed at. The robot arm joints are fitted with servos of the Dynamixel RX-28 and the Rx-64 series.

      The laboratory set-up used for conducting experiments on the COOL dual robot arm is shown in Fig. 2. The program is written using an Intel(R) Core(TM) i5-4570 CPU 3.20 GHz processor desktop PC with 8GB RAM on Windows 10 platform. Communication between the PC and the robot arm is carried out via a communication device called USB2Dynamixel, which is connected to the PC′s USB port. Further, 3P and 4P connectors are installed in the USB2Dynamixel to connect the Dynamixel motors. The control algorithm and the communication between the PC and the arm are executed using Python programming.

      Figure 2.  Experimental set-up

      For simplicity, only two joints of each robot arm, i.e., joint number 1R and 4R for the right arm and joint number 1L and 4L for the left arm are considered, and other joints are kept locked. The mathematical model of the resulting 2DoF planar robotic manipulator is given in Appendix.

      The desired trajectory of each robot end-effector is designed as

      $ x_i^d = \begin{bmatrix} 1 + 0.2 {\rm{sin}} (0.5\pi t) \\ 1 - 0.2 {\rm{cos}} (0.5\pi t) \end{bmatrix} .$

      The goal is to move each robot arm along its desired trajectory while keeping a constant separation between the arms of the robot manipulator.

      The parameters of the controller are selected using a trial and error method as ${{{K}}_{{P}}} \!=\! {\rm{diag}}\{ {{10}}\}$, ${{{K}}_{{D}}} \!=\! {\rm{diag}}\{ {{10}}\}$, ${{\beta }} = {\rm{diag}}\{ {{8}}\}$, ${{\varLambda }} = {\rm{diag}}\{ {{10}}\}$, ${{\eta }} = {{5}}$ and ${{\mu }} = {{0}}.{{01}}$.

      The block diagram of the proposed controller is shown in Fig. 3.

      Figure 3.  Block diagram of the proposed control approach

    • Robot manipulators with direct torque controlled joints are generally expensive as they require very low friction and zero backlash in the gearbox. As a result, the majority of the industrial and commercially available manipulators are position controlled. Joints of these manipulators are equipped with servos that have built-in position controllers whose input and feedback quantities are positions. Such manipulators can be operated using position command only and so can be termed as position controlled manipulators. The experimental set-up, i.e., 14DoF COOL dual-arm robotic manipulator that has been used in this study, is also a position controlled manipulator. Hence, a torque to position converter is very much required for applying the proposed algorithm on this manipulator system.

      Due to its simple design theory, the proportional-integral-derivative (PID) controller is the most commonly used controller in the servo system. In the literature, it is found that in RX-28 and the RX-64 servos, the proportional (P) control plays the dominant part. Therefore, I and D gains in Dynamixel RX-28 and RX-64 were made zero to facilitate a simpler implementation of the torque to position conversion, running the motors only with P control.

      The DC motor′s electrical time constant in RX-28 is 0.025 ms, and that of RX-64 is 0.032 ms, which is significantly lower than their mechanical time constants 6.25 ms and 6.72 ms respectively. Hence for both the motors, the mechanical dynamics are the prominent part that can be expressed as

      $ \frac{J}{k_g}\ddot q+\frac{B}{k_g}\dot q = \tau-\tau_l $


      where $ q $ denotes angular position, $ \dot q $ is speed and $ \ddot q $ represents acceleration of the gear shaft. Further, $ \tau $ represents motor torque and $ \tau_l $ denotes disturbance torque. The motor gear ratio is expressed by $ k_g $. Further, $ J $ and B are the motor′s effective inertia and damping coefficients respectively. The block diagram for servo motor is shown in Fig. 4, where $ k_p $, $ \omega_m $ and $ \omega $ denote proportional (P) gain of the controller, speed of the motor shaft and the gear-box speed output respectively. Further, $ e = q_{cmd}-q $ represents the tracking error, where $ q_{cmd} $ implies motor position command. The positions and velocities of the servo motors in the joints are bounded and hence the joint accelerations are also bounded.

      Figure 4.  Block diagram of simplified servo motor

      From Fig. 4, the proportional controller output is

      $ \tau \;= {k_p}e = {k_p}({q_{cmd}} - q)\Rightarrow e = k_p^{ - 1}\tau . $


      As shown in Fig. 5, the torque to position converter produces a position command $ q_{cmd} $ based on the derived torque $ \tau $ of the dynamic controller obtained as per the desired joint angular position $ q_{d} $, desired joint angular velocity $ \dot{q_{d}} $ and desired joint angular acceleration $ \ddot{q_{d}} $. The torque produced by the dynamic controller and the output torque of the P-controller of servo motor should be equal, i.e.,

      Figure 5.  Torque to position converter block diagram

      $ \begin{split} &\tau = {k_p}({q_{cmd}} - q)\\ & {q_{cmd}} = k_p^{ - 1}\tau + q. \end{split}$


      Since it is a software based implementation, considering $ T_s $ to be the sampling time, for the k-th instant, (29) can be expressed as

      $ q_{cmd}[k+1] = k_p^{-1}\tau[k]+q[k] .$


      This implies that the input of the motor $ q_{cmd} $ at the (k+1)-th instant depends on the actual position of the motor and the derived torque at the (k−1)-th instant.

    • The proposed controller is applied theoretically to a dual-arm robot manipulator system, where each arm with 2DoF and simulation studies are carried out in Matlab Simulink. The simulation results obtained are shown in Figs. 6-8. It can be well observed from these figures that the suggested control scheme can provide adequate tracking efficiency and both position and synchronization errors converge to zero asymptotically and simultaneously with the proposed controller.

      Figure 6.  Position tracking of COOL robot arm with the proposed controller (simulation)

      Figure 7.  Position errors of COOL robot arm with the proposed controller (simulation)

      Figure 8.  Synchronization errors of COOL robot arm with the proposed controller (simulation)

      To verify the functional validity of the controller, the proposed control method is applied to the dual robot arm shown in Fig. 1. As per requirement, only two joints of each robot arm, i.e., 1R and 4R for the right arm and 1L and 4L for the left arm are considered and the other joints are kept locked. Experimental results are shown in Figs. 9-11.

      Figure 9.  Position tracking of COOL robot arm with the proposed controller (experimental)

      Figure 11.  Synchronization errors of COOL robot arm with the proposed controller (experimental)

      Experiments are also performed to assess robustness of the proposed control method in the presence of parametric uncertainty and external disturbance. For uncertainty, an object of mass 0.1kg is attached to the gripper of arm 1 so that the mass of link 2 of arm 1 is increased by 0.1kg. In addition, for validating robustness against external disturbance, an impulse disturbance is added to the system at time ${{t}} = {{10}}$ s. Figs. 12 and 13 show the experimental results obtained with uncertainty and external disturbance.

      Figure 12.  Position tracking of COOL robot arm with the proposed controller in presence of uncertainty and external disturbance

      Figure 13.  Position errors of COOL robot arm with the proposed controller in presence of uncertainty and external disturbance

      To demonstrate the importance of the synchronization part in dual-arm manipulation, the performance of independent ISMC ($ \beta = 0 $) has also been studied and the results are shown in Fig. 14.

      Figure 14.  Performance of COOL robot arm with independent ISMC

    • Figs. 6-8 and Figs. 9-11 show the simulation and experimental results with the proposed controller. The transient and steady state performance indices for position error obtained from simulation and experimental results have been compared in Table 2. From this comparative study, it can be clearly observed that there is a slight difference between the experimental results and simulation results. However, the controller can track the desired trajectory satisfactorily, and hence validation of the proposed controller can be confirmed.

      Arm 1 Arm 2
      Performance indices x y x y
      Simulation Experimental Simulation Experimental Simulation Experimental Simulation Experimental
      Rise time (s) 0.24 0.65 0.25 0.6 0.15 0.72 0.13 0.8
      Peak overshoot (m) 0.06 0.01 0.01 0.028
      Peak time (s) 1.2 1.1 1.05 1.2
      Settling time (s) 0.42 1.5 0.43 3.5 0.25 3 0.23 4
      Steady state error (m) 1×10−5 2×10−5 1×10−5 2×10−5 1.5×10−5 2×10−5 1×10−5 1×10−5

      Table 2.  Comparison between simulation and experimental results for position error

      To carry out a specific assignment, both arms of a dual-arm manipulator system must be synchronized rapidly with little synchronization errors in order to prevent any harm or breakdown. From Figs. 10-11 and 14, it can be perceived that the proposed control method delivers better results in the transient period and is a lot quicker than the independent ISMC. Although, the proposed controller′s position errors are approximately identical to those of independent ISMC, position errors of the proposed controller converge to zero synchronously and quickly as compared to ISMC. As can be observed from Figs. 11 and 14(b), the major distinction between the two methodologies is in synchronization errors. The proposed controller can effectively reduce transient synchronization errors. The transient and steady state performance of the system in a synchronization error space with and without synchronization are compared in Table 3. It can be noticed from Table 3 that there is a significant decrease in settling time and steady state error with the proposed controller. It is due to the fact that in synchronization control architecture, each manipulator receives feedback information from itself as well as from other manipulators. Therefore, any disturbance or error in any manipulator affects all the manipulators equally. This results in synchronized convergence of position errors thereby ensuring better coordination performance.

      Arm 1 Arm 2
      Performance indices x y x y
      Proposed controller ISMC
      Proposed controller ISMC
      Proposed controller ISMC
      Proposed controller ISMC
      Rise time (s) 0.25 4 0.15 3 0.16 3.2 0.3 4
      Peak overshoot (m)
      Peak time (s)
      Settling time (s) 0.63 21 0.67 22 0.68 22 0.65 21
      Steady state error (m) 1.5×10−5 5×10−3 3×10−5 3×10−3 1×10−5 4×10−3 2×10−5 4.5×10−3

      Table 3.  System performance based on synchronization error

      Figure 10.  Position errors of COOL robot arm with the proposed controller (experimental)

      From Figs. 12 and 13, it can be noted that the proposed controller yields satisfactory performance even in presence of uncertainty and external disturbance. This confirms the robustness property of the designed control approach.

    • A simple position synchronization controller for dual-arm robotic manipulator systems based on integral sliding mode concept has been proposed in this paper. By combining a cross-coupling error principle and position synchronization concept, the proposed control algorithm is capable of providing satisfactory trajectory tracking with an assurance of asymptotic and simultaneous convergence of both position errors and synchronization errors to zero. Use of integral sliding mode in the controller design ensures robustness against lumped system uncertainties throughout the entire system response. The proposed controller guarantees more accuracy and higher flexibility and provides better results than independent integral sliding mode control without synchronization. The effectiveness of the proposed controller is confirmed by both simulation and experimental results when applied to a 14DoF COOL dual robotic arm system.

    • The mathematical model of a 2DoF planar robot arm considered in simulation is given by (1) where

      $\begin{split} & \left[ {\begin{array}{*{20}{c}} {{M_{11}}}&{{M_{12}}}\\ {{M_{21}}}&{{M_{22}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{{\ddot q}_1}}\\ {{{\ddot q}_2}} \end{array}} \right] + \left[ {\begin{array}{*{20}{c}} {{C_{11}}}&{{C_{12}}}\\ {{C_{21}}}&{{C_{22}}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{{\dot q}_1}}\\ {{{\dot q}_2}} \end{array}} \right] +\\ & \quad \left[ {\begin{array}{*{20}{c}} {{G_1}}\\ {{G_2}} \end{array}} \right] = \tau + d\end{split}$


      $\begin{split} {M_{11}} =\; & ({m_1} + {m_2})l_1^2 + {m_2}l_2^2 + 2{m_2}{l_1}{l_2}{\rm{cos}}({q_2}) + {j_1}\\ {M_{12}} = \; &{M_{21}} = {m_2}l_2^2 + {m_2}{l_1}{l_2}{\rm{cos}}({q_2})\\ {M_{22}} = \; &{m_2}l_2^2 + {j_2}\\ {C_{11}} =\; & - {m_2}{l_1}{l_2}{\rm{sin}}({q_2}){{\dot q}_1} \end{split}$

      $\begin{split} {C_{12}} = \; & - 2{m_2}{l_1}{l_2}{\rm{sin}}({q_2}){{\dot q}_1}\\ {C_{21}} =\; & 0\\ {C_{22}} =\; & {m_2}{l_1}{l_2}{\rm{sin}}({q_2}){{\dot q}_2}\\ {G_1} =\; & [({m_1} + {m_2}){l_1}{\rm{cos}}({q_2}) + {m_2}{l_2}{\rm{cos}}({q_1} + {q_2})]g\\ {G_2} =\; & [{m_2}{l_2}{\rm{cos}}({q_1} + {q_2})]g. \end{split}$

      Here, $ q_1,q_2 $ denote the angular positions of each joint, $ m_1,m_2 $ and $ l_1,l_2 $ represent point mass and length of each link respectively, $ j_1,j_2 $ denote additional constant inertia with respect to axis of rotation and $ d $ is the lumped system uncertainty.

Reference (34)



    DownLoad:  Full-Size Img  PowerPoint