<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD Journal Publishing DTD v2.3 20070202//EN" "journalpublishing.dtd">
<article article-type="brief-report" 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">1112856</article-id>
<article-id pub-id-type="doi">10.3389/frobt.2023.1112856</article-id>
<article-categories>
<subj-group subj-group-type="heading">
<subject>Robotics and AI</subject>
<subj-group>
<subject>Brief Research Report</subject>
</subj-group>
</subj-group>
</article-categories>
<title-group>
<article-title>Reconfiguration strategy for fully actuated translational cable-suspended parallel robots</article-title>
<alt-title alt-title-type="left-running-head">Bettega et 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.2023.1112856">10.3389/frobt.2023.1112856</ext-link>
</alt-title>
</title-group>
<contrib-group>
<contrib contrib-type="author">
<name>
<surname>Bettega</surname>
<given-names>Jason</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2121962/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Boschetti</surname>
<given-names>Giovanni</given-names>
</name>
<xref ref-type="aff" rid="aff2">
<sup>2</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/526673/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Piva</surname>
<given-names>Giulio</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2129172/overview"/>
</contrib>
<contrib contrib-type="author">
<name>
<surname>Richiedei</surname>
<given-names>Dario</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
</contrib>
<contrib contrib-type="author" corresp="yes">
<name>
<surname>Trevisani</surname>
<given-names>Alberto</given-names>
</name>
<xref ref-type="aff" rid="aff1">
<sup>1</sup>
</xref>
<xref ref-type="corresp" rid="c001">&#x2a;</xref>
<uri xlink:href="https://loop.frontiersin.org/people/2046736/overview"/>
</contrib>
</contrib-group>
<aff id="aff1">
<sup>1</sup>
<institution>Department of Management and Engineering</institution>, <institution>University of Padova</institution>, <addr-line>Padua</addr-line>, <country>Italy</country>
</aff>
<aff id="aff2">
<sup>2</sup>
<institution>Department of Industrial Engineering</institution>, <institution>University of Padova</institution>, <addr-line>Padua</addr-line>, <country>Italy</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/1785090/overview">S&#xe9;bastien Briot</ext-link>, UMR6004 Laboratoire des Sciences du Num&#xe9;rique &#xe0; Nantes (LS2N), 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/2128265/overview">Marc Arsenault</ext-link>, Laurentian University, Canada</p>
<p>
<ext-link ext-link-type="uri" xlink:href="https://loop.frontiersin.org/people/206797/overview">Alessandro Gasparetto</ext-link>, University of Udine, Italy</p>
</fn>
<corresp id="c001">&#x2a;Correspondence: Alberto Trevisani, <email>alberto.trevisani@unipd.it</email>
</corresp>
<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>06</day>
<month>02</month>
<year>2023</year>
</pub-date>
<pub-date pub-type="collection">
<year>2023</year>
</pub-date>
<volume>10</volume>
<elocation-id>1112856</elocation-id>
<history>
<date date-type="received">
<day>30</day>
<month>11</month>
<year>2022</year>
</date>
<date date-type="accepted">
<day>19</day>
<month>01</month>
<year>2023</year>
</date>
</history>
<permissions>
<copyright-statement>Copyright &#xa9; 2023 Bettega, Boschetti, Piva, Richiedei and Trevisani.</copyright-statement>
<copyright-year>2023</copyright-year>
<copyright-holder>Bettega, Boschetti, Piva, Richiedei and Trevisani</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>In Cable-Suspended Parallel Robots (CSPRs), reconfigurability, i.e., the possibility of modifying the position of the cable connection points on the base frame, is particularly interesting to investigate, since it paves the way for future industrial and service applications of CSPRs, where the base frame can also be replaced by mobile agents. This report focuses on fully actuated Translational Reconfigurable CSPRs (TR-CSPRs), i.e., reconfigurable CSPRs with a point mass end-effector driven by three cables. The objective of the work is twofold. First, it is shown that the Wrench Exertion Capability (WEC) performance index can be exploited to identify the configurations of the cable connection points optimizing a task-related performance in a single point or throughout the workspace, and hence to implement a workspace analysis. Then, by referring to the case of a TR-CSPR with a single reconfigurable connection point and in quasi-static working condition, an analytical approach is provided to reconfigure the robot while executing a task to avoid one of the paramount problems of cable robots: cable slackness. Brought together, the two contributions allow defining a reconfiguration strategy for TR-CSPRs. The strategy is presented by applying it to a numerical example of a TR-CSPR used for lifting and moving a load along a prescribed path: the use of the WEC allows analyzing the workspace and predicting if robot reconfigurability makes it possible to pass quasi-statically along all the points of a given path; then reconfigurability is exploited to avoid cable slackness along the path.</p>
</abstract>
<kwd-group>
<kwd>cable-driven parallel robots</kwd>
<kwd>cable-suspended parallel robots</kwd>
<kwd>reconfigurability</kwd>
<kwd>reconfiguration strategy</kwd>
<kwd>wrench exertion capability</kwd>
</kwd-group>
<contract-sponsor id="cn001">Ministero dell&#x2019;Istruzione, dell&#x2019;Universit&#xe0; e della Ricerca<named-content content-type="fundref-id">10.13039/501100003407</named-content>
</contract-sponsor>
</article-meta>
</front>
<body>
<sec id="s1">
<title>1 Introduction</title>
<sec id="s1-1">
<title>1.1 State of the art</title>
<p>A Cable-Driven Parallel Robot (CDPR) is a parallel robot where the end-effector (EE) is actuated by cables whose lengths are set by winding them on motorized winches. Compared to classical parallel robots, CDPRs may present significant advantages, such as larger workspaces, higher dynamic performances, and higher payload capabilities. Moreover, cable winding systems are in general much cheaper to manufacture than the rigid links used as legs in parallel robots. These features make CDPRs interesting choices in industrial plants (<xref ref-type="bibr" rid="B15">Michelin et al., 2015</xref>), in telescoping operations (<xref ref-type="bibr" rid="B16">Nan et al., 2011</xref>), in urban mobility (<xref ref-type="bibr" rid="B4">Castelli et al., 2014</xref>), in home assistance (<xref ref-type="bibr" rid="B14">Merlet, 2008</xref>) and in human rehabilitation (<xref ref-type="bibr" rid="B12">Mao and Agrawal, 2011</xref>), just to mention a few representative field applications.</p>
<p>The number (<italic>n</italic>) and the layout of the cables reaching the EE of a CDPR considerably affect its performance. In order to fully or redundantly constrain the EE, it is required that <italic>n</italic> is at least greater by one than the number of the degrees of freedom (<inline-formula id="inf1">
<mml:math id="m1">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>) of the EE: <inline-formula id="inf2">
<mml:math id="m2">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3e;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>. Then, cables can balance an arbitrary external wrench with positive cable tensions and set a desired pose of the EE. Although a higher <italic>n</italic> improves CDPR performances in terms of workspace extension, payload capability and dynamic performance, the likelihood of cable collisions and the workspace obstruction are also increased. To overcome these issues Cable-Suspended Parallel Robots (CSPRs) may be adopted. Examples of CSPRs have been suggested for television shooting (<xref ref-type="bibr" rid="B5">Cone, 1985</xref>), payload lifting (<xref ref-type="bibr" rid="B21">Williams, 2005</xref>) and for construction systems (<xref ref-type="bibr" rid="B3">Bosscher et al., 2007</xref>). In such a topology, cables reach the EE only from above and the tension on cables is generated by gravity. In turn, CSPRs allow setting a desired pose of the EE even with <inline-formula id="inf3">
<mml:math id="m3">
<mml:mrow>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Apparently, such robots guarantee an unobstructed workspace under the EE but suffer from an underconstrained condition, which makes motion planning and control particularly challenging (<xref ref-type="bibr" rid="B20">Trevisani, 2013</xref>), especially when underactuation-related issues emerge (<xref ref-type="bibr" rid="B10">Id&#xe0; et al., 2019</xref>).</p>
<p>Both in CDPRs and CSPRs, the possibility of modifying the configuration, meant as the position of the cable connection points on the base frame (also called exit-points), is particularly interesting, since it gives the possibility of significantly improving robot performances (<xref ref-type="bibr" rid="B7">Gagliardini et al., 2016a</xref>). The reconfiguration of the exit-points can be carried out in several ways, for instance by mobile agents (<xref ref-type="bibr" rid="B11">Jiang and Kumar, 2013</xref>; <xref ref-type="bibr" rid="B13">Masone et al., 2016</xref>; <xref ref-type="bibr" rid="B19">Six et al., 2017</xref>) and by mobile cranes (<xref ref-type="bibr" rid="B17">Nguyen et al., 2014</xref>) in Reconfigurable CSPRs (R-CSPRs), or through the reconfiguration of the whole base frame (<xref ref-type="bibr" rid="B8">Gagliardini et al., 2016b</xref>) in Reconfigurable CDPRs (R-CDPRs).</p>
</sec>
<sec id="s1-2">
<title>1.2 Aims of the paper</title>
<p>This work focuses the investigation on a spatial R-CSPR with a point mass EE (<inline-formula id="inf4">
<mml:math id="m4">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>D</mml:mi>
<mml:mi>O</mml:mi>
<mml:mi>F</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) actuated by three cables. Such a fully actuated CSPR is &#x201c;translational&#x201d; in the sense that the EE has only translational freedoms, which can be fully set by defining the cable lengths. The studied topology of Translational Reconfigurable CSPR (TR-CSPR) can be fairly simple to manufacture and could therefore find use in several service and industrial applications (e.g., as an industrial robotic crane or for cooperative transport with mobile agents); it also takes apparent and considerable advantage from reconfigurability which not only allows expanding the workspace but also achieving better task-related performance (e.g., payload lifting capacity) in specific positions within the workspace. Admittedly, these advantages can only be exploited if a reconfiguration strategy is developed.</p>
<p>The objective of this report, which introduces an opening study in this field, is twofold. First it is shown that the Wrench Exertion Capability (WEC) performance index proposed in (<xref ref-type="bibr" rid="B2">Boschetti and Trevisani, 2018</xref>) can be usefully exploited to identify the configuration of the exit-points which optimizes a task-related performance in a generic point of the robot workspace and, by iterating the investigation, to analyze the performance throughout the whole workspace. For sake of simplicity, but without loss of generality, the use of the WEC will be illustrated by considering a TR-CSPR with a single reconfigurable exit-point. Secondly, by assuming that the TR-CSPR operates in quasi-static conditions, the paper introduces an entirely analytical approach to reconfigure a single exit-point on-the-fly, while executing a task, avoiding one of the paramount problems of cable robots: cable slackness. It should be noted that the quasi-static working condition considered is quite popular in the case of R-CDPRs (see, for example (<xref ref-type="bibr" rid="B7">Gagliardini et al., 2016a</xref>)) and fits particularly well when CSPRs are used for handling heavy loads.</p>
<p>The analytical reconfiguration approach proposed, combined with the task-related workspace analysis based on the WEC, allow defining a reconfiguration strategy for TR-CSPRs which is then applied to an illustrative numerical example: a pick-and-place task imposing the reconfiguration of one exit-point. Such reconfiguration is assumed possible just along a given straight path (e.g., on a rail). First, the use of the WEC allows predicting if robot reconfigurability makes it possible to complete the task within the workspace; then reconfigurability is exploited to avoid cable slackness along the path.</p>
<p>This brief research report is structured as follows: the methodology section introduces the two combined contributions of the reconfiguration strategy: sub-<xref ref-type="sec" rid="s2-1">Section 2.1</xref> deals with WEC application to TR-CSPRs, sub-<xref ref-type="sec" rid="s2-2">Section 2.2</xref> deals with the analytical reconfiguration method. In <xref ref-type="sec" rid="s3">Section 3</xref> the achievements of sub-<xref ref-type="sec" rid="s2-1">Section 2.1</xref> and sub-<xref ref-type="sec" rid="s2-2">Section 2.2</xref> are combined to address the simulation of a representative pick-and-place task: the results are shown and discussed in the same Section, while concluding remarks are given in <xref ref-type="sec" rid="s4">Section 4</xref>.</p>
</sec>
</sec>
<sec sec-type="methods" id="s2">
<title>2 Methods</title>
<sec id="s2-1">
<title>2.1 The wrench exertion capability index applied to TR-CSPRs</title>
<sec id="s2-1-1">
<title>2.1.1 General formulation</title>
<p>A major advantage of reconfigurability is the possibility of modifying the workspace shape and the robot performances within it. Not only obstacles or cable collisions can be avoided (<xref ref-type="bibr" rid="B7">Gagliardini et al., 2016a</xref>) but robot key performances, such as the maximum payload or energy absorption, can be optimized. Indeed, the performances of a CDPR can be evaluated through several global or local indices that have been proposed in the literature (see, for example (<xref ref-type="bibr" rid="B9">Gouttefarde et al., 2007</xref>; <xref ref-type="bibr" rid="B6">Duan and Duan, 2014</xref>) and the references therein). By reconfiguring the exit-points of a R-CDPR, not only global but also local properties can be altered considerably to meet some desired requirements.</p>
<p>The capability of a TR-CSPR of balancing an external action (e.g., payload or environmental forces) is a relevant example of performance that can be optimized by reconfiguration. The WEC index proposed in (<xref ref-type="bibr" rid="B2">Boschetti and Trevisani, 2018</xref>) provides an evaluation of the maximum external wrench that the EE of a CDPR can bear along a given direction of interest and it is first applied here to TR-CSPRs.</p>
<p>The WEC is a local performance index that computes the maximum wrench component the cables can exert on the EE along a prescribed direction while maintaining assigned wrench components on the remaining directions and taking explicitly into account the lower (<inline-formula id="inf5">
<mml:math id="m5">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x005F;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula>, generally greater than zero) and upper (<inline-formula id="inf6">
<mml:math id="m6">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>, usually depending on cable and motor physical properties) cable tension limits.</p>
<p>For translational CDPRs, just forces rather than combined forces and torques (wrenches) are considered applied to the EE. Then, the general formulation presented in (<xref ref-type="bibr" rid="B2">Boschetti and Trevisani, 2018</xref>) can be applied straightforwardly to TR-CSPRs actuated by <italic>n</italic> cables converging in the EE, however, reconfigurability makes the optimization problem non-linear: the computation of the WEC index imposes the solution of a non-linear optimization problem where cable tensions and the Cartesian coordinates of the movable exit-points are the unknowns. Let identify the spatial directions of the cable forces by the unit vectors <inline-formula id="inf7">
<mml:math id="m7">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, with <inline-formula id="inf8">
<mml:math id="m8">
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>. Under the hypotheses of massless and inextensible cables, the <italic>i-th</italic> cable force is directed as the vector associated to the <italic>i-th</italic> cable, which connects the Cartesian position <inline-formula id="inf9">
<mml:math id="m9">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> of the EE to the Cartesian position <inline-formula id="inf10">
<mml:math id="m10">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> of the <italic>i-th</italic> exit-point; therefore, its direction is defined by <inline-formula id="inf11">
<mml:math id="m11">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mfenced open="&#x2016;" close="&#x2016;" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">p</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>. The matrix collecting vectors <inline-formula id="inf12">
<mml:math id="m12">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is referred to as the structure matrix <inline-formula id="inf13">
<mml:math id="m13">
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>:<disp-formula id="e1">
<mml:math id="m14">
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
<mml:mtd>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mo>&#x22ef;</mml:mo>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mo>&#xd7;</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(1)</label>
</disp-formula>Where <inline-formula id="inf14">
<mml:math id="m15">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> is the set of Cartesian coordinates of the reconfigurable exit-points and, in the general case, <inline-formula id="inf15">
<mml:math id="m16">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi>n</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. For sake of clarity, in Eq. <xref ref-type="disp-formula" rid="e1">1</xref>, and in all the equations below, the dependance of vectors, and matrices from the sole unknowns of the problem is explicitly shown.</p>
<p>Through <inline-formula id="inf16">
<mml:math id="m17">
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and by gathering the cable forces <inline-formula id="inf17">
<mml:math id="m18">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> into vector <inline-formula id="inf18">
<mml:math id="m19">
<mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>, the <italic>n</italic>-dimensional cable tension space is related to the three-dimensional space of the EE. If the equilibrium of the EE is considered, in addition to the force exerted by the cables (<inline-formula id="inf19">
<mml:math id="m20">
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>), the EE is subject to the global external force denoted by <inline-formula id="inf20">
<mml:math id="m21">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, which usually comprises the gravitational force <inline-formula id="inf21">
<mml:math id="m22">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and other external forces <inline-formula id="inf22">
<mml:math id="m23">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>:<disp-formula id="e2">
<mml:math id="m24">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>e</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(2)</label>
</disp-formula>
</p>
<p>Let <inline-formula id="inf23">
<mml:math id="m25">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> denote the total force acting on the EE:<disp-formula id="e3">
<mml:math id="m26">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x225c;</mml:mo>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(3)</label>
</disp-formula>
</p>
<p>It can be recast as:<disp-formula id="e4">
<mml:math id="m27">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x225c;</mml:mo>
<mml:mi mathvariant="bold">W</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
<label>(4)</label>
</disp-formula>where the structure matrix <inline-formula id="inf24">
<mml:math id="m28">
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is augmented with vector <inline-formula id="inf25">
<mml:math id="m29">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>e</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> yielding to the wrench matrix <inline-formula id="inf26">
<mml:math id="m30">
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>e</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, which multiplies the vector of the generalized cable forces <inline-formula id="inf27">
<mml:math id="m31">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msup>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. <inline-formula id="inf28">
<mml:math id="m32">
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> can be also interpreted as the matrix that collects the three row vectors, namely <inline-formula id="inf29">
<mml:math id="m33">
<mml:mrow>
<mml:mi mathvariant="bold">W</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, that projects <inline-formula id="inf30">
<mml:math id="m34">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula> onto the axes of the global reference frame. Each row vector can be chosen to evaluate the force exertion capability of the TR-CSPR along a Cartesian direction. Following a similar reasoning, by means of a proper rotation matrix <bold>R</bold>, it is possible to evaluate the force exertion capability along any arbitrary direction <bold>d</bold>:<disp-formula id="e5">
<mml:math id="m35">
<mml:mrow>
<mml:mi mathvariant="bold">R</mml:mi>
<mml:mi mathvariant="bold">W</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
<label>(5)</label>
</disp-formula>When the rotation matrix is employed, two additional orthogonal directions come along with <bold>d</bold>: <inline-formula id="inf31">
<mml:math id="m36">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf32">
<mml:math id="m37">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. These directions, taken together, define a new Cartesian reference frame on which the total wrench <inline-formula id="inf33">
<mml:math id="m38">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> is projected: <inline-formula id="inf34">
<mml:math id="m39">
<mml:mrow>
<mml:mi mathvariant="bold">R</mml:mi>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold">d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. Hence, the computation of the WEC<sub>
<bold>d</bold>
</sub> is carried out by solving the following optimization problem:<disp-formula id="e6">
<mml:math id="m40">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">W</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
</mml:msub>
<mml:mo>&#x225c;</mml:mo>
<mml:munder>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold">d</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(6)</label>
</disp-formula>which consists in finding <bold>a</bold> and <bold>t</bold> that maximize the force exerted along the direction of interest <bold>d</bold> (<inline-formula id="inf35">
<mml:math id="m41">
<mml:mrow>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>), while assigning given values <inline-formula id="inf36">
<mml:math id="m42">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (typically, but not necessarily, null values) to the forces along the directions <inline-formula id="inf37">
<mml:math id="m43">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf38">
<mml:math id="m44">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, keeping the Cartesian coordinates of <inline-formula id="inf39">
<mml:math id="m45">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> within the set of allowable configurations <inline-formula id="inf40">
<mml:math id="m46">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and keeping the cable tensions within <inline-formula id="inf41">
<mml:math id="m47">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x005F;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf42">
<mml:math id="m48">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:math>
</inline-formula>. The optimization problem is non-linear because of reconfigurability which makes <bold>W</bold> a function of the unknowns <bold>a</bold>. Additionally, such non-linear terms also lead to a non-convex cost function and to non-convex constraints representing the force equilibria along the directions <inline-formula id="inf43">
<mml:math id="m49">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf44">
<mml:math id="m50">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. In contrast, computing the WEC for fixed positions of the exit-points, as proposed in (<xref ref-type="bibr" rid="B2">Boschetti and Trevisani, 2018</xref>), leads to a linear and convex optimization problem whose solution is straightforward.</p>
</sec>
<sec id="s2-1-2">
<title>2.1.2 Example of WEC computation for a representative TR-CSPR</title>
<p>In this section, the general formulation of Eq. <xref ref-type="disp-formula" rid="e6">6</xref> is particularized for a three-cable TR-CSPR with a single reconfigurable exit-point. The TR-CSPR is shown in <xref ref-type="fig" rid="F1">Figure 1I</xref> in a sample configuration, that is here discussed in detail: the EE, depicted as a black dot, has a mass <inline-formula id="inf45">
<mml:math id="m51">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> kg (assumed comprehensive of the payload) and it is placed at <inline-formula id="inf46">
<mml:math id="m52">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>1.4</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m; the fixed exit-points are placed at <inline-formula id="inf47">
<mml:math id="m53">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>2</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>2</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m; <inline-formula id="inf48">
<mml:math id="m54">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>2</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>2</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m while the reconfigurable exit-point is initially placed at <inline-formula id="inf49">
<mml:math id="m55">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>3</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m (denoted as the nominal position). The Cartesian coordinates of the reconfigurable exit-point <inline-formula id="inf50">
<mml:math id="m56">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> can be independently changed within a rectangular cuboid <inline-formula id="inf51">
<mml:math id="m57">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> defined through the respective allowable ranges [-1, 1.1] m [-1, 1] m and [1.2, 3] m. The components of <inline-formula id="inf52">
<mml:math id="m58">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are the unknowns of the problem together with the three cable tensions collected in <bold>t</bold>. The lower and upper cable tension limits are set to <inline-formula id="inf53">
<mml:math id="m59">
<mml:mrow>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x005F;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:mrow>
<mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> &#x3d; 0.1 N and <inline-formula id="inf54">
<mml:math id="m60">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> N. In <xref ref-type="fig" rid="F1">Figure 1I</xref> all the exit-points are depicted in red, the reconfigurable one is in its nominal position and <inline-formula id="inf55">
<mml:math id="m61">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is shaded in blue. The global Cartesian reference frame Oxyz is shown too.</p>
<fig id="F1" position="float">
<label>FIGURE 1</label>
<caption>
<p>Nominal configuration of the TR-CSPR and optimal position of the reconfigurable exit-point for two different choices of the direction d of interest.</p>
</caption>
<graphic xlink:href="frobt-10-1112856-g001.tif"/>
</fig>
<p>As a reasonable choice for this robot architecture, attention is paid to the maximum upward force that the cables can exert on the EE, the so-called WEC<sub>
<bold>z</bold>
</sub>, while keeping null force components along the horizontal directions (<inline-formula id="inf56">
<mml:math id="m62">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> N) and bounded cable tensions (with reference to the notation adopted in sub-<xref ref-type="sec" rid="s2-1-1">Section 2.1.1</xref>, in this case; <inline-formula id="inf57">
<mml:math id="m63">
<mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">z</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>; <inline-formula id="inf58">
<mml:math id="m64">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mi mathvariant="bold">y</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula>). The following non-linear optimization problem is therefore stated:<disp-formula id="e7">
<mml:math id="m65">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">W</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:msub>
<mml:mo>&#x225c;</mml:mo>
<mml:munder>
<mml:mi>max</mml:mi>
<mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:munder>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
<mml:mover accent="true">
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>s</mml:mi>
<mml:mo>.</mml:mo>
<mml:mi>t</mml:mi>
<mml:mo>.</mml:mo>
<mml:mrow>
<mml:mfenced open="{" close="" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">x</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:msubsup>
<mml:mrow>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
<mml:mi mathvariant="bold">y</mml:mi>
<mml:mi>T</mml:mi>
</mml:msubsup>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold">x</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi>w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi mathvariant="bold">y</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>r</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
<mml:mo>&#x3c;</mml:mo>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mi>i</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>1</mml:mn>
<mml:mo>,</mml:mo>
<mml:mo>&#x2026;</mml:mo>
<mml:mo>,</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(7)</label>
</disp-formula>
</p>
<p>The non-convex optimization problem formulated in Eq. <xref ref-type="disp-formula" rid="e7">7</xref> imposes the use of global optimization routines to get rid of the presence of several local minima and hence to find the actual optimal solution (<xref ref-type="bibr" rid="B18">Richiedei et al., 2019</xref>; <xref ref-type="bibr" rid="B1">Belotti et al., 2020</xref>). In this work, the standard <italic>GlobalSearch</italic> routine of Matlab is used to generate the set of initial guesses through an efficient and reliable scatter-search algorithm, while the gradient-based, <italic>fmincon</italic> interior-point solver is used as the local solver.</p>
<p>The analysis of such a sample position leads to <inline-formula id="inf59">
<mml:math id="m66">
<mml:mrow>
<mml:msub>
<mml:mrow>
<mml:mi mathvariant="normal">W</mml:mi>
<mml:mi mathvariant="normal">E</mml:mi>
<mml:mi mathvariant="normal">C</mml:mi>
</mml:mrow>
<mml:mi mathvariant="bold">z</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>163.2</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> N, by exploiting the optimal reconfiguration shown in <xref ref-type="fig" rid="F1">Figure 1II</xref>, <xref ref-type="fig" rid="F1">Figure 1III</xref> and <xref ref-type="fig" rid="F1">Figure 1IV</xref>, where all the cable tensions reach the upper bound <inline-formula id="inf60">
<mml:math id="m67">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> N, <inline-formula id="inf61">
<mml:math id="m68">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> N, and <inline-formula id="inf62">
<mml:math id="m69">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> N. The optimal position of the reconfigurable exit-point is painted in green, while its nominal position is painted in grey, the fixed exit-points are shown in red. Additionally, <xref ref-type="fig" rid="F1">Figure 1II</xref> shows a top view of the TR-CSPR with the boundaries of <inline-formula id="inf63">
<mml:math id="m70">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> sketched in dashed line, <xref ref-type="fig" rid="F1">Figure 1III</xref> shows a side view, and finally, <xref ref-type="fig" rid="F1">Figure 1IV</xref> reports a three-dimensional view, with <inline-formula id="inf64">
<mml:math id="m71">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> shaded in blue. The green arrow applied to the EE represents <inline-formula id="inf65">
<mml:math id="m72">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:mi mathvariant="bold">t</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, which has only an upward component.</p>
<p>Just to show how the optimal reconfiguration depends on the direction of interest, and hence on the task features, at the same position <bold>p</bold> of the EE the WEC is now computed considering another arbitrary direction <inline-formula id="inf66">
<mml:math id="m73">
<mml:mrow>
<mml:mi mathvariant="bold">d</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>0.88</mml:mn>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mn>0.34</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0.32</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. The computation of WEC<sub>
<bold>d</bold>
</sub> allows determining the optimal configuration assuring the exertion of the maximum force along direction <bold>d</bold> while maintaining null force components along <inline-formula id="inf67">
<mml:math id="m74">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf68">
<mml:math id="m75">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">o</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (<inline-formula id="inf69">
<mml:math id="m76">
<mml:mrow>
<mml:msub>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mi>r</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> N). In this case such maximum force is equal to 90.3&#xa0;N and the optimal configuration of the exit-point is depicted in <xref ref-type="fig" rid="F1">Figure 1V</xref>; <xref ref-type="fig" rid="F1">Figure 1VI</xref> and <xref ref-type="fig" rid="F1">Figure 1VII</xref> with apparent meaning. Cable tensions take the following values <inline-formula id="inf70">
<mml:math id="m77">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>27</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> N, <inline-formula id="inf71">
<mml:math id="m78">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>0.4</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> N, and <inline-formula id="inf72">
<mml:math id="m79">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>100</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> N.</p>
<p>In general, by repeating the computation of the WEC<sub>
<bold>d</bold>
</sub> at all the positions where equilibrium can be maintained by the EE, it is possible to perform a thorough task-related analysis of the performance achievable within the whole workspace. For example, the WEC<sub>
<bold>z</bold>
</sub> analysis discussed above can be repeated in the Statically Feasible Workspace (SFW) of the TR-CSPR to analyze how the robot load-carrying capability changes as the EE changes position. The SFW is defined as the set of the EE poses for which static equilibrium against gravity can be obtained using a limited range of cable tensions (<xref ref-type="bibr" rid="B20">Trevisani, 2013</xref>). The results of such an analysis are shown in <xref ref-type="fig" rid="F2">Figure 2</xref>: the three coordinates of the EE <inline-formula id="inf73">
<mml:math id="m80">
<mml:mrow>
<mml:mi mathvariant="bold">p</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> change within the ranges [-1, 2] m [-1, 1] m and [0, 3] m with the step size 0.2&#xa0;m in the <bold>x</bold>, <bold>y</bold>, and <bold>z</bold> directions, respectively. The investigated positions of the EE are depicted and painted in accordance with the values taken by the WEC<sub>
<bold>z</bold>
</sub>; for sake of clarity, <inline-formula id="inf74">
<mml:math id="m81">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is shown too. The predicted performance within the SFW can be immediately recognized by the color of the dots.</p>
<fig id="F2" position="float">
<label>FIGURE 2</label>
<caption>
<p>Results of a WEC<sub>z</sub>-based workspace analysis.</p>
</caption>
<graphic xlink:href="frobt-10-1112856-g002.tif"/>
</fig>
<p>The result of this analysis can be exploited to preliminary assess whether a task can be carried out in a part of interest of the workspace. For example, the possibility of moving quasi-statically a load can be easily verified through WEC<sub>
<bold>z</bold>
</sub>: if the EE passes through positions where the WEC<sub>
<bold>z</bold>
</sub> takes values greater than the load, there exists at least one configuration of the TR-CSPR which assures static equilibrium.</p>
<p>In the end, the WEC-based analysis appears useful to carry out preliminary investigations of task-related performances throughout the workspace, while it is not suitable to manage continuous exit-point reconfigurations for two reasons: firstly, the non-linear nature of the WEC formulation imposes a strong computational effort which is not compatible with real-time implementations; secondly, the optimal configurations computed in adjacent positions of the EE can differ significantly and could lead to discontinuous reconfigurations during the execution of a continuous displacement of the EE.</p>
</sec>
</sec>
<sec id="s2-2">
<title>2.2 Reconfiguration method avoiding cable slackness</title>
<p>A method is therefore needed to reconfigure the exit-point continuously, while the EE is moving. In this section, by referring to the three-cable TR-CSPR with a single reconfigurable exit-point discussed above, and under the assumption that the TR-CSPR displaces a known load quasi-statically, an entirely analytical solution is proposed to move the exit-point continuously and to avoid cable slackness. This strategy still has some considerable limitations and lacks generality, but represents a first attempt to exploit continuous reconfigurability through an analytical and efficient strategy.</p>
<p>By assuming the static equilibrium of the EE <inline-formula id="inf75">
<mml:math id="m82">
<mml:mrow>
<mml:mover accent="true">
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mo>&#x223c;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> N and absence of external forces (<inline-formula id="inf76">
<mml:math id="m83">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>f</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> N) excluding gravity, Eq. <xref ref-type="disp-formula" rid="e3">3</xref> can be rewritten as:<disp-formula id="e8">
<mml:math id="m84">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(8)</label>
</disp-formula>where <inline-formula id="inf77">
<mml:math id="m85">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold">g</mml:mi>
</mml:mrow>
</mml:math>
</inline-formula> and the gravity vector is defined as <inline-formula id="inf78">
<mml:math id="m86">
<mml:mrow>
<mml:mi mathvariant="bold">g</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mi>g</mml:mi>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, with <inline-formula id="inf79">
<mml:math id="m87">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9.81</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m/s<sup>2</sup>. The cable tensions can be computed through:<disp-formula id="e9">
<mml:math id="m88">
<mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mi mathvariant="bold">g</mml:mi>
</mml:mrow>
</mml:math>
<label>(9)</label>
</disp-formula>where <inline-formula id="inf80">
<mml:math id="m89">
<mml:mrow>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>. By writing <inline-formula id="inf81">
<mml:math id="m90">
<mml:mrow>
<mml:mi mathvariant="bold">V</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>, with <inline-formula id="inf82">
<mml:math id="m91">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>,</mml:mo>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2208;</mml:mo>
<mml:msup>
<mml:mi mathvariant="double-struck">R</mml:mi>
<mml:mn>3</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>, Eq. <xref ref-type="disp-formula" rid="e9">9</xref> can be reformulated as:<disp-formula id="e10">
<mml:math id="m92">
<mml:mrow>
<mml:mi mathvariant="bold">t</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:mi>m</mml:mi>
</mml:mrow>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
<label>(10)</label>
</disp-formula>
</p>
<p>Since <italic>g</italic> and <inline-formula id="inf83">
<mml:math id="m93">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are known, Eq. <xref ref-type="disp-formula" rid="e10">10</xref> highlights that cable tensions are uniquely defined when <inline-formula id="inf84">
<mml:math id="m94">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is known. By denoting as <inline-formula id="inf85">
<mml:math id="m95">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> the arbitrary entry of <bold>S</bold>, whose columns are the unit vectors representing the cable directions, and where <inline-formula id="inf86">
<mml:math id="m96">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mrow>
<mml:mi>i</mml:mi>
<mml:mi>j</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is the <italic>j-th</italic> component of vector <inline-formula id="inf87">
<mml:math id="m97">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, then the expression of <inline-formula id="inf88">
<mml:math id="m98">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is achieved by the analytical development of <inline-formula id="inf89">
<mml:math id="m99">
<mml:mrow>
<mml:msup>
<mml:mi mathvariant="bold">S</mml:mi>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mn mathvariant="bold">1</mml:mn>
</mml:mrow>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula>:<disp-formula id="e11">
<mml:math id="m100">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mn mathvariant="bold">1</mml:mn>
<mml:mrow>
<mml:mi>det</mml:mi>
<mml:mo>&#x2061;</mml:mo>
<mml:mo>&#x2061;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mfrac>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>32</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>31</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>31</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>32</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
<label>(11)</label>
</disp-formula>with <inline-formula id="inf90">
<mml:math id="m101">
<mml:mrow>
<mml:mi>det</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>33</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>32</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>31</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>31</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>32</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>33</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>If the positions of the EE and of the exit-points are known, the entries of <inline-formula id="inf91">
<mml:math id="m102">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, and hence cable tensions, are unique. Such tensions, computed through Eq. <xref ref-type="disp-formula" rid="e10">10</xref>, might take negative values for a given configuration. Considering <inline-formula id="inf92">
<mml:math id="m103">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> the vector of the coordinates of the reconfigurable exit-point, the entries of <bold>S</bold> are not all known, since <inline-formula id="inf93">
<mml:math id="m104">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> explicitly depends on <inline-formula id="inf94">
<mml:math id="m105">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>, hence <inline-formula id="inf95">
<mml:math id="m106">
<mml:mrow>
<mml:mi>det</mml:mi>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="bold-italic">S</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf96">
<mml:math id="m107">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">v</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are unknown. Then Eq. <xref ref-type="disp-formula" rid="e10">10</xref> can be rearranged to ensure positive cable tensions, yielding to the explicit definition of <inline-formula id="inf97">
<mml:math id="m108">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. It should be highlighted that a reconfigurable exit-point leads to operate with six unknowns (<inline-formula id="inf98">
<mml:math id="m109">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>6</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>): the three entries of <inline-formula id="inf99">
<mml:math id="m110">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and the three entries of <inline-formula id="inf100">
<mml:math id="m111">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula>. Since three additional constraints (<inline-formula id="inf101">
<mml:math id="m112">
<mml:mrow>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>c</mml:mi>
<mml:mi>o</mml:mi>
<mml:mi>n</mml:mi>
<mml:mi>s</mml:mi>
<mml:mi>t</mml:mi>
<mml:mi>r</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>n</mml:mi>
<mml:mrow>
<mml:mi>u</mml:mi>
<mml:mi>n</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>n</mml:mi>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>3</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula>) must be introduced to make the problem solvable, in this work a set of constraints is imposed when <inline-formula id="inf102">
<mml:math id="m113">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x005F;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula>:<list list-type="simple">
<list-item>
<p>1. Keeping <inline-formula id="inf103">
<mml:math id="m114">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> fixed</p>
</list-item>
<list-item>
<p>2. Keeping <inline-formula id="inf104">
<mml:math id="m115">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> fixed</p>
</list-item>
<list-item>
<p>3. Setting <inline-formula id="inf105">
<mml:math id="m116">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mi>i</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x005F;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula>
</p>
</list-item>
</list>
</p>
<p>Other choices may be possible and would be worth of investigation. In particular, the first and the second constraints can be readily changed to define other directions along which the exit-point can be displaced. However, through this choice, the problem solution is straightforward: <inline-formula id="inf106">
<mml:math id="m117">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can be analytically determined through Eq. <xref ref-type="disp-formula" rid="e10">10</xref>, ensuring positive cable tensions. Depending on which cable tension exceeds the lower bound <inline-formula id="inf107">
<mml:math id="m118">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x005F;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula>, different expressions are obtained: by defining<disp-formula id="e12">
<mml:math id="m119">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>y</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>z</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(12)</label>
</disp-formula>o if <inline-formula id="inf108">
<mml:math id="m120">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula>
<disp-formula id="e13">
<mml:math id="m121">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>g</mml:mi>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>g</mml:mi>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(13)</label>
</disp-formula>o if <inline-formula id="inf109">
<mml:math id="m122">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula>
<disp-formula id="e14">
<mml:math id="m123">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>_</mml:mo>
</mml:munder>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
<mml:mrow>
<mml:mi>g</mml:mi>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
<label>(14)</label>
</disp-formula>o if <inline-formula id="inf110">
<mml:math id="m124">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3c;</mml:mo>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula>
<disp-formula id="e15">
<mml:math id="m125">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>y</mml:mi>
</mml:msub>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
<mml:mo>&#x2b;</mml:mo>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:msub>
<mml:mo>&#x394;</mml:mo>
<mml:mi>z</mml:mi>
</mml:msub>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msup>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mi>&#x2013;</mml:mi>
</mml:munder>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>g</mml:mi>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>11</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>21</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>12</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>23</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>22</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>u</mml:mi>
<mml:mn>13</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x2013;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>w</mml:mi>
<mml:mn>1</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:mi>g</mml:mi>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mn>2</mml:mn>
</mml:msup>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>y</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2b;</mml:mo>
<mml:msubsup>
<mml:mo>&#x394;</mml:mo>
<mml:mi>z</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mtable columnalign="left">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
<mml:mo>&#x2b;</mml:mo>
<mml:msub>
<mml:mi>&#x3b1;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msubsup>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
<mml:mn>2</mml:mn>
</mml:msubsup>
</mml:mrow>
</mml:mtd>
</mml:mtr>
<mml:mtr>
<mml:mtd>
<mml:mrow>
<mml:mo>&#x394;</mml:mo>
<mml:mo>&#x3d;</mml:mo>
<mml:msubsup>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>2</mml:mn>
<mml:mn>2</mml:mn>
</mml:msubsup>
<mml:mo>&#x2212;</mml:mo>
<mml:mn>4</mml:mn>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:math>
<label>(15)</label>
</disp-formula>and <inline-formula id="inf111">
<mml:math id="m126">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mfrac>
<mml:mrow>
<mml:mo>&#x2212;</mml:mo>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#xb1;</mml:mo>
<mml:msqrt>
<mml:mo>&#x2206;</mml:mo>
</mml:msqrt>
</mml:mrow>
<mml:mrow>
<mml:mn>2</mml:mn>
<mml:msub>
<mml:mi>&#x3b2;</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:mfrac>
</mml:mrow>
</mml:math>
</inline-formula>.</p>
<p>By knowing <inline-formula id="inf112">
<mml:math id="m127">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> both <inline-formula id="inf113">
<mml:math id="m128">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> and <inline-formula id="inf114">
<mml:math id="m129">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">u</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> are defined, and therefore a new configuration with taut cables is achieved.</p>
</sec>
</sec>
<sec sec-type="results|discussion" id="s3">
<title>3 Results and discussion</title>
<p>The test case proposed in this Section involves the three-cable TR-CSPR with a single reconfigurable exit-point assumed performing heavy handlings tasks in quasi-static motion, like a robotic crane in an industrial plant. The workspace analysis presented in sub-<xref ref-type="sec" rid="s2-1-2">Section 2.1.2</xref> and the reconfiguration method in sub-<xref ref-type="sec" rid="s2-2">Section 2.2</xref> are here combined to prove that they provide a reconfiguration strategy which allows completing the task while preserving positive cable tensions.</p>
<p>
<xref ref-type="fig" rid="F3">Figure 3</xref> illustrates how the outcome of the WEC<sub>
<bold>z</bold>
</sub> workspace analysis can be exploited to assess whether a desired path of the EE passes throughout feasible configurations of the robot. The advantage of such a workspace analysis is that it is valid regardless the mass that is intended to be lifted, whose change implies a modification of the external force in the <bold>z</bold> direction which can be straightforwardly compared to the WEC<sub>
<bold>z</bold>
</sub> values computed along the path. Admittedly, if the task changed, and the resulting force one the EE was exerted along a different direction, the workspace analysis should be repeated. This should happen once at each task modification, but if the task does not change no WEC re-computation is needed.</p>
<fig id="F3" position="float">
<label>FIGURE 3</label>
<caption>
<p>Representation of the considered paths (I), outcome of the WEC<sub>z</sub> workspace analysis (II) and comparison among the desired paths and WEC<sub>z</sub> values (III).</p>
</caption>
<graphic xlink:href="frobt-10-1112856-g003.tif"/>
</fig>
<p>The base frame of the robot has a length of 20&#xa0;m (axis x), a depth of 5&#xa0;m (axis y) and a height of 3&#xa0;m (axis z) and is sketched in <xref ref-type="fig" rid="F3">Figure 3I</xref>. The mass of the EE of the robot, including the payload, is <inline-formula id="inf115">
<mml:math id="m130">
<mml:mrow>
<mml:msub>
<mml:mi>m</mml:mi>
<mml:mrow>
<mml:mi>e</mml:mi>
<mml:mi>e</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>450</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> kg. The volume involved in the workspace analysis is bounded by the limits imposed on the Cartesian coordinates of the EE; <inline-formula id="inf116">
<mml:math id="m131">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>x</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> varies in the range [1.5, 19.5] m; <inline-formula id="inf117">
<mml:math id="m132">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>y</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> varies within [0.5, 4.5] m; <inline-formula id="inf118">
<mml:math id="m133">
<mml:mrow>
<mml:msub>
<mml:mi>p</mml:mi>
<mml:mi>z</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> varies within [0, 2.5] m and each direction is discretized with a step size of 0.5&#xa0;m. All the exit-points are depicted in <xref ref-type="fig" rid="F3">Figure 3I</xref> as red dots. The Cartesian coordinates of the fixed exit-points are <inline-formula id="inf119">
<mml:math id="m134">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>3</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m; <inline-formula id="inf120">
<mml:math id="m135">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>2</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>0</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>5</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>3</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m. The Cartesian coordinates of the reconfigurable exit-point are <inline-formula id="inf121">
<mml:math id="m136">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">a</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mtd>
<mml:mtd>
<mml:mn>2.5</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>3</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m, with <inline-formula id="inf122">
<mml:math id="m137">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
<mml:mo>&#x3d;</mml:mo>
<mml:mn>9</mml:mn>
</mml:mrow>
</mml:math>
</inline-formula> m in the initial position. Therefore, it is assumed that <inline-formula id="inf123">
<mml:math id="m138">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="normal">&#x3a3;</mml:mi>
<mml:mn>3</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is a segment (painted in red in the figure): in particular, <inline-formula id="inf124">
<mml:math id="m139">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> can range between 9&#xa0;m and 20&#xa0;m. The cable tension limits are: <inline-formula id="inf125">
<mml:math id="m140">
<mml:mrow>
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x005F;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:mrow>
</mml:math>
</inline-formula>&#x2009;&#x003D;&#x2009;1 N and <inline-formula id="inf126">
<mml:math id="m141">
<mml:mrow>
<mml:mover accent="true">
<mml:mi>t</mml:mi>
<mml:mo>&#xaf;</mml:mo>
</mml:mover>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mn>10</mml:mn>
<mml:mn>4</mml:mn>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> N. The feasible workspace of the TR-CSPR, shown in <xref ref-type="fig" rid="F3">Figure 3II</xref>, is identified by means of the computation of the WEC<sub>
<bold>z</bold>
</sub> by changing <bold>p</bold> through its grid.</p>
<p>The results of <xref ref-type="fig" rid="F3">Figure 3II</xref> are exploited to assess if a desired path passes through positions where the WEC<sub>
<bold>z</bold>
</sub> is greater than the downwards force acting on the EE. As an example, two different paths are analysed. The desired task concerns the displacement of a payload from a pick location <inline-formula id="inf127">
<mml:math id="m142">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">a</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>1</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0.5</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m to a placement location <inline-formula id="inf128">
<mml:math id="m143">
<mml:mrow>
<mml:mrow>
<mml:mfenced open="(" close=")" separators="|">
<mml:mrow>
<mml:mi mathvariant="normal">f</mml:mi>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mo>&#x3d;</mml:mo>
<mml:msup>
<mml:mrow>
<mml:mfenced open="[" close="]" separators="|">
<mml:mrow>
<mml:mtable columnalign="center">
<mml:mtr>
<mml:mtd>
<mml:mn>10</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>3.5</mml:mn>
</mml:mtd>
<mml:mtd>
<mml:mn>0.5</mml:mn>
</mml:mtd>
</mml:mtr>
</mml:mtable>
</mml:mrow>
</mml:mfenced>
</mml:mrow>
<mml:mi>T</mml:mi>
</mml:msup>
</mml:mrow>
</mml:math>
</inline-formula> m: both locations are inside the feasible workspace.</p>
<p>In order to evaluate each task, auxiliary reference frames (x<sub>path</sub>y<sub>path</sub>z<sub>path</sub>) are introduced (see <xref ref-type="fig" rid="F3">Figure 3I</xref> with origin in (a) and axis x<sub>path</sub> oriented along the segment from (a) to (f). In the first considered path, the payload is lifted up to 1.5&#xa0;m from the grasp location: a three-dimensional representation of the path and a planar one in the x<sub>path</sub>z<sub>path</sub>-plane are shown in blue respectively in <xref ref-type="fig" rid="F3">Figure 3I</xref> and <xref ref-type="fig" rid="F3">Figure 3III</xref>. In the second considered path, the payload is lifted up to 1&#xa0;m, as shown in green in <xref ref-type="fig" rid="F3">Figure 3I</xref> and <xref ref-type="fig" rid="F3">Figure 3III</xref>. <xref ref-type="fig" rid="F3">Figure 3III</xref> is enriched with WEC<sub>
<bold>z</bold>
</sub> isolines drawn in the x<sub>path</sub>z<sub>path</sub>-plane proving that the blue path is unfeasible, since, for example, at the position e), the maximum WEC<sub>
<bold>z</bold>
</sub> that can be exerted by the robot is less than the EE weight or downwards component of <inline-formula id="inf129">
<mml:math id="m144">
<mml:mrow>
<mml:msub>
<mml:mi mathvariant="bold">w</mml:mi>
<mml:mi>g</mml:mi>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> (3596&#xa0;N vs. 4414.5&#xa0;N). So, the preliminary WEC<sub>
<bold>z</bold>
</sub> analysis shows that there is no reconfiguration which can prevent cables from exceeding tension limits along the path. Conversely, the green path is feasible since at no location the weight of the end effector exceeds the WEC<sub>
<bold>z</bold>
</sub>.</p>
<p>Let <italic>s</italic> be the curvilinear abscissa describing the displacement from (a) to (f) through all the <italic>via</italic> points. <xref ref-type="fig" rid="F4">Figure 4</xref> shows, on the left, the needed reconfiguration of the exit-point computed by the reconfiguration method in sub-<xref ref-type="sec" rid="s2-2">Section 2.2</xref>, and, on the right, the cable tensions along the task, in both the cases that <inline-formula id="inf130">
<mml:math id="m145">
<mml:mrow>
<mml:msub>
<mml:mi>a</mml:mi>
<mml:mrow>
<mml:mn>3</mml:mn>
<mml:mi>x</mml:mi>
</mml:mrow>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> is kept constant (t<sub>fix</sub>: blue line) or reconfigured (t<sub>rec</sub>: red line). Notice that if the exit-point was not reconfigured, cable tension <inline-formula id="inf131">
<mml:math id="m146">
<mml:mrow>
<mml:msub>
<mml:mi>t</mml:mi>
<mml:mn>1</mml:mn>
</mml:msub>
</mml:mrow>
</mml:math>
</inline-formula> would reach <inline-formula id="inf132">
<mml:math id="m147">
<mml:mrow>
<mml:munder accentunder="true">
<mml:mi>t</mml:mi>
<mml:mo>&#x005F;</mml:mo>
</mml:munder>
</mml:mrow>
</mml:math>
</inline-formula> at (d)<sup>&#x2a;</sup>, which is therefore the point from which the reconfiguration method starts modifying the exit-point position, making the path accomplishment possible.</p>
<fig id="F4" position="float">
<label>FIGURE 4</label>
<caption>
<p>Reconfiguration of the exit-point <bold>(A)</bold> and cable tensions <bold>(B)</bold> along the path.</p>
</caption>
<graphic xlink:href="frobt-10-1112856-g004.tif"/>
</fig>
</sec>
<sec id="s4">
<title>4 Conclusion and perspectives</title>
<p>This brief research report addresses two issues related to a fully actuated TR-CSPRs. First, it is shown that the WEC index can be successfully exploited to identify configurations of the exit-points optimizing task-related performances and to perform preliminary evaluations of the feasibility of given tasks within the workspace. Secondly, by focusing on a generic TR-CSPR actuated by three cables and with one reconfigurable exit-point which can be moved along a straight segment, it introduces an analytical reconfiguration method which can manage the displacement of the exit-point so as to assure positive tensions in all the cables during the whole task.</p>
<p>Clearly, an opening study is presented, but the use of the WEC for a preliminary evaluation of the workspace and of the feasibility of a task, combined with the implementation of an analytical approach capable of managing exit-point reconfiguration during task execution in a way which overtakes usual cable limitations, delineates an effective reconfiguration strategy for TR-CSPRs. The applicability of the strategy to more challenging R-CSPR topologies may not be trivial, in particular as far as the reconfiguration method is concerned, but certainly, worth investigating.</p>
</sec>
</body>
<back>
<sec sec-type="data-availability" id="s5">
<title>Data availability statement</title>
<p>The raw data supporting the conclusions of this article will be made available by the authors, without undue reservation.</p>
</sec>
<sec id="s6">
<title>Author contributions</title>
<p>All authors listed have made a substantial, direct, and intellectual contribution to the work and approved it for publication.</p>
</sec>
<sec id="s7">
<title>Funding</title>
<p>This research work is part of the Co-MIR PRIN 2020 project (Prot. 2020CMEFPK) funded by the Italian Ministry of University and Research (MUR).</p>
</sec>
<sec sec-type="COI-statement" id="s8">
<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="s9">
<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="journal">
<person-group person-group-type="author">
<name>
<surname>Belotti</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Richiedei</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Tamellin</surname>
<given-names>I.</given-names>
</name>
</person-group> (<year>2020</year>). <article-title>Antiresonance assignment in point and cross receptances for undamped vibrating systems</article-title>. <source>J. Mech. Des.</source> <volume>142</volume> (<issue>2</issue>), <fpage>1</fpage>. <comment>Transactions of the ASME</comment>. <pub-id pub-id-type="doi">10.1115/1.4044329</pub-id>
</citation>
</ref>
<ref id="B2">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Boschetti</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Trevisani</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2018</year>). <article-title>Cable robot performance evaluation by Wrench exertion capability</article-title>. <source>Robotics</source> <volume>7</volume>, <fpage>15</fpage>. <pub-id pub-id-type="doi">10.3390/robotics7020015</pub-id>
</citation>
</ref>
<ref id="B3">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Bosscher</surname>
<given-names>P.</given-names>
</name>
<name>
<surname>Williams</surname>
<given-names>R. L.</given-names>
</name>
<name>
<surname>Bryson</surname>
<given-names>L. S.</given-names>
</name>
<name>
<surname>Castro-Lacouture</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2007</year>). <article-title>Cable-suspended robotic contour crafting system</article-title>. <source>Autom. Constr.</source> <volume>17</volume>, <fpage>45</fpage>&#x2013;<lpage>55</lpage>. <pub-id pub-id-type="doi">10.1016/j.autcon.2007.02.011</pub-id>
</citation>
</ref>
<ref id="B4">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Castelli</surname>
<given-names>G.</given-names>
</name>
<name>
<surname>Ottaviano</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Rea</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>A Cartesian Cable-Suspended Robot for improving end-users&#x2019; mobility in an urban environment</article-title>. <source>Robot. Comput. Integr. Manuf.</source> <volume>30</volume>, <fpage>335</fpage>&#x2013;<lpage>343</lpage>. <pub-id pub-id-type="doi">10.1016/J.RCIM.2013.11.001</pub-id>
</citation>
</ref>
<ref id="B5">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Cone</surname>
<given-names>L. L.</given-names>
</name>
</person-group> (<year>1985</year>). <article-title>Skycam: An aerial robotic camera system</article-title>. <source>Byte</source> <volume>10</volume>, <fpage>122</fpage>&#x2013;<lpage>132</lpage>.</citation>
</ref>
<ref id="B6">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Duan</surname>
<given-names>Q. J.</given-names>
</name>
<name>
<surname>Duan</surname>
<given-names>X.</given-names>
</name>
</person-group> (<year>2014</year>). <article-title>Workspace classification and quantification calculations of cable-driven parallel robots</article-title>. <source>Adv. Mech. Eng.</source> <volume>6</volume>, <fpage>358727</fpage>. <pub-id pub-id-type="doi">10.1155/2014/358727</pub-id>
</citation>
</ref>
<ref id="B7">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gagliardini</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Caro</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gouttefarde</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Girin</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016a</year>). <article-title>Discrete reconfiguration planning for cable-driven parallel robots</article-title>. <source>Mech. Mach. Theory</source> <volume>100</volume>, <fpage>313</fpage>&#x2013;<lpage>337</lpage>. <pub-id pub-id-type="doi">10.1016/j.mechmachtheory.2016.02.014</pub-id>
</citation>
</ref>
<ref id="B8">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Gagliardini</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Caro</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Gouttefarde</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Girin</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2016b</year>). <article-title>Discrete reconfiguration planning for cable-driven parallel robots</article-title>. <source>Mech. Mach. Theory</source> <volume>100</volume>, <fpage>313</fpage>&#x2013;<lpage>337</lpage>. <pub-id pub-id-type="doi">10.1016/J.MECHMACHTHEORY.2016.02.014</pub-id>
</citation>
</ref>
<ref id="B9">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Gouttefarde</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Merlet</surname>
<given-names>J.-P.</given-names>
</name>
<name>
<surname>Daney</surname>
<given-names>D.</given-names>
</name>
</person-group> (<year>2007</year>). &#x201c;<article-title>Wrench-feasible workspace of parallel cable-driven mechanisms</article-title>,&#x201d; in <conf-name>Proceedings - IEEE International Conference on Robotics and Automation</conf-name>, <conf-loc>Rome, Italy</conf-loc>, <conf-date>10-14 April 2007</conf-date>, <fpage>1492</fpage>&#x2013;<lpage>1497</lpage>. <pub-id pub-id-type="doi">10.1109/ROBOT.2007.363195</pub-id>
</citation>
</ref>
<ref id="B10">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Id&#xe0;</surname>
<given-names>E.</given-names>
</name>
<name>
<surname>Bruckmann</surname>
<given-names>T.</given-names>
</name>
<name>
<surname>Carricato</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Member</surname>
<given-names>S.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>Rest-to-Rest trajectory planning for underactuated cable-driven parallel robots</article-title>. <source>IEEE Trans. Robotics</source> <volume>35</volume>, <fpage>1338</fpage>&#x2013;<lpage>1351</lpage>. <pub-id pub-id-type="doi">10.1109/TRO.2019.2931483</pub-id>
</citation>
</ref>
<ref id="B11">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Jiang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Kumar</surname>
<given-names>V.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>The inverse kinematics of cooperative transport with multiple aerial robots</article-title>. <source>IEEE Trans. Robotics</source> <volume>29</volume>, <fpage>136</fpage>&#x2013;<lpage>145</lpage>. <pub-id pub-id-type="doi">10.1109/TRO.2012.2218991</pub-id>
</citation>
</ref>
<ref id="B12">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Mao</surname>
<given-names>Y.</given-names>
</name>
<name>
<surname>Agrawal</surname>
<given-names>S. K.</given-names>
</name>
</person-group> (<year>2011</year>). &#x201c;<article-title>A cable driven upper arm exoskeleton for upper extremity rehabilitation</article-title>,&#x201d; in <conf-name>2011 IEEE International Conference on Robotics and Automation</conf-name>, <conf-loc>Shanghai, China</conf-loc>, <conf-date>09-13 May 2011</conf-date>. <pub-id pub-id-type="doi">10.1109/ICRA.2011.5980142</pub-id>
</citation>
</ref>
<ref id="B13">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Masone</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>B&#xfc;lthoff</surname>
<given-names>H. H.</given-names>
</name>
<name>
<surname>Stegagno</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2016</year>). &#x201c;<article-title>Cooperative transportation of a payload using quadrotors: A reconfigurable cable-driven parallel robot</article-title>,&#x201d; in <conf-name>IEEE International Conference on Intelligent Robots and Systems</conf-name>, <conf-loc>Daejeon, Korea (South)</conf-loc>, <conf-date>09-14 October 2016</conf-date>, <fpage>1623</fpage>&#x2013;<lpage>1630</lpage>. <pub-id pub-id-type="doi">10.1109/IROS.2016.7759262</pub-id>
</citation>
</ref>
<ref id="B14">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Merlet</surname>
<given-names>J.-P.</given-names>
</name>
</person-group> (<year>2008</year>). &#x201c;<article-title>Kinematics of the wire-driven parallel robot MARIONET using linear actuators</article-title>,&#x201d; in <conf-name>Proceedings - IEEE International Conference on Robotics and Automation</conf-name>, <conf-loc>Pasadena, CA, USA</conf-loc>, <conf-date>19-23 May 2008</conf-date>, <fpage>3857</fpage>&#x2013;<lpage>3862</lpage>. <pub-id pub-id-type="doi">10.1109/ROBOT.2008.4543803</pub-id>
</citation>
</ref>
<ref id="B15">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Michelin</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Baradat</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Nguyen</surname>
<given-names>D. Q.</given-names>
</name>
<name>
<surname>Gouttefarde</surname>
<given-names>M.</given-names>
</name>
</person-group> (<year>2015</year>). <article-title>Simulation and control with XDE and Matlab/Simulink of a cable-driven parallel robot (CoGiRo)</article-title>. <source>Mech. Mach. Sci.</source> <volume>2015</volume>, <fpage>71</fpage>&#x2013;<lpage>83</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-319-09489-2_6</pub-id>
</citation>
</ref>
<ref id="B16">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Nan</surname>
<given-names>R.</given-names>
</name>
<name>
<surname>Li</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Jin</surname>
<given-names>C.</given-names>
</name>
<name>
<surname>Wang</surname>
<given-names>Q.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>L.</given-names>
</name>
<name>
<surname>Zhu</surname>
<given-names>W.</given-names>
</name>
<etal/>
</person-group> (<year>2011</year>). <article-title>The five-hundred-meter Aperture Spherical radio Telescope (FAST) project</article-title>. <source>Int. J. Mod. Phys. D</source> <volume>20</volume>, <fpage>989</fpage>&#x2013;<lpage>1024</lpage>. <pub-id pub-id-type="doi">10.1142/S0218271811019335</pub-id>
</citation>
</ref>
<ref id="B17">
<citation citation-type="confproc">
<person-group person-group-type="author">
<name>
<surname>Nguyen</surname>
<given-names>D. Q.</given-names>
</name>
<name>
<surname>Gouttefarde</surname>
<given-names>M.</given-names>
</name>
<name>
<surname>Company</surname>
<given-names>O.</given-names>
</name>
<name>
<surname>Pierrot</surname>
<given-names>F.</given-names>
</name>
</person-group> (<year>2014</year>). &#x201c;<article-title>On the analysis of large-dimension reconfigurable suspended cable-driven parallel robots</article-title>,&#x201d; in <conf-name>Proceedings - IEEE International Conference on Robotics and Automation</conf-name>, <conf-loc>Hong Kong, China</conf-loc>, <conf-date>31 May 2014 - 07 June 2014</conf-date>. <pub-id pub-id-type="doi">10.1109/ICRA.2014.6907701</pub-id>
</citation>
</ref>
<ref id="B18">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Richiedei</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Tamellin</surname>
<given-names>I.</given-names>
</name>
<name>
<surname>Trevisani</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2019</year>). <article-title>A general approach for antiresonance assignment in undamped vibrating systems exploiting auxiliary systems</article-title>. <source>Mech. Mach. Sci.</source> <volume>73</volume>, <fpage>4085</fpage>&#x2013;<lpage>4094</lpage>. <pub-id pub-id-type="doi">10.1007/978-3-030-20131-9_407</pub-id>
</citation>
</ref>
<ref id="B19">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Six</surname>
<given-names>D.</given-names>
</name>
<name>
<surname>Chriette</surname>
<given-names>A.</given-names>
</name>
<name>
<surname>Briot</surname>
<given-names>S.</given-names>
</name>
<name>
<surname>Martinet</surname>
<given-names>P.</given-names>
</name>
</person-group> (<year>2017</year>). <article-title>Dynamic modeling and trajectory tracking controller of a novel flying parallel robot</article-title>. <source>IFAC-PapersOnLine</source> <volume>50</volume>, <fpage>2241</fpage>&#x2013;<lpage>2246</lpage>. <pub-id pub-id-type="doi">10.1016/j.ifacol.2017.08.183</pub-id>
</citation>
</ref>
<ref id="B20">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Trevisani</surname>
<given-names>A.</given-names>
</name>
</person-group> (<year>2013</year>). <article-title>Planning of dynamically feasible trajectories for translational, planar, and underconstrained cable-driven robots</article-title>. <source>J. Syst. Sci. Complex</source> <volume>26</volume>, <fpage>695</fpage>&#x2013;<lpage>717</lpage>. <pub-id pub-id-type="doi">10.1007/s11424-013-3175-1</pub-id>
</citation>
</ref>
<ref id="B21">
<citation citation-type="journal">
<person-group person-group-type="author">
<name>
<surname>Williams</surname>
<given-names>R. L.</given-names>
<suffix>II</suffix>
</name>
</person-group> (<year>2005</year>). <article-title>Novel cable-suspended RoboCrane support</article-title>. <source>Ind. Robot.</source> <volume>32</volume>, <fpage>326</fpage>&#x2013;<lpage>333</lpage>. <pub-id pub-id-type="doi">10.1108/01439910510600191</pub-id>
</citation>
</ref>
</ref-list>
</back>
</article>