<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Neurorobot.</journal-id>
<journal-title>Frontiers in Neurorobotics</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Neurorobot.</abbrev-journal-title>
<issn pub-type="epub">1662-5218</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="doi">10.3389/fnbot.2017.00047</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Neuroscience</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>A Velocity-Level Bi-Criteria Optimization Scheme for Coordinated Path Tracking of Dual Robot Manipulators Using Recurrent Neural Network</article-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name><surname>Xiao</surname> <given-names>Lin</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<xref ref-type="corresp" rid="cor1">&#x0002A;</xref>
<uri xlink:href="http://frontiersin.org/people/u/439391"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Zhang</surname> <given-names>Yongsheng</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Liao</surname> <given-names>Bolin</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
<uri xlink:href="http://frontiersin.org/people/u/349660"/>
</contrib>
<contrib contrib-type="author">
<name><surname>Zhang</surname> <given-names>Zhijun</given-names></name>
<xref ref-type="aff" rid="aff2"><sup>2</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Ding</surname> <given-names>Lei</given-names></name>
<xref ref-type="aff" rid="aff1"><sup>1</sup></xref>
</contrib>
<contrib contrib-type="author">
<name><surname>Jin</surname> <given-names>Long</given-names></name>
<xref ref-type="aff" rid="aff3"><sup>3</sup></xref>
<uri xlink:href="http://frontiersin.org/people/u/449093"/>
</contrib>
</contrib-group>
<aff id="aff1"><sup>1</sup><institution>College of Information Science and Engineering, Jishou University</institution>, <addr-line>Jishou</addr-line>, <country>China</country></aff>
<aff id="aff2"><sup>2</sup><institution>School of Automation Science and Engineering, South China University of Technology</institution>, <addr-line>Guangzhou</addr-line>, <country>China</country></aff>
<aff id="aff3"><sup>3</sup><institution>School of Information Science and Engineering, Lanzhou University</institution>, <addr-line>Lanzhou</addr-line>, <country>China</country></aff>
<author-notes>
<fn fn-type="edited-by"><p>Edited by: Shuai Li, Hong Kong Polytechnic University, Hong Kong</p></fn>
<fn fn-type="edited-by"><p>Reviewed by: Dechao Chen, Sun Yat-sen University, China; Xiaotian Yu, The Chinese University of Hong Kong, Hong Kong; Yonghua Yin, Imperial College, Pakistan; Xiao Zhengli, Changchun University of Science and Technology, China</p></fn>
<corresp content-type="corresp" id="cor1">&#x0002A;Correspondence: Lin Xiao, <email>xiaolin860728&#x00040;163.com</email></corresp>
</author-notes>
<pub-date pub-type="epub">
<day>04</day>
<month>09</month>
<year>2017</year>
</pub-date>
<pub-date pub-type="collection">
<year>2017</year>
</pub-date>
<volume>11</volume>
<elocation-id>47</elocation-id>
<history>
<date date-type="received">
<day>24</day>
<month>05</month>
<year>2017</year>
</date>
<date date-type="accepted">
<day>17</day>
<month>08</month>
<year>2017</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#x000A9; 2017 Xiao, Zhang, Liao, Zhang, Ding and Jin.</copyright-statement>
<copyright-year>2017</copyright-year>
<copyright-holder>Xiao, Zhang, Liao, Zhang, Ding and Jin</copyright-holder>
<license xlink:href="http://creativecommons.org/licenses/by/4.0/"><p>This is an open-access article distributed under the terms of the Creative Commons Attribution License (CC BY). The use, distribution or reproduction in other forums is permitted, provided the original author(s) or licensor are credited and that the original publication in this journal is cited, in accordance with accepted academic practice. No use, distribution or reproduction is permitted which does not comply with these terms.</p></license>
</permissions>
<abstract>
<p>A dual-robot system is a robotic device composed of two robot arms. To eliminate the joint-angle drift and prevent the occurrence of high joint velocity, a velocity-level bi-criteria optimization scheme, which includes two criteria (i.e., the minimum velocity norm and the repetitive motion), is proposed and investigated for coordinated path tracking of dual robot manipulators. Specifically, to realize the coordinated path tracking of dual robot manipulators, two subschemes are first presented for the left and right robot manipulators. After that, such two subschemes are reformulated as two general quadratic programs (QPs), which can be formulated as one unified QP. A recurrent neural network (RNN) is thus presented to solve effectively the unified QP problem. At last, computer simulation results based on a dual three-link planar manipulator further validate the feasibility and the efficacy of the velocity-level optimization scheme for coordinated path tracking using the recurrent neural network.</p>
</abstract>
<kwd-group>
<kwd>dual robot manipulators</kwd>
<kwd>bi-criteria optimization scheme</kwd>
<kwd>recurrent neural network</kwd>
<kwd>quadratic program</kwd>
<kwd>repetitive motion</kwd>
</kwd-group>
<counts>
<fig-count count="3"/>
<table-count count="0"/>
<equation-count count="29"/>
<ref-count count="37"/>
<page-count count="7"/>
<word-count count="5088"/>
</counts>
</article-meta>
</front>
<body>
<sec id="S1" sec-type="introduction">
<label>1</label> <title>Introduction</title>
<p>Robot manipulators were widely investigated and applied to many fields (Jin et al., <xref ref-type="bibr" rid="B4">2017</xref>; Zhang and Zhang, <xref ref-type="bibr" rid="B37">2012</xref>; Xiao and Zhang, <xref ref-type="bibr" rid="B25">2013</xref>, <xref ref-type="bibr" rid="B26">2014a</xref>; Jin and Zhang, <xref ref-type="bibr" rid="B5">2015</xref>; Zhang et al., <xref ref-type="bibr" rid="B36">2015</xref>; Yamada et al., <xref ref-type="bibr" rid="B30">2016</xref>), such as human&#x02013;robot interaction, path tracking, industrial manufacturing, military, repetitive motion, and so on. Many researches have been focused on this topic, and various kinds of robot manipulators have been developed and investigated (Li et al., <xref ref-type="bibr" rid="B14">2012</xref>, <xref ref-type="bibr" rid="B16">2014</xref>, <xref ref-type="bibr" rid="B15">2017</xref>; Xiao and Zhang, <xref ref-type="bibr" rid="B25">2013</xref>; Jin and Zhang, <xref ref-type="bibr" rid="B5">2015</xref>; Zhang et al., <xref ref-type="bibr" rid="B36">2015</xref>). As far as we know, there are some manipulation tasks (including large, heavy, awkwardly sized payloads) that cannot be fulfilled by only a single robot manipulator. In contrast, dual robot manipulators can not only complete some common tasks but also can finish some complex and dangerous things that the single robot manipulator is usually hard to finish (Zhang and Li, <xref ref-type="bibr" rid="B34">2017</xref>; Li et al., <xref ref-type="bibr" rid="B14">2012</xref>, <xref ref-type="bibr" rid="B16">2014</xref>; Jin and Zhang, <xref ref-type="bibr" rid="B5">2015</xref>). In addition, dual robot manipulators have been successfully applied to various applications (Jin and Li, <xref ref-type="bibr" rid="B3">2016</xref>; Zhang et al., <xref ref-type="bibr" rid="B35">2013</xref>, <xref ref-type="bibr" rid="B36">2015</xref>; Xiao and Zhang, <xref ref-type="bibr" rid="B27">2014b</xref>; Jin and Zhang, <xref ref-type="bibr" rid="B5">2015</xref>; Jin et al., <xref ref-type="bibr" rid="B6">2016a</xref>), e.g., load transport, cooperative assembly, dextrous grasping, coordinate welding. Therefore, using dual robot manipulators to collectively conduct complicated tasks is becoming increasingly popular.</p>
<p>It is well known that inverse kinematics of robot manipulators (including dual manipulators) is a much more difficult problem than forward kinematics, but it is a fundamental issue in the field of robotics (also including dual robot manipulators). Generally speaking, there are two types of good methods for addressing the inverse kinematic problem. One is based on the pseudoinverse method that includes a homogeneous solution and a specific minimum-norm solution (Klein and Kee, <xref ref-type="bibr" rid="B10">1989</xref>; Klein and Ahmed, <xref ref-type="bibr" rid="B9">1995</xref>). However, the traditional pseudoinverse method needs to compute the inverse/pseudoinverse of matrices, which usually costs a lot of time. In addition, this method would lead to the joint angle drift when the end-effector completes a repetitive motion (Klein and Ahmed, <xref ref-type="bibr" rid="B9">1995</xref>). The second method is based on optimization techniques, which treat performance criteria as objective functions (Jin and Li, <xref ref-type="bibr" rid="B3">2016</xref>; Zhang et al., <xref ref-type="bibr" rid="B33">2004</xref>; Guo and Zhang, <xref ref-type="bibr" rid="B1">2012</xref>; Xiao and Zhang, <xref ref-type="bibr" rid="B25">2013</xref>, <xref ref-type="bibr" rid="B26">2014a</xref>, <xref ref-type="bibr" rid="B29">2016</xref>). Among the existing schemes, single performance criterion is widely used to control the motion of manipulators at different joint levels, such as repetitive motion (Xiao and Zhang, <xref ref-type="bibr" rid="B25">2013</xref>, <xref ref-type="bibr" rid="B26">2014a</xref>), manipulability (Jin and Li, <xref ref-type="bibr" rid="B3">2016</xref>), obstacle avoidance (Xiao and Zhang, <xref ref-type="bibr" rid="B29">2016</xref>), minimum velocity norm (Guo and Zhang, <xref ref-type="bibr" rid="B1">2012</xref>), and minimum torque norm (Zhang et al., <xref ref-type="bibr" rid="B33">2004</xref>).</p>
<p>It is worth pointing out that single criterion optimization schemes cannot satisfy multiple requirements in practical applications, so dual-criteria optimization schemes are needed (Hou et al., <xref ref-type="bibr" rid="B2">2010</xref>). Besides, considering the importance of the repetitive motion control for dual robot manipulators, it also requires an effective criterion for solving the joint-angle drift problem of dual robot manipulators in practical applications (Xiao and Zhang, <xref ref-type="bibr" rid="B25">2013</xref>, <xref ref-type="bibr" rid="B26">2014a</xref>; Zhang et al., <xref ref-type="bibr" rid="B35">2013</xref>). To satisfy the above requirements, in this article, a novel bi-criteria optimization scheme is presented and investigated for coordinated path tracking of dual robot manipulators at the joint velocity level, of which the bi-criteria consist of the minimum velocity motion (MVN) and the repetitive motion (RM). Note that the proposed optimization scheme consists of two subschemes (corresponding to the left and right manipulators). Besides, such two subschemes can be rewritten as two general quadratic programs (QPs), which is further integrated into one QP formulation.</p>
<p>There are a lot of methods to solve the above QP problems, such as numerical algorithms, recurrent neural networks (RNN), and so on. Although the numerical algorithms can iterate good solutions, they are not suitable for real-time implementations due to their series characteristic and computational complexity. As an efficient computation tool, the neural network approach has several potential advantages in real-time applications (Li et al., <xref ref-type="bibr" rid="B11">2013a</xref>,<xref ref-type="bibr" rid="B12">b</xref>; Li and Li, <xref ref-type="bibr" rid="B17">2014</xref>; Xiao and Zhang, <xref ref-type="bibr" rid="B28">2014c</xref>; Xiao, <xref ref-type="bibr" rid="B18">2015</xref>, <xref ref-type="bibr" rid="B19">2016a</xref>,<xref ref-type="bibr" rid="B20">b</xref>; Xiao and Lu, <xref ref-type="bibr" rid="B23">2015</xref>; Jin et al., <xref ref-type="bibr" rid="B7">2016b</xref>, <xref ref-type="bibr" rid="B8">2017</xref>; Xiao and Liao, <xref ref-type="bibr" rid="B22">2016</xref>), such as parallel processing, hardware implementation ability, and distributed storage. For example, a gradient-based neural network (GNN) has been widely used to solve various challenging mathematical problems (Zhang et al., <xref ref-type="bibr" rid="B32">2009</xref>; Xiao and Zhang, <xref ref-type="bibr" rid="B24">2011</xref>; Yi et al., <xref ref-type="bibr" rid="B31">2011</xref>; Li et al., <xref ref-type="bibr" rid="B13">2013c</xref>; Xiao, <xref ref-type="bibr" rid="B21">2016c</xref>). Considering the advantages of this method, GNN is developed and applied for solving the proposed bi-criteria optimization scheme and the unified QP problem. Finally, on the basis of a dual three-link planar manipulator, we conduct circular path tracking simulations using such a GNN model and the proposed bi-criteria optimization scheme. The computer simulation results further verify the feasibility and effectiveness of the proposed scheme for coordinated path tracking of dual robot manipulators using the recurrent neural network.</p>
</sec>
<sec id="S2">
<label>2</label> <title>Preliminaries</title>
<p>The forward kinematic equations of the robot manipulators at the position level and the velocity level can be expressed, respectively, as follows (Jin et al., <xref ref-type="bibr" rid="B4">2017</xref>; Zhang and Zhang, <xref ref-type="bibr" rid="B37">2012</xref>; Xiao and Zhang, <xref ref-type="bibr" rid="B25">2013</xref>, <xref ref-type="bibr" rid="B26">2014a</xref>; Jin and Zhang, <xref ref-type="bibr" rid="B5">2015</xref>; Zhang et al., <xref ref-type="bibr" rid="B36">2015</xref>):
<disp-formula id="E1"><label>(1)</label><mml:math id="M1"><mml:mi>r</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
<disp-formula id="E2"><label>(2)</label><mml:math id="M2"><mml:mi>&#x01E59;</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>J</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <italic>&#x003B8;</italic>(<italic>t</italic>)&#x02009;&#x02208;&#x02009;<italic>R<sup>n</sup></italic> and <inline-formula><mml:math id="M3"><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> denote the joint position vector and the joint velocity vector, respectively; <italic>r</italic>(<italic>t</italic>)&#x02009;&#x02208;&#x02009;<italic>R<sup>m</sup></italic> and <inline-formula><mml:math id="M4"><mml:mi>&#x01E59;</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula> denote the end-effector position vector and the end-effector velocity vector, respectively; Jacobian matrix <inline-formula><mml:math id="M5"><mml:mi>J</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>&#x02202;</mml:mn><mml:mi>f</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mi>&#x02202;</mml:mi><mml:mi>&#x003B8;</mml:mi><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>m</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>; and <italic>f</italic> (&#x022C5;) denotes a smooth non-linear function.</p>
<p>For example, for a three-link planar robot manipulator, we can readily get the forward-kinematic equation (the independent variable <italic>t</italic> is omitted for presentation convenience):
<disp-formula id="E3"><mml:math id="M6"><mml:mi>r</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mtext>X</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>r</mml:mi></mml:mrow><mml:mrow><mml:mtext>Y</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>f</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <italic>&#x003B8;</italic>&#x02009;&#x0003D;&#x02009;[<italic>&#x003B8;</italic><sub>1</sub>, <italic>&#x003B8;</italic><sub>2</sub>, <italic>&#x003B8;</italic><sub>3</sub>]<sup>T</sup> &#x02208;&#x02009;<italic>R</italic><sup>3</sup>, <italic>r</italic>&#x02009;&#x02208;&#x02009;<italic>R</italic><sup>2</sup>, <italic>l</italic><sub>1</sub> denotes the length of the first link, <italic>l</italic><sub>2</sub> denotes the length of the second link, and <italic>l</italic><sub>3</sub> denotes the length of the third link. In addition, the variables depicted in the above are defined as
<disp-formula id="E4"><mml:math id="M7"><mml:mtable columnalign="left" class="align-star"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="normal">cos</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="normal">sin</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="normal">cos</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="normal">sin</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="normal">cos</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="normal">sin</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The Jacobian matrix of <italic>f</italic> (&#x022C5;) can be solved in this situation by differentiating (1):
<disp-formula id="E5"><label>(3)</label><mml:math id="M8"><mml:mi>J</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>s</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>1</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd><mml:mtd class="array" columnalign="center"><mml:msub><mml:mrow><mml:mi>l</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>c</mml:mi></mml:mrow><mml:mrow><mml:mn>3</mml:mn></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mspace width="0.3em" class="thinspace"/><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>Note that, in this article, we are concerned with the dual robot arms. Without loss of generality, one is called the left manipulator and the other is called the right manipulator for convenience. Therefore, the variables of the left and right robot manipulators of dual arms are correspondingly marked by subscripts <sub>l</sub> and <sub>r</sub>. For example, variables <italic>&#x003B8;</italic><sub>l</sub> and <italic>&#x003B8;</italic><sub>r</sub> denote the joint position vectors of the left and right robot manipulators of dual arms, respectively. In Section <xref ref-type="sec" rid="S5">5</xref>, we set <italic>l</italic><sub>1</sub>&#x02009;&#x0003D;&#x02009;<italic>l</italic><sub>2</sub>&#x02009;&#x0003D;&#x02009;<italic>l</italic><sub>3</sub>&#x02009;&#x0003D;&#x02009;1&#x02009;m.</p>
</sec>
<sec id="S3">
<label>3</label> <title>Scheme Formulation</title>
<p>For simplicity, the bi-criteria scheme of one robot manipulator is firstly proposed. To integrate the optimization criteria of the minimum velocity norm (MVN) and the repetitive motion (RM), a bi-criteria optimization objective at the velocity level is designed as
<disp-formula id="E6"><label>(4)</label><mml:math id="M9"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <inline-formula><mml:math id="M10"><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>&#x003F5;</mml:mn><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> with &#x003F5;&#x02009;&#x0003E;&#x02009;0. Besides, performance index <inline-formula><mml:math id="M11"><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup></mml:math></inline-formula> can achieve the minimum velocity motion of robot manipulators, and performance index <inline-formula><mml:math id="M12"><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> can complete the repetitive motion task at the joint velocity level.</p>
<p>For the left robot manipulator, considering the forward kinematics equation and the above bi-criteria optimization objective, the bi-criteria optimization scheme can be formulated as below:
<disp-formula id="E7"><label>(5)</label><mml:math id="M13"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
<disp-formula id="E8"><label>(6)</label><mml:math id="M14"><mml:mtext>subject to</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x01E59;</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <inline-formula><mml:math id="M15"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>, <italic>q</italic><sub>l</sub>, <italic>J</italic><sub>l</sub>(<italic>&#x003B8;</italic>), and <inline-formula><mml:math id="M16"><mml:msub><mml:mrow><mml:mi>&#x01E59;</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> are defined the same as before, but belong to the variables of the left robot manipulator. Equation (<xref ref-type="disp-formula" rid="E7">5</xref>) uses the bi-criteria optimization objective (equation (<xref ref-type="disp-formula" rid="E6">4</xref>)); and equation (<xref ref-type="disp-formula" rid="E8">6</xref>) is the forward kinematics equation (<xref ref-type="disp-formula" rid="E2">2</xref>) of the left robot manipulator of dual arms.</p>
<p>For the right robot manipulator, the bi-criteria optimization scheme can be formulated as below in the same way:
<disp-formula id="E9"><label>(7)</label><mml:math id="M17"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
<disp-formula id="E10"><label>(8)</label><mml:math id="M18"><mml:mtext>subject to</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x01E59;</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <inline-formula><mml:math id="M19"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>, <italic>q</italic><sub>r</sub>, <italic>J</italic><sub>r</sub>(<italic>&#x003B8;</italic>), and <inline-formula><mml:math id="M20"><mml:msub><mml:mrow><mml:mi>&#x01E59;</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> are defined the same as before, but belong to the variables of the right robot manipulator.</p>
</sec>
<sec id="S4">
<label>4</label> <title>QP Reformulation and Unification</title>
<p>In this section, to obtain two standard QP formulations, the proposed subschemes are rewritten as two QPs, which can be unified into one QP problem.</p>
<list list-type="simple">
<list-item><label>(1)</label> <p>Conversion of MVN criterion: according to definition of two norms, minimizing <inline-formula><mml:math id="M21"><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> in the first term of equation (<xref ref-type="disp-formula" rid="E7">5</xref>) for the left robot manipulator is equivalent to
<disp-formula id="E11"><label>(9)</label><mml:math id="M22"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:mi>I</mml:mi><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <italic>I</italic>&#x02009;&#x02208;&#x02009;<italic>R<sup>n&#x000D7;n</sup></italic> denotes an identity matrix.</p>
<p>Similarly, MVN criterion <inline-formula><mml:math id="M23"><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> in the first term of equation (<xref ref-type="disp-formula" rid="E9">7</xref>) for the right robot manipulator is equivalent to
<disp-formula id="E12"><label>(10)</label><mml:math id="M24"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:mi>I</mml:mi><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p></list-item>
<list-item><label>(2)</label> <p>Conversion of RM criterion: the RM criterion <inline-formula><mml:math id="M25"><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> in the second term of equation (<xref ref-type="disp-formula" rid="E7">5</xref>) for the left robot manipulator is rewritten equivalently as
<disp-formula id="E13"><label>(11)</label><mml:math id="M26"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mfrac><mml:mrow><mml:msup><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
which is further equivalent to the following form:
<disp-formula id="E14"><label>(12)</label><mml:math id="M27"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:mi>I</mml:mi><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <inline-formula><mml:math id="M28"><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> can be deemed as a constant with respect to optimization variable <inline-formula><mml:math id="M29"><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:math></inline-formula> and can be ignored during minimization. Thus, the RM criterion <inline-formula><mml:math id="M30"><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> of the left robot manipulator is finally equivalent to the following form:
<disp-formula id="E15"><label>(13)</label><mml:math id="M31"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:mi>I</mml:mi><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p></list-item></list>
<p>Similarly, the RM criterion <inline-formula><mml:math id="M32"><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn></mml:math></inline-formula> of the right robot manipulator can be equivalent to the following form:
<disp-formula id="E16"><label>(14)</label><mml:math id="M33"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mfrac><mml:mrow><mml:msubsup><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:mi>I</mml:mi><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:mfrac><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>Thus, through the above conversion, the bi-criteria optimization subscheme for the left robot manipulator can be formulated as the following standard QP:
<disp-formula id="E17"><label>(15)</label><mml:math id="M38"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
<disp-formula id="E18"><label>(16)</label><mml:math id="M39"><mml:mtext>subject to</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <inline-formula><mml:math id="M40"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <italic>Q</italic><sub>1</sub>&#x02009;&#x0003D;&#x02009;2<italic>I</italic>&#x02009;&#x02208;&#x02009;<italic>R<sup>n&#x000D7;n</sup></italic>, <inline-formula><mml:math id="M41"><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>&#x003F5;</mml:mn><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <italic>A</italic><sub>l</sub>&#x02009;&#x0003D;&#x02009;<italic>J</italic><sub>l</sub>(<italic>&#x003B8;</italic>)&#x02009;&#x02208;&#x02009;<italic>R<sup>m&#x000D7;n</sup></italic>, and <inline-formula><mml:math id="M42"><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x01E59;</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p>Similarly, the bi-criteria optimization subscheme of the right robot manipulator is presented as
<disp-formula id="E19"><label>(17)</label><mml:math id="M43"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msubsup><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msubsup><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msubsup><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
<disp-formula id="E20"><label>(18)</label><mml:math id="M44"><mml:mtext>subject to</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msub><mml:mrow><mml:mi>A</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <inline-formula><mml:math id="M45"><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <italic>Q</italic><sub>r</sub>&#x02009;&#x0003D;&#x02009;2<italic>I</italic>&#x02009;&#x02208;&#x02009;<italic>R<sup>n&#x000D7;n</sup></italic>, <inline-formula><mml:math id="M46"><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>&#x003F5;</mml:mn><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>0</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mi>n</mml:mi></mml:mrow></mml:msup></mml:math></inline-formula>, <italic>A</italic><sub>r</sub>&#x02009;&#x0003D;&#x02009;<italic>J</italic><sub>r</sub>(<italic>&#x003B8;</italic>)&#x02009;&#x02208;&#x02009;<italic>R<sup>m&#x000D7;n</sup></italic>, and <inline-formula><mml:math id="M47"><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msub><mml:mrow><mml:mi>&#x01E59;</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula>.</p>
<p>Finally, the presented two QPs for the left and right robot manipulators of two arms are unified into a new QP formulation, i.e.,
<disp-formula id="E21"><label>(19)</label><mml:math id="M48"><mml:mtext>minimize</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:msup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mi mathvariant="italic">Wz</mml:mi><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mi>z</mml:mi><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
<disp-formula id="E22"><label>(20)</label><mml:math id="M49"><mml:mtext>subject to</mml:mtext><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mspace width="0.5em" class="nbsp"/><mml:mi mathvariant="italic">Cz</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>d</mml:mi><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where coefficient matrices (or vectors) are defined as below:
<disp-formula id="E23"><mml:math id="M50"><mml:mtable columnalign="left" class="align"><mml:mtr><mml:mtd></mml:mtd><mml:mtd class="align-even"><mml:mi>z</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>x</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:mi>W</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>Q</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd class="align-even"><mml:mi>&#x003C9;</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>q</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="0.5em" class="nbsp"/><mml:mi>C</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>0</mml:mn></mml:mtd><mml:mtd><mml:msub><mml:mrow><mml:mi>J</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>m</mml:mi><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mn>2</mml:mn><mml:mi>n</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd></mml:mtd><mml:mtd class="align-even"><mml:mspace width="2em" class="qquad"/><mml:mspace width="2em" class="qquad"/><mml:mspace width="2em" class="qquad"/><mml:mspace width="1em" class="quad"/><mml:mspace width="2.56804pt" class="tmspace"/><mml:mi>d</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>b</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x01E59;</mml:mi></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:msub><mml:mrow><mml:mi>&#x01E59;</mml:mi></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
</sec>
<sec id="S5">
<label>5</label> <title>Recurrent Neural Network Solver</title>
<p>Note that there are many methods to solve such a standard QP problem. The most common approach is to use a Lagrange multiplier and to minimize a cost function (Li et al., <xref ref-type="bibr" rid="B13">2013c</xref>; Xiao, <xref ref-type="bibr" rid="B19">2016a</xref>). Thus, for dynamic quadratic optimization (equations (<xref ref-type="disp-formula" rid="E21">19</xref>) and (<xref ref-type="disp-formula" rid="E22">20</xref>)), its related Lagrangian is presented as follows:
<disp-formula id="E24"><mml:math id="M51"><mml:mi>H</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>z</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>&#x003BB;</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msup><mml:mrow><mml:mi>z</mml:mi></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mi mathvariant="italic">Wz</mml:mi><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mi>&#x003C9;</mml:mi></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mi>z</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mn>&#x003BB;</mml:mn></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi mathvariant="italic">Cz</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>d</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where &#x003BB;&#x02009;&#x02208;&#x02009;<italic>R</italic><sup>2</sup><italic><sup>m</sup></italic> denotes the multiplier variable.</p>
<p>It is well known that solving the quadratic optimization (equations (<xref ref-type="disp-formula" rid="E21">19</xref>) and (<xref ref-type="disp-formula" rid="E22">20</xref>)) could be achieved by zeroing the following equations:
<disp-formula id="E25"><mml:math id="M52"><mml:mfenced separators="" open="&#x0007B;" close=""><mml:mrow><mml:mtable columnalign="left"><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mfrac><mml:mrow><mml:mn>&#x02202;</mml:mn><mml:mi>H</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>z</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>&#x003BB;</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mn>&#x02202;</mml:mn><mml:mi>x</mml:mi></mml:mrow></mml:mfrac><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="italic">Wz</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mi>&#x003C9;</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:msup><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mn>&#x003BB;</mml:mn><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">,</mml:mo><mml:mspace width="1em" class="quad"/></mml:mtd></mml:mtr><mml:mtr><mml:mtd class="array" columnalign="left"><mml:mfrac><mml:mrow><mml:mn>&#x02202;</mml:mn><mml:mi>H</mml:mi><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>z</mml:mi><mml:mo class="MathClass-punc">,</mml:mo><mml:mn>&#x003BB;</mml:mn></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow><mml:mrow><mml:mi>&#x02202;</mml:mi><mml:mn>&#x003BB;</mml:mn><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:mfrac><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi mathvariant="italic">Cz</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>d</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mn>0</mml:mn><mml:mo class="MathClass-punc">.</mml:mo><mml:mspace width="1em" class="quad"/></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced></mml:math></disp-formula></p>
<p>Let
<disp-formula id="E26"><mml:math id="M53"><mml:mtable columnalign="left" class="align-star"><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>G</mml:mi></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:mi>W</mml:mi></mml:mtd><mml:mtd><mml:msup><mml:mrow><mml:mi>C</mml:mi></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>C</mml:mi></mml:mtd><mml:mtd><mml:mn>0</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow><mml:mo class="MathClass-bin">&#x000D7;</mml:mo><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo><mml:mi>y</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:mi>z</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mn>&#x003BB;</mml:mn></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-punc">,</mml:mo></mml:mtd></mml:mtr><mml:mtr><mml:mtd columnalign="right" class="align-odd"><mml:mi>u</mml:mi></mml:mtd><mml:mtd class="align-even"><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mfenced separators="" open="[" close="]"><mml:mrow><mml:mtable class="array"><mml:mtr><mml:mtd><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>&#x003C9;</mml:mi></mml:mtd></mml:mtr><mml:mtr><mml:mtd><mml:mi>d</mml:mi></mml:mtd></mml:mtr></mml:mtable></mml:mrow></mml:mfenced><mml:mo class="MathClass-rel">&#x02208;</mml:mo><mml:msup><mml:mrow><mml:mi>R</mml:mi></mml:mrow><mml:mrow><mml:mn>2</mml:mn><mml:mi>n</mml:mi><mml:mo class="MathClass-bin">&#x0002B;</mml:mo><mml:mn>2</mml:mn><mml:mi>m</mml:mi></mml:mrow></mml:msup><mml:mo class="MathClass-punc">.</mml:mo></mml:mtd></mml:mtr></mml:mtable></mml:math></disp-formula></p>
<p>The above linear equations can be further equivalent to the following:
<disp-formula id="E27"><label>(21)</label><mml:math id="M54"><mml:mi mathvariant="italic">Gy</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mi>u</mml:mi><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>Note that there were a lot of methods to solve the above linear equation system (equation (<xref ref-type="disp-formula" rid="E27">21</xref>)). In this part, a gradient-based neural network (GNN) is presented and investigated for solving the proposed bi-criteria optimization scheme and the finally equivalent equation (<xref ref-type="disp-formula" rid="E27">21</xref>). By following the literature (Zhang et al., <xref ref-type="bibr" rid="B32">2009</xref>; Xiao and Zhang, <xref ref-type="bibr" rid="B24">2011</xref>; Yi et al., <xref ref-type="bibr" rid="B31">2011</xref>; Li et al., <xref ref-type="bibr" rid="B13">2013c</xref>; Xiao, <xref ref-type="bibr" rid="B21">2016c</xref>), the design procedure of GNN is listed as below.</p>
<p>First, an non-negative scalar-based energy function &#x003A9; is defined as follows:
<disp-formula id="E28"><label>(22)</label><mml:math id="M55"><mml:mn>&#x003A9;</mml:mn><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mo class="MathClass-rel">&#x02225;</mml:mo><mml:mi mathvariant="italic">Gy</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>u</mml:mi><mml:msubsup><mml:mrow><mml:mo class="MathClass-rel">&#x02225;</mml:mo></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow><mml:mrow><mml:mn>2</mml:mn></mml:mrow></mml:msubsup><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>2</mml:mn><mml:mo class="MathClass-punc">.</mml:mo></mml:math></disp-formula></p>
<p>Second, the negative gradient of &#x003A9; can be solved as <inline-formula><mml:math id="M56"><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>&#x02202;</mml:mi><mml:mn>&#x003A9;</mml:mn><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>&#x02202;</mml:mn><mml:mi>y</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:msup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi mathvariant="italic">Gy</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>u</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula>.</p>
<p>Finally, according to gradient neural network design formula <inline-formula><mml:math id="M57"><mml:mi>&#x01E8F;</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>&#x003B3;</mml:mn><mml:mi>&#x02202;</mml:mi><mml:mn>&#x003A9;</mml:mn><mml:mo class="MathClass-bin">&#x02215;</mml:mo><mml:mn>&#x02202;</mml:mn><mml:mi>y</mml:mi></mml:math></inline-formula>, the GNN model for dynamic inverse kinematics problem can be described as follows:
<disp-formula id="E29"><label>(23)</label><mml:math id="M58"><mml:mi>&#x01E8F;</mml:mi><mml:mo class="MathClass-rel">&#x0003D;</mml:mo><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mn>&#x003B3;</mml:mn><mml:msup><mml:mrow><mml:mi>G</mml:mi></mml:mrow><mml:mrow><mml:mtext>T</mml:mtext></mml:mrow></mml:msup><mml:mfenced separators="" open="(" close=")"><mml:mrow><mml:mi mathvariant="italic">Gy</mml:mi><mml:mo class="MathClass-bin">&#x02212;</mml:mo><mml:mi>u</mml:mi></mml:mrow></mml:mfenced><mml:mo class="MathClass-punc">,</mml:mo></mml:math></disp-formula>
where <italic>y</italic>&#x02009;&#x02208;&#x02009;<italic>R</italic><sup>2</sup><italic><sup>n</sup></italic><sup>&#x0002B;2</sup><italic><sup>m</sup></italic> denotes the neural state of GNN model (equation (<xref ref-type="disp-formula" rid="E29">23</xref>)).</p>
</sec>
<sec id="S6">
<label>6</label> <title>Simulative Verifications</title>
<p>In this part, the unified bi-criteria optimization scheme (equations (<xref ref-type="disp-formula" rid="E21">19</xref>) and (<xref ref-type="disp-formula" rid="E22">20</xref>)) is applied to a dual three-link planar manipulator and solved by the presented GNN model (equation (<xref ref-type="disp-formula" rid="E29">23</xref>)). In computer simulations, the end-effectors of the dual manipulators are expected to simultaneously track a circle. Without loss of generality, design parameters &#x003F5;&#x02009;&#x0003D;&#x02009;10 and &#x003B3;&#x02009;&#x0003D;&#x02009;10<sup>7</sup>; the task execution time is 8&#x02009;s, and the radius of the desired circle is 0.25&#x02009;m. Besides, the joints of the left and right manipulators are expected to begin with the initial states <italic>&#x003B8;</italic><sub>l</sub>(0)&#x02009;&#x0003D;&#x02009;[3&#x003C0;/4, &#x02212;2&#x003C0;/5, &#x02212;&#x003C0;/4]<sup>T</sup> rad and <italic>&#x003B8;</italic><sub>r</sub>(0)&#x02009;&#x0003D;&#x02009;[&#x003C0;/3, 2&#x003C0;/5, &#x003C0;/4]<sup>T</sup> rad, respectively. The computer simulations are illustrated in Figures <xref ref-type="fig" rid="F1">1</xref>&#x02013;<xref ref-type="fig" rid="F3">3</xref>, which is solved by the proposed bi-criteria optimization scheme and the presented recurrent neural network.</p>
<fig id="F1" position="float">
<label>Figure 1</label>
<caption><p>Simulation results when the dual three-link manipulator tracks the given circular path synthesized by the bi-criteria optimization scheme (equations (<xref ref-type="disp-formula" rid="E21">19</xref>) and (<xref ref-type="disp-formula" rid="E22">20</xref>)) and GNN model (equation (<xref ref-type="disp-formula" rid="E29">23</xref>)). <bold>(A)</bold> Motion trajectories of dual manipulator and <bold>(B)</bold> desired circular path and actual trajectory.</p></caption>
<graphic xlink:href="fnbot-11-00047-g001.tif"/>
</fig>
<fig id="F2" position="float">
<label>Figure 2</label>
<caption><p>Simulation results when the dual three-link manipulator tracks the given circular path synthesized by the bi-criteria optimization scheme (equations (<xref ref-type="disp-formula" rid="E21">19</xref>) and (<xref ref-type="disp-formula" rid="E22">20</xref>)) and GNN model (equation (<xref ref-type="disp-formula" rid="E29">23</xref>)). <bold>(A)</bold> Joint angle <italic>&#x003B8;</italic><sub>l</sub> profile of left manipulator, <bold>(B)</bold> joint angle <italic>&#x003B8;</italic><sub>r</sub> profile of right manipulator, <bold>(C)</bold> joint velocity <inline-formula><mml:math id="M34"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> profile of left manipulator, and <bold>(D)</bold> joint velocity <inline-formula><mml:math id="M35"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B8;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> profile of right manipulator.</p></caption>
<graphic xlink:href="fnbot-11-00047-g002.tif"/>
</fig>
<fig id="F3" position="float">
<label>Figure 3</label>
<caption><p>Simulation results when the dual three-link manipulator tracks the given circular path synthesized by the bi-criteria optimization scheme (equations (<xref ref-type="disp-formula" rid="E21">19</xref>) and (<xref ref-type="disp-formula" rid="E22">20</xref>)) and GNN model (equation (<xref ref-type="disp-formula" rid="E29">23</xref>)). <bold>(A)</bold> Position error <italic>&#x003B5;</italic><sub>l</sub> profile of left manipulator, <bold>(B)</bold> position error <italic>&#x003B5;</italic><sub>r</sub> profile of right manipulator, <bold>(C)</bold> velocity error <inline-formula><mml:math id="M36"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B5;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>l</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> profile of left manipulator, and <bold>(D)</bold> velocity error <inline-formula><mml:math id="M37"><mml:msub><mml:mrow><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B5;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover></mml:mrow><mml:mrow><mml:mtext>r</mml:mtext></mml:mrow></mml:msub></mml:math></inline-formula> profile of right manipulator.</p></caption>
<graphic xlink:href="fnbot-11-00047-g003.tif"/>
</fig>
<p>Specifically, Figure <xref ref-type="fig" rid="F1">1</xref> shows the whole motion trajectories of the dual three-link planar manipulators when the end-effectors track the given circular path. As seen from Figure <xref ref-type="fig" rid="F1">1</xref>A, the circular path-tracking task is performed successfully by the dual three-link planar manipulators. In addition, from Figure <xref ref-type="fig" rid="F1">1</xref>B, we can see that the final state and the initial state of the dual three-link planar manipulators coincide with each other.</p>
<p>Figure <xref ref-type="fig" rid="F2">2</xref> shows the joint-variable (including joint angle and joint velocity) profiles during the task execution of the dual three-link planar manipulators. From this figure, we can conclude that the proposed bi-criteria optimization scheme [synthesized by GNN model (equation (<xref ref-type="disp-formula" rid="E29">23</xref>))] can not only solve the joint-angle drift problem but also prevent the occurrence of high joint velocity in this path-tracking task. Specifically, after the end-effectors completing the circular-path tracking task, the final joint states of the left and right manipulators return to their initial states, which can be seen in Figures <xref ref-type="fig" rid="F2">2</xref>A,B. In addition, from Figures <xref ref-type="fig" rid="F2">2</xref>C,D, we can observe that the situation of the high joint velocity does not happen, and the final velocity of each joint for the dual three-link manipulators is equal to zero. It is worth pointing out that, if the final joint velocities is not equal to zero, the manipulator&#x02019; joints will not stop immediately at the end of the task duration; and thus, the non-repetitive problem would happen. These results demonstrate and verify the effectiveness of such a bi-criteria optimization scheme synthesized by GNN model (equation (<xref ref-type="disp-formula" rid="E29">23</xref>)).</p>
<p>For further verifying the accuracy of the proposed bi-criteria optimization scheme and GNN model (equation (<xref ref-type="disp-formula" rid="E29">23</xref>)), Figure <xref ref-type="fig" rid="F3">3</xref> shows the corresponding position error <italic>&#x003B5;</italic>(<italic>t</italic>):&#x02009;&#x0003D;&#x02009;<italic>r</italic>(<italic>t</italic>)&#x02009;&#x02212;&#x02009;<italic>f</italic> (<italic>&#x003B8;</italic>(<italic>t</italic>)) and the velocity error <inline-formula><mml:math id="M59"><mml:mover accent="true"><mml:mrow><mml:mi>&#x003B5;</mml:mi></mml:mrow><mml:mo class="MathClass-op">&#x002D9;</mml:mo></mml:mover><mml:mrow><mml:mo class="MathClass-open">(</mml:mo><mml:mrow><mml:mi>t</mml:mi></mml:mrow><mml:mo class="MathClass-close">)</mml:mo></mml:mrow></mml:math></inline-formula> of the left robot manipulator and the right robot manipulator, where <italic>&#x003B5;<sub>X</sub></italic> and <italic>&#x003B5;<sub>Y</sub></italic> denote, respectively, the X-axis and Y-axis components of <italic>&#x003B5;</italic>(<italic>t</italic>). As observed from Figures <xref ref-type="fig" rid="F3">3</xref>A,B, the corresponding X-axis and Y-axis components of position errors for the left robot manipulator and the right robot manipulator are less than 2&#x02009;&#x000D7;&#x02009;10<sup>&#x02212;5</sup> m. Besides, from Figures <xref ref-type="fig" rid="F3">3</xref>C,D, we can obtain that the X-axis and Y-axis components of velocity errors for the left robot manipulator and the right robot manipulator are less than 6&#x02009;&#x000D7;&#x02009;10<sup>&#x02212;6</sup> m. These demonstrate that the given circular path tracking task is fulfilled well <italic>via</italic> the proposed velocity-level bi-criteria optimization scheme.</p>
<p>In summary, the end-effector tasks are performed very well by synthesizing the proposed velocity-level bi-criteria optimization scheme. The detailed results verifies the effectiveness and applicability of the proposed bi-criteria optimization scheme for coordinated path tracking of dual redundant robot manipulators using the recurrent neural network.</p>
</sec>
<sec id="S7">
<label>7</label> <title>Conclusion</title>
<p>In this article, a novel velocity-level bi-criteria optimization scheme (i.e., integrating minimum velocity norm and repetitive motion) has been proposed and investigated for complex motion planning of dual robot manipulators. Such a bi-criteria optimization scheme can not only prevent the occurrence of high joint-velocity but also remedy the joint angle drifts of dual redundant robot manipulators well. In addition, the proposed scheme guarantees the joint velocity equals zero at the end of path tracking motion. To do so, two subschemes have been presented for the left and right robot manipulators, which are reformulated as two general quadratic programs (QPs). Then, such two general QP problems have been further unified into one standard QP formulation. Simulative results based on the dual three-link robot manipulators have substantiated the efficacy and applicability of the proposed velocity-level bi-criteria optimization scheme. The future work may lie in the applications of the bi-criteria optimization scheme to real robot manipulators.</p>
</sec>
<sec id="S8" sec-type="author-contributor">
<title>Author Contributions</title>
<p>LX: experiment preparation, data acquisition and processing, and publication writing; YZ: experiment preparation, data processing, and publication drafting; BL: experiment technology support and publication review; ZZ and LD: experiment preparation and publication review; LJ: experiment preparation, data acquisition, and publication review.</p>
</sec>
<sec id="S10">
<title>Conflict of Interest Statement</title>
<p>The authors declare that the research was conducted in the absence of any commercial or financial relationships that could be construed as a potential conflict of interest.</p>
</sec>
</body>
<back>
<fn-group>
<fn fn-type="financial-disclosure">
<p><bold>Funding</bold>. This work was supported by the National Natural Science Foundation of China under grant 61503152, the Natural Science Foundation of Hunan Province, China under grants 2016JJ2101 and 2017JJ3258, the National Natural Science Foundation of China under grants 61563017, 61363073, 61662025, and 61561022, and the Research Foundation of Jishou University, China under grants 2017JSUJD031, 2015SYJG034, JGY201643, and JG201615.</p>
</fn>
</fn-group>
<ref-list>
<title>References</title>
<ref id="B1"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Guo</surname> <given-names>D.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2012</year>). <article-title>A new inequality-based obstacle-avoidance MVN scheme and its application to redundant robot manipulators</article-title>. <source>IEEE Trans. Syst. Man. Cybern. C</source> <volume>42</volume>, <fpage>1326</fpage>&#x02013;<lpage>1340</lpage>.<pub-id pub-id-type="doi">10.1109/TSMCC.2012.2183868</pub-id></citation></ref>
<ref id="B2"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Hou</surname> <given-names>Z.</given-names></name> <name><surname>Cheng</surname> <given-names>L.</given-names></name> <name><surname>Tan</surname> <given-names>M.</given-names></name></person-group> (<year>2010</year>). <article-title>Multicriteria optimization for coordination of redundant robots using a dual neural network</article-title>. <source>IEEE Trans. Syst. Man. Cybern. B</source> <volume>40</volume>, <fpage>1075</fpage>&#x02013;<lpage>1087</lpage>.<pub-id pub-id-type="doi">10.1109/TSMCB.2009.2034073</pub-id><pub-id pub-id-type="pmid">19923050</pub-id></citation></ref>
<ref id="B3"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>L.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name></person-group> (<year>2016</year>). <article-title>Distributed task allocation of multiple robots: a control perspective</article-title>. <source>IEEE Trans. Syst. Man. Cybern. Syst.</source><pub-id pub-id-type="doi">10.1109/TSMC.2016.2627579</pub-id></citation></ref>
<ref id="B4"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>L.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Lu</surname> <given-names>R.</given-names></name> <name><surname>Liao</surname> <given-names>B.</given-names></name></person-group> (<year>2017</year>). <article-title>Cooperative motion generation in a distributed network of redundant robot manipulators with noises</article-title>. <source>IEEE Trans. Syst. Man. Cybern. Syst.</source><pub-id pub-id-type="doi">10.1109/TSMC.2017.2693400</pub-id></citation></ref>
<ref id="B5"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2015</year>). <article-title>G2-type SRMPC scheme for synchronous manipulation of two redundant robot arms</article-title>. <source>IEEE Trans. Cybern.</source> <volume>45</volume>, <fpage>153</fpage>&#x02013;<lpage>164</lpage>.<pub-id pub-id-type="doi">10.1109/TCYB.2014.2321390</pub-id><pub-id pub-id-type="pmid">24846689</pub-id></citation></ref>
<ref id="B6"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2016a</year>). <article-title>Modified ZNN for time-varying quadratic programming with inherent tolerance to noises and its application to kinematic redundancy resolution of robot manipulators</article-title>. <source>IEEE Trans. Ind. Electron.</source> <volume>63</volume>, <fpage>6978</fpage>&#x02013;<lpage>6988</lpage>.<pub-id pub-id-type="doi">10.1109/TIE.2016.2590379</pub-id></citation></ref>
<ref id="B7"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name></person-group> (<year>2016b</year>). <article-title>Integration-enhanced Zhang neural network for real-time-varying matrix inversion in the presence of various kinds of noises</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst.</source> <volume>27</volume>, <fpage>2615</fpage>&#x02013;<lpage>2627</lpage>.<pub-id pub-id-type="doi">10.1109/TNNLS.2015.2497715</pub-id><pub-id pub-id-type="pmid">26625426</pub-id></citation></ref>
<ref id="B8"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Jin</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2017</year>). <article-title>Noise-tolerant ZNN models for solving time-varying zero-finding problems: a control-theoretic approach</article-title>. <source>IEEE Trans. Autom. Control</source> <volume>62</volume>, <fpage>992</fpage>&#x02013;<lpage>997</lpage>.<pub-id pub-id-type="doi">10.1109/TAC.2016.2566880</pub-id></citation></ref>
<ref id="B9"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klein</surname> <given-names>C. A.</given-names></name> <name><surname>Ahmed</surname> <given-names>S.</given-names></name></person-group> (<year>1995</year>). <article-title>Repeatable pseudoinverse control for planar kinematically redundant manipulators</article-title>. <source>IEEE Trans. Syst. Man Cybern.</source> <volume>25</volume>, <fpage>1657</fpage>&#x02013;<lpage>1662</lpage>.<pub-id pub-id-type="doi">10.1109/TSMC.1995.7102305</pub-id></citation></ref>
<ref id="B10"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Klein</surname> <given-names>C. A.</given-names></name> <name><surname>Kee</surname> <given-names>K. B.</given-names></name></person-group> (<year>1989</year>). <article-title>The nature of drift in pseudoinverse control of kinematically redundant manipulators</article-title>. <source>IEEE Trans. Robot. Autom.</source> <volume>5</volume>, <fpage>231</fpage>&#x02013;<lpage>234</lpage>.<pub-id pub-id-type="doi">10.1109/70.88043</pub-id></citation></ref>
<ref id="B11"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Chen</surname> <given-names>S.</given-names></name> <name><surname>Liu</surname> <given-names>B.</given-names></name></person-group> (<year>2013a</year>). <article-title>Accelerating a recurrent neural network to finite-time convergence for solving time-varying Sylvester equation by using a sign-bi-power activation function</article-title>. <source>Neural Process. Lett.</source> <volume>37</volume>, <fpage>189</fpage>&#x02013;<lpage>205</lpage>.<pub-id pub-id-type="doi">10.1007/s11063-012-9241-1</pub-id></citation></ref>
<ref id="B12"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Cui</surname> <given-names>H.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Liu</surname> <given-names>B.</given-names></name> <name><surname>Lou</surname> <given-names>Y.</given-names></name></person-group> (<year>2013b</year>). <article-title>Decentralized control of collaborative redundant manipulators with partial command coverage via locally connected recurrent neural networks</article-title>. <source>Neural Comput. Appl.</source> <volume>23</volume>, <fpage>1051</fpage>&#x02013;<lpage>1060</lpage>.<pub-id pub-id-type="doi">10.1007/s00521-012-1030-2</pub-id></citation></ref>
<ref id="B13"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Wang</surname> <given-names>Z.</given-names></name></person-group> (<year>2013c</year>). <article-title>A class of finite-time dual neural networks for solving quadratic programming problems and its k-winners-take-all application</article-title>. <source>Neural Netw.</source> <volume>39</volume>, <fpage>27</fpage>&#x02013;<lpage>39</lpage>.<pub-id pub-id-type="doi">10.1016/j.neunet.2012.12.009</pub-id><pub-id pub-id-type="pmid">23334164</pub-id></citation></ref>
<ref id="B14"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Chen</surname> <given-names>S.</given-names></name> <name><surname>Liu</surname> <given-names>B.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Liang</surname> <given-names>Y.</given-names></name></person-group> (<year>2012</year>). <article-title>Decentralized kinematic control of a class of collaborative redundant manipulators via recurrent neural networks</article-title>. <source>Neurocomputing</source> <volume>91</volume>, <fpage>1</fpage>&#x02013;<lpage>10</lpage>.<pub-id pub-id-type="doi">10.1016/j.neucom.2012.05.014</pub-id></citation></ref>
<ref id="B15"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>He</surname> <given-names>J.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name> <name><surname>Rafique</surname> <given-names>M. U.</given-names></name></person-group> (<year>2017</year>). <article-title>Distributed recurrent neural networks for cooperative control of manipulators: a game-theoretic perspective</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst.</source> <volume>28</volume>, <fpage>415</fpage>&#x02013;<lpage>426</lpage>.<pub-id pub-id-type="doi">10.1109/TNNLS.2016.2516565</pub-id><pub-id pub-id-type="pmid">26812742</pub-id></citation></ref>
<ref id="B16"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Kong</surname> <given-names>R.</given-names></name> <name><surname>Guo</surname> <given-names>Y.</given-names></name></person-group> (<year>2014</year>). <article-title>Cooperative distributed source seeking by multiple robots: algorithms and experiments</article-title>. <source>IEEE/ASME Trans. Mechatron.</source> <volume>19</volume>, <fpage>1810</fpage>&#x02013;<lpage>1820</lpage>.<pub-id pub-id-type="doi">10.1109/TMECH.2013.2295036</pub-id></citation></ref>
<ref id="B17"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Li</surname> <given-names>S.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name></person-group> (<year>2014</year>). <article-title>Nonlinearly activated neural network for solving time-varying complex Sylvester equation</article-title>. <source>IEEE Trans. on Cybern.</source> <volume>44</volume>, <fpage>1397</fpage>&#x02013;<lpage>1407</lpage>.<pub-id pub-id-type="doi">10.1109/TCYB.2013.2285166</pub-id></citation></ref>
<ref id="B18"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name></person-group> (<year>2015</year>). <article-title>A finite-time convergent neural dynamics for online solution of time-varying linear complex matrix equation</article-title>. <source>Neurocomputing</source> <volume>167</volume>, <fpage>254</fpage>&#x02013;<lpage>259</lpage>.<pub-id pub-id-type="doi">10.1016/j.neucom.2015.04.070</pub-id></citation></ref>
<ref id="B19"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name></person-group> (<year>2016a</year>). <article-title>A nonlinearly-activated neurodynamic model and its finite-time solution to equality-constrained quadratic optimization with nonstationary coefficients</article-title>. <source>Appl. Soft Comput.</source> <volume>40</volume>, <fpage>252</fpage>&#x02013;<lpage>259</lpage>.<pub-id pub-id-type="doi">10.1016/j.asoc.2015.11.023</pub-id></citation></ref>
<ref id="B20"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name></person-group> (<year>2016b</year>). <article-title>A nonlinearly activated neural dynamics and its finite-time solution to time-varying nonlinear equation</article-title>. <source>Neurocomputing</source> <volume>173</volume>, <fpage>1983</fpage>&#x02013;<lpage>1988</lpage>.<pub-id pub-id-type="doi">10.1016/j.neucom.2015.08.031</pub-id></citation></ref>
<ref id="B21"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name></person-group> (<year>2016c</year>). <article-title>A new design formula exploited for accelerating Zhang neural network and its application to time-varying matrix inversion</article-title>. <source>Theor. Comput. Sci.</source> <volume>647</volume>, <fpage>50</fpage>&#x02013;<lpage>58</lpage>.<pub-id pub-id-type="doi">10.1016/j.tcs.2016.07.024</pub-id></citation></ref>
<ref id="B22"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Liao</surname> <given-names>B.</given-names></name></person-group> (<year>2016</year>). <article-title>A convergence-accelerated Zhang neural network and its solution application to Lyapunov equation</article-title>. <source>Neurocomputing</source> <volume>193</volume>, <fpage>213</fpage>&#x02013;<lpage>218</lpage>.<pub-id pub-id-type="doi">10.1016/j.neucom.2016.02.021</pub-id></citation></ref>
<ref id="B23"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Lu</surname> <given-names>R.</given-names></name></person-group> (<year>2015</year>). <article-title>Finite-time solution to nonlinear equation using recurrent neural dynamics with a specially-constructed activation function</article-title>. <source>Neurocomputing</source> <volume>151</volume>, <fpage>246</fpage>&#x02013;<lpage>251</lpage>.<pub-id pub-id-type="doi">10.1016/j.neucom.2014.09.047</pub-id></citation></ref>
<ref id="B24"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2011</year>). <article-title>Zhang neural network versus gradient neural network for solving time-varying linear inequalities</article-title>. <source>IEEE Trans. Neural Netw.</source> <volume>22</volume>, <fpage>1676</fpage>&#x02013;<lpage>1684</lpage>.<pub-id pub-id-type="doi">10.1109/TNN.2011.2163318</pub-id><pub-id pub-id-type="pmid">21846604</pub-id></citation></ref>
<ref id="B25"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2013</year>). <article-title>Acceleration-level repetitive motion planning and its experimental verification on a six-link planar robot manipulator</article-title>. <source>IEEE Trans. Control Syst. Technol.</source> <volume>21</volume>, <fpage>906</fpage>&#x02013;<lpage>914</lpage>.<pub-id pub-id-type="doi">10.1109/TCST.2012.2190142</pub-id></citation></ref>
<ref id="B26"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2014a</year>). <article-title>A new performance index for the repetitive motion of mobile manipulators</article-title>. <source>IEEE Trans. Cybern.</source> <volume>44</volume>, <fpage>280</fpage>&#x02013;<lpage>292</lpage>.<pub-id pub-id-type="doi">10.1109/TCYB.2013.2253461</pub-id><pub-id pub-id-type="pmid">23757549</pub-id></citation></ref>
<ref id="B27"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2014b</year>). <article-title>Solving time-varying inverse kinematics problem of wheeled mobile manipulators using Zhang neural network with exponential convergence</article-title>. <source>Nonlin. Dyn.</source> <volume>76</volume>, <fpage>1543</fpage>&#x02013;<lpage>1559</lpage>.<pub-id pub-id-type="doi">10.1007/s11071-013-1227-7</pub-id></citation></ref>
<ref id="B28"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2014c</year>). <article-title>From different Zhang functions to various ZNN models accelerated to finite-time convergence for time-varying linear matrix equation</article-title>. <source>Inform. Process. Lett.</source> <volume>39</volume>, <fpage>309</fpage>&#x02013;<lpage>326</lpage>.<pub-id pub-id-type="doi">10.1007/s11063-013-9306-9</pub-id></citation></ref>
<ref id="B29"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Xiao</surname> <given-names>L.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2016</year>). <article-title>Dynamic design, numerical solution and effective verification of acceleration-level obstacle-avoidance scheme for robot manipulators</article-title>. <source>Int. J. Syst. Sci.</source> <volume>47</volume>, <fpage>932</fpage>&#x02013;<lpage>945</lpage>.<pub-id pub-id-type="doi">10.1080/00207721.2014.909971</pub-id></citation></ref>
<ref id="B30"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yamada</surname> <given-names>T.</given-names></name> <name><surname>Murata</surname> <given-names>S.</given-names></name> <name><surname>Arie</surname> <given-names>H.</given-names></name> <name><surname>Ogata</surname> <given-names>T.</given-names></name></person-group> (<year>2016</year>). <article-title>Dynamical integration of language and behavior in a recurrent neural network for human-robot interaction</article-title>. <source>Front. Neurorobot.</source> <volume>10</volume>:<fpage>1</fpage>&#x02013;<lpage>17</lpage>.<pub-id pub-id-type="doi">10.3389/fnbot.2016.00005</pub-id><pub-id pub-id-type="pmid">27471463</pub-id></citation></ref>
<ref id="B31"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Yi</surname> <given-names>C.</given-names></name> <name><surname>Chen</surname> <given-names>Y.</given-names></name> <name><surname>Lu</surname> <given-names>Z.</given-names></name></person-group> (<year>2011</year>). <article-title>Improved gradient-based neural networks for online solution of Lyapunov matrix equation</article-title>. <source>Inform. Process. Lett.</source> <volume>111</volume>, <fpage>780</fpage>&#x02013;<lpage>786</lpage>.<pub-id pub-id-type="doi">10.1016/j.ipl.2011.05.010</pub-id></citation></ref>
<ref id="B32"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Chen</surname> <given-names>K.</given-names></name> <name><surname>Tan</surname> <given-names>H.</given-names></name></person-group> (<year>2009</year>). <article-title>Performance analysis of gradient neural network exploited for online time-varying matrix inversion</article-title>. <source>IEEE Trans. Autom. Contr.</source> <volume>54</volume>, <fpage>1940</fpage>&#x02013;<lpage>1945</lpage>.<pub-id pub-id-type="doi">10.1109/TAC.2009.2023779</pub-id></citation></ref>
<ref id="B33"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Ge</surname> <given-names>S. S.</given-names></name> <name><surname>Lee</surname> <given-names>T. H.</given-names></name></person-group> (<year>2004</year>). <article-title>A unified quadratic-programming based dynamical system approach to joint torque optimization of physically constrained redundant manipulators</article-title>. <source>IEEE Trans. Syst. Man. Cybern. B</source> <volume>34</volume>, <fpage>2126</fpage>&#x02013;<lpage>2132</lpage>.<pub-id pub-id-type="doi">10.1109/TSMCB.2004.830347</pub-id></citation></ref>
<ref id="B34"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>S.</given-names></name></person-group> (<year>2017</year>). <article-title>Predictive suboptimal consensus of multiagent systems with nonlinear dynamics</article-title>. <source>IEEE Trans. Syst. Man. Cybern. Syst.</source><pub-id pub-id-type="doi">10.1109/TSMC.2017.2668440</pub-id></citation></ref>
<ref id="B35"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Wang</surname> <given-names>Y.</given-names></name> <name><surname>Guo</surname> <given-names>D.</given-names></name> <name><surname>Yu</surname> <given-names>X.</given-names></name> <name><surname>Xiao</surname> <given-names>L.</given-names></name></person-group> (<year>2013</year>). <article-title>Simultaneous repetitive motion planning of two redundant robot arms for acceleration-level cooperative manipulation</article-title>. <source>Physics Lett. A</source> <volume>377</volume>, <fpage>1979</fpage>&#x02013;<lpage>1983</lpage>.<pub-id pub-id-type="doi">10.1016/j.physleta.2013.06.023</pub-id></citation></ref>
<ref id="B36"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Z.</given-names></name> <name><surname>Li</surname> <given-names>Z.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name> <name><surname>Luo</surname> <given-names>Y.</given-names></name> <name><surname>Li</surname> <given-names>Y.</given-names></name></person-group> (<year>2015</year>). <article-title>Neural-dynamic-method based dual-arm CMG scheme with time-varying constraints applied to humanoid robots</article-title>. <source>IEEE Trans. Neural Netw. Learn. Syst.</source> <volume>26</volume>, <fpage>3251</fpage>&#x02013;<lpage>3262</lpage>.<pub-id pub-id-type="doi">10.1109/TNNLS.2015.2469147</pub-id></citation></ref>
<ref id="B37"><citation citation-type="journal"><person-group person-group-type="author"><name><surname>Zhang</surname> <given-names>Z.</given-names></name> <name><surname>Zhang</surname> <given-names>Y.</given-names></name></person-group> (<year>2012</year>). <article-title>Acceleration-level cyclic-motion generation of constrained redundant robots tracking different paths</article-title>. <source>IEEE Trans. Syst. Man. Cybern. B Cybern.</source> <volume>42</volume>, <fpage>1257</fpage>&#x02013;<lpage>1269</lpage>.<pub-id pub-id-type="doi">10.1109/TSMCB.2012.2189003</pub-id><pub-id pub-id-type="pmid">22481829</pub-id></citation></ref>
</ref-list>
</back>
</article>