<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="research-article" dtd-version="2.3" xml:lang="EN" xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink">
<front>
<journal-meta>
<journal-id journal-id-type="publisher-id">Front. Robot. AI</journal-id>
<journal-title>Frontiers in Robotics and AI</journal-title>
<abbrev-journal-title abbrev-type="pubmed">Front. Robot. AI</abbrev-journal-title>
<issn pub-type="epub">2296-9144</issn>
<publisher>
<publisher-name>Frontiers Media S.A.</publisher-name>
</publisher>
</journal-meta>
<article-meta>
<article-id pub-id-type="publisher-id">1082185</article-id>
<article-id pub-id-type="doi">10.3389/frobt.2022.1082185</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Robotics and AI</subject>
<subj-group>
<subject>Original Research</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Singularity analysis of 3-DOF planar parallel continuum robots with constant curvature links</article-title>
<alt-title alt-title-type="left-running-head">Lilge et&#xa0;al.</alt-title>
<alt-title alt-title-type="right-running-head">
<ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3389/frobt.2022.1082185">10.3389/frobt.2022.1082185</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Lilge</surname>
<given-names>Sven</given-names>
</name>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<xref ref-type="fn" rid="fn1">
<sup>&#x2020;</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/1167287/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Wen</surname>
<given-names>Kefei</given-names>
</name>
<xref ref-type="fn" rid="fn1">
<sup>&#x2020;</sup>
</xref>
<xref ref-type="fn" rid="fn2">
<sup>&#x2021;</sup>
</xref>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Burgner-Kahrs</surname>
<given-names>Jessica</given-names>
</name>
<uri xlink:href="https://loop.frontiersin.org/people/1099096/overview"/>
</contrib>
</contrib-group>
<aff>
<institution>Continuum Robotics Laboratory</institution>, <institution>Department of Mathematical Computational Sciences</institution>, <institution>University of Toronto</institution>, <addr-line>Mississauga</addr-line>, <addr-line>ON</addr-line>, <country>Canada</country>
</aff>
<author-notes>
<fn fn-type="edited-by">
<p>
<bold>Edited by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/2145373/overview">Damien Charles Chablat</ext-link>, Ecole Centrale de Nantes, France</p>
</fn>
<fn fn-type="edited-by">
<p>
<bold>Reviewed by:</bold> <ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1797906/overview">Federico Zaccaria</ext-link>, University of Bologna, Italy</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/1478429/overview">Philipp T. Tempel</ext-link>, UMR6004 Laboratoire des Sciences du Num&#xe9;rique &#xe0; Nantes (LS2N), France</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Sven Lilge, <email>slilge@cs.toronto.edu</email>
</corresp>
<fn fn-type="present-address" id="fn2">
<label>
<sup>&#x2021;</sup>
</label>
<p>
<bold>Present Address:</bold> This author is now with the Department of Mechanical Engineering, University of British Columbia, Vancouver, Canada</p>
</fn>
<fn fn-type="equal" id="fn1">
<label>
<sup>&#x2020;</sup>
</label>
<p>These authors have contributed equally to this work and share first authorship</p>
</fn>
<fn fn-type="other">
<p>This article was submitted to Soft Robotics, a section of the journal Frontiers in Robotics and AI</p>
</fn>
</author-notes>
<pub-date pub-type="epub">
<day>24</day>
<month>01</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2022</year>
</pub-date>
<volume>9</volume>
<elocation-id>1082185</elocation-id>
<history>
<date date-type="received">
<day>27</day>
<month>10</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>28</day>
<month>12</month>
<year>2022</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Lilge, Wen and Burgner-Kahrs.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Lilge, Wen and Burgner-Kahrs</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) and the copyright owner(s) 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>This paper presents the singularity analysis of 3-DOF planar parallel continuum robots (PCR) with three identical legs. Each of the legs contains two passive conventional rigid 1-DOF joints and one actuated planar continuum link, which bends with a constant curvature. All possible PCR architectures featuring such legs are enumerated and the kinematic velocity equations are provided for each of them. Afterwards, a singularity analysis is conducted based on the obtained Jacobian matrices, providing a geometrical understanding of singularity occurences. It is shown that while loci and occurrences of type II singularities are mostly analogous to conventional parallel kinematic mechanisms (PKM), type I singularity occurences for the PCR studied in this work are quite different from conventional PKM and less geometrically intuitive. The study provided in this paper can promote further investigations on planar parallel continuum robots, such as structural design and control.</p>
</abstract>
<kwd-group>
<kwd>flexible links</kwd>
<kwd>parallel robots</kwd>
<kwd>continuum robots</kwd>
<kwd>kinematics</kwd>
<kwd>singularity analysis</kwd>
</kwd-group>
<contract-num rid="cn001">RGPIN-2019-04846</contract-num>
<contract-sponsor id="cn001">Natural Sciences and Engineering Research Council of Canada<named-content content-type="fundref-id">10.13039/501100000038</named-content>
</contract-sponsor>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<p>Parallel continuum robots (PCR) are closed loop kinematic mechanisms that make use of continuously bending links (<xref ref-type="bibr" rid="B5">Bryson and Rucker, 2014</xref>). They benefit from the inherent compliance, flexibility and lightweight of the continuum links, while the parallel structure can increase their accuracy, payload and operation speed in comparison to conventional continuum robots. Due to their properties, PCR might be utilized in a number of application areas, such as safe human robot collaboration, handling or assembling fragile workpieces as well as industrial inspection and repair in enclosed environments.</p>
<p>Most PCR research to date is concerned with designs that make use of passively deforming continuum links in their structures. Linear or rotary actuators are attached to the proximal end of each link to enable control of a common end-effector. One of such architectures is a 6 degrees-of-freedom (DOF) continuum Stewart-Gough platform (<xref ref-type="bibr" rid="B5">Bryson and Rucker, 2014</xref>). Other designs found in the literature include a continuum Delta robot (<xref ref-type="bibr" rid="B30">Yang&#xa0;et&#xa0;al., 2018</xref>), which employs flexible continuous joints in combination with rigid links, re-configurable manipulators (<xref ref-type="bibr" rid="B13">Mahoney&#xa0;et&#xa0;al., 2016</xref>) as well as structures with additional intermediate constraints (<xref ref-type="bibr" rid="B21">Orekhov&#xa0;et&#xa0;al., 2017</xref>; <xref ref-type="bibr" rid="B7">Chen&#xa0;et&#xa0;al., 2018</xref>). Rather than using passively deforming continuum links, a number of PCR designs have been proposed in which the deformation of these links is actively controlled. Prominent example of such PCR designs include are pneumatically actuated soft parallel robots (<xref ref-type="bibr" rid="B10">Hopkins&#xa0;et&#xa0;al., 2015</xref>; <xref ref-type="bibr" rid="B12">Lindenroth&#xa0;et&#xa0;al., 2019</xref>; <xref ref-type="bibr" rid="B9">Garcia&#xa0;et&#xa0;al., 2021</xref>), tendon-driven designs (<xref ref-type="bibr" rid="B11">Lilge&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B19">Nuelle&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B3">B&#xf6;ttcher&#xa0;et&#xa0;al., 2021</xref>) or designs utilizing polymer actuators (<xref ref-type="bibr" rid="B18">Moghadam&#xa0;et&#xa0;al., 2015</xref>).</p>
<p>One particularly interesting and widely used architecture in the realm of rigid parallel kinematic mechanisms (PKM) are planar 3-DOF manipulators, allowing the end-effector positioning and orientation in a plane (<xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al., 2003</xref>). Recent research has focused on creating similar mechanisms featuring continuum links (<xref ref-type="bibr" rid="B18">Moghadam&#xa0;et&#xa0;al., 2015</xref>; <xref ref-type="bibr" rid="B11">Lilge&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B19">Nuelle&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B14">Mauz&#xe9;&#xa0;et&#xa0;al., 2021</xref>; <xref ref-type="bibr" rid="B29">Yan&#xa0;et&#xa0;al., 2021</xref>; <xref ref-type="bibr" rid="B31">Zaccaria&#xa0;et&#xa0;al., 2022</xref>), potentially enabling applications such as micro-positioning, fragile workpiece handling, human-robot collaboration or assembly tasks which are prone to jamming. In this paper, we are extending the current state of the art on planar PCR by further exploring the design space of such structures. We are particularly focusing on 3-DOF designs consisting of three identical kinematic legs, each featuring a continuum link, that is, actively controlled in bending. In our previous work we have investigated two particular designs of such PCR utilizing tendon actuation to bend the continuum links (<xref ref-type="bibr" rid="B11">Lilge&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B19">Nuelle&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs, 2022</xref>). Both designs were derived from the well known 3-RRR planar PKM by substituting different revolute joints with tendon-driven continuum links. The bending in each continuum link is be described by constant curvature arcs, which in return allows to derive relatively simple and straightforward kinematic models, that solely depend on geometry. Thus, the resulting modeling equations are obtained in a similar form to conventional PKM, allowing to apply methods from this established field to the novel field of PCR.</p>
<p>Throughout the following we are building upon our previous work. Specifically, we are enumerating and investigating all possible planar 3-DOF PCR designs that feature actuated continuum links, whose bending can be described with constant curvature arcs, in addition to two passive joints, which can be revolute or prismatic. Afterwards, the velocity equations for each design are derived using constant curvature assumptions, similar to the approach from <xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs (2022)</xref>. Finally, the derived equations are used to investigate and analyze type I and type II singularities in each design. The analysis of such singularities and their conditions is crucial for a number of applications such as robot design, path planning, or control. Related work on singularity analysis for serial continuum robots can for instance be found in (<xref ref-type="bibr" rid="B15">Mayer and Sawodny, 2018</xref>; <xref ref-type="bibr" rid="B25">Wang&#xa0;et&#xa0;al., 2021</xref>) or (<xref ref-type="bibr" rid="B23">Shihora and Simaan, 2022</xref>). Further, <xref ref-type="bibr" rid="B1">Altuzarra and Campa (2020)</xref> and <xref ref-type="bibr" rid="B4">Briot and Goldsztejn (2021)</xref> investigate the conditions of singularity occurrences for passive link PCR based on a kinetostatic framework. In our work, we make use of our derived kinematic velocity equations to provide geometrical insights and intuitions into the occurrences of type I and type II singularities for the proposed 3-DOF PCR designs, while drawing comparisons to the singularity analysis of rigid 3-DOF planar parallel robots. We note that our paper takes inspiration from <xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al. (2003)</xref>, who enumerate and investigate all possible planar 3-DOF rigid PKM and extend their framework to PCR. We also acknowledge the related work of <xref ref-type="bibr" rid="B16">Merlet (1996)</xref>, in which all solutions of the forward kinematics for every possible architecture of planar 3-DOF rigid PKM are derived and discussed.</p>
<p>We believe that our study will be useful for additional investigations of the design and control of planar PCR.</p>
</sec>
<sec id="s2">
<title>2 Planar 3-DOF PCR designs</title>
<p>In this section, we are introducing and describing the PCR designs studied throughout this paper. First, the actuated constant curvature links present in each of these designs will be defined. Afterwards, we will enumerate all of the possible planar 3-DOF PCR designs featuring such links while describing the utilized notation. An overview summarizing the nomenclature used in this paper can be found in <xref ref-type="table" rid="T1">Table&#xa0;1</xref>.</p>
<table-wrap id="T1" position="float">
<label>TABLE 1</label>
<caption>
<p>Nomenclature.</p>
</caption>
<table>
<tbody valign="top">
<tr>
<td align="left">F</td>
<td align="left">Flexible, continuum link</td>
<td align="left">
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Matrix relating <inline-formula id="inf1">
<mml:math id="m1">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> to <inline-formula id="inf2">
<mml:math id="m2">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>
</td>
</tr>
<tr>
<td align="left">P</td>
<td align="left">Prismatic joint</td>
<td align="left">
<bold>E</bold>
</td>
<td align="left">90&#xb0; rotation matrix</td>
</tr>
<tr>
<td align="left">R</td>
<td align="left">Revolute joint</td>
<td align="left">
<italic>A</italic>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Reference position of the first rigid joint of continuum link of a leg</td>
</tr>
<tr>
<td align="left">
<italic>Oxy</italic>
</td>
<td align="left">Fixed frame attached to robot&#x2019;s base</td>
<td align="left">
<italic>B</italic>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Reference position of the endpoint of a leg</td>
</tr>
<tr>
<td align="left">
<italic>O</italic>&#x2032;<italic>x</italic>&#x2032;<italic>y</italic>&#x2032;</td>
<td align="left">Moving frame attached to robot&#x2019;s end-effector</td>
<td align="left">
<bold>a</bold>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Position vector pointing to <italic>A</italic>
<sub>
<italic>i</italic>
</sub> expressed in the fixed frame</td>
</tr>
<tr>
<td align="left">
<bold>p</bold>
</td>
<td align="left">Position of moving frame w.r.t. fixed frame</td>
<td align="left">
<bold>b</bold>
<sub>
<italic>i</italic>0</sub>
</td>
<td align="left">Position vector pointing to <italic>B</italic>
<sub>
<italic>i</italic>
</sub> expressed in the moving frame</td>
</tr>
<tr>
<td align="left">
<bold>Q</bold>
</td>
<td align="left">Orientation of moving frame w.r.t. fixed frame</td>
<td align="left">
<italic>&#x3d5;</italic>
</td>
<td align="left">Rotation angle of the moving frame w.r.t. the fixed frame</td>
</tr>
<tr>
<td align="left">
<italic>&#x2113;</italic>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Length of <italic>i</italic>th continuum link</td>
<td align="left">
<bold>J</bold>
</td>
<td align="left">Jacobian matrix relating Cartesian velocities to time derivative of curvatures</td>
</tr>
<tr>
<td align="left">
<italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Curvature of <italic>i</italic>th continuum link</td>
<td align="left">
<bold>K</bold>
</td>
<td align="left">Jacobian matrix relating time derivative of curvatures to Cartesian velocities</td>
</tr>
<tr>
<td align="left">
<italic>q</italic>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Actuation value of <italic>i</italic>th continuum link</td>
<td align="left">
<bold>t</bold>
</td>
<td align="left">Linear and angular Cartesian velocities</td>
</tr>
<tr>
<td align="left">
<italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub>
</td>
<td align="left">Frame attached to the proximal end of the <italic>i</italic>th continuum link</td>
<td align="left">
<inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">Vector of the time derivatives of the curvature values</td>
</tr>
<tr>
<td align="left">
<bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
</td>
<td align="left">Orientation of the <italic>i</italic>th continuum link&#x2019;s proximal end frame w.r.t. the fixed</td>
<td align="left">
<bold>D</bold>
</td>
<td align="left">Jacobian relating actuator velocities to time derivative of curvature</td>
</tr>
<tr>
<td align="left">
</td>
<td align="left">frame</td>
<td align="left">
</td>
<td align="left">
</td>
</tr>
<tr>
<td align="left">
<italic>O</italic>
<sub>
<italic>i</italic>2</sub>
<italic>x</italic>
<sub>
<italic>i</italic>2</sub>
<italic>y</italic>
<sub>
<italic>i</italic>2</sub>
</td>
<td align="left">Frame attached to the distal end of the <italic>i</italic>th continuum link</td>
<td align="left">
<inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>
</td>
<td align="left">Vector of actuator velocities</td>
</tr>
<tr>
<td align="left">
<bold>Q</bold>
<sub>
<italic>i</italic>2</sub>
</td>
<td align="left">Orientation of the <italic>i</italic>th continuum link&#x2019;s distal end frame w.r.t.</td>
<td align="left">
<bold>v</bold>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Vector pointing from the start point to the endpoint of the rigid part of a leg</td>
</tr>
<tr>
<td align="left">
</td>
<td align="left">its proximal end frame</td>
<td align="left">
</td>
<td align="left">of the rigid part of a leg</td>
</tr>
<tr>
<td align="left">
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>, <bold>u</bold>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Vector pointing from the proximal to the distal end of the i<italic>th</italic>
</td>
<td align="left">
<bold>n</bold>
<sub>
<italic>i</italic>
</sub>
</td>
<td align="left">Normalized vector orthogonal to <bold>v</bold>
<sub>
<italic>i</italic>
</sub>
</td>
</tr>
<tr>
<td align="left">
</td>
<td align="left">continuum link, expressed in its proximal end frame and</td>
<td align="left">
</td>
<td align="left">
</td>
</tr>
<tr>
<td align="left">
</td>
<td align="left">the fixed frame, respectively</td>
<td align="left">
</td>
<td align="left">
</td>
</tr>
</tbody>
</table>
</table-wrap>
<sec id="s2-1">
<title>2.1 Actuated constant curvature link</title>
<p>The continuum links utilized in each of the studied planar PCR designs is shown in <xref ref-type="fig" rid="F1">Figure&#xa0;1</xref>. Throughout this work, we assume that the length of each link is fixed, while the bending can be actively controlled. We further assume, that bending occurs in arcs with a constant curvature, which is a common assumption for a variety of actuation methods (<xref ref-type="bibr" rid="B26">Webster&#xa0;III and Jones, 2010</xref>), e.g., utilizing tendons (<xref ref-type="bibr" rid="B22">Rao&#xa0;et&#xa0;al., 2021</xref>), multi-backbones (<xref ref-type="bibr" rid="B24">Simaan&#xa0;et&#xa0;al., 2004</xref>), push-pull rods (<xref ref-type="bibr" rid="B20">Oliver-Butler&#xa0;et&#xa0;al., 2021</xref>), polymer actuators (<xref ref-type="bibr" rid="B18">Moghadam&#xa0;et&#xa0;al., 2015</xref>) or pneumatic actuators (<xref ref-type="bibr" rid="B8">Garcia&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B9">2021</xref>). We do not consider additional methods of actuation, such as translating or rotating the bases of the continuum links, a practice often done in PCR with passively deforming links. We note that the continuum links throughout this paper are depicted as tendon-driven structures (i.e. including tendons and tendon routing disks). We do this for illustrative purposes only, without loss of generality of the outlined methodology.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Definition and geometric description of a planar constant curvature link. The trajectory of the link&#x2019;s distal end is shown in blue.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g001.tif"/>
</fig>
<p>We note that while constant curvature assumptions are generally valid in free space, the tip of the continuum links in our designs may be loaded by the weight of the moving platform and by wrenches arising from the coupling between the individual links and end-effector platform. However, the moving platform can be made lightweight in a practical design, such as done by <xref ref-type="bibr" rid="B19">Nuelle&#xa0;et&#xa0;al. (2020)</xref>, where a constant curvature based kinematic model has been validated for a planar tendon-driven PCR. Moreover, choosing a constant curvature kinematic description is convenient and intuitive as it allows to compare the kinematic properties of the planar 3-DOF PCR with those of rigid planar 3-DOF parallel manipulators (<xref ref-type="bibr" rid="B11">Lilge&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs, 2022</xref>).</p>
<p>
<xref ref-type="fig" rid="F1">Figure&#xa0;1</xref> shows an example continuum link <italic>i</italic> with fixed length <italic>&#x2113;</italic>
<sub>
<italic>i</italic>
</sub> and curvature <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub>. A local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> is attached to the base of the link. The <italic>x</italic>
<sub>
<italic>i</italic>1</sub>-axis is parallel to the spacer disk at the link&#x2019;s base, while the <italic>y</italic>
<sub>
<italic>i</italic>1</sub>-axis is orthogonal to it. The trajectory of the link&#x2019;s distal end is shown in blue. The current position <bold>u</bold>
<sub>
<italic>i</italic>1</sub> of the link&#x2019;s distal end depends on <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub> and is expressed in its local base frame using constant curvature kinematics (<xref ref-type="bibr" rid="B26">Webster&#xa0;III and Jones, 2010</xref>; <xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs, 2022</xref>)<disp-formula id="e1">
<mml:math id="m5">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtext>sin</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(1)</label>
</disp-formula>Following this equation, the continuum link is bending in the local positive <italic>x</italic>-direction for <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub> &#x3e; 0 and in the local negative <italic>x</italic>-direction for <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub> &#x3c; 0. The continuum link is straight and solely extends along the local <italic>y</italic>-axis. Throughout this paper, we assume that the maximum bending curvature is <inline-formula id="inf5">
<mml:math id="m6">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, in which case the continuum link forms a closed circle.</p>
<p>The velocity of the link&#x2019;s distal end position can be obtained by differentiating Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref> with respect to time:<disp-formula id="e2">
<mml:math id="m7">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(2)</label>
</disp-formula>where<disp-formula id="e3">
<mml:math id="m8">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2061;</mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>cos</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(3)</label>
</disp-formula>The velocity vector <inline-formula id="inf6">
<mml:math id="m9">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is tangent to the blue trajectory in <xref ref-type="fig" rid="F1">Figure&#xa0;1</xref>. In order to describe the orientation of the link&#x2019;s distal end, an additional frame <italic>O</italic>
<sub>
<italic>i</italic>2</sub>
<italic>x</italic>
<sub>
<italic>i</italic>2</sub>
<italic>y</italic>
<sub>
<italic>i</italic>2</sub> is attached to its tip. This frame describes the orientation of the link&#x2019;s distal end with respect to its local base frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub>, where <bold>Q</bold>
<sub>
<italic>i</italic>2</sub> is the rotation matrix between these two frames (<xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs, 2022</xref>)<disp-formula id="e4">
<mml:math id="m10">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtext>cos</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2212;</mml:mo>
<mml:mtext>sin</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mtext>sin</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mtext>cos</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(4)</label>
</disp-formula>The velocity of this orientation can again be obtained by differentiating Eq.&#xa0;<xref ref-type="disp-formula" rid="e4">4</xref> with respect to time<disp-formula id="e5">
<mml:math id="m11">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(5)</label>
</disp-formula>where<disp-formula id="e6">
<mml:math id="m12">
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(6)</label>
</disp-formula>
</p>
<p>Both, the linear and angular velocities of the link&#x2019;s distal end depend on the rate of change in curvature <inline-formula id="inf7">
<mml:math id="m13">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, which itself depends on the actuator velocity <inline-formula id="inf8">
<mml:math id="m14">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. The relationship between <inline-formula id="inf9">
<mml:math id="m15">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> and <inline-formula id="inf10">
<mml:math id="m16">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is defined by the utilized actuation principle.</p>
</sec>
<sec id="s2-2">
<title>2.2 Definition and enumeration of studied PCR designs</title>
<p>Each 3-DOF planar PCR design studied throughout this work consists of three identical legs attached to a moving end-effector platform. Each leg consists of an actuated continuum link in addition to two passive joints, which can either be revolute or prismatic, according to Gr&#xfc;bler&#x2019;s mobility formula (<xref ref-type="bibr" rid="B17">Merlet, 2005</xref>). An enumeration of possible planar 3-DOF legs, considering different combinations of the continuum link and passive joints, is shown in <xref ref-type="table" rid="T2">Table&#xa0;2</xref>. We are using the following kinematic notation for the planar PCR: R and P respectively stand for a passive revolute joint and a passive prismatic joint, while F stands for an actuated continuum link.</p>
<table-wrap id="T2" position="float">
<label>TABLE 2</label>
<caption>
<p>All possible planar 3-DOF legs with one actuated continuum link and two passive rigid joints.</p>
</caption>
<table>
<tbody valign="top">
<tr>
<td align="center">R<underline>F</underline>R</td>
<td align="center">RR<underline>F</underline>
</td>
<td align="center">R<underline>F</underline>P</td>
<td align="center">RP<underline>F</underline>
</td>
</tr>
<tr>
<td align="left">P<underline>F</underline>R</td>
<td align="left">PR<underline>F</underline>
</td>
<td align="left">P<underline>F</underline>P<sup>&#xd7;</sup>
</td>
<td align="left">PP<underline>F</underline>
<sup>&#xd7;</sup>
</td>
</tr>
<tr>
<td align="left">
<underline>F</underline>RR</td>
<td align="left">
<underline>F</underline>RP</td>
<td align="left">
<underline>F</underline>PR</td>
<td align="left">
<underline>F</underline>PP<sup>&#xd7;</sup>
</td>
</tr>
</tbody>
</table>
</table-wrap>
<p>Since the continuum link in each leg is actuated while the revolute and prismatic joints are passive, there are in total 12 planar 3-DOF legs, which is less than the number (21 in total) of rigid planar 3-DOF legs identified by <xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al. (2003)</xref>. Further, following the investigations outlined by <xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al. (2003)</xref>, some of the listed leg designs will lead to uncontrollable linear velocities, if two or more of these legs are used in a 3-DOF PCR, due to the existence of two passive prismatic joints. There are three of such legs which are marked with a superscript <sup>&#xd7;</sup>. Thus, only the remaining nine legs yield planar 3-DOF symmetrical PCR.</p>
<p>
<xref ref-type="fig" rid="F2">Figure&#xa0;2</xref> shows the geometric description of a 3-<underline>F</underline>RR PCR as an example. In order to describe each planar PCR design, a fixed reference frame <italic>Oxy</italic> is attached to its base and a moving frame <italic>O</italic>&#x2032;<italic>x</italic>&#x2032;<italic>y</italic>&#x2032; is attached to its moving platform. The vector <bold>p</bold> and matrix <bold>Q</bold> respectively represent the position of the origin and the orientation of the moving frame attached to the platform. The rotational angle <italic>&#x3d5;</italic> defines the moving frame&#x2019;s rotation with respect to the fixed frame. The individual legs of the PCR are denoted with <italic>i</italic> &#x2208; {1, 2, 3}. The curvature of the <italic>i</italic>th continuum link is described by <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub>. The position vector <bold>a</bold>
<sub>
<italic>i</italic>
</sub> points to a reference point <italic>A</italic>
<sub>
<italic>i</italic>
</sub> on the first rigid joint or the continuum link of a leg, which could be the centre of the revolute joint (for 3-R<underline>F</underline>R, 3-RR<underline>F</underline>, 3-R<underline>F</underline>P, and 3-RP<underline>F</underline> PCRs), a point on the axis of the prismatic joint (for 3-P<underline>F</underline>R and 3-PR<underline>F</underline> PCRs), or the proximal endpoint of the continuum link (for 3-<underline>F</underline>RR, 3-<underline>F</underline>RP and 3-<underline>F</underline>PR PCRs). Vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub> is pointing from one end of the continuum link to the other, while vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> is pointing from the start point (or the reference point on the prismatic joint) to the endpoint of the rigid part of a leg. Finally, <bold>b</bold>
<sub>
<italic>i</italic>0</sub> is the position vector pointing to the endpoint <italic>B</italic>
<sub>
<italic>i</italic>
</sub> of a leg, expressed in the moving frame <italic>O</italic>&#x2032;<italic>x</italic>&#x2032;<italic>y</italic>&#x2032;. Except for vector <bold>b</bold>
<sub>
<italic>i</italic>0</sub>, all vectors mentioned above are expressed in the fixed frame <italic>Oxy</italic>.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Example design and geometric description of a 3-DOF planar PCR with actuated constant curvature links.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g002.tif"/>
</fig>
</sec>
</sec>
<sec id="s3">
<title>3 Kinematic modeling of planar PCR</title>
<p>Throughout this section, we seek to express the velocity equations of the planar 3-DOF PCR as<disp-formula id="e7">
<mml:math id="m17">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(7)</label>
</disp-formula>where <bold>J</bold> and <bold>K</bold> are the Jacobian matrices, <bold>t</bold> is the vector of both the linear and angular Cartesian velocities of the end-effector platform, and <inline-formula id="inf11">
<mml:math id="m18">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> is the vector that contains the time derivative of the curvature of the continuum links. For the designs studied throughout this work, <bold>K</bold> will result in a diagonal matrix with <inline-formula id="inf12">
<mml:math id="m19">
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>diag</mml:mtext>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</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:math>
</inline-formula>. Both matrices are obtained through the definition of constraint equations which describe the corresponding PCR designs.</p>
<p>In the following, we are providing detailed derivations of the velocity equations for each of the planar 3-DOF PCR. This includes analytical expressions for the Jacobian matrices <bold>J</bold> and <bold>K</bold>, which are later investigated to identify both type I and type II singularities of the designs. Specifically, type I singularities occur, when <bold>K</bold> becomes singular, and type II singularities occur, when <bold>J</bold> becomes singular. Jacobian matrix <bold>J</bold> is derived in a way, such that the resulting formulations consists of individual Pl&#xfc;cker lines, which will be useful when investigating its singularity occurrences. Throughout these derivations, we are assuming that the constant curvatures <bold>
<italic>&#x3ba;</italic>
</bold> are directly controlled, e.g. using tendons, multi-backbone structures of push-pull rods. Thus, all derivations are stated with respect to the time derivative of these curvatures <inline-formula id="inf13">
<mml:math id="m20">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>. Using the particular kinematics of the employed actuation methods, <inline-formula id="inf14">
<mml:math id="m21">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> can be related to the joint velocities <inline-formula id="inf15">
<mml:math id="m22">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> using the mapping<disp-formula id="e8">
<mml:math id="m23">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">D</mml:mi>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>,</mml:mo>
</mml:math>
<label>(8)</label>
</disp-formula>where <bold>D</bold> is a diagonal matrix, with each entry relating the velocity of actuated joint <italic>q</italic>
<sub>
<italic>i</italic>
</sub> to the change in curvature <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub>. In the most general case, matrix <bold>D</bold> is constant and independent from the current curvature of a continuum link. For example, for tendon-driven or multi-backbone designs the entries of <bold>D</bold> are defined by the distance <italic>d</italic>
<sub>
<italic>t</italic>
</sub> between the routed tendons or secondary backbones and the central structure of a link (<xref ref-type="bibr" rid="B24">Simaan&#xa0;et&#xa0;al., 2004</xref>; <xref ref-type="bibr" rid="B22">Rao&#xa0;et&#xa0;al., 2021</xref>), such that<disp-formula id="e9">
<mml:math id="m24">
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</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>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>d</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>t</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</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>,</mml:mo>
</mml:math>
<label>(9)</label>
</disp-formula>where <italic>q</italic>
<sub>
<italic>i</italic>
</sub> is the change in tendon or secondary backbone length w.r.t. their initial lengths. It is apparent, that in this simple case, matrix <bold>D</bold> is singularity free at all times. Depending on the robotic prototype, the entries in <bold>D</bold> might also depend on the curvatures <bold>
<italic>&#x3ba;</italic>
</bold>, which can potentially lead to better kinematic modeling accuracies (<xref ref-type="bibr" rid="B19">Nuelle&#xa0;et&#xa0;al., 2020</xref>). However, such a curvature dependent mapping has no impact on the singularity loci, as long as <bold>D</bold> does not become singular itself. Otherwise, potential singularities in <bold>D</bold> would lead to additional type I singularities, as there would be non-zero actuator velocities <inline-formula id="inf16">
<mml:math id="m25">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, leading to curvature time derivatives <inline-formula id="inf17">
<mml:math id="m26">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> and consequentially to end-effector velocities <bold>t</bold> that are both equal to zero, effectively loosing a controllable degree of freedom at the platform. However, for non-singular matrices <bold>D</bold>, which is a reasonable assumption for the planar designs considered throughout this work, the singularity loci solely depend on the geometry of the resulting constant curvature arcs, which justifies outlining our derivations with respect to <inline-formula id="inf18">
<mml:math id="m27">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold-italic">&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>We note that such a separation of the constant curvature kinematics of continuum robots into a robot-independent mapping, relating task space variables to arc parameters, and a robot-dependent mapping, relating actuation variables to arc parameters, is a common practice (<xref ref-type="bibr" rid="B26">Webster&#xa0;III and Jones, 2010</xref>). In our case, matrix <bold>K</bold> describes the robot-independent velocity mapping and matrix <bold>D</bold> the robot-dependent one.</p>
<sec id="s3-1">
<title>3.1 3-R<underline>F</underline>R PCR</title>
<p>A planar 3-R<underline>F</underline>R PCR is illustrated in <xref ref-type="fig" rid="F3">Figure&#xa0;3</xref>, where <italic>&#x3c1;</italic>
<sub>
<italic>i</italic>
</sub> stands for the distance between points <italic>A</italic>
<sub>
<italic>i</italic>
</sub> and <italic>B</italic>
<sub>
<italic>i</italic>
</sub>. Kinematic modeling of this architecture has been developed in (<xref ref-type="bibr" rid="B11">Lilge&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs, 2022</xref>), hence only the expressions of the Jacobian matrices are given here for the sake of clarity. Jacobian matrix <bold>J</bold> of the PCR is written as<disp-formula id="e10">
<mml:math id="m28">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(10)</label>
</disp-formula>where<disp-formula id="e11">
<mml:math id="m29">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(11)</label>
</disp-formula>Here, <bold>p</bold> and <bold>Q</bold> are the position and orientation of the moving frame <italic>O</italic>&#x2032;<italic>x</italic>&#x2032;<italic>y</italic>&#x2032; with respect to the fixed frame <italic>Oxy</italic>, respectively. Thus, <bold>u</bold>
<sub>
<italic>i</italic>
</sub> is pointing from <italic>A</italic>
<sub>
<italic>i</italic>
</sub> to <italic>B</italic>
<sub>
<italic>i</italic>
</sub>. The rotation matrix <bold>E</bold> is defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e6">6</xref>. Jacobian matrix <bold>K</bold> can be written as<disp-formula id="e12">
<mml:math id="m30">
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>diag</mml:mtext>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</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>,</mml:mo>
</mml:math>
<label>(12)</label>
</disp-formula>where<disp-formula id="e13">
<mml:math id="m31">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(13)</label>
</disp-formula>with<disp-formula id="e14">
<mml:math id="m32">
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mtext>sin</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
<mml:mspace width="2em"/>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3b1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mtext>cos</mml:mtext>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3c1;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfrac>
<mml:mo>.</mml:mo>
</mml:math>
<label>(14)</label>
</disp-formula>The derivation of these equations can be found in (<xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs, 2022</xref>). Each row in Jacobian matrix <bold>J</bold> represents a Pl&#xfc;cker line passing through points <italic>A</italic>
<sub>
<italic>i</italic>
</sub> and <italic>B</italic>
<sub>
<italic>i</italic>
</sub> in the corresponding leg, as indicated by the dashed red lines in <xref ref-type="fig" rid="F3">Figure&#xa0;3</xref>. This is similar to the case of the rigid planar 3-RRR parallel manipulator studied by <xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al. (2003)</xref>.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Geometric description of a planar three-DOF 3-R<underline>F</underline>R PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g003.tif"/>
</fig>
</sec>
<sec id="s3-2">
<title>3.2 3-<underline>F</underline>RR PCR</title>
<p>A planar 3-<underline>F</underline>RR PCR is illustrated in <xref ref-type="fig" rid="F4">Figure&#xa0;4</xref>. Again, the kinematic modeling of this architecture has previously been developed in (<xref ref-type="bibr" rid="B11">Lilge&#xa0;et&#xa0;al., 2020</xref>; <xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs, 2022</xref>). The Jacobian matrix <bold>J</bold> of the PCR is written as<disp-formula id="e15">
<mml:math id="m33">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(15)</label>
</disp-formula>where<disp-formula id="e16">
<mml:math id="m34">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(16)</label>
</disp-formula>and <bold>u</bold>
<sub>
<italic>i</italic>
</sub> is <bold>u</bold>
<sub>
<italic>i</italic>1</sub>, as defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref>, expressed in the fixed frame <italic>Oxy</italic>. Here, each row represents a Pl&#xfc;cker line passing through the rigid link in the corresponding leg, as indicated by the red dashed lines in <xref ref-type="fig" rid="F4">Figure&#xa0;4</xref>. This is similar to the case of the rigid planar 3-<underline>R</underline>RR parallel manipulator studied by <xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al. (2003)</xref>. Jacobian matrix <bold>K</bold> can be written as<disp-formula id="e17">
<mml:math id="m35">
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mtext>diag</mml:mtext>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>k</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>,</mml:mo>
</mml:math>
<label>(17)</label>
</disp-formula>with<disp-formula id="e18">
<mml:math id="m36">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(18)</label>
</disp-formula>Here, <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> is the rotation matrix of the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub>, which is attached to the base of the <italic>i</italic>th continuum link, with respect to the fixed frame <italic>Oxy</italic>.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Geometric description of a planar three-DOF 3-<underline>F</underline>RR PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g004.tif"/>
</fig>
</sec>
<sec id="s3-3">
<title>3.3 3-RR<underline>F</underline> PCR</title>
<p>The geometric description of the 3-RR<underline>F</underline> PCR is shown in <xref ref-type="fig" rid="F5">Figure&#xa0;5</xref>. The geometric constraint for each of the legs is that the length of the rigid RR link is constant at any instant, resulting in the following constraint equation<disp-formula id="e19">
<mml:math id="m37">
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi>v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msubsup>
<mml:mo>,</mml:mo>
</mml:math>
<label>(19)</label>
</disp-formula>in which <italic>v</italic>
<sub>
<italic>i</italic>
</sub> is the Euclidean norm&#xa0;of vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> connecting the centre of the first revolute joint to that of the second revolute joint in the <italic>i</italic>th leg. Differentiating Eq.&#xa0;<xref ref-type="disp-formula" rid="e19">19</xref> with respect to time yields<disp-formula id="e20">
<mml:math id="m38">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(20)</label>
</disp-formula>where<disp-formula id="e21">
<mml:math id="m39">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(21)</label>
</disp-formula>Vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub> can be expressed in the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> of continuum link <italic>i</italic>, which is attached to its end connected to the moving platform. The orientation of this local frame with respect to the moving platform frame is constant. We rewrite vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub> in the following form<disp-formula id="e22">
<mml:math id="m40">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(22)</label>
</disp-formula>where <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> is the rotation matrix of the local frame with respect to the fixed frame <italic>Oxy</italic>. Vector <bold>u</bold>
<sub>
<italic>i</italic>1</sub> is defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref>. Differentiating Eq.&#xa0;<xref ref-type="disp-formula" rid="e22">22</xref> with respect to time, one can obtain<disp-formula id="e23">
<mml:math id="m41">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(23)</label>
</disp-formula>in which <inline-formula id="inf19">
<mml:math id="m42">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>, and <inline-formula id="inf20">
<mml:math id="m43">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e2">2</xref>. Substituting Eq.&#xa0;<xref ref-type="disp-formula" rid="e23">23</xref> into Eq.&#xa0;<xref ref-type="disp-formula" rid="e20">20</xref> and rearranging terms leads to<disp-formula id="e24">
<mml:math id="m44">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(24)</label>
</disp-formula>Jacobian matrices <bold>J</bold> and <bold>K</bold> of the 3-RR<underline>F</underline> PCR can then be constructed from Eq.&#xa0;<xref ref-type="disp-formula" rid="e24">24</xref>. Matrix <bold>J</bold> is written as<disp-formula id="e25">
<mml:math id="m45">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(25)</label>
</disp-formula>in which each row represents a Pl&#xfc;cker line passing through the rigid link in the corresponding leg, as indicated by the red dashed lines in <xref ref-type="fig" rid="F5">Figure&#xa0;5</xref>, and the diagonal elements in matrix <bold>K</bold> are<disp-formula id="e26">
<mml:math id="m46">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(26)</label>
</disp-formula>
</p>
<fig id="F5" position="float">
<label>FIGURE 5</label>
<caption>
<p>Geometric description of a planar three-DOF 3-RR<underline>F</underline> PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g005.tif"/>
</fig>
</sec>
<sec id="s3-4">
<title>3.4 3-R<underline>F</underline>P PCR</title>
<p>A planar 3-R<underline>F</underline>P PCR is schematically represented in <xref ref-type="fig" rid="F6">Figure&#xa0;6</xref>. The proximal end of the passive prismatic joint in each leg is rigidly connected to the continuum link, while the distal end of this joint is fixed on the moving platform. In order to establish the constraint equations, we first define a unit vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> which is expressed in the fixed frame <italic>Oxy</italic> and is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> in the same leg. This vector is constant since the direction of vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> with respect to the moving frame is maintained at any instant. The orthogonality between vectors <bold>n</bold>
<sub>
<italic>i</italic>
</sub> and <bold>v</bold>
<sub>
<italic>i</italic>
</sub> in each leg can be written as<disp-formula id="e27">
<mml:math id="m47">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(27)</label>
</disp-formula>where vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> is expressed in the same form as that shown in Eq.&#xa0;<xref ref-type="disp-formula" rid="e21">21</xref>. To make the following derivations more intuitive, we rewrite the constraint equation as<disp-formula id="e28">
<mml:math id="m48">
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(28)</label>
</disp-formula>where <italic>n</italic>
<sub>
<italic>i</italic>0</sub> is the unit vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> expressed in the moving frame <italic>O</italic>&#x2032;<italic>x</italic>&#x2032;<italic>y</italic>&#x2032;. The time derivative of Eq.&#xa0;<xref ref-type="disp-formula" rid="e28">28</xref> yields<disp-formula id="e29">
<mml:math id="m49">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(29)</label>
</disp-formula>with<disp-formula id="e30">
<mml:math id="m50">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(30)</label>
</disp-formula>
</p>
<fig id="F6" position="float">
<label>FIGURE 6</label>
<caption>
<p>Geometric description of a planar three-DOF 3-R<underline>F</underline>P PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g006.tif"/>
</fig>
<p>Similarly to the local frame defined in <xref ref-type="fig" rid="F5">Figure&#xa0;5</xref>, a local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> is attached to the distal end of the <italic>i</italic>th continuum link of the 3-R<underline>F</underline>P PCR (see <xref ref-type="fig" rid="F6">Figure&#xa0;6</xref>). The orientation matrix of this frame relative to the fixed frame is denoted by <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>, which is a function of angle <italic>&#x3d5;</italic>, i.e., the rotational angle of the moving frame with respect to the fixed frame. This is because the orientation of this local frame relative to the moving platform frame is constant, regardless of the prismatic joint values in the same leg. The time derivative of vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub> can be derived in the same way as in the previous design and results in Eq.&#xa0;<xref ref-type="disp-formula" rid="e23">23</xref>.</p>
<p>Substituting the expression of <inline-formula id="inf21">
<mml:math id="m51">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> into Eq.&#xa0;<xref ref-type="disp-formula" rid="e30">30</xref> and then into Eq.&#xa0;<xref ref-type="disp-formula" rid="e29">29</xref> and noting that <bold>E</bold>
<sup>
<italic>T</italic>
</sup> &#x3d; &#x2212;<bold>E</bold>, the left summand of Eq.&#xa0;<xref ref-type="disp-formula" rid="e29">29</xref>, which contains <inline-formula id="inf22">
<mml:math id="m52">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, can be rewritten as<disp-formula id="e31">
<mml:math id="m53">
<mml:mtable class="align" columnalign="left">
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="-8em"/>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="-7em"/>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="right"/>
<mml:mtd columnalign="left">
<mml:mspace width="-7em"/>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:math>
<label>(31)</label>
</disp-formula>in which<disp-formula id="e32">
<mml:math id="m54">
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(32)</label>
</disp-formula>Hence Eq.&#xa0;<xref ref-type="disp-formula" rid="e29">29</xref> can be rewritten into the following form<disp-formula id="e33">
<mml:math id="m55">
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(33)</label>
</disp-formula>The Jacobian matrices <bold>J</bold> and <bold>K</bold> are constructed from Eq.&#xa0;<xref ref-type="disp-formula" rid="e33">33</xref>, where matrix <bold>J</bold> is written as<disp-formula id="e34">
<mml:math id="m56">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>h</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msub>
<mml:mrow>
<mml:mi>h</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>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(34)</label>
</disp-formula>in which each row represents a Pl&#xfc;cker line which is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> and passes through the centre of the revolute joint in the <italic>i</italic>th leg, as indicated by the red dashed lines in <xref ref-type="fig" rid="F6">Figure&#xa0;6</xref>. The diagonal elements of matrix <bold>K</bold> are<disp-formula id="e35">
<mml:math id="m57">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(35)</label>
</disp-formula>
</p>
<p>It should be noted that <bold>n</bold>
<sub>
<italic>i</italic>
</sub> becomes undefined, when <bold>v</bold>
<sub>
<italic>i</italic>
</sub> becomes a zero vector. Thus, type I singularities occur in this case, in addition to all other cases in which <italic>k</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 0 (for <italic>i</italic> &#x3d; 1, 2 or 3). The same is true for the other following planar PCR design which contain passive prismatic joints.</p>
</sec>
<sec id="s3-5">
<title>3.5 3-P<underline>F</underline>R PCR</title>
<p>A planar 3-P<underline>F</underline>R PCR is schematically represented in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref>. The constraint equations of the planar 3-P<underline>F</underline>R PCR are written as<disp-formula id="e36">
<mml:math id="m58">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(36)</label>
</disp-formula>where <bold>n</bold>
<sub>
<italic>i</italic>
</sub> is a unit vector expressed in the fixed frame which is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub>. Vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> is constant with respect to time, as its direction does not change regardless of the value of the prismatic joint in the same leg. Vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> is expressed in the same form as that shown in <xref ref-type="disp-formula" rid="e21">(21)</xref>. Vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub>, which is used to express vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub>, is defined as <bold>u</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>, where <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> stands for the constant orientation matrix of the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> relative to the fixed frame, and vector <bold>u</bold>
<sub>
<italic>i</italic>1</sub> is expressed in the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> using Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref>.</p>
<fig id="F7" position="float">
<label>FIGURE 7</label>
<caption>
<p>Geometric description of a planar three-DOF 3-P<underline>F</underline>R PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g007.tif"/>
</fig>
<p>The time derivative of Eq.&#xa0;<xref ref-type="disp-formula" rid="e36">36</xref> leads to<disp-formula id="e37">
<mml:math id="m59">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:math>
<label>(37)</label>
</disp-formula>Using Eq.&#xa0;<xref ref-type="disp-formula" rid="e2">2</xref>, we can further write<disp-formula id="e38">
<mml:math id="m60">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(38)</label>
</disp-formula>
<disp-formula id="e39">
<mml:math id="m61">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(39)</label>
</disp-formula>where <bold>E</bold>
<sub>
<italic>i</italic>
</sub> is defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e3">3</xref>. Using Eq.&#xa0;<xref ref-type="disp-formula" rid="e39">39</xref>, Jacobian matrix <bold>J</bold> can be written in the following form<disp-formula id="e40">
<mml:math id="m62">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(40)</label>
</disp-formula>The Pl&#xfc;cker line in each leg is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> and passes through the centre of the revolute joint, as indicated by the red dashed lines in <xref ref-type="fig" rid="F7">Figure&#xa0;7</xref>. The diagonal elements in Jacobian matrix <bold>K</bold> are<disp-formula id="e41">
<mml:math id="m63">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(41)</label>
</disp-formula>
</p>
</sec>
<sec id="s3-6">
<title>3.6 3-PR<underline>F</underline> PCR</title>
<p>A planar 3-PR<underline>F</underline> PCR is schematically represented in <xref ref-type="fig" rid="F8">Figure&#xa0;8</xref>. The derivation is similar to the one of the previous design, thus the constraint equations are<disp-formula id="e42">
<mml:math id="m64">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(42)</label>
</disp-formula>where <bold>n</bold>
<sub>
<italic>i</italic>
</sub> is a unit vector and <bold>v</bold>
<sub>
<italic>i</italic>
</sub> is defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e21">21</xref>. This time, vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub> is defined as <bold>u</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; &#x2212;<bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>, where <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> stands for local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> relative to the fixed frame, and vector <bold>u</bold>
<sub>
<italic>i</italic>1</sub> is expressed in the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> using Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref>. We note that <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> is not constant with respect to time here, as it moves with the moving platform. However, the direction of <bold>n</bold>
<sub>
<italic>i</italic>
</sub> does not change with respect to time and is constant for any joint value of the prismatic joint. In total, the time derivative of the constraint equation is obtained as<disp-formula id="e43">
<mml:math id="m65">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(43)</label>
</disp-formula>again making use of Eq.&#xa0;<xref ref-type="disp-formula" rid="e23">23</xref> and <bold>E</bold>
<sub>
<italic>i</italic>
</sub> is again defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e3">3</xref>. Based on Eq.&#xa0;<xref ref-type="disp-formula" rid="e43">43</xref>, we can identify<disp-formula id="e44">
<mml:math id="m66">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(44)</label>
</disp-formula>The Pl&#xfc;cker line in each leg is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> and passes through the centre of the revolute joint, as indicated by the red dashed lines in <xref ref-type="fig" rid="F8">Figure&#xa0;8</xref>. The diagonal elements of Jacobian matrix <bold>K</bold> result in<disp-formula id="e45">
<mml:math id="m67">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(45)</label>
</disp-formula>
</p>
<fig id="F8" position="float">
<label>FIGURE 8</label>
<caption>
<p>Geometric description of a planar three-DOF 3-PR<underline>F</underline> PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g008.tif"/>
</fig>
</sec>
<sec id="s3-7">
<title>3.7 3-<underline>F</underline>RP PCR</title>
<p>Similar to the previously discussed designs that feature passive prismatic joints, it can be readily observed that the constraint equations of the planar 3-<underline>F</underline>RP PCR (see <xref ref-type="fig" rid="F9">Figure&#xa0;9</xref>) are the orthogonality between the unit vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> and vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> such that <inline-formula id="inf23">
<mml:math id="m68">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
</mml:math>
</inline-formula>. Again, <bold>v</bold>
<sub>
<italic>i</italic>
</sub> is defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e21">21</xref>, in which vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub> is defined as <bold>u</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>, where <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> stands for local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> relative to the fixed frame, and vector <bold>u</bold>
<sub>
<italic>i</italic>1</sub> is expressed in the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> using Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref>. Skipping some steps, which have been outlined throughout the previous designs, the time derivation of the constraint equations results in<disp-formula id="e46">
<mml:math id="m69">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(46)</label>
</disp-formula>
<disp-formula id="e47">
<mml:math id="m70">
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(47)</label>
</disp-formula>
<disp-formula id="e48">
<mml:math id="m71">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mfenced open="" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(48)</label>
</disp-formula>where <bold>E</bold>
<sub>
<italic>i</italic>
</sub> is again defined in and Eq.&#xa0;<xref ref-type="disp-formula" rid="e3">3</xref>. Now the Jacobian matrix <bold>J</bold> can be obtained as<disp-formula id="e49">
<mml:math id="m72">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(49)</label>
</disp-formula>The Pl&#xfc;cker line in each leg is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> and passes through the centre of the revolute joint, as indicated by the red dashed lines in <xref ref-type="fig" rid="F9">Figure&#xa0;9</xref>. The diagonal elements of the Jacobian matrix <bold>K</bold> consist of<disp-formula id="e50">
<mml:math id="m73">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(50)</label>
</disp-formula>
</p>
<fig id="F9" position="float">
<label>FIGURE 9</label>
<caption>
<p>Geometric description of a planar three-DOF 3-<underline>F</underline>RP PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g009.tif"/>
</fig>
</sec>
<sec id="s3-8">
<title>3.8 3-RP<underline>F</underline> PCR</title>
<p>A planar 3-RP<underline>F</underline> PCR is schematically represented in <xref ref-type="fig" rid="F10">Figure&#xa0;10</xref>. Two local frames, noted <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> and <italic>O</italic>
<sub>
<italic>i</italic>2</sub>
<italic>x</italic>
<sub>
<italic>i</italic>2</sub>
<italic>y</italic>
<sub>
<italic>i</italic>2</sub>, are respectively attached to the distal and proximal ends of the continuum links. The orientation of the former local frame relative to the moving platform frame is constant. In each leg, the unit vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub>, which is expressed in the moving platform frame, is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub>.</p>
<fig id="F10" position="float">
<label>FIGURE 10</label>
<caption>
<p>Geometric description of a planar three-DOF 3-RP<underline>F</underline> PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g010.tif"/>
</fig>
<p>Similar to the previously discussed designs, the constraint equations are<disp-formula id="e51">
<mml:math id="m74">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(51)</label>
</disp-formula>where <bold>v</bold>
<sub>
<italic>i</italic>
</sub> is the same as in Eq.&#xa0;<xref ref-type="disp-formula" rid="e21">21</xref> and <bold>u</bold>
<sub>
<italic>i</italic>
</sub> is defined as<disp-formula id="e52">
<mml:math id="m75">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(52)</label>
</disp-formula>in which <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> is the constant orientation matrix of the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> with respect to the fixed frame, and <bold>u</bold>
<sub>
<italic>i</italic>1</sub> is defined in the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> as expressed in Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref>. The time derivative of the constraint equations yields<disp-formula id="e53">
<mml:math id="m76">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>,</mml:mo>
</mml:math>
<label>(53)</label>
</disp-formula>with<disp-formula id="e54">
<mml:math id="m77">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(54)</label>
</disp-formula>where the expression for <inline-formula id="inf24">
<mml:math id="m78">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> can be derived based on the procedure given in Eq.&#xa0;<xref ref-type="disp-formula" rid="e22">22</xref> and Eq.&#xa0;<xref ref-type="disp-formula" rid="e23">23</xref>, <bold>E</bold>
<sub>
<italic>i</italic>
</sub> has been defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e3">3</xref>. In order to calculate the time derivative of vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub>, we rewrite this vector in the following form<disp-formula id="e55">
<mml:math id="m79">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(55)</label>
</disp-formula>where <bold>Q</bold>
<sub>
<italic>i</italic>2</sub> is the orientation matrix of the local frame <italic>O</italic>
<sub>
<italic>i</italic>2</sub>
<italic>x</italic>
<sub>
<italic>i</italic>2</sub>
<italic>y</italic>
<sub>
<italic>i</italic>2</sub> relative to the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> as defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e4">4</xref>. Unit vector <bold>n</bold>
<sub>
<italic>i</italic>2</sub> denotes unit vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> when expressed in the local frame <italic>O</italic>
<sub>
<italic>i</italic>2</sub>
<italic>x</italic>
<sub>
<italic>i</italic>2</sub>
<italic>y</italic>
<sub>
<italic>i</italic>2</sub>. The direction of the unit vector <bold>n</bold>
<sub>
<italic>i</italic>2</sub> is constant with respect to time since the geometric relationship between the prismatic joint and the proximal end of the continuum link in the same leg remains unchanged. The time derivative of vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> can then be written as<disp-formula id="e56">
<mml:math id="m80">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(56)</label>
</disp-formula>Since the local frame is attached to the moving frame, its derivation with respect to time depends on the angular velocity of the moving platform such that <inline-formula id="inf25">
<mml:math id="m81">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula>. Together with the time derivative <inline-formula id="inf26">
<mml:math id="m82">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> from Eq.&#xa0;<xref ref-type="disp-formula" rid="e5">5</xref>, we obtain.<disp-formula id="e57">
<mml:math id="m83">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:math>
<label>(57)</label>
</disp-formula>
<disp-formula id="e58">
<mml:math id="m84">
<mml:mspace width="-1.5em"/>
<mml:mspace width="-1.5em"/>
<mml:mspace width="-0.1em"/>
<mml:mspace width="-1.5em"/>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(58)</label>
</disp-formula>
</p>
<p>Substituting Eq.&#xa0;<xref ref-type="disp-formula" rid="e54">54</xref> and Eq.&#xa0;<xref ref-type="disp-formula" rid="e58">58</xref> into Eq.&#xa0;<xref ref-type="disp-formula" rid="e53">53</xref> and rearranging terms, and noting that <bold>E</bold>
<sup>
<italic>T</italic>
</sup> &#x3d; &#x2212;<bold>E</bold> one can obtain.<disp-formula id="e59">
<mml:math id="m85">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(59)</label>
</disp-formula>
<disp-formula id="e60">
<mml:math id="m86">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(60)</label>
</disp-formula>
<disp-formula id="e61">
<mml:math id="m87">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(61)</label>
</disp-formula>where<disp-formula id="e62">
<mml:math id="m88">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(62)</label>
</disp-formula>
<disp-formula id="e63">
<mml:math id="m89">
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(63)</label>
</disp-formula>
<disp-formula id="e64">
<mml:math id="m90">
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(64)</label>
</disp-formula>The Jacobian matrices now result from Eq.&#xa0;<xref ref-type="disp-formula" rid="e61">61</xref> in<disp-formula id="e65">
<mml:math id="m91">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(65)</label>
</disp-formula>and <bold>K</bold> &#x3d; diag[<italic>k</italic>
<sub>1</sub> <italic>k</italic>
<sub>2</sub> <italic>k</italic>
<sub>3</sub>], where the expression for <italic>k</italic>
<sub>
<italic>i</italic>
</sub> are given in Eq.&#xa0;<xref ref-type="disp-formula" rid="e64">64</xref>. The Pl&#xfc;cker line in each leg is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> and passes through the centre of the revolute joint, as indicated by the red dashed lines in <xref ref-type="fig" rid="F10">Figure&#xa0;10</xref>.</p>
</sec>
<sec id="s3-9">
<title>3.9 3-<underline>F</underline>PR PCR</title>
<p>Each of the legs of the 3-<underline>F</underline>PR PCR contains a passive prismatic joint, indicating that the geometric constraint is the orthogonality between vectors <bold>n</bold>
<sub>
<italic>i</italic>
</sub> and <bold>v</bold>
<sub>
<italic>i</italic>
</sub> in the same leg<disp-formula id="e66">
<mml:math id="m92">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:math>
<label>(66)</label>
</disp-formula>Before taking the time derivative of the constraint equations, we define vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub>, which is expressed in the fixed frame, in the following form<disp-formula id="e67">
<mml:math id="m93">
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mspace width="0.3333em" class="nbsp"/>
<mml:mspace width="0.3333em" class="nbsp"/>
<mml:mspace width="0.3333em" class="nbsp"/>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1,2,3</mml:mn>
</mml:math>
<label>(67)</label>
</disp-formula>in which matrix <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> represents the constant orientation of the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> with respect to the fixed frame, matrix <bold>Q</bold>
<sub>
<italic>i</italic>2</sub> has the same form as that given in Eq.&#xa0;<xref ref-type="disp-formula" rid="e4">4</xref>, and the constant unit vector <bold>n</bold>
<sub>
<italic>i</italic>2</sub> is expressed in the local frame <italic>O</italic>
<sub>
<italic>i</italic>2</sub>
<italic>x</italic>
<sub>
<italic>i</italic>2</sub>
<italic>y</italic>
<sub>
<italic>i</italic>2</sub>. The time derivative of the constraint equations yields<disp-formula id="e68">
<mml:math id="m94">
<mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0</mml:mn>
<mml:mo>.</mml:mo>
</mml:math>
<label>(68)</label>
</disp-formula>Noting that both <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> and <bold>n</bold>
<sub>
<italic>i</italic>2</sub> in Eq.&#xa0;<xref ref-type="disp-formula" rid="e67">67</xref> are constant with respect to time, as frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> is fixed to the corresponding leg&#x2019;s base and the direction of <bold>n</bold>
<sub>
<italic>i</italic>2</sub> remains the same with respect to frame <italic>O</italic>
<sub>
<italic>i</italic>2</sub>
<italic>x</italic>
<sub>
<italic>i</italic>2</sub>
<italic>y</italic>
<sub>
<italic>i</italic>2</sub>, <inline-formula id="inf27">
<mml:math id="m95">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> can be written as<disp-formula id="e69">
<mml:math id="m96">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(69)</label>
</disp-formula>Further, <inline-formula id="inf28">
<mml:math id="m97">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:math>
</inline-formula> is defined as<disp-formula id="e70">
<mml:math id="m98">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(70)</label>
</disp-formula>In this design <bold>u</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>, where vector <bold>u</bold>
<sub>
<italic>i</italic>1</sub> is expressed in the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> using Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref>, while its derivative is given in Eq.&#xa0;<xref ref-type="disp-formula" rid="e2">2</xref>. Thus, we can further write<disp-formula id="e71">
<mml:math id="m99">
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>.</mml:mo>
</mml:math>
<label>(71)</label>
</disp-formula>Substituting Eq.&#xa0;<xref ref-type="disp-formula" rid="e69">69</xref> and Eq.&#xa0;<xref ref-type="disp-formula" rid="e71">71</xref> into Eq.&#xa0;<xref ref-type="disp-formula" rid="e68">68</xref> and rearranging terms in a similar way than for the previous design, one can obtain<disp-formula id="e72">
<mml:math id="m100">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3d5;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>0</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mover accent="true">
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mo>&#x307;</mml:mo>
</mml:mover>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>,</mml:mo>
</mml:math>
<label>(72)</label>
</disp-formula>in which the diagonal elements in Jacobian matrix <bold>K</bold> are<disp-formula id="e73">
<mml:math id="m101">
<mml:msub>
<mml:mrow>
<mml:mi>k</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:mfenced open="(" close=")">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">v</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(73)</label>
</disp-formula>and Jacobian matrix <bold>J</bold> is expressed as<disp-formula id="e74">
<mml:math id="m102">
<mml:mi mathvariant="bold">J</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>10</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>20</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">Q</mml:mi>
<mml:mi mathvariant="bold">b</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>30</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>.</mml:mo>
</mml:math>
<label>(74)</label>
</disp-formula>The Pl&#xfc;cker line in each leg is orthogonal to vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> and passes through the centre of the revolute joint, as indicated by the red dashed lines in <xref ref-type="fig" rid="F11">Figure&#xa0;11</xref>.</p>
<fig id="F11" position="float">
<label>FIGURE 11</label>
<caption>
<p>Geometric description of a planar three-DOF 3-<underline>F</underline>PR PCR.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g011.tif"/>
</fig>
</sec>
</sec>
<sec id="s4">
<title>4 Singularity analysis</title>
<p>In this section, the previously derived Jacobian matrices <bold>J</bold> and <bold>K</bold> are used to provide a singularity analysis for each of the discussed PCR designs. In particular, we provide intuitive geometrical interpretations of the occurrences of type II (det(<bold>J</bold>) &#x3d; 0) and type I singularities (det(<bold>K</bold>) &#x3d; 0), while drawing comparisons to conventional 3-DOF PKM. Both type I and type II singularity loci of the PCRs can be obtained using a geometrical methods, comparable to what has been done in (<xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al., 2003</xref>) for conventional PKM. We believe that the presented results can guide future research endeavours concerned with planar 3-DOF PCR. For instance, knowledge about the singularity loci and occurrences can be used as a guidance not only for the choice and design of a non-redundant architecture for a particular task (<xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al., 2003</xref>), but also for synthesising redundant parallel manipulators to alleviate singularities (<xref ref-type="bibr" rid="B28">Wen&#xa0;et&#xa0;al., 2020</xref>).</p>
<sec id="s4-1">
<title>4.1 Type II singularities</title>
<p>In (<xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al., 2003</xref>), the concept of reciprocal screws has been utilized to kinematically model planar PKMs. Although the velocity equations of the planar PCRs in this study are not developed based on this concept, the Jacobian matrices <bold>J</bold> have a similar physical meaning like the corresponding matrices in (<xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al., 2003</xref>). Therefore, type II singularity analysis of planar PCRs and their rigid counterparts can be carried out using the same framework, such as Grassmann line geometry (<xref ref-type="bibr" rid="B27">Wen and Burgner-Kahrs, 2022</xref>).</p>
<p>As pointed out in the previous section, each of the rows in Jacobian matrix <bold>J</bold> of a planar PCR can be represented by a Pl&#xfc;cker line. Based on our findings, such a Pl&#xfc;cker line can be geometrically identified by the following rules:<list list-type="simple">
<list-item>
<p>1) If a leg of the planar PCR contains two passive revolute joints, the Pl&#xfc;cker line passes through the centres of both joints;</p>
</list-item>
<list-item>
<p>2) If a leg contains a passive revolute and a passive prismatic joint, the Pl&#xfc;cker line passes through the centre of the former joint while being orthogonal to the axis of the latter joint.</p>
</list-item>
</list>
</p>
<p>Generally, Jacobian matrix <bold>J</bold> becomes singular and type II singularities occur when its three Pl&#xfc;cker lines intersect at a common point or are parallel to each other. The loci and occurrences of these singularities depend on both the current joint configuration of the PCR, but also on its design parameters and the leg assembly. Example type II singularity occurrences for three of the considered 3-DOF PCR, namely the 3-R<underline>F</underline>R, 3-<underline>F</underline>RR and 3-P<underline>F</underline>R designs, are shown in <xref ref-type="fig" rid="F12">Figure&#xa0;12</xref>. The occurrences of II singularities for the other designs can be obtained analogously by investigating the corresponding Pl&#xfc;cker lines of <bold>J</bold>.</p>
<fig id="F12" position="float">
<label>FIGURE 12</label>
<caption>
<p>Example type II singularity occurrences for three of the considered PCR designs: 3-R<underline>F</underline>R, 3-<underline>F</underline>RR and 3-P<underline>F</underline>R.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g012.tif"/>
</fig>
<p>It is noted, that the Pl&#xfc;cker lines for the 3-R<underline>F</underline>P, 3-P<underline>F</underline>R, 3-PR<underline>F</underline>, and 3-<underline>F</underline>RP PCRs can never be parallel as long as the prismatic joints are not aligned. Due to this, some of these designs might in fact be free of type II singularities, if their Pl&#xfc;cker lines additionally never intersect. For instance, type II singularities cannot occur in the 3-R<underline>F</underline>P and 3-<underline>F</underline>RP PCRs, since their Pl&#xfc;cker lines will never intersect in praxis due to mechanical interferences.</p>
<p>It can be concluded that type II singularity analysis is very straightforward, as the Pl&#xfc;cker lines can be identified in a geometrically intuitive way. It is further apparent that the loci and occurrences of type II singularities are mostly analogous to conventional PKM, which usually have Jacobian matrices <bold>J</bold> consisting of similar Pl&#xfc;cker lines. However, throughout the next section we will show, that the type I singularity occurences for the PCR studied in this work are quite different from conventional PKM and are less intuitive to understand.</p>
</sec>
<sec id="s4-2">
<title>4.2 Type I singularities</title>
<p>Type I singularities of rigid PKMs generally occur when either an actuator (usually a linear actuator) reaches its extremes of extension or when the determinant of the Jacobian matrix <bold>K</bold> is equal to 0. While the first case is usually known directly from the resulting joint values of a design, the second case can often be identified in a straightforward manner by observing the configuration and resulting geometry of the manipulator. However, due to the bending motions of the continuum links, this geometric method might not be intuitive for PCRs. To elaborate on this difference, a comparison study of a rigid 3-<underline>R</underline>RP parallel architecture and a 3-<underline>F</underline>RP PCR is provided in the following. Both designs, which are exhibiting a similar kinematic structure, are depicted in <xref ref-type="fig" rid="F13">Figure&#xa0;13</xref>.</p>
<fig id="F13" position="float">
<label>FIGURE 13</label>
<caption>
<p>Geometric description of a planar three-DOF 3-<underline>R</underline>RP parallel mechanism (left) in comparison to the 3-<underline>F</underline>RP continuous counterpart (right).</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g013.tif"/>
</fig>
<p>The Jacobian matrix <bold>K</bold> of the conventional 3-<underline>R</underline>RP robot can be expressed as<disp-formula id="e75">
<mml:math id="m103">
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
<mml:mi mathvariant="bold">u</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>,</mml:mo>
</mml:math>
<label>(75)</label>
</disp-formula>where <bold>E</bold> is a 90-degree rotation as defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e6">6</xref>. The diagonal entries of the corresponding matrix for the continuous counterpart, i.e., the 3-<underline>F</underline>RP robot, are given in Eq.&#xa0;<xref ref-type="disp-formula" rid="e50">50</xref>, such that matrix <bold>K</bold> results in<disp-formula id="e76">
<mml:math id="m104">
<mml:mi mathvariant="bold">K</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mfenced open="[" close="]">
<mml:mrow>
<mml:mtable class="matrix">
<mml:mtr>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>11</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>21</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd columnalign="center">
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">n</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
<mml:mrow>
<mml:mi>T</mml:mi>
</mml:mrow>
</mml:msubsup>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">Q</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>31</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">E</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="bold">u</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mn>31</mml:mn>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
<mml:mo>,</mml:mo>
</mml:math>
<label>(76)</label>
</disp-formula>where <bold>Q</bold>
<sub>
<italic>i</italic>1</sub> is the orientation of the base of continuum link in leg <italic>i</italic>, <bold>E</bold>
<sub>
<italic>i</italic>
</sub> is defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e3">3</xref> and <bold>u</bold>
<sub>
<italic>i</italic>1</sub> is vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub> expressed in the local frame <italic>O</italic>
<sub>
<italic>i</italic>1</sub>
<italic>x</italic>
<sub>
<italic>i</italic>1</sub>
<italic>y</italic>
<sub>
<italic>i</italic>1</sub> as defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e1">1</xref>.</p>
<p>It can be observed from Eq.&#xa0;<xref ref-type="disp-formula" rid="e75">75</xref> that a type I singularity occurs when vectors <bold>n</bold>
<sub>
<italic>i</italic>
</sub> and <bold>u</bold>
<sub>
<italic>i</italic>
</sub> (with <italic>i</italic> &#x3d; 1, 2, 3) are aligned, i.e., the distal link is perpendicular to the proximal link in the same leg (<xref ref-type="bibr" rid="B2">Bonev&#xa0;et&#xa0;al., 2003</xref>), resulting in det(<bold>K</bold>) &#x3d; 0. Thus the occurrences of type I singularities can always be associated with the orientation of these two links, allowing to intuitively detect them based on geometry.</p>
<p>On the contrary, the determinant of Jacobian matrix <bold>K</bold> for the 3-<underline>F</underline>RP PCR becomes 0 when vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> is orthogonal to vector <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub> (with <italic>i</italic> &#x3d; 1, 2, 3). However, unlike for its rigid counterpart, the direction of the latter vector, which is different from vector <bold>Eu</bold>
<sub>
<italic>i</italic>
</sub> in the 3-<underline>R</underline>RP rigid parallel mechanism, is not constantly associated with a link. In fact, its direction is always tangent to the course of the tip of the corresponding continuum link, which is visualized in <xref ref-type="fig" rid="F1">Figure&#xa0;1</xref>. Thus, the orthogonality between these two vectors is not intuitively observed from the configurations of the PCR.</p>
<p>Throughout the remainder of this section, we are providing additional insights into the occurrence of type I singularities for each PCR design discussed in this paper. We are further investigating the existence of different possible postures of the legs in each design for a given desired end-effector pose. This concept has first been discussed for conventional planar parallel robots by <xref ref-type="bibr" rid="B6">Chablat and Wenger (1998)</xref>, who further introduce the idea of working modes that are separating sets of different leg postures. We show, that type I singularities of the PCR discussed in this paper separate different leg posture solutions. Thus, type I singularities occur, when the number of possible leg posture solution varies, e.g., when the number of possible solutions changes from two to one or from four to two. In this case, two separate working modes of the PCR join. We note that an analogous behaviour was shown for conventional PKM by <xref ref-type="bibr" rid="B6">Chablat and Wenger (1998)</xref> and was conjectured for passive link PCR by <xref ref-type="bibr" rid="B4">Briot and Goldsztejn (2021)</xref>.</p>
<p>The results of this section are depicted in <xref ref-type="fig" rid="F14">Figure&#xa0;14</xref>. For each design, we show possible multiple leg postures for one leg of the corresponding design, connecting the leg&#x2019;s base <italic>A</italic>
<sub>
<italic>i</italic>
</sub> to the platform coupling point <italic>B</italic>
<sub>
<italic>i</italic>
</sub>. The shown solutions meet the geometrical coupling constraints, which depend on possible positions of the end of the continuum link, shown in a blue solid line, and the possible motions allowed from the passive joint, shown in red dashed line. The figure further shows example cases, in which type I singularities for an individual leg in a design exist. As stated above, the number of possible leg postures changes in these configurations. Additionally, the tangents of the dashed red line and solid blue line at the corresponding solution become parallel for most designs in this case. We believe that the insights gained in this section can lead to a better geometrical understanding of type I singularity occurrences, which can for instance be useful to determine the designs workspace boundaries, which are usually defined by such.</p>
<fig id="F14" position="float">
<label>FIGURE 14</label>
<caption>
<p>Visualization of different leg postures (top) and example type I singularity occurrence (bottom) for one leg in each discussed PCR design. The course of the continuum links distal end is visualized in a solid blue line, while the possible motions of the passive link in each leg is shown using a dashed red line.</p>
</caption>
<graphic xlink:href="frobt-09-1082185-g014.tif"/>
</fig>
<p>We note that observing the results from the previous section, it can be seen that designs that are featuring the same kinematic structure in their legs, but with a reversed arrangement, have similar type I singularity conditions. For instance, the 3-<underline>F</underline>RR and 3-RR<underline>F</underline> designs have type I singularities when Eq.&#xa0;<xref ref-type="disp-formula" rid="e18">18</xref> and Eq.&#xa0;<xref ref-type="disp-formula" rid="e26">26</xref> are equal to 0 for any <italic>i</italic>. It can be seen that these equations only differ in their sign, leading to the same conditions for type I singularities. The same is true for most of the remaining designs, with the 3-R<underline>F</underline>R being the exception. Thus, through the following we will only discuss one of each of these designs, while the type I singularity occurrences of the corresponding other design can be obtained analogously.</p>
<sec id="s4-2-1">
<title>4.2.1 3-R<underline>F</underline>R PCR</title>
<p>For the 3-R<underline>F</underline>R PCR, generally two configurations for each leg exist for a given end-effector pose. In both solutions, the continuum link exhibits the same magnitude of curvature <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub>, however is bent in different directions. This is analogous to the typical elbow-up and elbow-down solutions for conventional planar parallel robots. When the number of inverse kinematic solutions reduces to one, a type I singularity occurs. This is the case for <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 0, resulting in a straight continuum link. Further, the matrix <bold>K</bold> for this specific PCR design in Eq.&#xa0;<xref ref-type="disp-formula" rid="e12">12</xref> becomes singular in this case, confirming the existence of a type I singularity. In addition, type I singularities occur, when <inline-formula id="inf29">
<mml:math id="m105">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, which is the maximum bending curvature, in which the continuum link forms a closed circle. In this case, vector <bold>u</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>0</bold>, and <italic>k</italic>
<sub>
<italic>i</italic>
</sub> &#x3d; 0. In fact, this leads to both a type I and type II singularity, as both <bold>J</bold>, as defined in <xref ref-type="disp-formula" rid="e10">(10)</xref>, and <bold>K</bold>, as defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e12">12</xref>, become singular.</p>
</sec>
<sec id="s4-2-2">
<title>4.2.2 3-<underline>F</underline>RR and 3-RR<underline>F</underline> PCR</title>
<p>For the 3-<underline>F</underline>RR PCR, the different configurations for each leg, given the pose of the end-effector, can be identified by investigating the possible positions of the continuum link and the possible motions allowed by the passive joints. Both are depicted in <xref ref-type="fig" rid="F14">Figure&#xa0;14</xref> using a blue solid line and a red dashed line respectively. Valid leg configurations exist at intersections of these two lines. In the shown case, two intersections and thus configurations exist, in which the continuum link exhibits different bending curvatures <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub>. However, depending on the occurring intersections between the red and blue lines, up to four different solutions can be identified, if the distance between <italic>B</italic>
<sub>
<italic>i</italic>
</sub> and <italic>A</italic>
<sub>
<italic>i</italic>
</sub> decreases.</p>
<p>When the number of intersections and possible leg configurations changes, i.e., in the example the number of solutions reduces from two to one, a type I singularity occurs. In this case, <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>, which is tangent to the trajectory of the continuum link (blue), is orthogonal to <bold>v</bold>
<sub>
<italic>i</italic>
</sub>, which is parallel to the rigid link in the kinematic chain. In other words, the tangent of the blue line <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub> becomes parallel to the red dashed line. The singularity occurrence can be confirmed by investigating the corresponding matrix <bold>K</bold> for this specific PCR design, which entries are defined by Eq.&#xa0;<xref ref-type="disp-formula" rid="e18">18</xref>, as it becomes singular in this configuration. The same phenomena can be observed in other instances, e.g., when the number of solutions reduces from four to two. Additionally, similar to the previous design, a type I singularities also occurs for the maximum bending curvature <inline-formula id="inf30">
<mml:math id="m106">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>. In this case, <bold>u</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>0</bold>, leading to a singularity in <bold>K</bold>.</p>
<p>These observed results are equivalent for the 3-RR<underline>F</underline> PCR, as the individual entries of <bold>K</bold> in Eq.&#xa0;<xref ref-type="disp-formula" rid="e26">26</xref> result in a similar expression compared to Eq.&#xa0;<xref ref-type="disp-formula" rid="e18">18</xref>.</p>
</sec>
<sec id="s4-2-3">
<title>4.2.3 3-R<underline>F</underline>P and 3-P<underline>F</underline>R PCR</title>
<p>The possible leg configurations for the 3-R<underline>F</underline>P PCR can again be obtained by investigating the possible positions of the continuum link in blue and the possible motions allowed by the passive joints in red. For a given end-effector pose the position of point <italic>B</italic>
<sub>
<italic>i</italic>
</sub> is known, thus, the distal end of the continuum link is constrained to lie on the red dashed line. Further, the proximal end of the continuum link, whose possible positions are denoted by the solid blue line, has to align with point <italic>A</italic>
<sub>
<italic>i</italic>
</sub>. From this, exactly two leg configurations can be identified using the sketch in <xref ref-type="fig" rid="F14">Figure&#xa0;14</xref> for the shown case. The main difference between these solutions is the extension of the passive prismatic joint and the bending curvature <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub> of the continuum link. We note that the number of possible solutions in the general case could differ from two, as it depends on the position of <italic>B</italic>
<sub>
<italic>i</italic>
</sub> with respect to <italic>A</italic>
<sub>
<italic>i</italic>
</sub> and the fixed orientation between the prismatic joint and the continuum link.</p>
<p>In the case, in which the number of solutions reduces, e.g., in our example only one possible intersection between the proximal end of the continuum link and point <italic>A</italic>
<sub>
<italic>i</italic>
</sub> exists, a type I singularity occurs. In this case, <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>, which is tangent to the trajectory of the continuum link (blue), is orthogonal to <bold>n</bold>
<sub>
<italic>i</italic>
</sub>, which itself is orthogonal to the rigid link in the kinematic chain. In other words, the tangent of the blue line <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub> becomes parallel to the red dashed line. This can be confirmed by investigating the corresponding matrix <bold>K</bold> for this specific PCR design, which entries are defined by Eq.&#xa0;<xref ref-type="disp-formula" rid="e35">35</xref>, as it becomes singular in this configuration. Again, a type I singularities also occurs for the maximum bending curvature <inline-formula id="inf31">
<mml:math id="m107">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>. In this case, <bold>u</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>0</bold>, leading to a singularity in <bold>K</bold>. Another straightforward type I singularity occurs, when the prismatic joint is fully retracted such that <bold>v</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>0</bold>. In this case, vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> becomes undefined. This additionally leads to a type II singularity, since <bold>J</bold>, as defined in Eq.&#xa0;<xref ref-type="disp-formula" rid="e34">34</xref>, exhibits a zero-row in this case. However, in praxis, this PCR configuration might not be attainable due to mechanical limits and interferences.</p>
<p>These observed results are equivalent for the 3-P<underline>F</underline>R PCR, as the individual entries of <bold>K</bold> in Eq.&#xa0;<xref ref-type="disp-formula" rid="e41">41</xref> result in a similar expression compared to Eq.&#xa0;<xref ref-type="disp-formula" rid="e35">35</xref>.</p>
</sec>
<sec id="s4-2-4">
<title>4.2.4 3-<underline>F</underline>RP and 3-PR<underline>F</underline> PCR</title>
<p>The leg configurations of the 3-<underline>F</underline>RP PCR are obtained analogous to the previous designs. The red dashed line denotes the possible positions defined by the passive prismatic joint. The different leg configurations exist, where this line intersects with the possible positions of the distal end of the continuum segment shown in blue. The shown example shows two possible solutions, where both feature different bending curvatures <italic>&#x3ba;</italic>
<sub>
<italic>i</italic>
</sub> of the continuum link. In the general case, more than just two solutions might exists, depending on the number of intersections of the lines.</p>
<p>In the case that the number of solution changes, e.g., in the shown example only one intersection between the two lines exists, a type I singularity occurs. Here, similar to the previous design, <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>, which is tangent to the trajectory of the continuum link (blue), is orthogonal to <bold>n</bold>
<sub>
<italic>i</italic>
</sub>, which itself is orthogonal to the rigid link in the kinematic chain. Thus, the tangent of the blue line <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub> becomes parallel to the red dashed line. Again, we can confirm the existence of a type I singularity by investigating the corresponding matrix <bold>K</bold> for this design, which entries are defined by Eq.&#xa0;<xref ref-type="disp-formula" rid="e50">50</xref>, which becomes singular in this configuration. Again, type I singularities also occur for <inline-formula id="inf32">
<mml:math id="m108">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>, leading to <bold>u</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>0</bold>, and for <bold>v</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>0</bold>, in which case <bold>n</bold>
<sub>
<italic>i</italic>
</sub> becomes undefined. The latter case also leads to a type II singularity.</p>
<p>These observed results are equivalent for the 3-PR<underline>F</underline> PCR, as the individual entries of <bold>K</bold> in Eq.&#xa0;<xref ref-type="disp-formula" rid="e45">45</xref> result in a similar expression compared to Eq.&#xa0;<xref ref-type="disp-formula" rid="e50">50</xref>.</p>
</sec>
<sec id="s4-2-5">
<title>4.2.5 3-<underline>F</underline>PR and 3-RP<underline>F</underline> PCR</title>
<p>For the 3-<underline>F</underline>PR design, the possible leg configurations for a given end-effector pose are not as intuitive as for the previous designs. In order to identify them, we can visualize the possible positions of the continuum link&#x2019;s distal end in blue. Considering, that the passive prismatic joint is rigidly attached to this end with a given orientation, we can draw the possible extension along this link with a dashed red line. A valid leg configuration is found, if for a given continuum link position, this red line intersects with point <italic>B</italic>
<sub>
<italic>i</italic>
</sub>. Two possible leg configurations are visualized in <xref ref-type="fig" rid="F14">Figure&#xa0;14</xref> as an example. However, we note that in praxis, one of these solutions would be unattainable due mechanical limits and interferences.</p>
<p>Geometrically identifying type I singularities, i.e., configurations, in which only one leg configuration exists for a given end-effector pose, is challenging for the 3-<underline>F</underline>PR PCR design. When observing the individual entries of the <bold>K</bold> matrix for this design in Eq.&#xa0;<xref ref-type="disp-formula" rid="e73">73</xref>, it can be seen that a type I singularity exists, when vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> is orthogonal to vector (<bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>&#x2212;<italic>&#x2113;</italic>
<sub>
<italic>i</italic>
</sub>
<bold>Ev</bold>
<sub>
<italic>i</italic>
</sub>). The latter vector consists of a vector, that is, tangent to the continuum link&#x2019;s distal end&#x2019;s trajectory and a vector, that is, orthogonal to <bold>v</bold>
<sub>
<italic>i</italic>
</sub> and parallel to <bold>n</bold>
<sub>
<italic>i</italic>
</sub>. Due to this, the vector (<bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub>&#x2212;<italic>&#x2113;</italic>
<sub>
<italic>i</italic>
</sub>
<bold>Ev</bold>
<sub>
<italic>i</italic>
</sub>) will never be orthogonal to vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub>. The only cases, in which type I singularities occur, is when either vector <bold>v</bold>
<sub>
<italic>i</italic>
</sub> &#x3d; <bold>0</bold> and vector <bold>n</bold>
<sub>
<italic>i</italic>
</sub> becomes undefined, or when <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub> &#x3d; <italic>&#x2113;</italic>
<sub>
<italic>i</italic>
</sub>
<bold>Ev</bold>
<sub>
<italic>i</italic>
</sub>, such that the second vector becomes a null-vector. Thus, unlike for the other designs, a type I singularity does not occur in the maximum bending curvature <inline-formula id="inf33">
<mml:math id="m109">
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>&#x3ba;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo stretchy="false">&#x7c;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:mi>&#x3c0;</mml:mi>
<mml:msubsup>
<mml:mrow>
<mml:mi>&#x2113;</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>i</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msubsup>
</mml:math>
</inline-formula>.</p>
<p>These observed results are analogous for the 3-RP<underline>F</underline> PCR, however when observing Eq.&#xa0;<xref ref-type="disp-formula" rid="e64">64</xref>, we can see that <bold>Q</bold>
<sub>
<italic>i</italic>1</sub>
<bold>E</bold>
<sub>
<italic>i</italic>
</sub>
<bold>u</bold>
<sub>
<italic>i</italic>1</sub> &#x3d; &#x2212;<italic>&#x2113;</italic>
<sub>
<italic>i</italic>
</sub>
<bold>Ev</bold>
<sub>
<italic>i</italic>
</sub> for the second type I singularity condition.</p>
</sec>
</sec>
</sec>
<sec id="s5">
<title>5 Limitations</title>
<p>We would like to acknowledge, that while nine possible PCR designs have been presented throughout this work, not all of these outlined designs might be physically feasible, depending on the chosen actuation method. For instance, tendon-driven continuum links need a motor at either one of their ends to pull and release the routed tendons. Thus, this motor would need to move along the motion of potential passive revolute and prismatic joints, which might be difficult to realize in a robotic prototype or add significant weight to the resulting manipulator. We further note that the derivations throughout this work are only valid for PCR designs featuring continuum links bending in constant curvature arcs. This assumption is generally only true for certain actuation methodologies in the absence of external or coupling forces, potentially requiring additional passive joints to eliminate the latter according to Gr&#xfc;bler&#x2019;s formula. Lastly, the presented derivations only consider kinematic and geometric relations, while the statics of the manipulator are not modelled. Due to this, not all robot configurations that fulfill the geometric constraints might result in a static equilibrium, which would have to be evaluated with respect to external loads and internal wrenches exchanged by the robot links and the end-effector platform. In addition, instabilities or uncontrollable end-effector motions arising from the compliant material of the continuum links can not be considered within this framework.</p>
</sec>
<sec sec-type="conclusion" id="s6">
<title>6 Conclusion</title>
<p>In this work, we studied 3-DOF planar PCR designs, each consisting of three individual legs. Each leg features an actuated constant curvature continuum link in addition to two discrete passive joints. We showed that following this design paradigm and assuming symmetrical designs, 12 different kinematic leg structures exist, nine of them are suitable for composing 3-DOF planar PCRs. The velocity kinematics were derived for each of these designs based on their individual constraint equations. Based on these derivations a singularity analysis was conducted. It could be shown, that the type II singularity conditions of the proposed PCRs are the same as their rigid counterparts and can be determined in an intuitive geometric manner using Pl&#xfc;cker lines. As this type of singularities only depends on the resulting geometry of each configuration, it is independent of the framework used to model the continuum link. Different from rigid 3-DOF planar parallel manipulators, the type I singularity conditions of the proposed PCRs are not as easily and intuitively observed geometrically. To alleviate this, we provided additional insights into the occurrences of these singularities, particularly connecting them to the existence of multiple possible leg configurations.</p>
<p>In conclusion, our work extends the current state of the art on the design and evaluation of planar 3-DOF PCR, which are using actuated continuum links bending in constant curvatures. We envision that our work can guide researchers to choose a specific 3-DOF PCR designs given particular applications and requirements. We also believe that our investigations can be helpful to further evaluate the kinematic properties with respect to the design parameters of a particular manipulator. For instance, the presented kinematic framework can be used to investigate the singularity distributions for each design as well as their dependence on different design parameters and leg configurations. Lastly, the velocity equations provided for each PCR design can be useful for controlling the manipulators under constant curvature assumption. We anticipate that our work can be extended to spatial PCR featuring similar individual legs with actuated constant curvature continuum links, such as the designs in (<xref ref-type="bibr" rid="B8">Garcia&#xa0;et&#xa0;al., 2020</xref>) and (<xref ref-type="bibr" rid="B9">Garcia&#xa0;et&#xa0;al., 2021</xref>), in a straightforward manner.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s7">
<title>Data availability statement</title>
<p>The original contributions presented in the study are included in the article/Supplementary Material, further inquiries can be directed to the corresponding author.</p>
</sec>
<sec id="s8">
<title>Author contributions</title>
<p>SL and KW contributed equally and share first authorship of this paper. They both worked on the derivation of the modeling equations and the analysis of the singularity conditions. They wrote the majority of the paper. KW conceptualized the scope of the paper and worked on the enumeration of all possible 3-DOF PCR designs. SL worked on providing a geometric understanding for the identified singularity conditions. JB-K is the senior author of this paper. She conceptualized, advised, and regularly discussed research questions and results with all authors. She edited the paper. All authors were concerned with conceptualizing and revising the paper through regular discussions on the content and theory.</p>
</sec>
<sec id="s9">
<title>Funding</title>
<p>We acknowledge the support of the Natural Sciences and Engineering Research Council of Canada (NSERC), (funding reference number RGPIN-2019-04846).</p>
</sec>
<sec sec-type="COI-statement" id="s10">
<title>Conflict of interest</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>
<sec sec-type="disclaimer" id="s11">
<title>Publisher&#x2019;s note</title>
<p>All claims expressed in this article are solely those of the authors and do not necessarily represent those of their affiliated organizations, or those of the publisher, the editors and the reviewers. Any product that may be evaluated in this article, or claim that may be made by its manufacturer, is not guaranteed or endorsed by the publisher.</p>
</sec>
<ref-list>
<title>References</title>
<ref id="B1">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Altuzarra</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Campa</surname>
<given-names>F. J.</given-names>
</name>
</person-group> (<year>2020</year>). &#x201c;<article-title>On singularity and instability in a planar parallel continuum mechanism</article-title>,&#x201d; in <source>International symposium on advances in robot kinematics</source> (<publisher-name>Springer</publisher-name>), <fpage>327</fpage>&#x2013;<lpage>334</lpage>.</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bonev</surname>
<given-names>I. A.</given-names>
</name>
<name>
<surname>Zlatanov</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Gosselin</surname>
<given-names>C. M.</given-names>
</name>
</person-group> (<year>2003</year>). <article-title>Singularity analysis of 3-dof&#xa0;planar parallel mechanisms via screw theory</article-title>. <source>ASME J. Mech. Des.</source> <volume>125</volume>, <fpage>573</fpage>&#x2013;<lpage>581</lpage>.</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>B&#xf6;ttcher</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Lilge</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Burgner-Kahrs</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Design of a reconfigurable parallel continuum robot with tendon-actuated kinematic chains</article-title>. <source>IEEE Robotics Automation Lett.</source> <volume>6</volume>, <fpage>1272</fpage>&#x2013;<lpage>1279</lpage>. <pub-id pub-id-type="doi">10.1109/lra.2021.3057557</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Briot</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Goldsztejn</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Singularity conditions for continuum parallel robots</article-title>. <source>IEEE Trans. Robotics</source> <volume>38</volume>, <fpage>507</fpage>&#x2013;<lpage>525</lpage>. <pub-id pub-id-type="doi">10.1109/tro.2021.3076830</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bryson</surname>
<given-names>C. E.</given-names>
</name>
<name>
<surname>Rucker</surname>
<given-names>D. C.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>Toward parallel continuum manipulators</article-title>,&#x201d; in <conf-name>IEEE International Conference on Robotics and Automation (ICRA)</conf-name>, <fpage>778</fpage>&#x2013;<lpage>785</lpage>.</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Chablat</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Wenger</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>1998</year>). <article-title>Working modes and aspects in fully parallel manipulators</article-title>. <source>IEEE Int. Conf. Robotics Automation</source> <volume>3</volume>, <fpage>1964</fpage>&#x2013;<lpage>1969</lpage>.</citation>
</ref>
<ref id="B7">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Chen</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>A general discretization-based approach for the kinetostatic analysis of closed-loop rigid/flexible hybrid mechanisms</article-title>,&#x201d; in <source>International symposium on advances in robot kinematics</source> (<publisher-name>Springer</publisher-name>), <fpage>269</fpage>&#x2013;<lpage>276</lpage>.</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Garcia</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Moghadam</surname>
<given-names>A. A. A.</given-names>
</name>
<name>
<surname>Tekes</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Emert</surname>
<given-names>R.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Development of a 3d printed soft parallel robot</article-title>. <source>ASME Int. Mech. Eng. Congr. Expo.</source> <volume>84546</volume>, <fpage>V07AT07A008</fpage>.</citation>
</ref>
<ref id="B9">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Garcia</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Pena</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Tekes</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Amiri Moghadam</surname>
<given-names>A. A.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Development of novel three-dimensional soft parallel robot</article-title>,&#x201d; in <source>SoutheastCon 2021</source>.</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Hopkins</surname>
<given-names>J. B.</given-names>
</name>
<name>
<surname>Rivera</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Kim</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Krishnan</surname>
<given-names>G.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Synthesis and analysis of soft parallel robots comprised of active constraints</article-title>. <source>ASME J. Mech. Robotics</source> <volume>7</volume>, <fpage>011002</fpage>. <pub-id pub-id-type="doi">10.1115/1.4029324</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lilge</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Nuelle</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Boettcher</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Spindeldreier</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Burgner-Kahrs</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Tendon actuated continuous structures in planar parallel robots: A kinematic analysis</article-title>. <source>J. Mech. Robotics</source> <volume>13</volume>. <pub-id pub-id-type="doi">10.1115/1.4049058</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Lindenroth</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Housden</surname>
<given-names>R. J.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Back</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Rhode</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Liu</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Design and integration of a parallel, soft robotic end-effector for extracorporeal ultrasound</article-title>. <source>IEEE Trans. Biomed. Eng.</source> <volume>67</volume>, <fpage>2215</fpage>&#x2013;<lpage>2229</lpage>. <pub-id pub-id-type="doi">10.1109/tbme.2019.2957609</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mahoney</surname>
<given-names>A. W.</given-names>
</name>
<name>
<surname>Anderson</surname>
<given-names>P. L.</given-names>
</name>
<name>
<surname>Swaney</surname>
<given-names>P. J.</given-names>
</name>
<name>
<surname>Maldonado</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Webster</surname>
<given-names>R. J.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Reconfigurable parallel continuum robots for incisionless surgery</article-title>,&#x201d; in <conf-name>IEEE/RSJ International Conference on Intelligent Robots and Systems</conf-name>, <fpage>4330</fpage>&#x2013;<lpage>4336</lpage>.</citation>
</ref>
<ref id="B14">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mauz&#xe9;</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Laurent</surname>
<given-names>G. J.</given-names>
</name>
<name>
<surname>Dahmouche</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Cl&#xe9;vy</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Micrometer positioning accuracy with a planar parallel continuum robot</article-title>. <source>Front. Robotics AI</source> <volume>8</volume>, <fpage>706070</fpage>. <pub-id pub-id-type="doi">10.3389/frobt.2021.706070</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Mayer</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Sawodny</surname>
<given-names>O.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Singularity and workspace analysis for modular continuum robots</article-title>,&#x201d; in <conf-name>IEEE Conference on Control Technology and Applications</conf-name>, <fpage>280</fpage>&#x2013;<lpage>285</lpage>.</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Merlet</surname>
<given-names>J.-P.</given-names>
</name>
</person-group> (<year>1996</year>). <article-title>Direct kinematics of planar parallel manipulators</article-title>. <source>IEEE Int. Conf. Robotics Automation</source> <volume>4</volume>, <fpage>3744</fpage>&#x2013;<lpage>3749</lpage>.</citation>
</ref>
<ref id="B17">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Merlet</surname>
<given-names>J.-P.</given-names>
</name>
</person-group> (<year>2005</year>). <source>Parallel robots</source>. <publisher-name>Springer Science &#x26; Business Media</publisher-name>.</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Moghadam</surname>
<given-names>A. A. A.</given-names>
</name>
<name>
<surname>Kouzani</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Torabi</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Kaynak</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Shahinpoor</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Development of a novel soft parallel robot equipped with polymeric artificial muscles</article-title>. <source>Smart Mater. Struct.</source> <volume>24</volume>, <fpage>035017</fpage>. <pub-id pub-id-type="doi">10.1088/0964-1726/24/3/035017</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nuelle</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Sterneck</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Lilge</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Xiong</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Burgner-Kahrs</surname>
<given-names>J.</given-names>
</name>
<name>
<surname>Ortmaier</surname>
<given-names>T.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Modeling, calibration, and evaluation of a tendon-actuated planar parallel continuum robot</article-title>. <source>IEEE Robotics Automation Lett.</source> <volume>5</volume>, <fpage>5811</fpage>&#x2013;<lpage>5818</lpage>. <pub-id pub-id-type="doi">10.1109/lra.2020.3010213</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Oliver-Butler</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Childs</surname>
<given-names>J. A.</given-names>
</name>
<name>
<surname>Daniel</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Rucker</surname>
<given-names>D. C.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Concentric push&#x2013;pull robots: Planar modeling and design</article-title>. <source>IEEE Trans. Robotics</source> <volume>38</volume>, <fpage>1186</fpage>&#x2013;<lpage>1200</lpage>. <pub-id pub-id-type="doi">10.1109/tro.2021.3104249</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Orekhov</surname>
<given-names>A. L.</given-names>
</name>
<name>
<surname>Aloi</surname>
<given-names>V. A.</given-names>
</name>
<name>
<surname>Rucker</surname>
<given-names>D. C.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Modeling parallel continuum robots with general intermediate constraints</article-title>. <source>IEEE Int. Conf. Robotics Automation</source>, <fpage>6142</fpage>&#x2013;<lpage>6149</lpage>.</citation>
</ref>
<ref id="B22">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Rao</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Peyron</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Lilge</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Burgner-Kahrs</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>How to model tendon-driven continuum robots and benchmark modelling performance</article-title>. <source>Front. Robotics AI</source> <volume>7</volume>, <fpage>630245</fpage>. <pub-id pub-id-type="doi">10.3389/frobt.2020.630245</pub-id>
</citation>
</ref>
<ref id="B23">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Shihora</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Simaan</surname>
<given-names>N.</given-names>
</name>
</person-group> (<year>2022</year>). &#x201c;<article-title>Geometric insights into kinematically-singular configurations of planar continuum robots</article-title>,&#x201d; in <source>International symposium on advances in robot kinematics</source> (<publisher-name>Springer</publisher-name>), <fpage>237</fpage>&#x2013;<lpage>247</lpage>.</citation>
</ref>
<ref id="B24">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Simaan</surname>
<given-names>N.</given-names>
</name>
<name>
<surname>Taylor</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Flint</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2004</year>). <article-title>A dexterous system for laryngeal surgery</article-title>. <source>IEEE Int. Conf. Robotics Automation</source>, <fpage>351</fpage>&#x2013;<lpage>357</lpage>.</citation>
</ref>
<ref id="B25">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wang</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Wu</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Feng</surname>
<given-names>B.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2021</year>). <article-title>Inverse kinematics and dexterous workspace formulation for 2-segment continuum robots with inextensible segments</article-title>. <source>IEEE Robotics Automation Lett.</source> <volume>7</volume>, <fpage>510</fpage>&#x2013;<lpage>517</lpage>. <pub-id pub-id-type="doi">10.1109/lra.2021.3128689</pub-id>
</citation>
</ref>
<ref id="B26">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Webster</surname>
<given-names>R. J.,</given-names> <suffix>III</suffix>
</name>
<name>
<surname>Jones</surname>
<given-names>B. A.</given-names>
</name>
</person-group> (<year>2010</year>). <article-title>Design and kinematic modeling of constant curvature continuum robots: A review</article-title>. <source>Int. J. Robotics Res.</source> <volume>29</volume>, <fpage>1661</fpage>&#x2013;<lpage>1683</lpage>. <pub-id pub-id-type="doi">10.1177/0278364910368147</pub-id>
</citation>
</ref>
<ref id="B27">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wen</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Burgner-Kahrs</surname>
<given-names>J.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Modelling and analysis of tendon-driven parallel continuum robots under constant curvature and pseudo-rigid body assumptions</article-title>. <source>J. Mech. Robotics</source>, <fpage>1</fpage>&#x2013;<lpage>14</lpage>.</citation>
</ref>
<ref id="B28">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Wen</surname>
<given-names>K.</given-names>
</name>
<name>
<surname>Nguyen</surname>
<given-names>T. S.</given-names>
</name>
<name>
<surname>Harton</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Lalibert&#xe9;</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Gosselin</surname>
<given-names>C.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>A backdrivable kinematically redundant (6&#x2b; 3)-degree-of-freedom hybrid parallel robot for intuitive sensorless physical human&#x2013;robot interaction</article-title>. <source>IEEE Trans. Robotics</source> <volume>37</volume>, <fpage>1222</fpage>&#x2013;<lpage>1238</lpage>. <pub-id pub-id-type="doi">10.1109/tro.2020.3043723</pub-id>
</citation>
</ref>
<ref id="B29">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Yan</surname>
<given-names>W.</given-names>
</name>
<name>
<surname>Chen</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Tang</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Zhang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>H.</given-names>
</name>
</person-group> (<year>2021</year>). &#x201c;<article-title>Design of a reconfigurable planar parallel continuum manipulator with variable stiffness</article-title>,&#x201d; in <conf-name>International Conference on Intelligent Robotics and Applications</conf-name> (<publisher-name>Springer</publisher-name>), <fpage>803</fpage>&#x2013;<lpage>813</lpage>.</citation>
</ref>
<ref id="B30">
<citation citation-type="book">
<person-group person-group-type="author">
<name>
<surname>Yang</surname>
<given-names>Z.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>X.</given-names>
</name>
<name>
<surname>Xu</surname>
<given-names>K.</given-names>
</name>
</person-group> (<year>2018</year>). &#x201c;<article-title>Continuum delta robot: A novel translational parallel robot with continuum joints</article-title>,&#x201d; in <conf-name>IEEE/ASME International Conference on Advanced Intelligent Mechatronics</conf-name> (<publisher-loc>Auckland, New Zealand</publisher-loc>: <publisher-name>AIM</publisher-name>), <fpage>748</fpage>&#x2013;<lpage>755</lpage>.</citation>
</ref>
<ref id="B31">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Zaccaria</surname>
<given-names>F.</given-names>
</name>
<name>
<surname>Id&#xe1;</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Briot</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Carricato</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2022</year>). <article-title>Workspace computation of planar continuum parallel robots</article-title>. <source>IEEE Robotics Automation Lett.</source> <volume>7</volume>, <fpage>2700</fpage>&#x2013;<lpage>2707</lpage>. <pub-id pub-id-type="doi">10.1109/lra.2022.3143285</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>