**New Frontiers in Parallel Robots**

Editors

**Zhufeng Shao Dan Zhang St ´ephane Caro**

MDPI • Basel • Beijing • Wuhan • Barcelona • Belgrade • Manchester • Tokyo • Cluj • Tianjin

*Editors* Zhufeng Shao Tsinghua University China

Dan Zhang York University Canada

Stephane Caro ´ National Centre for Scientific Research (CNRS) and the Laboratory of Digital Sciences of Nantes (LS2N) France

*Editorial Office* MDPI St. Alban-Anlage 66 4052 Basel, Switzerland

This is a reprint of articles from the Special Issue published online in the open access journal *Machines* (ISSN 2075-1702) (available at: https://www.mdpi.com/journal/machines/special issues/Parallel Robots).

For citation purposes, cite each article independently as indicated on the article page online and as indicated below:

LastName, A.A.; LastName, B.B.; LastName, C.C. Article Title. *Journal Name* **Year**, *Volume Number*, Page Range.

**ISBN 978-3-0365-7252-9 (Hbk) ISBN 978-3-0365-7253-6 (PDF)**

Cover image courtesy of Dan Zhang and Stephane Caro ´

© 2023 by the authors. Articles in this book are Open Access and distributed under the Creative Commons Attribution (CC BY) license, which allows users to download, copy and build upon published articles, as long as the author and publisher are properly credited, which ensures maximum dissemination and a wider impact of our publications.

The book as a whole is distributed by MDPI under the terms and conditions of the Creative Commons license CC BY-NC-ND.

## **Contents**


## **About the Editors**

#### **Zhufeng Shao**

Zhufeng Shao, Ph.D., is an associate professor in the Department of Mechanical Engineering at Tsinghua University, a member of the National Industrial Foundation Expert Committee, a special expert of the Chinese Academy of Engineering for foundation strategy research, a senior member of the Chinese Mechanical Engineering Society, an Editorial Board member of the journal *Defence Technology* and a member of the National Professional Standards Technical Committee. He has won the Silver Award of China Patent, the First Prize of Technical Invention of the Science and Technology Award of the China Instrument Society, the Special Prize and Second Prize of Scientific and Technological Progress of the China Machinery Industry Science and Technology Award and the Second Prize of Natural Science of the Ministry of Education, as well as others. Dr. Shao received his Ph.D. in Mechanical Engineering from Tsinghua University, China, in June 2011. He is mainly engaged in the research of high-performance robotic equipment and intelligent manufacturing. Dr. Shao's research interests include parallel mechanisms, cable-driven parallel robots, soft robots, the innovative design of robots, macro and micro robot systems, humanoid and rehabilitation robots, autonomous systems and intelligent manufacturing. He has published 38 SCI-indexed papers, 32 EI-indexed papers and two books, and has been granted 45 Chinese invention patents and 12 software copyrights. He has developed an intelligent painting system for large civil aircraft and an automatic painting system for the non-structural surface of large ship segments, and has invented a new type of cable-driven high-speed parallel robot. Dr. Shao led the construction of a remote operation and maintenance system for CNC metal-cutting machine tools and has released six national standards related to intelligent manufacturing.

#### **Dan Zhang**

Dan Zhang, Ph.D., is a Kaneff Professor and Tier 1 York Research Chair in Advanced Robotics and Mechatronics in the Department of Mechanical Engineering at York University. Dr. Zhang was a Canada Research Chair in Advanced Robotics and Automation and was a founding Chair of the Department of Automotive, Mechanical and Manufacturing Engineering with the Faculty of Engineering and Applied Science at Ontario Tech University. He received his Ph.D. in Mechanical Engineering from Laval University, Canada, in June 2000. Dr. Zhang's research interests include the synthesis and optimization of parallel and hybrid mechanisms, generalized parallel mechanisms research, reconfigurable robots, the innovative design of parallel robots, the parallelization of serial robots, micro/nano manipulation and mems devices (e.g., sensors), rescue robots, smart biomedical instruments (e.g., exoskeleton robots and rehabilitation robotics), AI/robotics/autonomous systems, aerial and underwater robotics, artificial intelligence for robotics and intelligent reconfigurable adaptive landing gear and manipulators (manipulanders). Dr. Zhang has published 241 journal papers and 187 conference papers, 12 books, nine book chapters and numerous other technical publications. Dr. Zhang has served as a General Chair for 67 International Conferences and delivered 117 keynote speeches. Dr. Zhang was listed in the World's Top Two Percent Researchers by Stanford's Standardized Citation Indicators in 2020 and 2021. Dr. Zhang is a Fellow of the Canadian Academy of Engineering (CAE), a Fellow of the Engineering Institute of Canada (EIC), a Fellow of the American Society of Mechanical Engineers (ASME), a Fellow of the Canadian Society for Mechanical Engineering (CSME), a Senior Member of the Institute of Electrical and Electronics Engineers (IEEEs) and a Senior Member of SME.

#### **St ´ephane Caro**

Stephane Caro, Ph.D., is the Director of Research at the National Centre for Scientific Research ´ (CNRS) and at the Laboratory of Digital Sciences of Nantes (LS2N), UMR CNRS 6004, France. Dr. Caro received his Engineering and M.Sc. degrees in mechanical engineering from Ecole Centrale Nantes, Nantes, France, in 2001, and his Doctorate degree in mechanical engineering from the University of Nantes in 2004. He was a Post-Doctoral Fellow in the Centre for Intelligent Machines, McGill University, Montreal, QC, Canada, from 2005 to 2006. He was awarded the accreditation to supervise research (HDR) in 2014. Dr. Caro's research focuses on the design, modeling and control of cable-driven parallel robots and reconfigurable parallel robots. Dr. Caro is the head of the "Robots and Machines for Manufacturing Society and Services" (RoMaS) Team at LS2N. He is also a part-time researcher at IRT Jules Verne, a mutualized industrial research institute, and a lecturer at Ecole Centrale de Nantes. Dr. Caro is a member of ASME and IEEE and was one of the two recipients of the 2018 Reviewers of the Year for the ASME *Journal of Mechanisms and Robotics*. He was also one of two recipients of the 2019 Crossley Award for Mechanism and Machine Theory. Dr. Caro is Associate Editor for the ASME *Journal of Mechanisms and Robotics* and the *IEEE Robotics and Automation Letters*. He is a member of the IFToMM Computational Kinematics and ASME Mechanisms and Robotics Technical Committees.

### *Editorial* **New Frontiers in Parallel Robots**

**Zhufeng Shao 1,\*, Dan Zhang <sup>2</sup> and Stéphane Caro <sup>3</sup>**


In the field of parallel robots, marked by the birth and application of the Gough– Stewart parallel mechanism [1] in the 1960s, great progress has been made in the past 60 years. The most notable feature of a parallel robot is that there are multiple closed-loop branch chains jointly connecting and driving the moving platform [2], which gives great flexibility in its configurations, creating a new way to change performance through robot configuration. Parallel robots usually have outstanding advantages of high stiffness, high precision, and high speed [3], which make up for the performance shortcomings of serial robots. The abundant configurations and complex mechanisms of parallel robots also present challenges in terms of configuration synthesis, performance evaluation, modeling, calibration, control, etc. Opportunities coexist with challenges, and parallel robots attract attention from both academia and industry. Today, parallel robots are constantly enriched, and new types of parallel robots, such as cable-driven parallel robots (CDPRs) [4], soft parallel robots [5], and hybrid robots [6], are constantly emerging. In particular, while inheriting the abovementioned advantages, a CDPR has the advantages of low cost, high energy efficiency, easy reconfiguration, and light weight, showing great application potential in scenarios such as large working spaces, heavy loads, high speeds, and bionics [7,8]. Parallel robotics research and applications show continued vitality and are expected to transform the industry in the future.

This Special Issue provides an international forum for professionals, academics, and researchers to present the latest developments from theoretical studies and applications of parallel robots. It includes 10 selected papers, covering important aspects of parallel robots such as modeling and control, error analysis and calibration, singularity analysis, and trajectory planning. The contents of these studies are briefly described here.

In [9], an evaluation model is established to analyze the influence of geometric errors on limbs' comprehensive deformations for an over-constrained parallel manipulator. The evaluation model is established based on kinematics and verified through simulations. Two global sensitivity indices are proposed, and a sensitivity analysis is conducted using the Monte Carlo method throughout the reachable workspace. The geometric errors that have greater effects on the average angular comprehensive deformation are identified.

In [10], a consistent solution strategy for static equilibrium workspaces of different types of under-constrained cab-driven robots is presented. The dynamic models and parameters that are applied to make the system stable for point-to-point movements are introduced. The constraints of the dynamics model are incorporated into the trajectory planning process to achieve point-to-point trajectory planning for the under-constrained cable-driven robots.

In [11], the authors present the singularity analysis and the geometric optimization of a 6-DOF (Degrees of Freedom) parallel robot for SILS (Single-Incision Laparoscopic Surgery). Based on a defined set of input/output constraint equations, the singularities of the parallel robotic system are determined and geometrically interpreted. Then, the

**Citation:** Shao, Z.; Zhang, D.; Caro, S. New Frontiers in Parallel Robots. *Machines* **2023**, *11*, 386. https:// doi.org/10.3390/machines11030386

Received: 13 March 2023 Accepted: 13 March 2023 Published: 15 March 2023

**Copyright:** © 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

geometric parameters for the 6-DOF parallel robot are optimized to make the operational workspace singularity-free.

Paper [12] focuses on pick-and-place trajectory planning and tracking control of a cable-based gangue-sorting robot in the operation space. A four-phase pick-and-place trajectory planning scheme based on an S-shaped acceleration/deceleration algorithm and the quantic polynomial trajectory planning method is proposed. A robust adaptive fuzzy tracking control strategy is presented against inevitable uncertainties and unknown external disturbances. The proposed method guarantees a stable and accurate pick-andplace trajectory tracking process.

Paper [13] proposes a fractional-order impedance control scheme, named KDHD, in which additional damping is added, proportional to the half-order derivatives of the endeffector position errors according to the half-derivative damping matrix, HD. The proposed impedance controller represents an extension to multi-input multi-output robotic systems of the PDD1/2 controller for single-input single-output systems, which over performs the PD scheme in the transient behavior.

Paper [14] focuses on the dynamic modeling, workspace analysis, and multi-objective structural optimization of a large-span, high-speed, cable-driven parallel camera robot. The curved cable, due to the self-weight, is modeled as a catenary, and the dynamic model is derived by decomposing the motion of the cable into an in-plane motion and an out-plane motion. An optimization model is presented to simultaneously improve the workspace volume, anti-wind disturbance ability, and impulse of tensions on the camera and pan-tilt device system (CPTDS).

In [15], the authors present kinematic and dynamic modeling and workspace analysis for a novel suspended CDPR which generates Schönflies motions. The kinematics of the CDPR are solved through a geometrical approach. The dynamic feasible workspace of the robot is determined. Experiments are performed on a prototype of the robot to demonstrate the correctness of the derived models and workspace.

Paper [16] proposes a new method for the kinematic calibration of parallel robots to strict pose error bounds. The new method includes a new pose error model with 60 error parameters and a different kinematic parameter error identification algorithm based on Linfinity parameter estimation. Parameter errors are identified by using linear programming. The feasibility and validity of the proposed kinematic calibration are verified through both simulations and experiments.

Paper [17] studies the 3-DOF cutting stability and surface quality optimization of a parallel kinematic manipulator (PKM). A prediction model for the 3-DOF stability of helical milling based on the PKM is established through a semi-discrete method based on the natural frequency analysis of the PKM and a cutting force model of titanium alloy helical milling. A step-cutter is used to improve the machining process by enhancing the stability domain. The proposed method can provide a reference for further optimization of the prediction and optimization of the milling of difficult-to-process materials based on a PKM in the future.

In [18], the authors develop a simple model to evaluate the first natural frequencies of over-constrained PKMs. The PKM legs are modeled by beams, and constraint equations between the parameters are determined according to screw theory. The focus of this paper is to determine the global mass and stiffness matrices of the PKM in stationary configurations without the use of Jacobian matrices. The proposed method can be easily used at the conceptual design stage of PKMs.

The Guest Editors thank all of our colleagues who have taken interest in this Special Issue, especially the authors of the papers published in this Special Issue. All the of papers underwent a rigorous review process to ensure the high quality of the publications. We are grateful to the reviewers who evaluated these papers and provided valuable comments based on their professional perspectives. We also would like to thank the editors from MDPI for their support and effort in the organization and publication of this Special Issue.

It is hoped that the papers published in this Special Issue can be used as vehicles to promote knowledge sharing in the field of parallel robots. More importantly, we hope more people will be informed about and understand parallel robots and their latest technologies and actively participate in the innovation, research, development, and application promotion of parallel robots.

**Author Contributions:** Conceptualization, Z.S., D.Z. and S.C.; writing—original draft preparation, Z.S.; writing—review and editing, D.Z. and S.C. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work was supported by the National Natural Science Foundation of China (No. U19A20101) and the National High-tech Ship Research Project of China (No. MC-202003-Z01).

**Acknowledgments:** We express great thanks to the editors of MDPI for their excellent support for this Special Issue, and it would have been impossible without their persistence and help. Many thanks to all our colleagues who are interested in these research topics and submitted their research for our Special Issue. A special thanks to the reviewers for their efforts and time spent in order to maintain the high quality of all contributions.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


**Disclaimer/Publisher's Note:** The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

## *Article* **Geometric Error Analysis of a 2UPR-RPU Over-Constrained Parallel Manipulator**

**Xu Du 1, Bin Wang <sup>1</sup> and Junqiang Zheng 2,\***


**Abstract:** For a 2UPR-RPU over-constrained parallel manipulator, some geometric errors result in internal forces and deformations, which limit the improvement of the pose accuracy of the moving platform and shorten the service life of the manipulator. Analysis of these geometric errors is important for restricting them. In this study, an evaluation model is established to analyse the influence of geometric errors on the limbs' comprehensive deformations for this manipulator. Firstly, the nominal inverse and actual forward kinematics are analysed according to the vector theory and the local product of the exponential formula. Secondly, the evaluation model of the limbs' comprehensive deformations is established based on kinematics. Thirdly, 41 geometric errors causing internal forces and deformations are identified and the results are verified through simulations based on the evaluation model. Next, two global sensitivity indices are proposed and a sensitivity analysis is conducted using the Monte Carlo method throughout the reachable workspace of the manipulator. The results of the sensitivity analysis indicate that 10 geometric errors have no effects on the average angular comprehensive deformation and that the identified geometric errors have greater effects on the average linear comprehensive deformation. Therefore, the distribution of the global sensitivity index of the average linear comprehensive deformation is more meaningful for accuracy synthesis. Finally, simulations are performed to verify the results of sensitivity analysis.

**Keywords:** 2UPR-RPU parallel manipulator; over-constrained parallel manipulator; geometric error; deformation; sensitivity analysis

#### **1. Introduction**

Parallel mechanisms with three DOFs have been successfully applied to hybrid serial– parallel machine tools, such as the well-known Eco-speed series, Tricept, and Exechon [1–6], owing to their high stiffness, large payload, and good dynamics. To achieve a simpler structure, Li et al. [3] designed a 2R1T (R denotes a rotational DOF, and T denotes a translational DOF) parallel mechanism named 2UPR-RPU. This mechanism is not only easier to control but also suitable for many operations along the surfaces. However, it is an over-constrained parallel mechanism with common constraints and over-constraints [7,8]. Some geometric errors in a manipulator based on this mechanism break the common constraints and over-constraints, resulting in internal forces and deformations. The internal forces and deformations not only limit the further improvement of the pose accuracy of the moving platform but also shorten the service life of the manipulator [9,10]. Therefore, it is necessary to restrict the internal-force-and-deformation-related geometric errors in the 2UPR-RPU parallel manipulator.

The accuracy design [11–13] can be applied to restrict geometric errors by determining the tolerances of the fabrication and assembly of machines. It consists of three components: error modelling [14–16], sensitivity analysis [17–19], and accuracy synthesis [20–22], where error modelling is the basis of sensitivity analysis and accuracy synthesis. Zhang et al. [13] applied the closed-loop vector and first-order perturbation methods to establish a geometric

**Citation:** Du, X.; Wang, B.; Zheng, J. Geometric Error Analysis of a 2UPR-RPU Over-Constrained Parallel Manipulator. *Machines* **2022**, *10*, 990. https://doi.org/10.3390/ machines10110990

Academic Editors: Zhufeng Shao, Dan Zhang and Stéphane Caro

Received: 18 September 2022 Accepted: 27 October 2022 Published: 29 October 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

error model for a 2UPR-RPS over-constrained manipulator, and they identified the geometric errors that affected the pose errors of the moving platform. Zhang et al. [15] utilised the screw theory to establish a geometric error model for a 4RSR-SS over-constrained parallel tracking machine. With the use of the geometric error model, 53 geometric errors that had a significant influence on the pose errors of the moving platform were identified after sensitivity analysis. However, neither of the above two methods considers the deformations caused by internal forces in over-constrained parallel manipulators. Taking parameter uncertainties into account, Tang et al. [23] built a general interval kinetostatic model for a 2UPR-SPR over-constrained parallel machine to perform sensitivity analysis and tolerance allocation. To predict the pose errors of an over-constrained extendible support structure, Yu et al. [24] proposed a comprehensive model that simultaneously considered geometric errors, joint gaps, and link flexibility. In spite of good accuracy, these two models are complicated for the stiffness matrix needs to be derived and the stiffness coefficients of parts need to be obtained via finite element software.

Affected by geometric errors, the end poses of different limbs of a parallel manipulator should be theoretically inconsistent. However, they can be consistent in nonoverconstrained parallel manipulators due to the existence of the moving platform and the motion deviations of passive joints. On this basis, a numerical iterative algorithm [25,26] was proposed to analyse the kinematics of non-overconstrained parallel manipulators with kinematic errors. Inspired by this algorithm, this study aims to establish an evaluation model based on kinematics to analyse the influence of geometric errors on the limbs' comprehensive deformations for the 2UPR-RPU over-constrained parallel manipulator.

Based on the established evaluation model, sensitivity analysis can help reveal the influence of different internal-force-and-deformation-related geometric errors on the limbs' comprehensive deformations. The interval analysis method and probabilistic method have been commonly used for sensitivity analysis of the moving platform's pose error in literature. The interval analysis method treats geometric errors as interval variables and can get a balance between calculation speed and accuracy [11,18]. Treating geometric errors as random variables with a normal distribution, the probabilistic method can be divided into the Monte Carlo method and the probability modelling method. The Monte Carlo method calculates the moving platform's pose errors according to the geometric error model and lots of random values of a geometric error [22,27]. It has good accuracy and low computational efficiency. The probability modelling method establishes an analytical model between the standard deviation of each geometric error and that of the moving platform's pose error based on the geometric error model [28]. In spite of high computational efficiency, this method needs prior knowledge about probability distributions. Considering that the interval analysis method and probability modelling method are not suitable when the geometric error model is iterative, the Monte Carlo method is utilised to analyse the influence of geometric errors on the limbs' comprehensive deformations in this paper.

The remainder of this paper is organised as follows. In Section 2, the 2UPR-RPU parallel mechanism is briefly introduced. Section 3 presents an analysis of the nominal inverse kinematics and actual forward kinematics. Section 4 establishes an evaluation model of the limbs' comprehensive deformations caused by geometric errors. Based on the evaluation model, the internal-force-and-deformation-related geometric errors are identified and the results are verified through simulations in Section 5. In Section 6, two global sensitivity indices are proposed and sensitivity analysis is conducted. Simulations are also performed to verify the results of sensitivity analysis. Finally, the conclusions are drawn in Section 7.

#### **2. 2UPR-RPU Parallel Mechanism**

As shown in Figure 1, the 2UPR-RPU parallel mechanism mainly consists of a moving platform, two UPR limbs, one RPU limb, and one fixed base, where the moving platform and fixed base are represented by the isosceles right triangles ΔA1A2A3 and ΔB1B2B3. U, P, and R denote universal, prismatic, and revolute joints, respectively. **B**1, **B**<sup>2</sup> and **A**<sup>3</sup> are the centres of U, and **A**1, **A**<sup>2</sup> and **B**<sup>3</sup> are the centres of R. Because each universal joint is

equivalent to two mutually perpendicular revolute joints, the UPR limb is equivalent to the RRPR limb, and the RPU limb is equivalent to the RPRR limb. The axis of the *j*th joint of the *i*th limb is denoted by **s***i*,*j*. A fixed coordinate system {**o**B; **x**, **y**, **z**} is established at the midpoint between **B**<sup>1</sup> and **B**2, where **x** points from **B**<sup>2</sup> to **B**<sup>1</sup> and **y** points from **o**<sup>B</sup> to **B**3. Similarly, a moving coordinate system {**o**A; **u**, **v**, **w**} is also established, where **u** points from **A**<sup>2</sup> to **A**<sup>1</sup> and **v** points from **o**<sup>A</sup> to **A**3. The coordinate axes **z** and **w** are determined using the right-hand rule. For the 2UPR-RPU parallel mechanism, each limb exerts a force and a couple on the moving platform [8], where the two forces from the UPR limbs are parallel to **v**, and the three couples from the UPR and RPU limbs rotate around **w**. It is worth mentioning that the two forces parallel to **v** will lead to over-constraint, and the three couples rotating around **w** will lead to common constraints. Thus, the 2UPR-RPU parallel mechanism is an over-constrained parallel mechanism.

**Figure 1.** Schematic diagram of the 2UPR-RPU parallel mechanism.

#### **3. Kinematics**

Inverse kinematics aims to calculate the displacements of all joints relative to their initial positions or angles according to a given target pose of the moving platform. Forward kinematics is the reverse operation of inverse kinematics. Inverse kinematics without considering geometric errors is called nominal inverse kinematics. In this section, the nominal inverse kinematics of actuated joints and passive joints is first introduced. Then, the actual forward kinematics of the limbs is derived.

#### *3.1. Nominal Inverse Kinematics*

The position and orientation of the moving platform shown in Figure 1 can be described by - *xyz*<sup>T</sup> and - *αβγ*<sup>T</sup> , respectively, where - *xyz*<sup>T</sup> denotes the position coordinates of **o**<sup>A</sup> with respect to {**o**B; **x**, **y**, **z**} and - *αβγ*<sup>T</sup> denotes the Euler angle with respect to **z-x**-**v**. Because only the translation motion along **o**B**o**<sup>A</sup> and the rotations around **x** and **v** can be achieved by the moving platform [8], - *z β γ*<sup>T</sup> is sufficient to represent

the poses. For a given target pose of the moving platform, the nominal displacements of actuated P-joints can be derived using the closed-loop vector method [10] as follows:

$$\begin{cases} \begin{aligned} q\_{1,3} &= ||\mathbf{B}\_1 \mathbf{A}\_1|| - ||\mathbf{B}\_1 \tilde{\mathbf{A}}\_1|| \\ q\_{2,3} &= ||\mathbf{B}\_2 \mathbf{A}\_2|| - ||\mathbf{B}\_2 \tilde{\mathbf{A}}\_2|| \\ q\_{3,2} &= ||\mathbf{B}\_3 \mathbf{A}\_3|| - ||\mathbf{B}\_3 \tilde{\mathbf{A}}\_3|| \end{aligned} \end{cases} \tag{1}$$

where -· represents the Euclidean norm. **<sup>~</sup> A***<sup>i</sup>* denotes the initial position of **A***i*, which is determined by

$$\begin{cases} \begin{array}{ll} \mathbf{B}\_{1}\mathbf{A}\_{1} = \begin{bmatrix} \ l\_{\text{A}}\cos\gamma - l\_{\text{B}} & l\_{\text{A}}\sin\beta\sin\gamma - z\tan\beta & -l\_{\text{A}}\cos\beta\sin\gamma + z \end{bmatrix}^{\text{T}}\\ \mathbf{B}\_{2}\mathbf{A}\_{2} = \begin{bmatrix} - & l\_{\text{A}}\cos\gamma + l\_{\text{B}} & -l\_{\text{A}}\sin\beta\sin\gamma - z\tan\beta & l\_{\text{A}}\cos\beta\sin\gamma + z \end{bmatrix}^{\text{T}}\\ \mathbf{B}\_{3}\mathbf{A}\_{3} = \begin{bmatrix} 0 & l\_{\text{A}}\cos\beta - z\tan\beta - l\_{\text{B}} & l\_{\text{A}}\sin\beta + z \end{bmatrix}^{\text{T}} \end{array} \tag{2}$$

where *l*<sup>A</sup> = -**A**1**A**2-/2 and *l*<sup>B</sup> = -**B**1**B**2-/2.

For the first UPR limb, the first, second, and fourth joints are passive. The nominal displacement of the first joint can be expressed as

$$q\_{1,1} = \beta \tag{3}$$

The nominal displacement of the second joint can be expressed as

$$q\_{1,2} = \arccos\left(\frac{\mathbf{e}\_1^T \mathbf{B}\_1 \mathbf{A}\_1}{||\mathbf{B}\_1 \mathbf{A}\_1||}\right) - \arccos\left(\frac{\mathbf{e}\_1^T \mathbf{B}\_1 \tilde{\mathbf{A}}\_1}{||\mathbf{B}\_1 \tilde{\mathbf{A}}\_1||}\right) \tag{4}$$

where **e**<sup>1</sup> is the unit vector along **x**.

The nominal displacement of the fourth joint can be expressed as

$$q\_{1,4} = \arccos\left(\frac{-\left(\mathbf{A}\_1\tilde{\mathbf{A}}\_2\right)^T \left(\mathbf{B}\_1\tilde{\mathbf{A}}\_1\right)}{||\mathbf{A}\_1\tilde{\mathbf{A}}\_2|| ||\mathbf{B}\_1\tilde{\mathbf{A}}\_1||}\right) - \arccos\left(\frac{-\left(\mathbf{A}\_1\mathbf{A}\_2\right)^T \left(\mathbf{B}\_1\mathbf{A}\_1\right)}{||\mathbf{A}\_1\mathbf{A}\_2|| ||\mathbf{B}\_1\mathbf{A}\_1||}\right) \tag{5}$$

Because the two UPR limbs are symmetrically distributed with respect to **o**A**o**B, we have

$$q\_{2,1} = \beta \tag{6}$$

$$q\_{2,2} = \arccos\left(\frac{\mathbf{e}\_1^T \mathbf{B}\_2 \mathbf{A}\_2}{||\mathbf{B}\_2 \mathbf{A}\_2||}\right) - \arccos\left(\frac{\mathbf{e}\_1^T \mathbf{B}\_2 \tilde{\mathbf{A}}\_2}{||\mathbf{B}\_2 \tilde{\mathbf{A}}\_2||}\right) \tag{7}$$

$$q\_{2,4} = \arccos\left(\frac{(\mathbf{A}\_1\mathbf{A}\_2)^T(\mathbf{B}\_2\mathbf{A}\_2)}{||\mathbf{A}\_1\mathbf{A}\_2|| \, ||\mathbf{B}\_2\mathbf{A}\_2||}\right) - \arccos\left(\frac{\left(\mathbf{A}\_1\tilde{\mathbf{A}}\_2\right)^T\left(\mathbf{B}\_2\tilde{\mathbf{A}}\_2\right)}{||\mathbf{A}\_1\tilde{\mathbf{A}}\_2|| \, ||\mathbf{B}\_2\tilde{\mathbf{A}}\_2||}\right) \tag{8}$$

Similarly, the nominal displacements of the first, third, and fourth joints of the RPU limb can be expressed as

$$q\_{3,1} = \arccos\left(\frac{-\mathbf{e}\_2^T \mathbf{B}\_3 \mathbf{A}\_3}{||\mathbf{B}\_3 \mathbf{A}\_3||}\right) - \arccos\left(\frac{-\mathbf{e}\_2^T \mathbf{B}\_3 \tilde{\mathbf{A}}\_3}{||\mathbf{B}\_3 \tilde{\mathbf{A}}\_3||}\right) \tag{9}$$

$$q\_{3,3} = \arccos\left(\frac{(\mathbf{Re}\_2)^T(\mathbf{B}\_3\mathbf{A}\_3)}{||\mathbf{B}\_3\mathbf{A}\_3||}\right) - \arccos\left(\frac{\left(\tilde{\mathbf{Re}}\_2\right)^T\left(\mathbf{B}\_3\tilde{\mathbf{A}}\_3\right)}{||\mathbf{B}\_3\tilde{\mathbf{A}}\_3||}\right) \tag{10}$$

$$q\_{3,4} = \gamma \tag{11}$$

Here, **<sup>e</sup>**<sup>2</sup> is the unit vector along **<sup>y</sup>**, and **<sup>~</sup> R** denotes the initial state of **R**, which is given as follows:

$$\mathbf{R} = \begin{bmatrix} \cos \gamma & 0 & \sin \gamma \\ \sin \beta \sin \gamma & \cos \beta & -\sin \beta \cos \gamma \\ -\cos \beta \sin \gamma & \sin \beta & \cos \beta \cos \gamma \end{bmatrix} \tag{12}$$

#### *3.2. Actual Forward Kinematics*

The nominal inverse kinematics described above does not consider geometric errors. However, geometric errors exist in the 2UPR-RPU parallel manipulator. In this section, the actual forward kinematics of the limbs in the manipulator is derived in detail.

As shown in Figure 2, four local coordinate systems {**F***i*,*j*; **x***i*,*j*, **y***i*,*j*, **z***i*,*j*} are assigned to each limb to describe the geometric errors of the 2UPR-RPU parallel manipulator, where the initial pose of the moving platform is - *z*<sup>0</sup> *β*<sup>0</sup> *γ*<sup>0</sup> <sup>T</sup> = - <sup>−</sup>0.2m 0 0<sup>T</sup> under the home configuration. The coordinate systems {**o**B; **x**, **y**, **z**} and {**o**A; **u**, **v**, **w**} are identical to those in Figure 1. For brevity, we use {**F***i*,*j*} instead of {**F***i*,*j*; **x***i*,*j*, **y***i*,*j*, **z***i*,*j*}. It is worth mentioning that this figure only shows **x***i*,*<sup>j</sup>* and **z***i*,*<sup>j</sup>* of the local coordinate systems, and **y***i*,*<sup>j</sup>* can be determined according to the right-hand rule, which will not be illustrated in detail here. The definitions of the local coordinate systems for the two UPR limbs and the RPU limb are listed in Tables 1–3.

**Figure 2.** 2UPR-RPU parallel manipulator and its local coordinate systems.


**Table 1.** Definitions of local coordinate systems for the first UPR limb.

**Table 2.** Definitions of local coordinate systems for the second UPR limb.



**Table 3.** Definitions of local coordinate systems for the RPU limb.

The end poses of the *i*th limb can be obtained from the local product of the exponential formula [25] as

$$\mathbf{g}\_{i}(\mathbf{q}\_{i}) = \mathbf{g}\_{i,0}e^{\hat{\boldsymbol{\xi}}\_{i,1}q\_{i,1}}\mathbf{g}\_{i,1}e^{\hat{\boldsymbol{\xi}}\_{i,2}q\_{i,2}}\mathbf{g}\_{i,2}e^{\hat{\boldsymbol{\xi}}\_{i,3}q\_{i,3}}\mathbf{g}\_{i,3}e^{\hat{\boldsymbol{\xi}}\_{i,4}q\_{i,4}}\mathbf{g}\_{i,4}, i = 1,2,3\tag{13}$$

where **g***<sup>i</sup>* denotes the homogeneous transformation matrix (HTM) of {**o**A; **u**, **v**, **w**} with respect to {**o**B; **x**, **y**, **z**} calculated using the *i*th limb. ζ*i,j* denotes the screw coordinates of **s***i,j* with respect to {**F***i*,*j*}, which can be written as [25,26]

$$\begin{cases} \mathcal{L}\_{i,j} = \begin{bmatrix} 0 & 0 & 1 & 0 & 0 & 0 \end{bmatrix}^T \text{for R joint} \\ \mathcal{L}\_{i,j} = \begin{bmatrix} 0 & 0 & 0 & 0 & 0 & 1 \end{bmatrix}^T \text{for P joint} \end{cases} \tag{14}$$

Here, *e* **^** <sup>ζ</sup>*i*,*jqi*,*<sup>j</sup>* denotes the exponential map from the Lie algebra *se*(3) to the special Euclidean group *SE*(3), which can be obtained using (A1)–(A4) in Appendix A. **g***i*,j is the HTM between adjacent coordinate systems when the parallel manipulator is under the home configuration. To be more specific, **g***i*,0 denotes the HTM of {**F***i*,1} with respect to {**o**B; **x**, **y**, **z**}; **g***i*,4 denotes the HTM of {**o**A; **u**, **v**, **w**} with respect to {**F***i*,4}; when *j* = 0 and *j* = 4, **g***i*,*<sup>j</sup>* is the HTM of {**F***i*,*j*+1} with respect to {**F***i*,*j*}. **g***i*,*<sup>j</sup>* can be written as

$$\begin{cases} \mathbf{g}\_{1,0} = \mathbf{Trans}(x, l\_{\mathrm{B}} + d) \mathbf{Rot}(y, \pi/2) \\ \mathbf{g}\_{1,1} = \mathbf{Trans}(z, -d) \mathbf{Rot}(x, -\pi/2) \mathbf{Rot}(z, \tilde{q}\_{1,2} - \pi/2) \\ \mathbf{g}\_{1,2} = \mathbf{Rot}(y, \pi/2) \\ \mathbf{g}\_{1,3} = \mathbf{Trans}(z, \tilde{q}\_{1,3}) \mathbf{Rot}(y, -\pi/2) \mathbf{Rot}(z, -\tilde{q}\_{1,2} + \pi/2) \\ \mathbf{g}\_{1,4} = \mathbf{Trans}(y, l\_{\mathrm{A}}) \mathbf{Rot}(y, -\pi/2) \mathbf{Rot}(z, -\pi/2) \end{cases} \tag{15}$$

$$\begin{cases} \mathbf{g}\_{2,0} = \mathsf{Trans}(x, -l\_{\mathrm{B}} - d)\mathbf{Rot}(y, \pi/2) \\ \mathbf{g}\_{2,1} = \mathsf{Trans}(z, d)\mathbf{Rot}(x, -\pi/2)\mathbf{Rot}(z, \tilde{q}\_{2,2} - \pi/2) \\ \mathbf{g}\_{2,2} = \mathsf{Rot}(y, \pi/2) \\ \mathbf{g}\_{2,3} = \mathsf{Trans}(z, \tilde{q}\_{2,3})\mathbf{Rot}(y, -\pi/2)\mathbf{Rot}(z, -\tilde{q}\_{2,2} + \pi/2) \\ \mathbf{g}\_{2,4} = \mathsf{Trans}(y, -l\_{\mathrm{A}})\mathbf{Rot}(y, -\pi/2)\mathbf{Rot}(z, -\pi/2) \end{cases} \tag{16}$$
 
$$\begin{cases} \mathbf{g}\_{3,0} = \mathsf{Trans}(y, l\_{\mathrm{B}})\mathbf{Rot}(y, \pi/2)\mathbf{Rot}(z, \tilde{q}\_{3,1} - \pi/2) \\ \mathbf{g}\_{3,1} = \mathsf{Rot}(y, \pi/2) \\ \mathbf{g}\_{3,2} = \mathsf{Trans}(z, \tilde{q}\_{3,2})\mathbf{Rot}(y, -\pi/2)\mathbf{Rot}(z, -\tilde{q}\_{3,1} + \pi/2) \\ \mathbf{g}\_{3,3} = \mathsf{Trans}(y, -c)\mathbf{Rot}(x, -\pi/2) \\ \mathbf{g}\_{3,4} = \mathsf{trans}(z, c - l\_{\mathrm{A}})\mathbf{Rot}(y, -\pi/2)\mathbf{Rot}(z, -\pi/2) \end{cases} \tag{17}$$

where **Trans**(*x*, *l*B) denotes the HTM that translates by *l*<sup>B</sup> along *x*, and **Rot**(*y*, *π*/2) denotes the HTM that rotates by *<sup>π</sup>*/2 around *<sup>y</sup>*. *<sup>q</sup>*1,2 is the initial angle between **<sup>x</sup>** and **<sup>B</sup>**1**A**1, *<sup>q</sup>*2,2 is the initial angle between **<sup>B</sup>**2**B**<sup>1</sup> and **<sup>B</sup>**2**A**2, and *<sup>q</sup>*3,1 is the initial angle between **<sup>B</sup>**3**o**<sup>B</sup> and **B**3**A**3, which can be expressed as

$$\tilde{q}\_{1,2} = \arccos\left(\frac{\mathbf{e}\_1^T \mathbf{B}\_1 \tilde{\mathbf{A}}\_1}{||\mathbf{B}\_1 \tilde{\mathbf{A}}\_1||}\right) \tag{18}$$

$$\tilde{q}\_{2,2} = \arccos\left(\frac{\mathbf{e}\_1^T \mathbf{B}\_2 \tilde{\mathbf{A}}\_2}{||\mathbf{B}\_2 \tilde{\mathbf{A}}\_2||}\right) \tag{19}$$

$$\tilde{q}\_{3,1} = \arccos\left(\frac{-\mathbf{e}\_2^T \mathbf{B}\_3 \tilde{\mathbf{A}}\_3}{||\mathbf{B}\_3 \tilde{\mathbf{A}}\_3||}\right) \tag{20}$$

In contrast to *<sup>q</sup>*1,2, *<sup>q</sup>*2,2, and *<sup>q</sup>*3,1, *<sup>q</sup>*1,3, *<sup>q</sup>*2,3, and *<sup>q</sup>*3,2 are the initial positions of the actuated P-joints, and we have

$$
\widetilde{q}\_{1,3} = \|\mathbf{B}\_1 \widetilde{\mathbf{A}}\_1\| \tag{21}
$$

$$\tilde{q}\_{2,3} = \|\mathbf{B}\_2 \tilde{\mathbf{A}}\_2\|\tag{22}$$

$$
\tilde{q}\_{3,2} = ||\mathbf{B}\_3 \tilde{\mathbf{A}}\_3|| \tag{23}
$$

The linear errors δ*i*,*<sup>j</sup>* of {**F***i*,*j*+1} along **x***i*,*j*, **y***i*,*j*, and **z***i*,*<sup>j</sup>* can be expressed as follows:

$$\mathfrak{G}\_{i,j} = \begin{bmatrix} \delta^x\_{i,j} & \delta^y\_{i,j} & \delta^z\_{i,j} \end{bmatrix}^\mathrm{T}, i = 1, 2, 3 \text{ and } j = 0, \cdots, 4 \tag{24}$$

In addition to linear errors, angular errors also exist. The angular errors ε*i*,*<sup>j</sup>* of {**F***i*,*j*+1} around **x***i*,*j*, **y***i*,*j*, and **z***i*,*<sup>j</sup>* can be expressed as follows:

$$\mathfrak{e}\_{i,j} = \begin{bmatrix} \mathfrak{e}\_{i,j}^{x} & \mathfrak{e}\_{i,j}^{y} & \mathfrak{e}\_{i,j}^{z} \end{bmatrix}^{\mathrm{T}}, i = 1, 2, 3 \text{ and } j = 0, \cdots, 4 \tag{25}$$

where δ*i*,0 and ε*i*,0 denote the linear and angular errors of {**F***i*,1} with respect to {**o**B; **x**, **y**, **z**}, respectively. δ*i*,4 and ε*i*,4 denote the linear and angular errors of {**F***i*,4} with respect to {**o**A; **u**, **v**, **w**}, respectively. Among the 90 error parameters, *ε<sup>x</sup>* 1,0, *ε y* 1,1, *<sup>δ</sup><sup>z</sup>* 1,3, *<sup>ε</sup><sup>x</sup>* 1,3, *<sup>ε</sup><sup>x</sup>* 2,0, *ε y* 2,1, *<sup>δ</sup><sup>z</sup>* 2,3, *<sup>ε</sup><sup>x</sup>* 2,3, *εx* 3,0, *<sup>δ</sup><sup>z</sup>* 3,2, *<sup>ε</sup><sup>x</sup>* 3,2, and *ε y* 3,3 represent the initial displacement errors of the 12 joints. In addition, the values of *δ<sup>x</sup>* 1,2, *<sup>δ</sup><sup>x</sup>* 2,2, *ε y* 1,4, *ε y* 2,4, *<sup>δ</sup><sup>x</sup>* 3,1, *<sup>ε</sup><sup>z</sup>* 3,3, and *ε y* 3,4 are zeros since the definitions of local coordinate systems. Therefore, the rest 71 error parameters represent the linear and angular geometric errors.

Setting the values of error parameters other than geometric errors to zeros, the HTM of the geometric errors between adjacent coordinate systems can be written as

$$
\Delta \mathbf{g}\_{i,j} = \begin{bmatrix}
\hat{\mathfrak{e}}\_{i,j} & \mathfrak{S}\_{i,j} \\
0\_{1\times3} & 1
\end{bmatrix}, i = 1, 2, 3 \text{ and } j = 0, \cdots, 4 \tag{26}
$$

where *e* **^** <sup>ε</sup>*i*,*<sup>j</sup>* denotes the exponential map from the Lie algebra *so*(3) to the special orthogonal group *SO*(3), which can be determined using (A3) and (A5) in Appendix A.

The end poses of the *i*th limb that include sthe linear and angular geometric errors can then be obtained as follows:

$$\mathbf{g}\_{i}^{\mathcal{J}\varepsilon}(\mathbf{q}\_{i}) = \Delta \mathbf{g}\_{i,0} \mathbf{g}\_{i,0} \epsilon^{\hat{\mathcal{L}}\_{i,1}\mathbf{q}\_{i,1}} \Delta \mathbf{g}\_{i,1} \mathbf{g}\_{i,1} \epsilon^{\hat{\mathcal{L}}\_{i,2}\mathbf{q}\_{i,2}} \Delta \mathbf{g}\_{i,2} \mathbf{g}\_{i,2} \epsilon^{\hat{\mathcal{L}}\_{i,3}\mathbf{q}\_{i,3}} \Delta \mathbf{g}\_{i,3} \mathbf{g}\_{i,3} \epsilon^{\hat{\mathcal{L}}\_{i,4}\mathbf{q}\_{i,4}} \mathbf{g}\_{i,4} \Delta \mathbf{g}\_{i,4}^{-1}, i = 1,2,3 \tag{27}$$

which can be rewritten as

$$\mathbf{g}\_{i}^{\circ \varepsilon}(\mathbf{q}\_{i}) = \mathbf{g}\_{i,0}^{\circ \varepsilon} e^{\hat{\mathcal{L}}\_{i,1}q\_{i,1}} \mathbf{g}\_{i,1}^{\varepsilon \varepsilon} e^{\hat{\mathcal{L}}\_{i,2}q\_{i,2}} \mathbf{g}\_{i,2}^{\varepsilon \varepsilon} e^{\hat{\mathcal{L}}\_{i,3}q\_{i,3}} \mathbf{g}\_{i,3}^{\varepsilon \varepsilon} e^{\hat{\mathcal{L}}\_{i,4}q\_{i,4}} \mathbf{g}\_{i,4}^{\varepsilon \varepsilon}, i = 1,2,3\tag{28}$$

#### **4. Evaluation Model of Deformations**

As mentioned previously, the 2UPR-RPU parallel manipulator is over-constrained. Theoretically, the end poses of any two limbs can also be consistent with each other through the motion deviations of passive joints when the internal-force-and-deformation-related geometric errors are zero, which can be expressed as

$$\mathbf{g}\_{i}^{\mathcal{K}} + \Delta \mathbf{g}\_{i}^{\mathcal{K}} = \mathbf{g}\_{k}^{\mathcal{K}} + \Delta \mathbf{g}\_{k}^{\mathcal{K}} \tag{29}$$

where Δ**g***ge <sup>i</sup>* and <sup>Δ</sup>**g***ge <sup>k</sup>* denote the end-pose deviations of the *i*th and *k*th limbs caused by the motion deviations of passive joints, respectively. The end-pose deviation between the *i*th and *k*th limbs can be written as [25,26]

$$
\Delta \mu\_{k,i} = \left\{ \log \left[ \mathbf{g}\_k^{\mathbb{S}^c} \left( \mathbf{g}\_i^{\mathbb{S}^c} \right)^{-1} \right] \right\}^\vee \tag{30}
$$

where log[·] stands for the logarithmic operation from *SE*(3) to *se*(3), and it can be obtained using (A6) and (A7) in Appendix A. ∨ represents the reverse operation of (A1). The end-pose deviation can be rewritten in screw form as follows:

$$
\Delta\mu\_{k,\bar{l}} = \Delta\mu\_{\bar{l}} - \Delta\mu\_k \tag{31}
$$

where the screws Δμ*<sup>i</sup>* and Δμ*<sup>k</sup>* denote the end-pose deviations of the *i*th and *k*th limbs originating from the motion deviations of passive joints, respectively. Take Δμ*<sup>i</sup>* as an example. Taking the partial differential of (28) with respect to the displacements of the passive joints, Δμ*<sup>i</sup>* can be expressed as follows:

$$
\Delta \mu\_i = \Psi\_i \Phi\_i \Delta \mathbf{q}\_{i\prime} i = 1,2,3 \tag{32}
$$

where Δ**q***<sup>i</sup>* denotes the motion deviation of the passive joints of the *i*th limb.

When *i* = 1 and *i* = 2, we have

$$
\Delta \mathbf{q}\_i = \begin{bmatrix} \Delta q\_{i,1} & \Delta q\_{i,2} & \Delta q\_{i,4} \end{bmatrix}^T \tag{33}
$$

and when *i* = 3, we have

$$
\Delta \mathbf{q}\_i = \begin{bmatrix} \Delta q\_{i,1} & \Delta q\_{i,3} & \Delta q\_{i,4} \end{bmatrix}^T \tag{34}
$$

For the coefficient matrices **Ψ***<sup>i</sup>* and **Φ***i*, when *i* = 1 and *i* = 2, we obtain

$$\mathbf{Y}\_i = \begin{bmatrix} \mathbf{I}\_6 & \operatorname{Ad}\left(e^{\hat{\tilde{\mathbf{k}}}\_{i,1}q\_{i,1}}\right) & \operatorname{Ad}\left(e^{\hat{\tilde{\mathbf{k}}}\_{i,1}q\_{i,1}}e^{\hat{\tilde{\mathbf{k}}}\_{i,2}q\_{i,2}}e^{\hat{\tilde{\mathbf{k}}}\_{i,3}q\_{i,3}}\right) \end{bmatrix} \in \mathbb{R}^{6 \times 18} \tag{35}$$

$$\Phi\_i = \text{Blkdiag}(\mathfrak{E}\_{i,1'}, \mathfrak{E}\_{i,2'}, \mathfrak{E}\_{i,4}) \in \mathbb{R}^{18 \times 3} \tag{36}$$

When *i* = 3, we obtain

$$\mathbf{V}\_{i} = \begin{bmatrix} \mathbf{I}\_{6} & \operatorname{Ad}\left(e^{\hat{\underline{\mathbf{k}}}\_{i,1}q\_{i,1}}e^{\hat{\underline{\mathbf{k}}}\_{i,2}q\_{i,2}}\right) & \operatorname{Ad}\left(e^{\hat{\underline{\mathbf{k}}}\_{i,1}q\_{i,1}}e^{\hat{\underline{\mathbf{k}}}\_{i,2}q\_{i,2}}e^{\hat{\underline{\mathbf{k}}}\_{i,3}q\_{i,3}}\right) \end{bmatrix} \in \mathbb{R}^{6 \times 18} \tag{37}$$

$$\Phi\_i = \text{Blkdiag}\left(\mathfrak{E}\_{i,1}, \mathfrak{E}\_{i,3}, \mathfrak{E}\_{i,4}\right) \in \mathbb{R}^{18 \times 3} \tag{38}$$

where **I**<sup>6</sup> is an identity matrix of order six. Ad(·) is an adjoint representation of *SE*(3) and is given in (A8) in Appendix A. Blkdiag(·) denotes a block-diagonal matrix. ξ*i,j* denotes the screw coordinates of **s***i,j* with respect to {**o**B; **x**, **y**, **z**}, which can be written as follows [25]:

$$\mathfrak{E}\_{i,j} = \text{Ad}\left(\mathbf{g}\_{i,0'}^{\xi c} \mathbf{g}\_{i,1'}^{\xi c} \cdot \cdots \mathbf{g}\_{i,j-1}^{\xi c}\right) \mathfrak{L}\_{i,j} \tag{39}$$

Combining (31) with (32) yields

$$
\begin{bmatrix}
\Delta\mu\_{2,1} \\
\Delta\mu\_{3,2} \\
\Delta\mu\_{1,3}
\end{bmatrix} = \begin{bmatrix}
\Psi\_1\Phi\_1 & -\Psi\_2\Phi\_2 & 0 \\
0 & \Psi\_2\Phi\_2 & -\Psi\_3\Phi\_3 \\
\end{bmatrix} \begin{bmatrix}
\Delta\mathbf{q}\_1 \\
\Delta\mathbf{q}\_2 \\
\Delta\mathbf{q}\_3
\end{bmatrix} \tag{40}
$$

Let

$$
\Delta\boldsymbol{\mu} = \begin{bmatrix} \Delta\boldsymbol{\mu}\_{2,1}^{\mathrm{T}} & \Delta\boldsymbol{\mu}\_{3,2}^{\mathrm{T}} & \Delta\boldsymbol{\mu}\_{1,3}^{\mathrm{T}} \end{bmatrix}^{\mathrm{T}} \in \mathbb{R}^{18 \times 1} \tag{41}
$$

$$
\Delta \mathbf{q} = \begin{bmatrix} \Delta \mathbf{q}\_1^\mathrm{T} & \Delta \mathbf{q}\_2^\mathrm{T} & \Delta \mathbf{q}\_3^\mathrm{T} \end{bmatrix}^\mathrm{T} \in \mathbb{R}^{9 \times 1} \tag{42}
$$

$$\mathbf{J} = \begin{bmatrix} \Psi\_1 \Phi\_1 & -\Psi\_2 \Phi\_2 & 0 \\ 0 & \Psi\_2 \Phi\_2 & -\Psi\_3 \Phi\_3 \\ -\Psi\_1 \Phi\_1 & 0 & \Psi\_3 \Phi\_3 \end{bmatrix} \in \mathbb{R}^{18 \times 9} \tag{43}$$

Note that when Δμ is obtained using (30) and (41), the motion deviations of passive joints can be calculated as

$$
\Delta \mathbf{q} = \left(\mathbf{J}^{\mathrm{T}} \mathbf{J}\right)^{-1} \mathbf{J}^{\mathrm{T}} \Delta \boldsymbol{\mu} = \mathbf{J}\_c \Delta \boldsymbol{\mu} \tag{44}
$$

Based on the above work, an iterative model can be proposed to evaluate the deformations caused by geometric errors of the 2UPR-RPU over-constrained manipulator. The detailed processes are described below.

As shown in Figure 3, the proposed evaluation model mainly includes the following steps. Firstly, a target pose of the moving platform is input, and specified values are assigned to some of the 71 geometric errors; secondly, the nominal displacements of all joints are calculated based on the inverse kinematics; thirdly, the displacements of the passive joints are iteratively updated starting with the nominal values and the end condition is given as the maximum number of iterations or the target value of the infinity norm -<sup>Δ</sup>μ*<sup>j</sup>* − <sup>Δ</sup>μ*j*−1-<sup>∞</sup>; finally, the latest end-pose deviation Δμ*<sup>j</sup>* for the target pose is output. When the internal-force-and-deformation-related geometric errors are not all zeros, the end poses of the limbs cannot be consistent without deformations. Therefore, the latest Δμ*<sup>j</sup>* and indices based on it can be used to indirectly evaluate the limbs' comprehensive deformations caused by geometric errors of the 2UPR-RPU over-constrained manipulator.

**Figure 3.** Scheme I: Evaluation of the limbs' comprehensive deformations caused by geometric errors of the 2UPR-RPU over-constrained manipulator.

Considering that a large amount of matrix calculation is included in the proposed evaluation model, MATLAB is used for programming in Sections 5 and 6.

#### **5. Geometric Error Identification**

Finding the internal-force-and-deformation-related geometric errors is the basis of sensitivity analysis. In this section, the reachable workspace of the 2UPR-RPU parallel manipulator is described. For geometric error identification and verification, 692 and 1738 target poses are selected in the reachable workspace. Subsequently, internal-forceand-deformation-related geometric errors in the manipulator are identified based on the proposed evaluation model and an evaluation index. Finally, simulations are conducted to verify the correctness of the identification results.

#### *5.1. Identification Analysis*

The structural parameters of the 2UPR-RPU parallel manipulator are presented in Table 4. Using the space search method [29], the reachable workspace of the manipulator can be obtained. The search results are shown in Figure 4. Because the end poses at the boundaries of the reachable workspace are more sensitive to geometric errors, the 692 target poses shown in Figure 5 are uniformly selected for geometric error identification. To identify the internal-force-and-deformation-related geometric errors, the evaluation index of the maximum comprehensive deformation of a limb can be written as

$$
\Delta\mu\_{\text{max}} = \max\left( \|\Delta\mu\_{2,1}^j\|\_{\prime} \|\Delta\mu\_{3,2}^j\|\_{\prime} \|\Delta\mu\_{1,3}^j\| \right) \tag{45}
$$


**Table 4.** Structural parameters of the 2UPR-RPU parallel manipulator.

**Figure 4.** Reachable workspace of the 2UPR-RPU parallel manipulator.

**Figure 5.** 692 target poses of the 2UPR-RPU parallel manipulator.

Based on Scheme I and (45), 692 Δ*μ*maxs can be calculated for the selected target poses of the moving platform. If the 692 Δ*μ*maxs are not close to zero, it means that there are internal-force-and-deformation-related geometric errors among the geometric errors that were assigned specified values. Without loss of generality, three groups of specified values for geometric errors are given, as listed in Table 5. The maximum iteration number *λ* and specified tolerance *τ* in Scheme I are set to 50 and 10<sup>−</sup>15, respectively.


**Table 5.** Specified geometric errors [13,26] for geometric error identification.

Taking group 1 as an example, the detailed processes are described as follows: (1) *δ<sup>x</sup>* 1,0 is set to 0.005 m, and the remaining geometric errors are set to 0. (2) 692 Δ*μ*maxs are calculated according to Scheme I and (45). (3) If the number of Δ*μ*maxs that are smaller than 10−<sup>15</sup> is less than 657 (≈95% of 692), then *<sup>δ</sup><sup>x</sup>* 1,0 is referred to as an internalforce-and-deformation-related geometric error. After repeating the above steps for the 71 geometric errors, 39 internal-force-and-deformation-related geometric errors were initially identified and are listed in Table 6. In the table, "-" denotes the internal-forceand-deformation-related geometric error; "–" denotes the error parameter that is not a geometric error.

**Table 6.** Initially identified internal-force-and-deformation-related geometric errors.


Some geometric errors between any two adjacent coordinate systems in a limb may be linearly dependent. Therefore, it is necessary to analyse geometric errors simultaneously. Based on the results in Table 6, the set of the six error parameters, *δx i*,*j* , *δ y i*,*j* , *δ<sup>z</sup> i*,*j* ,*εx i*,*j* ,*ε y i*,*j* ,*εz i*,*j* , are regarded as one unit. Take *δx* 1,1, *δ y* 1,1, *<sup>δ</sup><sup>z</sup>* 1,1,*ε<sup>x</sup>* 1,1,*ε y* 1,1,*ε<sup>z</sup>* 1,1 as an example. *δx* 1,1, *δ y* 1,1, *<sup>δ</sup><sup>z</sup>* 1,1,*ε<sup>x</sup>* 1,1,*ε y* 1,1,*ε<sup>z</sup>* 1,1 is set to [0.005 m, 0, 0.005 m, 0, 0, 0.005 rad], and the remaining units are set to [0,0,0,0,0,0]. Then, 692 Δ*μ*maxs are calculated according to Scheme I and (45). If the number of Δ*μ*maxs that are smaller than 10−<sup>15</sup> is less than 657, the internal-force-and-deformation-related geometric errors are included in *δ<sup>x</sup>* 1,1, *<sup>δ</sup><sup>z</sup>* 1,1, and *<sup>ε</sup><sup>z</sup>* 1,1. Then, *<sup>δ</sup><sup>x</sup>* 1,1, *<sup>δ</sup><sup>z</sup>* 1,1, and *<sup>ε</sup><sup>z</sup>* 1,1 are set to 0 in turn, and the remaining units are unchanged. The Δ*μ*maxs are recalculated. If the number of Δ*μ*maxs that decrease significantly is greater than 656, it is determined that the geometric error, which is set as 0, will cause internal forces and deformations. These steps were repeated for each error unit and the results are listed in Table 7. The identification results for groups 2 and 3 in Table 5 are the same as those shown in Table 7. The results demonstrate that there are 41 internal-force-anddeformation-related geometric errors, where the number of angular geometric errors is greater than that of linear geometric errors. In addition, the internal-force-and-deformation-related geometric errors of the first UPR limb are the same as those of the second UPR limb because of


the symmetric distribution of the two limbs. For the RPU limb, the geometric errors that cause internal forces and deformations are angular geometric errors.

**Table 7.** Identified internal-force-and-deformation-related geometric errors.

#### *5.2. Simulation Analysis*

To validate the correctness of the identified results listed in Table 7, three groups of numerical simulations were conducted using 1738 target poses of the 2UPR-RPU parallel manipulator, as shown in Figure 6. It is assumed that geometric errors are normally distributed with zero means [19,22]. Three groups of standard deviations are listed in Table 8. In the simulation, the internal-force-and-deformation-related geometric errors identified in Table 7 were set to 0, and the remaining 30 geometric errors were assigned random values generated by randn function using the standard deviations of δ*i*,*<sup>j</sup>* and ε*i*,*<sup>j</sup>* listed in Table 8. Then, according to Scheme I and (45), 1738 Δ*μ*maxs were calculated for each group. The simulation results are shown in Figure 7. It can be seen that Δ*μ*maxs of Group 1, Group 2, and Group 3, are all smaller than 10−15. This demonstrates that the internal-force-and-deformation-related geometric errors identified in Section 5.1 are correct.

**Figure 6.** 1738 target poses of the 2UPR-RPU parallel manipulator.

**Table 8.** Standard deviations of the geometric errors for the numerical simulations.


**Figure 7.** Simulation results using the standard deviations listed in Table 8. (**a**) Group 1; (**b**) Group 2; (**c**) Group 3.

#### **6. Sensitivity Analysis**

Sensitivity analysis can help reveal the influence of different internal-force-and-deformationrelated geometric errors on the limbs' comprehensive deformations. Since Δμ*<sup>j</sup>* is calculated iteratively in Scheme I, the Monte Carlo method [22] is utilised to conduct sensitivity analysis in this section. Two global sensitivity indices are proposed and the results of sensitivity analysis are verified through simulations.

#### *6.1. Sensitivity Indices*

According to (41), Δμ*<sup>j</sup>* consists of Δμ*<sup>j</sup>* 2,1, <sup>Δ</sup>μ*<sup>j</sup>* 3,2, and <sup>Δ</sup>μ*<sup>j</sup>* 1,3, which can be written as

$$
\Delta \boldsymbol{\mu}\_{k,i}^{j} = \begin{bmatrix} \boldsymbol{\omega}\_{k,i,1}^{j} & \boldsymbol{\omega}\_{k,i,2}^{j} & \boldsymbol{\omega}\_{k,i,3}^{j} & \boldsymbol{v}\_{k,i,1}^{j} & \boldsymbol{v}\_{k,i,2}^{j} & \boldsymbol{v}\_{k,i,3}^{j} \end{bmatrix}^{\mathrm{T}} \tag{46}$$

The end-orientation and end-position volumetric deviations between any two limbs are

$$
\Delta\omega\_{k,i}^{j} = \sqrt{\left(\omega\_{k,i,1}^{j}\right)^{2} + \left(\omega\_{k,i,2}^{j}\right)^{2} + \left(\omega\_{k,i,3}^{j}\right)^{2}}\tag{47}
$$

and

$$
\Delta v\_{k,i}^{j} = \sqrt{\left(v\_{k,i,1}^{j}\right)^2 + \left(v\_{k,i,2}^{j}\right)^2 + \left(v\_{k,i,3}^{j}\right)^2} \tag{48}
$$

Then, the evaluation indices of the average angular and linear comprehensive deformations of the three limbs can be written as

$$
\Delta\omega\_a^{\dot{j}} = \frac{\Delta\omega\_{2,1}^{\dot{j}} + \Delta\omega\_{3,2}^{\dot{j}} + \Delta\omega\_{1,3}^{\dot{j}}}{3} \tag{49}
$$

and

$$
\Delta v\_a^j = \frac{\Delta v\_{2,1}^j + \Delta v\_{3,2}^j + \Delta v\_{1,3}^j}{3} \tag{50}
$$

Under the condition that geometric errors are normally distributed with zero means, the sensitivity indices of the average angular and linear comprehensive deformations with respect to a geometric error can be written as

$$\mu\_{\omega,p} = \frac{\sigma\left(\Delta\omega\_{a,p}^j\right)}{\sigma\left(G\varepsilon\_p\right)}, \ p = 1, 2, \cdots, \ 25\tag{51}$$

and

$$\mu\_{v,p} = \frac{\sigma\left(\Delta v\_{a,p}^{j}\right)}{\sigma\left(G\varepsilon\_{p}\right)}, \ p = 1, 2, \cdots, 25\tag{52}$$

where *σ*(·) denotes the standard deviation and can be calculated by **std** function. *Gep*s are the internal-force-and-deformation-related geometric errors of the first and third limbs. Because of the symmetric distribution of the first and second limbs, the internal-force-anddeformation-related geometric errors of the second limb are not considered. Generally, the values of sensitivity indices vary with different target poses of the moving platform. Hence, *m* target poses should be chosen and the global sensitivity indices can be written as [16]

$$
\mu\_{\omega,p}^{\mathcal{S}} = \frac{\sum\_{i=1}^{m} \mu\_{\omega,p,i}}{m} + \sigma(\mu\_{\omega,p}) \tag{53}
$$

and

$$
\mu\_{\upsilon,p}^{\mathcal{S}} = \frac{\sum\_{i=1}^{m} \mu\_{\upsilon,p,i}}{m} + \sigma \left(\mu\_{\upsilon,p}\right) \tag{54}
$$

#### *6.2. Sensitivity Analysis*

Based on the equations in Section 6.1 and Scheme I, the detailed processes to calculate the two global sensitivity indices with respect to *Gep* are described as follows: (1) Set *σ* # *Gep* \$ to 1 mm (0.001 m) or 1◦ (π/180 rad) for linear or angular geometric error. And the other 40 internal-force-and-deformation-related geometric errors are set to 0. In addition, the rest 30 linear or angular geometric errors are set to 1 mm or 1◦. (2) Assign 1000 random values that obey the normal distribution to *Gep* and calculate 1000 <sup>Δ</sup>*ω<sup>j</sup> <sup>a</sup>*,*p*s and Δ*v j <sup>a</sup>*,*p*s. (3) Calculate *σ* Δ*ω<sup>j</sup> a*,*p* , *μω*,*p*, *σ* Δ*v j a*,*p* , and *μv*,*<sup>p</sup>* for a target pose of the moving platform. (4) Repeat the above steps for *m* target poses and calculate the global sensitivity indices*μ<sup>g</sup> <sup>ω</sup>*,*<sup>p</sup>* and *<sup>μ</sup><sup>g</sup> <sup>v</sup>*,*p*.

In order to improve the computational efficiency, 158 of the 1738 target poses shown in Figure 6 were selected uniformly to perform the above steps for each *Gep*. The global sensitivity indices of the average angular and linear comprehensive deformations with respect to *Gep*s are shown in Figures 8 and 9, respectively. It can be seen that the values of *μ<sup>g</sup> <sup>ω</sup>*,*<sup>p</sup>* with respect to *Ge*5(*δ y* 1,1), *Ge*7(*ε<sup>z</sup>* 1,1), *Ge*8(*δ<sup>z</sup>* 1,2), *Ge*11(*δ<sup>x</sup>* 1,3), and *Ge*14(*δ y* 1,4), are zero. This indicates that the corresponding geometric errors have no effects on the average angular comprehensive deformation. It is worth mentioning that *δ y* 2,1, *<sup>ε</sup><sup>z</sup>* 2,1, *<sup>δ</sup><sup>z</sup>* 2,2, *<sup>δ</sup><sup>x</sup>* 2,3, and *δ y* 2,4, have also no effects on the average angular comprehensive deformation due to the symmetric distribution of the first and second limbs. Comparing Figure 8 with Figure 9, it can also be found that the value of *μ<sup>g</sup> <sup>v</sup>*,*<sup>p</sup>* is larger than that of *<sup>μ</sup><sup>g</sup> <sup>ω</sup>*,*<sup>p</sup>* for each *Gep*. This demonstrates that the internal-force-and-deformation-related geometric errors have greater effects on the average linear comprehensive deformation. Thus, the distribution of the global sensitivity index *μ<sup>g</sup> <sup>v</sup>*,*<sup>p</sup>* is more useful for accuracy synthesis. According to Figure 9, *Gep*s can be sorted in descending order as follows: *Ge*16(*ε<sup>z</sup>* 1,4), *Ge*25(*ε<sup>z</sup>* 3,4), *Ge*15(*ε<sup>x</sup>* 1,4), *Ge*4(*ε<sup>z</sup>* 1,0), *Ge*24(*ε<sup>x</sup>* 3,4), *Ge*12(*ε y* 1,3), *Ge*6(*ε<sup>x</sup>* 1,1), *Ge*3(*ε y* 1,0), *Ge*13(*ε<sup>z</sup>* 1,3), *Ge*9(*ε<sup>x</sup>* 1,2), *Ge*18(*ε<sup>z</sup>* 3,0), *Ge*23(*ε<sup>x</sup>* 3,3), *Ge*17(*ε y* 3,0), *Ge*19(*ε<sup>x</sup>* 3,1), *Ge*22(*ε<sup>z</sup>* 3,2), *Ge*10(*ε y* 1,2), *Ge*20(*ε y* 3,1), *Ge*21(*ε y* 3,2), *Ge*8(*δ<sup>z</sup>* 1,2), *Ge*14(*δ y* 1,4), *Ge*5(*δ y* 1,1), *Ge*11(*δ<sup>x</sup>* 1,3), *Ge*1(*δ y* 1,0), *Ge*2(*δ<sup>z</sup>* 1,0), and *Ge*7(*ε<sup>z</sup>* 1,1). In order to lower the cost of fabrication and assembly, the allowable range of geometric errors should be larger and larger from *Ge*<sup>16</sup> to *Ge*7.

**Figure 8.** Global sensitivity of the average angular comprehensive deformation with respect to *Gep*s.

#### *6.3. Verification*

6.3.1. Average Angular Comprehensive Deformation

As shown in Table 9, three groups of specified values for geometric errors are given. For each group, 1738 Δ*ω<sup>j</sup> <sup>a</sup>*s were calculated according to Scheme I and using the target poses shown in Figure 6. The maximum and average values of Δ*ω<sup>j</sup> <sup>a</sup>* are listed in Table 9. It can be seen that both the maximum and average values of Δ*ω<sup>j</sup> <sup>a</sup>* do not change from Group 1 to Group 3. This indicates that *Ge*5, *Ge*7, *Ge*8, *Ge*11, *Ge*14, *δ y* 2,1, *<sup>ε</sup><sup>z</sup>* 2,1, *<sup>δ</sup><sup>z</sup>* 2,2, *<sup>δ</sup><sup>x</sup>* 2,3, and *δ y* 2,4, have no effects on the average angular comprehensive deformation.


**Table 9.** Sensitivity analysis results of the average angular comprehensive deformation.

#### 6.3.2. Average Linear Comprehensive Deformation

As shown in Table 10, *Ge*7(*ε<sup>z</sup>* 1,1), which has the smallest effect on the average linear comprehensive deformation, is set to 1◦. Then, the other *Gep*s are set to *<sup>μ</sup><sup>g</sup> v*,7/*μ<sup>g</sup> <sup>v</sup>*,*<sup>p</sup>* mm or ◦. It is worth mentioning that the corresponding internal-force-and-deformation-related geometric errors of the second limb are assigned the same values as the first limb due to the symmetric distribution of the two UPR limbs. The remaining 30 geometric errors are set to 0.1 mm or ◦. According to Scheme I and using the target poses shown in Figure 6, 1738Δ*ω<sup>j</sup> a*s and Δ*v j <sup>a</sup>*s were calculated. For comparison, the internal-force-and-deformation-related linear and angular geometric errors are set to their average values, 0.0209 mm and 0.0743 ◦, respectively, while the values of the remaining 30 geometric errors are unchanged. After recalculation, the maximum and average values of Δ*ω<sup>j</sup> <sup>a</sup>* and Δ*v j <sup>a</sup>* are listed in Table 11. It can be seen that both the maximum and average values of Δ*v j <sup>a</sup>* are larger than that of <sup>Δ</sup>*ω<sup>j</sup> a* for each group. This indicates that the internal-force-and-deformation-related geometric errors have greater effects on the average linear comprehensive deformation. It can also be found that from Group 2 to Group 1, the maximum and average values of Δ*ω<sup>j</sup> <sup>a</sup>* and Δ*v j a* decreased by 84%, 83%, 91%, and 89%, respectively. This demonstrates that at the same cost, restricting the values of geometric errors according to the sensitivity analysis results of the average linear comprehensive deformation can dramatically decrease the average angular and linear comprehensive deformations. Furthermore, it indirectly verifies the sensitivity analysis results of the average linear comprehensive deformation.


**Table 10.** Specified geometric errors for verification.

**Table 11.** Sensitivity analysis results of the average linear comprehensive deformation.


#### **7. Conclusions**

This paper deals with error modelling and sensitivity analysis of geometric errors that cause internal forces and deformations in the 2UPR-RPU over-constrained parallel manipulator. Conclusions are drawn as follows:

(1) The nominal inverse kinematics and actual forward kinematics of the over-constrained parallel manipulator are analysed according to the vector theory and the local product of the exponential formula. On this basis, an iterative model is established to indirectly evaluate the limbs' comprehensive deformations caused by geometric errors.

(2) Based on the iterative evaluation model, the maximum Euclidean norm of the endpose deviations of limbs is defined as an evaluation index of the maximum comprehensive deformation of a limb. Programming with MATLAB, 41 internal-force-and-deformationrelated geometric errors are identified. Among the 41 geometric errors, the number of angular geometric errors is greater than that of linear geometric errors; the geometric errors of the first UPR limb are the same as those of the second UPR limb; the geometric errors of the RPU limb are all angular geometric errors. The correctness of the identification results is verified through simulations under the condition that geometric errors are normally distributed with zero means.

(3) The global sensitivity indices of the average angular and linear comprehensive deformations with respect to internal-force-and-deformation-related geometric errors are proposed and calculated based on the Monte Carlo method. The results of sensitivity analysis demonstrate that *δ y* 1,1, *<sup>ε</sup><sup>z</sup>* 1,1, *<sup>δ</sup><sup>z</sup>* 1,2, *<sup>δ</sup><sup>x</sup>* 1,3, *δ y* 1,4, *δ y* 2,1, *<sup>ε</sup><sup>z</sup>* 2,1, *<sup>δ</sup><sup>z</sup>* 2,2, *<sup>δ</sup><sup>x</sup>* 2,3, and *δ y* 2,4, have no effects on the average angular comprehensive deformation. Furthermore, the internalforce-and-deformation-related geometric errors have greater effects on the average linear comprehensive deformation. Therefore, the distribution of the global sensitivity index of the average linear comprehensive deformation with respect to geometric errors is more meaningful for accuracy synthesis. Finally, the results of sensitivity analysis are verified through simulations.

Based on the work presented in this paper, we will establish a model for accuracy synthesis and determine the tolerances of the fabrication and assembly of the manipulator in the future.

**Author Contributions:** Conceptualization, X.D. and J.Z.; methodology, X.D.; software, B.W.; validation, X.D., B.W. and J.Z.; formal analysis, B.W.; investigation, X.D.; resources, X.D.; data curation, B.W.; writing—original draft preparation, X.D.; writing—review and editing, J.Z.; visualization, X.D.; supervision, J.Z.; project administration, J.Z.; funding acquisition, J.Z. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was supported by [National Natural Science Foundation of China] grant number [52275469] and [Open Fund of State Key Laboratory of Robotics and System] grant number [SKLRS-2021-KF-08].

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare that there are no conflict of interest.

#### **Appendix A. Lie Groups and Lie Algebras**

Some equations about Lie groups and Lie algebras [25,30,31] are introduced here so that this work can be clearly understood. For a screw ζ = - ω<sup>T</sup> νT<sup>T</sup> , the ∧ operation denotes

$$
\hat{\mathbf{U}} = \begin{bmatrix} \hat{\mathbf{u}} & \mathbf{v} \\ \mathbf{0}\_{1 \times 3} & \mathbf{0} \end{bmatrix} \in \text{sec}(\mathbf{3}) \tag{A1}
$$

The exponential map from the Lie algebra *se*(3) to the special Euclidean group *SE*(3) can be determined by

$$e^{\hat{\mathcal{L}}q} = \begin{bmatrix} \mathbf{I}\_3 + \sin q \hat{\boldsymbol{\omega}} + (1 - \cos q) \hat{\boldsymbol{\omega}}^2 & \mathbf{V} \mathbf{v} \\ \mathbf{0}\_{1 \times 3} & 1 \end{bmatrix} \in SE(3) \tag{A2}$$

where **<sup>I</sup>**<sup>3</sup> is an identity matrix of order three. **^** ω and **V** are expressed as

$$
\stackrel{\circ}{\omega} = \begin{bmatrix} 0 & -\omega\_3 & \omega\_2 \\ \omega\_3 & 0 & -\omega\_1 \\ -\omega\_2 & \omega\_1 & 0 \end{bmatrix} \in \text{so}(3) \tag{A3}
$$

$$\mathbf{V} = q\mathbf{I}\mathbf{\hat{s}} + (1 - \cos q)\mathbf{\hat{w}} + (q - \sin q)\mathbf{\hat{w}}^2 \tag{A4}$$

The exponential map from the Lie algebra *so*(3) to the special orthogonal group *SO*(3) can be determined by

$$\boldsymbol{\epsilon}^{\hat{\mathbf{w}}} = \mathbf{I}\_3 + \frac{\sin \|\boldsymbol{\omega}\|}{\left\|\boldsymbol{\omega}\right\|} \hat{\boldsymbol{\omega}} + \frac{1 - \cos \|\boldsymbol{\omega}\|}{\left\|\boldsymbol{\omega}\right\|^2} \hat{\boldsymbol{\omega}}^2 \tag{A5}$$

For a HTM **g** ∈ *SE*(3), the Lie algebra *se*(3) can be obtained as

$$\log(\mathbf{g}) = \frac{1}{8} \csc^3 \frac{\theta}{2} \sec \frac{\theta}{2} \begin{bmatrix} \theta \cos 2\theta - \sin \theta \\ -\theta \cos \theta - 2\theta \cos 2\theta + \sin \theta + \sin 2\theta \\ 2\theta \cos \theta + \theta \cos 2\theta - \sin \theta - \sin 2\theta \\ -\theta \cos \theta + \sin \theta \end{bmatrix}^{\mathrm{T}} \begin{bmatrix} \mathbf{I}\_4 \\ \mathbf{g} \\ \mathbf{g}^2 \\ \mathbf{g}^3 \end{bmatrix} \tag{A6}$$

where

$$\theta = \arccos\left(\frac{\text{Tr}(\mathbf{g}) - 2}{2}\right), \theta \in (-\pi, \pi) \tag{A7}$$

The adjoint representation of **g** can be written as

$$\operatorname{Ad}(\mathbf{g}) = \operatorname{Ad}\left(\begin{bmatrix} \mathbf{R} & \mathbf{t} \\ 0\_{1\times3} & 1 \end{bmatrix}\right) = \begin{bmatrix} \mathbf{R} & 0\_{3\times3} \\ \mathbf{t}\mathbf{R} & \mathbf{R} \end{bmatrix} \in \mathbb{R}^{6\times6} \tag{A8}$$

#### **References**


## *Article* **Consistent Solution Strategy for Static Equilibrium Workspace and Trajectory Planning of Under-Constrained Cable-Driven Parallel and Planar Hybrid Robots**

**Qingjuan Duan \*, Quanli Zhao and Tianle Wang**

School of Mechano-Electronic Engineering, Xidian University, Xi'an 710071, China **\*** Correspondence: qjduan@xidian.edu.cn

**Abstract:** This paper presents a consistent solution strategy for static equilibrium workspaces of different types of under-constrained robots. Considering the constraint conditions of cable force and taking the least squares error of the static equilibrium equation as the objective, the convex optimization solution is carried out, and the static equilibrium working space of the under-constrained system is obtained. A consistent solution strategy is applied to solve the static equilibrium workspaces of the cable-driven parallel and planar hybrid robots. The dynamic models are presented and introducing parameters that are applied to make the system stable for point-to-point movements. Based on this model, the traditional polynomial-based point-to-point trajectory planning algorithm is improved by adding unconstrained parameters to the kinematic law function. The constraints of the dynamics model are incorporated into the trajectory planning process to achieve point-to-point trajectory planning for the under-constrained cable-driven robots. Finally, under-constrained cabledriven parallel robots with three cables and planar hybrid robot with two cables are taken as examples to carry out numerical simulation. The final results show that the point-to-point trajectory planning algorithm introducing parameters is effective and feasible and can provide theoretical guidance for the design of subsequent under-constrained robots.

**Keywords:** static equilibrium workspace; under-constrained cable-driven robot; consistent solution strategy; trajectory planning

#### **1. Introduction**

The cable-driven robot is a mechanism that employs cables in place of rigid-body to control the end-effector pose.

The classification of cable-driven parallel robots (CDPRs) was introduced by Ming and Higuchi [1]. A cable-driven robot with *n* degrees-of-freedom and *m* cables can be classified into the following four categories: (1) *n* + 1 < *m*: These robots are referred to as redundantly restrained positioning mechanisms (RRPM), the static forces of the robot are generally undefined. (2) *n* + 1 = *m*: These robots are called completely restrained positioning mechanisms (CRPM). All degrees of freedom can be controlled through cables. (3) *m* = *n*: This type of robot is called incompletely restrained positioning mechanism (IRPM). When external forces such as gravity applied, the robot is fully constrained. It can withstand a limited range of wrenches. (4) *m* < *n*: The robot is under-constrained positioning mechanism (URPM) and in general cannot withstand arbitrary external forces and torques. Due to the under-constrained nature, these robots have one feasible solution for cable tensions and mostly works under gravity conditions. This classification method is also applicable to cable-driven planar hybrid robots.

According to the structure of cable-driven robot, it is generally divided into series mechanism and parallel mechanism.

Cable-driven robot has the characteristics of simple structure, flexibility, large workspace, low inertia, high load rate, etc. It has a wide range of applications, such as: Five-hundred-meter

**Citation:** Duan, Q.; Zhao, Q.; Wang, T. Consistent Solution Strategy for Static Equilibrium Workspace and Trajectory Planning of Under-Constrained Cable-Driven Parallel and Planar Hybrid Robots. *Machines* **2022**, *10*, 920. https:// doi.org/10.3390/machines10100920

Academic Editors: Dan Zhang, Zhufeng Shao and Stéphane Caro

Received: 18 July 2022 Accepted: 29 September 2022 Published: 10 October 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

Aperture Spherical radio Telescope (FAST), wind tunnel test, rehabilitation training, sports photography, etc. [2–5], it has become a hot spot in robotics research recent years.

The under-constrained cable-driven robots (UCR), with few drivers and low cost, has its special purpose, attracting more and more scholars' research interest. Carricato et al. [6–8] from Italy studied the cable-driven parallel robots with less than six cables, provided a geometrico-static model, and assessed the stability of static equilibrium within the framework of a constrained optimization problem. Several examples are provided, concerning robots with a number of cables that range from 2 to 4. Berti et al. [9] proposed a method based on interval analysis to solve the positive geometric statics problem of an under-constrained cable-driven parallel robot, and find all possible equilibrium poses of the end effector under a given cable length. Liu Xin et al. [10] proposed a consistent algorithm for solving the workspace of a cable-driven parallel robot under different constraints. Fu Ying et al. [11] conducted a dynamic analysis on the cable-driven system with four cables and six degrees of freedom. Zhao Zhigang et al. [12] proposed a comprehensive algorithm by combining the least squares method and the Monte Carlo algorithm to solve the statically balanced workspace for the cable-driven system with multi-robots. Peng Y et al. [13] analyzed the reachable workspace for spatial 3-cable under-constrained suspended cable driven parallel robots. The above-mentioned literature put forwards the solution method of static equilibrium workspace for under-constrained parallel robots. Based on this, a consistent solution strategy for the static equilibrium workspace of both cable-driven parallel & planar hybrid robots is put forward in this paper.

Ida E et al. [14] proposed a rest-to-rest trajectory planning for underactuated cabledriven parallel robots. Barbazza L et al. [15] design and optimally control an underactuated cable-driven micro–macro robot. Shang Weiwei et al. [16] proposed a geometrical approach to plan trajectories that extend beyond the static equilibrium workspace (SEW) of the mechanism. Zi B et al. [17] studied an algebraic method-based point to point trajectory planning of an under constrained cable suspended parallel robot with variable angle and height cable mast. Shi P et al. [18] studied Dimensional synthesis of a gait rehabilitation cable-suspended robot on minimum 2-norm tensions. The above-mentioned literature put forwards the planning trajectories for under-constrained parallel robots. Based on this, a consistent solution strategies of point-to-point trajectory planning introducing parameters for both cable-driven parallel & planar hybrid robots is put forward in this paper.

Firstly, the static equilibrium equations of the under constrained parallel and planar hybrid robots are established. Then, the mathematical description of the static equilibrium workspace of the under-constrained cable-driven robots (UCR) that meets the constraints of the driving motor power and cable strength is given. The characteristics of the static equilibrium equation and dynamics equation are analyzed, and the consistent solution strategy for the static equilibrium workspace and point-to-point trajectory planning introducing parameters of different types of under-constrained robots are given.

The paper is organized as follows: Section 2 presents the model for under-constrained parallel robots. Section 3 provides the model of under-constraint cable-driven planar hybrid robot. Section 4 describes the consistent solution strategy for static equilibrium workspace. Section 5 illustrates some results of static equilibrium workspace. Section 6 puts forward the consistent solution strategies for point-to-point trajectory planning. Section 7 illustrates the simulation results of trajectory planning. Finally, Section 8 draws conclusions.

#### **2. Model of Under-Constrained Cable-Driven Parallel Robots**

The schematic structure of a cable-driven robot with *n* degrees-of-freedom and *m* cables is shown in Figure 1. Here *m<n*, it's an under-constrained CDPR. The moving platform is connected to the base through m cables, the *ith* cable (*i = 1,2,* ... *,m*) exits from the fixed base at point *Ai*, connected to the moving platform at point *Bi*. the cable length is *Li*. *Oxyz* is a Cartesian coordinate which fixed to the base, and *O x y z* is the Cartesian coordinate fixed to the moving platform.

**Figure 1.** The schematic structure of a cable-driven parallel robot (If *m<n*, it is an underconstrained CDPR.).

*OPO* = [*OxO OyO OzO* ] <sup>T</sup> is the centroid of end effector in the *Oxyz* frame. *O Bi* = [*<sup>O</sup> xBi <sup>O</sup> yBi <sup>O</sup> zBi*] T (*i* = 1, 2, ··· , *m*) is the vector connecting point *O'* to the point *Bi* in the *O x y <sup>z</sup>* frame. *<sup>O</sup> Ai* = [*OxAi OyAi OzAi*] T (*i* = 1, 2, ··· , *m*) is the fixed base at point *Ai*, in the *Oxyz* frame.

*ORO* represents the rotational matrix from frame *<sup>O</sup> x y z* to frame *Oxyz*, in which *α*, *β*, *γ* are *x*-*y*-*z* the Euler angles.

$$\begin{aligned}{}^{O}R\_{\alpha\gamma} &= \text{rot}(x,\alpha)\text{rot}(y,\beta)\text{rot}(z,\gamma) = \\ &\begin{bmatrix} \text{c\beta c\gamma} & -c\beta s\gamma & s\beta\\ \cos\gamma + s\alpha s\beta c\gamma & c\alpha c\gamma - s\alpha s\beta s\gamma & -c\beta s\alpha\\ s\alpha s\gamma - c\alpha s\beta c\gamma & s\alpha c\gamma + c\alpha s\beta s\gamma & c\alpha c\beta \end{bmatrix} \end{aligned} \tag{1}$$

where *c* represents cos, *s* represents sin.

*OBi* is the vector in the *Oxyz* frame.

$${}^{O}B\_{i} = {}^{O}R\_{O} \, {}^{O}B\_{i} + {}^{O}P\_{O} \, {}^{} \tag{2}$$

*OLi* is the vector connecting point *Bi* to point *Ai* in the *Oxyz* frame. *ei* is the unit vector of *OLi*.

$$x\_i = \frac{^O L\_i}{||^O L\_i||\_2} = \frac{^O A\_i - ^O B\_i}{||^O A\_i - ^O B\_i||\_2} \tag{3}$$

Thus, the dynamics equations for end effector are shown as follows:

$$JT + G = \begin{bmatrix} m\ddot{\mathbf{x}} \\ I\dot{\boldsymbol{\omega}} + \boldsymbol{\omega} \times I\boldsymbol{\omega} \end{bmatrix} \tag{4}$$

where *T* = [*t*<sup>1</sup> *t*<sup>2</sup> ··· *tm*] T, *ti*(*<sup>i</sup>* <sup>=</sup> 1, 2, ··· , *<sup>m</sup>*) is cable tensions act on the end effector. *J* = - <sup>ˆ</sup>*J*<sup>1</sup> <sup>ˆ</sup>*J*<sup>2</sup> ··· <sup>ˆ</sup>*Jm* is the construction matrix, ˆ*Ji* = - *ei OBi* × *ei* T , and *G* = [0 0 − *mg* 0 0] T . .. *<sup>x</sup>* = [*<sup>O</sup>* .. *xO O* .. *yO O*.. *zO* ] <sup>T</sup> is the acceleration of the end-effector centroid *<sup>O</sup>* in the world coordinate system, and *<sup>I</sup>* <sup>=</sup> *ORO IO ORO* , *IO* is the inertia tensor of the end-effector in the local coordinate system.

*<sup>ω</sup>* and . *<sup>ω</sup>* are the angular velocity and angular acceleration of the end-effector. *<sup>ω</sup>*, . *ω* and *ε*, the Euler angle, satisfy the following relationship:

$$
\omega = H(\varepsilon)\dot{\varepsilon} = \begin{bmatrix} 1 & 0 & s\beta \\ 0 & ca & -sac\beta \\ 0 & sa & cac\beta \end{bmatrix} \begin{bmatrix} \dot{\alpha} \\ \dot{\beta} \\ \dot{\gamma} \end{bmatrix} \tag{5}
$$

. *<sup>ω</sup>* <sup>=</sup> . *H*. *<sup>ε</sup>* <sup>+</sup> *<sup>H</sup>*.. *ε* (6)

Substituting Equations (5) and (6) into Equation (4) yields a general expression for the system dynamics equation [19], i.e.,

$$\begin{aligned} M(q)\ddot{q} - s(q, \dot{q}) - J(q)T &= 0\\ M(q) = \begin{bmatrix} mE\_3 & 0\\ 0 & I H \end{bmatrix} \rho s(q, \dot{q}) &= \mathbf{G} - \begin{bmatrix} 0\\ I \dot{H} \dot{\varepsilon} + \omega \times I \omega \end{bmatrix} \end{aligned} \tag{7}$$

In Equation (7), .. *q* = -.. *<sup>x</sup>* .. *ε* <sup>T</sup> is the end-effector acceleration. *M* is the mass matrix of the end-effector. *s* is the force vector for a collection of Coriolis-type forces, gravitational forces, and external loads, etc. *J*(*q*)*T* is the cable-tension to which the end-effector is subjected.

Additionally, the static equilibrium equation of the system can be expressed by

$$JT + G = 0\tag{8}$$

#### **3. Model of Under-Constrained Cable-Driven Planar Hybrid Robot**

The schematic structure of a cable-driven planar hybrid robot with planar *n* -link serial robot with *n* degrees-of-freedom and *m* cables is shown in Figure 2. All links are connected by revolute joints to form a planar multi-link mechanism. This definition can also be generalized to space model. Here, *m<n*, it's an under-constrained cable-driven planar hybrid robot. {0} is the base frame, {*i*} is the link frame *xiyi*, *i*∈{1, 2, ··· , *n*}. *θi*(*i* = 1, 2, ··· , *n*) is the angle between link frame {*i* − 1} and {*i*}. - *θ*<sup>1</sup> *θ*<sup>2</sup> ··· *θ<sup>n</sup>* <sup>T</sup> is the Joint coordinates of the system.

<sup>0</sup>*Ci* is the position vector of the *ith* link centroid in the fixed frame {0}. It can be expressed by

$$\prescript{0}{}{\mathbf{C}}\_{i} = \begin{bmatrix} ^0 \mathbf{x}\_{\mathbf{C}\_i} \, ^0 \mathbf{y}\_{\mathbf{C}\_i} \end{bmatrix}^T = \begin{pmatrix} ^0 \mathbf{R}\_1 ^1 \mathbf{R}\_2 \cdots \stackrel{i-1}{\cdot} \mathbf{R}\_i \end{pmatrix} ^i \mathbf{C}\_i \tag{9}$$

where <sup>0</sup>*R*<sup>1</sup> = ⎡ ⎣ c*θ*<sup>1</sup> −*sθ*<sup>1</sup> 0 *sθ*<sup>1</sup> *cθ*<sup>1</sup> 0 0 01 ⎤ ⎦, *<sup>i</sup> Ri*+<sup>1</sup> = ⎡ ⎣ c*θi*+<sup>1</sup> −*sθi*+<sup>1</sup> 0 *sθi*+<sup>1</sup> *cθi*+<sup>1</sup> *li* 0 01 ⎤ ⎦, *i Ri*+<sup>1</sup> represents the rota-

tional matrix from frame *<sup>i</sup>* <sup>+</sup> 1 to frame *<sup>i</sup>*, *<sup>i</sup>* <sup>=</sup> 1, 2, ··· , *<sup>n</sup>* <sup>−</sup> 1. <sup>0</sup>*B<sup>i</sup> <sup>j</sup>* is the *jth* cable position vector of the *ith* link in the fixed frame. It can be expressed by

$${}^{0}B\_{j}^{i} = \left[ {}^{0}\mathbf{x}\_{B\_{j}^{i}} {}^{0}y\_{B\_{j}^{i}} \right]^{\mathbf{T}} = \left( {}^{0}\mathbf{R}\_{1} {}^{1}\mathbf{R}\_{2} \cdot \cdots {}^{i-1}\mathbf{R}\_{i} \right) {}^{i}B\_{j}^{i} \tag{10}$$

where *<sup>i</sup> Bi <sup>j</sup>* = [*<sup>i</sup> xBi j i yBi j* ] <sup>T</sup> is the cable position vector of the *ith* link in the link frame {*i*}.

**Figure 2.** The schematic structure of a cable−driven planar hybrid robot with planar serial *n*−link with *n* degrees-of-freedom and *m* cables (If *m* < *n*, it's an under-constrained cable-driven planar hybrid robot.).

The generalized force is solved by Lagrange equation,

$$\begin{aligned} \tau &= \frac{d}{d\_t} \left( \frac{\partial L}{\partial \dot{\theta}} \right) - \frac{\partial L}{\partial \theta} \\\\ L &= E\_k - E\_p \end{aligned} \tag{11}$$

$$\tau = \frac{\partial \left(\frac{\partial \dot{\theta}}{\partial \dot{\theta}}\right)}{\partial \dot{\theta}} \ddot{\theta} + \frac{\partial \left(\frac{\partial \dot{\theta}}{\partial \dot{\theta}}\right)}{\partial \theta} \dot{\theta} - \frac{\partial L}{\partial \theta} \tag{12}$$

where *τ* is the generalized force, *L* is the Lagrange function. *θ* = - *θ*<sup>1</sup> *θ*<sup>2</sup> ··· *θ<sup>n</sup>* <sup>T</sup> is the generalized coordinate. *Ek* and *Ep* are the kinetic energy and potential energy of the system, respectively.

Write Equation (12) as a generic expression,

$$\begin{aligned} M(\theta)\ddot{\theta} - s(\theta, \dot{\theta}) &= \tau \\ M(\theta) = \frac{\partial \left(\frac{\partial I}{\partial \theta}\right)}{\partial \theta}, s(\theta, \dot{\theta}) &= -\frac{\partial \left(\frac{\partial I}{\partial \theta}\right)}{\partial \theta} \dot{\theta} + \frac{\partial I}{\partial \theta} \end{aligned} \tag{13}$$

where *M*(*θ*) is the inertia matrix, and *s*(*θ*, . *θ*) is the gravity, centrifugal force, Coriolis force, etc.

The expression (14) can be obtained according to the principle of virtual work

$$\tau^{\mathrm{T}}\delta\theta = \sum\_{i=1}^{m} T\_{\mathrm{i}} \mathbf{e}\_{\mathrm{i}}^{\mathrm{T}} \delta(^{0}B\_{\mathrm{i}}) = \sum\_{i=1}^{m} T\_{\mathrm{i}} \mathbf{e}\_{\mathrm{i}}^{\mathrm{T}} \left(\frac{\partial^{0} B\_{\mathrm{i}}}{\partial\theta} \delta\theta\right) \tag{14}$$

where *m* represents the number of cables, *T* is the cable tension, *e* is the unit vector of the cable tension, and <sup>0</sup>*Bi* is the position of the *ith* pulling point in the coordinate system.

From Equation (14), the relationship between generalized force and cable tension can be obtained

$$\boldsymbol{\pi} = \boldsymbol{J\_{\overline{v}}}^{\mathrm{T}} \boldsymbol{T} \tag{15}$$

where

*Jv* <sup>T</sup> = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ *e*1 <sup>T</sup> *<sup>∂</sup>*0*B*<sup>1</sup> *∂θ*<sup>1</sup> *e*<sup>1</sup> <sup>T</sup> *<sup>∂</sup>*0*B*<sup>1</sup> *∂θ*<sup>2</sup> ··· *e*<sup>1</sup> <sup>T</sup> *<sup>∂</sup>*0*B*<sup>1</sup> *∂θn e*2 <sup>T</sup> *<sup>∂</sup>*0*B*<sup>2</sup> *∂θ*<sup>1</sup> *e*<sup>2</sup> <sup>T</sup> *<sup>∂</sup>*0*B*<sup>2</sup> *∂θ*<sup>2</sup> ··· *e*<sup>2</sup> <sup>T</sup> *<sup>∂</sup>*0*B*<sup>2</sup> *∂θn* . . . . . . ... . . . *em*<sup>T</sup> *<sup>∂</sup>*<sup>0</sup>*Bm ∂θ*<sup>1</sup> *em*<sup>T</sup> *<sup>∂</sup>*<sup>0</sup>*Bm ∂θ*<sup>2</sup> ··· *em*<sup>T</sup> *<sup>∂</sup>*<sup>0</sup>*Bm ∂θn* ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ T

where *Jv* is the pseudo-Jacobian of the constraint equations, *Jv* <sup>T</sup> is the *<sup>n</sup>* × *<sup>m</sup>* matrix, *<sup>T</sup>* is the *m* × 1 cable tension matrix.

Combining Equations (13) and (15), the system dynamics equation is obtained as follows. .. .

$$M(\theta)\theta - s(\theta, \theta) - J\_v^{\text{T}}(\theta)T = 0\tag{16}$$

Since the system is in static equilibrium, and the generalized velocity . *θ* = 0, Formula (11) can be simplified as

$$
\pi = \frac{\partial E\_p}{\partial \theta} \tag{17}
$$

where *Ep* <sup>=</sup> *<sup>n</sup>* ∑ *i*=1 (−*nig*)<sup>0</sup>*yCi* . Taking the origin of the coordinate system as the reference point of potential energy.

Combine Equations (15) and (17), yields

$$J\_{\mathbb{P}}{}^{\mathrm{T}}T = \frac{\partial E\_{\mathbb{P}}}{\partial \theta} \tag{18}$$

#### **4. Consistent Solution Strategy for Static Equilibrium Workspace**


Combine Equations (8) and (18), yields

$$J(X)T = \mathcal{W}(X)\tag{19}$$

where *W* is the external force.

#### *4.1. The Definition of Static Equilibrium Workspace*

Due to the limitation of motor torque and cable strength, the tension of the cable must be within a certain range. Therefore, for a robot with *n* degrees of freedom pulled by *m* cables, the mathematical description of its static equilibrium workspace is as follows:

$$X = \begin{bmatrix} x\_1 & x\_2 & \cdots & x\_n \end{bmatrix}^T$$

$$\exists t\_{\min} \le t\_i \le t\_{\max} (t\_{\min} > 0 \cap t\_{\max} > 0 \cap t\_{\max} > t\_{\min}, i = 1, 2, \cdots, m) \tag{20}$$

$$J(X)T = \mathcal{W}(X)$$

where *X* represents the generalized coordinate. *t*min, *t*max are the minimum and the maximum allowable tension of the cable, respectively. *T* = [*t*<sup>1</sup> *t*<sup>2</sup> ··· *tm*] <sup>T</sup> is the cable tension, and *X* belongs to the Static equilibrium workspace.

#### *4.2. Consistent Solution Strategy*

For a cable-driven robot with *n* degrees-of-freedom and *m* cables, here *m<n*, it's an Under-constrained Cable-driven Robot (UCR). The Static equilibrium workspace of the under-constrained cable-driven system is analyzed as follows:

In static equilibrium Equation (19), *J* is *n* × *m* matrix, *T* is *m* × 1 matrix. For the under-constrained cable-driven system, the solution of the equation is in the form of the least squares solution, and it can be expressed by *T* = *J*†*W*. When this solution is within the limit of cable force, it is considered that the pose (generalized coordinate) is the static equilibrium point satisfying Equation (20).

Then, the following inequality holds

$$\begin{array}{l} \|f(X)T - \mathcal{W}(X)\|\_{2} < \sigma \ast\\ T = f^{\dagger}(X)\mathcal{W}(X), t\_{\text{min}} \le t\_i \le t\_{\text{max}} \end{array} \tag{21}$$

where *σ*∗ is the error of the least square solution.

To sum up, the consistent solution strategy for the Static equilibrium workspace of the UCRs is as follows:


#### **5. Simulation Results of Static Equilibrium Workspace**

#### *5.1. 3*−*6 Under-Constrained Parallel Robot*

Solve the Static equilibrium workspace of 3−6 (3 cables pulling 6 degrees of freedom) under-constrained parallel robot. The mass of end effector is *m* = 0.935 kg. See Table 1 for specific parameters.


**Table 1.** 3−6 Configuration of cable-driven parallel robot.

*t*min = 0.1 N is the lower limit of cable tension, and *t*max = 10 N the upper limit of cable tension. *<sup>σ</sup>*∗ = <sup>1</sup> × <sup>10</sup>−<sup>8</sup> is the error. The controllable degree of freedom is *Xa* = - *OxO* , *<sup>O</sup> yO* , *<sup>O</sup> zO* , and the uncontrollable degree of freedom is *Xb* = [*α*, *β*, *γ*], the rotation angle of *x*-axis, *y*-axis, and *z*-axis, respectively. Considering the volume of end effector and cable, set the search interval is

$$\mathbf{S}\_{\mathbf{x}} \in (-0.6, 0.6), \mathbf{S}\_{\mathbf{y}} \in (0.3, 1.6), \mathbf{S}\_{\mathbf{z}} \in (0.27, 1.52)$$

The search step of *δx*, *δy*, *δ<sup>z</sup>* is 0.05m, and the pose set **Q** to be searched is generated.

Matlab is used to solve the static equilibrium workspace of 3−6 cable-driven parallel robot.

It can be seen from Figure 3 the 3D view, *xoy* planar view and *xoz* planar view of the Static equilibrium workspace that the Static equilibrium workspace of the 3−6 underconstrained parallel robot is approximately a triangular prism, whose cross section is symmetrical along the *x*-axis, and there are two narrow workspace cracks in the lower half (*z* < 0.75 m) of the triangular prism. Compared with the system schematic diagram 1, this situation occurs because when the center of mass of the end actuator is low, the tension force of the three cables cannot be balanced with gravity, so the pose of the end actuator cannot be kept stable. The anchor points *<sup>O</sup> <sup>A</sup>*<sup>1</sup> and *<sup>O</sup> <sup>A</sup>*<sup>3</sup> are symmetrical along the *y*-axis, and the anchor point *<sup>O</sup> <sup>A</sup>*<sup>2</sup> is on the axis, so that the cross section of its Static equilibrium workspace is symmetrical about the *y*-axis.

#### *5.2. 0*−*0*−*2 Under-Constrained Planar Hybrid Robot*

Solve the Static equilibrium workspace of the 0−0−2 under-constrained planar hybrid robot (no cable attached on the first and second links, and two cables attach on the third link). The Tables 2 and 3 show the specific parameters of 0−0−2 cable-driven planar hybrid robot system.


**Table 2.** 0−0−2 configuration of cable-driven planar hybrid robot.

**Table 3.** Link parameters.


The lower limit of the cable tension is *t*min = 5 N, the upper limit of the cable tension is *<sup>t</sup>*max = 200 N, *<sup>σ</sup>*∗ = <sup>1</sup> × <sup>10</sup>−<sup>6</sup> is the error.

*Xa* = [*θ*1, *θ*2] is the controllable degrees of freedom, and *Xb* = [*θ*3] is the uncontrollable degrees of freedom.

**Figure 3.** 3−6 Static equilibrium workspace of cable-driven parallel robot. (**a**) 3D Static Equilibrium Workspace; (**b**) *xoy* planar view of Static Equilibrium Workspace; (**c**) *xoz* planar view of Static Equilibrium Workspace.

Set the search interval is **S***θ*<sup>1</sup> ∈ (65◦, 95◦)&**S***θ*<sup>2</sup> ∈ (−40◦, 0◦).

The search step *δθ*<sup>1</sup> , *δθ*<sup>2</sup> is 1◦, and the pose set to be searched is **Q**.

The static equilibrium working space of the 0−0−2 cable-driven robot is solved by MATLAB programming.

According to Figure 4, the static equilibrium workspace of the 0−0−2 under-constrained cable-driven planar hybrid robot is a curved surface. From Figure 4b, *θ*1*θ*<sup>2</sup> planar view of the Static equilibrium workspace, the Static equilibrium points in the pose set are mainly

distributed in the lower right corner area. The uncontrollable degrees of freedom of the static equilibrium point belongs to *θ*<sup>3</sup> ∈ (−80◦, −20◦) from Figure 4c,d.

#### **6. Consistent Solution Strategies for Point-to-Point Trajectory Planning**

*6.1. Analysis of the Dynamics of Under-Constrained Systems*

The end poses - *OxO OyO OzO αβγ*<sup>T</sup> of the parallel robot and Joint coordinates - *θ*<sup>1</sup> *θ*<sup>2</sup> ··· *θ<sup>n</sup>* <sup>T</sup> of the planar hybrid robot are written in generalized coordinates *X* = - *x*<sup>1</sup> *x*<sup>2</sup> ··· *xn* T .

Write Equations (7) and (16) uniformly as:

$$M(X)\ddot{X} - s(X,\dot{X}) - J(X)T = 0\tag{22}$$

where .. *X* is the acceleration in generalized coordinates, *M*(*X*) is the mass matrix, and *J*(*X*)*T* is the vector of the cable tensions.

For the under-constrained system, the controllable degrees of freedom, *Xa*, are *m* dimensional vectors. The uncontrollable degrees of freedom, *Xu*, are *n* − *m* dimensional vectors. As a result, Equation (22) can be written in the form of

$$
\begin{bmatrix} M\_{aa} & M\_{au} \\ M\_{uu} & M\_{uu} \end{bmatrix} \begin{bmatrix} \ddot{X}\_a \\ \ddot{X}\_u \end{bmatrix} - \begin{bmatrix} s\_a \\ s\_u \end{bmatrix} - \begin{bmatrix} I\_a \\ J\_u \end{bmatrix} T = 0 \tag{23}
$$

For Equation (23), when *X*, . *X*, .. *Xa* is known, the acceleration .. *Xu* and the cable force *T* for the system at this moment can be obtained.

By presenting the acceleration terms for the (UDFS) uncontrollable degrees of freedom, we obtain the expressions for .. *Xu*

$$
\ddot{X}\_u = M\_{uu}^{-1} \left( s\_u + f\_u T - M\_{ua} \ddot{X}\_a \right) \tag{24}
$$

Substituting the expression for .. *Xu* into Equation (23), we obtain the expression for the cable extension *T*:

$$T = \left(I\_a - M\_{\rm uu} M\_{\rm uu}^{-1} I\_u\right)^{-1} \left[ \left(M\_{\rm aa} - M\_{\rm au} M\_{\rm uu}^{-1} M\_{\rm uu}\right) \ddot{X}\_a + M\_{\rm uu} M\_{\rm uu}^{-1} s\_u - s\_a\right] \tag{25}$$

#### *6.2. Point-to-Point Trajectory Planning Introducing Parameters*

In the process of point-to-point trajectory planning for under-constrained systems, the start and end points of the motion should be chosen as static equilibrium points and the speed at the start and end points should be zero.

For an under-constrained system with *n* degrees-of-freedom and *m* cables, there are *m* controllable degrees of freedom and *n* − *m* uncontrollable degrees of freedom. The dynamics Equations (22) and (23) shows that during trajectory planning, only controllable degrees of freedom, *Xa*, can be trajectory planned, while uncontrollable degrees of freedom *Xu* are influenced by dynamics [20]. When the controllable degree of freedom reaches the end, an uncontrollable degree of freedom cannot be guaranteed to reach the end with zero velocity. Therefore, it is necessary to choose a suitable trajectory plan for the controllable degrees of freedom to ensure that the uncontrollable degrees of freedom reach the end point with zero velocity.

Assume that the trajectory planned for *Xa* is *xa*(*t*), *t* ∈ [0, *T*], the trajectory of *Xu* to be found is *xu*(*t*), and the set of differential equations is established by Equation (24) as follows.

$$\mathcal{Y} = \begin{bmatrix} \mathbf{x}\_{\mathcal{U}}(t) \\ \dot{\mathbf{x}}\_{\mathcal{U}}(t) \end{bmatrix}$$

$$\dot{\mathbf{y}} = \begin{bmatrix} \dot{\mathbf{x}}\_{\mathcal{U}}(t) \\ \mathcal{M}\_{\text{u}\mathcal{U}}^{-1} (\mathbf{s}\_{\mathcal{U}} + \int\_{\mathcal{U}} T - \mathcal{M}\_{\text{u}\mathcal{U}} \ddot{\mathbf{x}}\_{\mathcal{U}} \end{bmatrix} = f(\mathcal{y}, \mathbf{x}\_{\mathcal{U}}, \dot{\mathbf{x}}\_{\mathcal{U}}, \ddot{\mathbf{x}}\_{\mathcal{U}}) \tag{26}$$

$$\mathbf{y}(0) = \begin{bmatrix} \mathbf{x}\_{\mathcal{U}}(0) \\ 0 \end{bmatrix} := \mathbf{y}\_{0\prime} \ \mathbf{y}(T) = \begin{bmatrix} \mathbf{x}\_{\mathcal{U}}(T) \\ 0 \end{bmatrix} := \mathcal{Y}\tau$$

where *y*0, *yT* are the position and velocity of the non-controllable degrees of freedom at the start and end points, respectively, which are both static equilibrium points with zero velocity.

The optimal trajectory for controllable degrees of freedom is achieved when the trajectory *xa*(*t*) is such that Equation (26) holds.

Since Equation (26) has 2 × (*n* − *m*) variables and its boundary conditions have 4 × (*n* − *m*) constraint. In order to make Equation (26) solvable, 2 × (*n* − *m*) parameter *κ*1, ··· , *κ*2*<sup>λ</sup>* needs to be added to the planned trajectory *xa*(*t*).

As an example of a conventional polynomial, a trajectory is planned for controllable degrees of freedom *Xa* and parameters are introduced for the planned trajectory.

A conventional polynomial point-to-point trajectory is planned as a straight-line path [21] with a trajectory equation of the form:

$$\mathbf{x}\_a(t) = \mathbf{x}\_a(0) + (\mathbf{x}\_a(T) - \mathbf{x}\_a(0))\mathbf{u}(t) \tag{27}$$

where *xa*(0), *xa*(*T*) is the position of the controllable degrees of freedom at the start and end points, respectively, 0 ≤ *u* ≤ 1.

For a smoothly derivable point-to-point trajectory *xa*(*t*) of order *r*, the law of motion *u*(*t*) is designed as follows:

$$u(t) = \sum\_{i=r+1}^{2r+1} a\_i \left(\frac{t}{T}\right)^i, \ t \in [0, T] \tag{28}$$

where

$$a\_i = \frac{(-1)^{i-r-1}(2r+1)!}{i \cdot r! (i-r-1)! (2r+1-i)!} \tag{29}$$

Introducing parameters to the trajectory of a traditional polynomial programming, the equation of the trajectory is

$$\mathbf{x}\_a(\kappa, t) = \mathbf{x}\_a(0) + (\mathbf{x}\_a(T) - \mathbf{x}\_a(0))\boldsymbol{\mu}(\kappa, t) \tag{30}$$

The law-of-motion function *u*(*κ*, *t*) can be set to

$$u(\kappa, t) = u(\gamma(\kappa, t)) = \sum\_{i=r+1}^{2r+1} a\_i \gamma^i(\kappa, t) \tag{31}$$

where *ai* <sup>=</sup> (−1) *i*−*r*−1 (2*r*+1)! *i*·*r*!(*i*−*r*−1)!(2*r*+1−*i*)! . In order to maintain *u*(0) = 0, *u*(*T*) = 1, *γ*(κ, *t*). is expressed as follows.

$$\gamma(\kappa, t) = at + \sum\_{i=2}^{2\lambda+1} \kappa\_{i-1} t^i \tag{32}$$

where *α* = 1− 2*λ*+1 ∑ *i*=2 *<sup>κ</sup>i*−1*T<sup>i</sup> <sup>T</sup>* .

Equation (26) is a multivariate marginal differential equation containing parameters that are converted to a multivariate initial differential equation for solution, and the expression of the converted multivariate initial differential equation is as follows.

$$\begin{cases} \dot{y} = f(y, \mathbf{x}\_a(\kappa, t), \dot{\mathbf{x}}\_a(\kappa, t), \ddot{\mathbf{x}}\_a(\kappa, t)) \\ \qquad y(0) = y\_0 \end{cases} \tag{33}$$

Since the solution of the multivariate initial differential equation removes the constraint *y*(*T*) = *yT* at the end point, the result can be solved again by setting up the Newton iteration equation *F*(*κ*) = *y*(*κ*, *T*) − *yT* to ensure that the end point of the solved trajectory is the same as the planned trajectory.

The trajectory parameters *κ<sup>i</sup>* for controlled degree of freedom planning is solved as follows.


#### **7. Simulation Analysis of Trajectory Planning**

#### *7.1. 3*−*6 Under-Constrained Parallel Robot*

Point-to-point trajectory planning was performed for the 3−6 (6 degrees of freedom parallel robots with 3 cables) under-constrained parallel robot with the articulation shown in Table 1, and Table 4 shows the end-effector and trajectory planning parameters.


**Table 4.** End-effector and trajectory planning parameters.

In Table 4, *m* is the mass of the end-effector and *Io* is the inertia tensor of the endeffector in a local coordinate system where the origin of the local coordinate system coincides with the center of mass. *X*0, *XT* is the initial and end pose of the trajectory planning and both are static equilibrium points. Figure 5 shows the initial state and end state for unconstrained parallel robot trajectory planning.

**Figure 5.** Initial state (solid line) and end state (dashed line) for unconstrained parallel robot trajectory planning.

The controllable degrees of freedom are *Xa* = - *OxO* , *<sup>O</sup> yO* , *<sup>O</sup> zO* and the uncontrollable degrees of freedom are *Xb* = [*α*, *β*, *γ*]. These are the angles of rotation around the *x*-axis, *y*-axis and *z*-axis respectively.

For the traditional polynomial trajectory planning method, *r* = 3 is taken to ensure that the trajectory is smoothly derivable to the third order, and *ai* is calculated via Equation (29) with the following results.

$$a\_i = \begin{bmatrix} a\_4 \\ a\_5 \\ a\_6 \\ a\_7 \end{bmatrix} = \begin{bmatrix} 35 \\ -84 \\ 70 \\ -20 \end{bmatrix}$$

Substitute *ai* into Equation (27) to find the conventional polynomial trajectory *xa*(*t*), and solve Equation (33) for the multivariate initial value differential equation.

For the polynomial trajectory planning method with the introduction of parameters, take *r* = 3, whose coefficients *ai* are the same as those of a conventional polynomial trajectory. Let the initial value of the parameter vector *κ* be the 6−dimensional zero vector *<sup>ζ</sup>* = <sup>1</sup> × <sup>10</sup><sup>−</sup>8, and solve for the parameters using Newton's iterative method to obtain the following results.


Substituting the parameter *κ* into Equation (30), the traditional polynomial trajectory *xa*(*κ*, *t*) is obtained and solved for the multivariate initial differential Equation (33).

The solution results of the traditional polynomial trajectory planning method are compared with those of the polynomial trajectory planning method with parameters, and the comparison results are shown below.

Figure 6 shows the pose of the end-effector in the trajectory. In this case, the direction drops from 0 m to −0.15 m, the direction increases from 0.59 to 0.8 and the direction increases from 1 m to 1.17 m. The orientation angle also changes under the influence of the system dynamics, where *α* rises from −0.43 rad to −0.05 rad and *β* from 0 rad to 0.26 rad (rotated about *z*-axis) and *γ* remains largely stable during the process. The trajectory start and end points of both planning algorithms are consistent with *X*0, *XT* in Table 4 in terms of the pose curves.

Figure 7 shows the velocity curves of the trajectories solved by the two planning algorithms. It can be seen that the difference in velocity between the trajectories planned by the two algorithms is more obvious. Both planning algorithms achieve the boundary condition of zeroing the velocity at the start and end point in the direction of *x*, *y*, *z*. However, for the angular velocity profile of *α*, *β*, *γ*, the traditional trajectory planning algorithm cannot guarantee stationary at the end point, and the trajectory does not zero at *α*, *β*, *γ* of 2.5 s, which cannot guarantee the trajectory boundary condition.

**Figure 6.** *Cont*.

**Figure 6.** Trajectory poses solved under two planning algorithms. (**a**) Comparison of *x*-direction displacement; (**b**) Comparison of *y*-direction displacement; (**c**) Comparison of *z*-direction displacement; (**d**) Comparison of *α* angular; (**e**) Comparison of *β* angular; (**f**) Comparison of *γ* angular.

**Figure 7.** Velocity solved under two planning algorithms. (**a**) Comparison of *x*−direction velocity; (**b**) Comparison of *y*−direction velocity; (**c**) Comparison of *z*−direction velocity; (**d**) Comparison of *α*−angle velocity; (**e**) Comparison of *β*−angle velocity; (**f**) Comparison of *γ*−angle velocity.

#### *7.2. 0*−*0*−*2 Under-Constrained Planar Hybrid Robot*

Point-to-point trajectory planning for an under-constrained cable-driven robot with 0-2-2 (Figure 8). The center of mass of each link is at its geometric center. The coordinates of the articulation points and the link parameters for the cable-driven robot are shown in Tables 2 and 3, while the following Table 5 shows the link inertia and trajectory planning related parameters.

**Figure 8.** Initial state (solid line) and end state (dashed) for under-constrained cable-driven robot in trajectory planning.



In Table 5, *Izi* is the mass product of inertia of the *i* link around the *z*-axis. *X*0, *XT* are the starting and ending points of the trajectory plan, and both are static equilibrium points.

The controllable degrees of freedom are *Xa* = [*θ*1, *θ*2], and the uncontrollable degrees of freedom are *Xb* = [*θ*3].

For the traditional polynomial trajectory planning method, *r* = 3 is taken to ensure that the trajectory is smoothly derivable to the third order, and *ai* is calculated via Equation (29) with the following results.

$$a\_i = \begin{bmatrix} a\_4 \\ a\_5 \\ a\_6 \\ a\_7 \end{bmatrix} = \begin{bmatrix} 35 \\ -84 \\ 70 \\ -20 \end{bmatrix}$$

Substitute *ai* into Equation (27) to obtain the traditional polynomial trajectory *xa*(*t*), and solve Equation (33) for the multivariate initial differential equation.

For the polynomial trajectory planning method with the introduction of parameters, take *r* = 3, whose coefficients *ai* are the same as those of a conventional polynomial trajectory. Let the initial value of the parameter vector *κ* be a 2−dimensional zero vector, *<sup>ζ</sup>* = <sup>1</sup> × <sup>10</sup><sup>−</sup>8, and solve for the parameters using Newton's iterative method to obtain the following results.

$$\kappa = \begin{bmatrix} \kappa\_1\\ \kappa\_2 \end{bmatrix} = \begin{bmatrix} 0.58865332\\ -0.29981383 \end{bmatrix}$$

Substituting the parameter *κ* into Equation (30), the conventional polynomial trajectory *xa*(*κ*, *t*) is obtained and solved for the multivariate initial differential Equation (33).

A comparison of the solution results of the traditional polynomial trajectory planning method with those of the polynomial trajectory planning method with the introduction of parameters is shown below.

The joint angle curves for the two planning algorithms are shown in Figure 9. The joint angle *θ*1, *θ*<sup>2</sup> starts and ends at the same point in both planning algorithms, while angle *θ*<sup>1</sup> decreases from 90◦ to 80◦ and angle *θ*<sup>2</sup> changes from −25◦ to −45◦. As can be seen from Figure 7c, in the polynomial trajectory planning method with the introduction of parameters, the start and end points of the *θ*<sup>3</sup> curve are the same as *X*0, *XT* in Table 5, whereas the traditional polynomial trajectory planning method does not guarantee this.

**Figure 9.** Trajectory joint angles solved under the two planning algorithms. (**a**) Comparison of *θ*1−angle; (**b**) Comparison of *θ*2−angle; (**c**) Comparison of *θ*3−angle.

The angular velocity of the two planning algorithms is shown in Figure 10. Both planning algorithms reach the boundary condition of zero at the start and end points for the angular velocity of *θ*1, *θ*2. As can be seen in Figure 10c, for the angular velocity profile of *θ*3, stationarity is not guaranteed at the end point using the conventional trajectory planning algorithm, whereas the polynomial trajectory planning method with the introduction of parameters maintains stationarity at the end point.

In summary, for under-constrained parallel or planar hybrid systems, the traditional polynomial trajectory planning algorithm cannot guarantee zero velocity at the end of the trajectory. In contrast, the polynomial trajectory planning algorithm with the introduction of parameters at the start and end points keeps the under-constrained system stable without oscillation and satisfies the trajectory planning requirements.

**Figure 10.** Angular velocity of the solution under the two planning algorithms. (**a**) Comparison of *θ*1−angular velocity; (**b**) Comparison of *θ*2−angle velocity; (**c**) Comparison of *θ*3−angle velocity.

#### **8. Conclusions**

In this paper, the force closure equations and geometric closure equations for incompletely constrained cable traction systems (parallel and planar hybrid) are developed, the equations are solved jointly using a convex optimization solution method with boundary conditions, a static equilibrium inverse kinematic model of the incompletely constrained cable traction system is developed, and the static equilibrium workspace is solved.

Point-to-point trajectory planning algorithms for incompletely constrained cable traction systems are investigated. Traditional purely algebraic methods such as polynomial functions or trigonometric functions for planning the trajectory of the end-effector do not take into account the dynamical model of the system, which can cause oscillations of the system at the start and end points due to insufficient controllable degrees of freedom on the UCR. In this paper, a dynamical model of the UCR is developed, which consider the cable force, external force, controllable position and orientation and uncontrollable position and orientation of the end-effector, etc. Based on this model, the traditional polynomial-based point-to-point trajectory planning algorithm is improved by adding 2 × (*n* − *m*) parameters to the kinematic law function *u*(*t*). The constraints of the dynamics model are incorporated into the trajectory planning process to achieve point-to-point trajectory planning for the UCR. The results show that the trajectory of the improved algorithm is smooth and derivable, and the end-effector is stationary and stable without oscillation at the start and end points, which proves the effectiveness of the optimized algorithm.

**Author Contributions:** Conceptualization, Q.D., Q.Z. and T.W.; methodology, Q.D.; software, Q.Z.; validation, Q.D. and Q.Z.; writing—original draft preparation, Q.Z.; writing—review and editing, Q.D. and Q.Z. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was funded by Key Research and Development Program of Shaanxi (Program No. 2022GY-314).

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest. The funders had no role in the design of the study; in the collection, analyses, or interpretation of data; in the writing of the manuscript; or in the decision to publish the results.

#### **References**


## *Article* **Singularity Analysis and Geometric Optimization of a 6-DOF Parallel Robot for SILS**

**Doina Pisla 1, Iosif Birlescu 1,\*, Nicolae Crisan 2, Alexandru Pusca 1, Iulia Andras 2, Paul Tucan 1, Corina Radu 3, Bogdan Gherman <sup>1</sup> and Calin Vaida <sup>1</sup>**

	- 400000 Cluj-Napoca, Romania

**Abstract:** The paper presents the singularity analysis and the geometric optimization of a 6-DOF (Degrees of Freedom) parallel robot for SILS (Single-Incision Laparoscopic Surgery). Based on a defined set of input/output constraint equations, the singularities of the parallel robotic system are determined and geometrically interpreted. Then, the geometric parameters (e.g., the lengths of the mechanism links) for the 6-DOF parallel robot for SILS are optimized such that the robotic system complies with an operational workspace defined in correlation with the SILS task. A numerical analysis of the singularities showed that the operational workspace is singularity free. Furthermore, numerical simulations validate the parallel robot for the next developing stages (e.g., designing and prototyping stages).

**Keywords:** parallel robot; singularity analysis; geometric optimization; single-incision laparoscopic surgery

#### **1. Introduction**

Single-incision laparoscopic surgery (SILS) is a type of minimally invasive surgery (MIS) where the surgeon uses a special multi-lumen trocar (a trocar with multiple insertion points) inserted through a single incision in the patient body for all instruments required for surgery. SILS was described in the gynecological literature as early as 1969, when Wheesess reported the first 4.000 cases of tubal ligation [1]. As the literature suggests, the main advantages of SILS are: (i) the short recovery time for the patient, (ii) lesser degree of pain (when compared to classical MIS), (iii) and better cosmetics (since it uses a single access port) [2]. However, the challenges of SILS (performed manually) are caused by its poor ergonomics [3]. As history shows, robotic systems for surgery were developed to circumvent various limitations of the classical, human-performed interventions. MIS is one example in which robots had a significant impact [4,5]. Multiple approaches have been proposed and developed for robotic systems for MIS, namely: multi-arm robotic systems [4], flexible robotic systems [4], laparoscope holders [6], etc. The analysis of the intraoperative data from robotic surgery has enabled the addition of new technologies, one of them referring to automated gesture recognition, which assists the surgeon during delicate procedures such as suturing. For this task, multiple intelligent algorithms were developed using supervised, unsupervised, or semi-supervised learning paradigms [7]. This is an important step toward autonomous robotic-assisted surgery, where the robot uses a confidence-based shared control strategy to perform certain tasks under supervision but without the involvement of the human operator [8]. The advancements in computer science, which are now providing more reliable intelligent algorithms and the increased availability of large quantities of information (big data)—pre-operative digital information,

**Citation:** Pisla, D.; Birlescu, I.; Crisan, N.; Pusca, A.; Andras, I.; Tucan, P.; Radu, C.; Gherman, B.; Vaida, C. Singularity Analysis and Geometric Optimization of a 6-DOF Parallel Robot for SILS. *Machines* **2022**, *10*, 764. https://doi.org/10.3390/ machines10090764

Academic Editor: Zhufeng Shao

Received: 29 July 2022 Accepted: 29 August 2022 Published: 2 September 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

instruments motion for repetitive tasks, recorded surgeries, patient evolution in the short and long term—are indicators and supporters of the next generation of devices, intelligent surgical robots [9].

The year 2018 marks the starting point for surgical robots dedicated to SILS due to the first use of the robotic da Vinci SP system in SILS surgery [4,10,11]. The da Vinci SP robot received FDA approval in 2018, becoming a benchmark in SILS robotic surgery, with a serial architecture capable of manipulating and orienting active instruments and the laparoscopic camera by using a single port through which these instruments are inserted. The system has an articulated laparoscopic camera and instruments, thus offering much better visibility and dexterity in the operating field compared to classical instruments [12]. The drawbacks are the limited forces (for tissue manipulation) due to the multiple bends of the instruments. Another robot dedicated to SILS surgery that has received FDA approval is the Senhance robot, which in contrast to da Vinci SP is a multi-arm system with three independent serial manipulators capable of orienting and manipulating surgical instruments [13]. Furthermore, there are various robotic systems for SILS which have not yet received FDA approval, such as SORT, SPIDER, MASTER, Virtual Incision, and so on [4].

Since a robotic system for SILS must comply with complex design specifications (e.g., footprint in the operating room, occupied volume, quick removal in case of an emergency), various optimizations are achieved in the early design stages. In a general interpretation, optimization aims to find the best solution for a given problem based on the imposed restrictions. In robotics, the optimization process often faces conflicting criteria such as speed versus energy efficiency, accuracy versus stability, or geometric dimensions versus working volume. When dealing with multi-objective optimization problems, the results are often given as a set of Pareto optimal solutions which must be further interpreted. In [14], the authors present an optimal dimensional synthesis of a parallel mechanism using two objective functions: finding the smallest dimensions for the geometric links of the robot for a given workspace, and the second aims to ensure the best overall dexterity within this workspace. As the two functions have conflicting criteria, it was shown that favoring the first function can lead to a robot with low dexterity while the second leads to a bulky robot. A numerical optimization methodology is presented in [15] to achieve an optimal design synthesis for a planar parallel manipulator for a prescribed dexterous workspace, using the condition number (an index that describes the dexterity of a robot). Merlet emphasizes in [16] the importance of the proper use of the condition number and global conditioning index (GCI) in the optimal design of a robot, illustrating their limitations (namely, when they are applied to robots that have both translation and orientation motions). GCI was first introduced by Gosselin and Angeles in [17], and it was one of the first approaches to describe the global performance of a manipulator, also demonstrating that in some cases, GCI can provide conflicting results in workspace optimization problems. In [18], the authors successfully applied the GCI and condition number to a 2-DOF parallel mechanism enabling them to obtain a generalized characterization of the manipulator with respect to its operational workspace. In [19], the authors used the condition number to optimize Orthoglide, a 3-DOF parallel robot with only translational motions used in milling applications. The dimensional synthesis of the 3- DOF Delta parallel robot for a prescribed workspace is presented in [20], where the authors define several optimization objectives solved using the Lagrange multipliers method, demonstrating that existing industrial robots could have almost half their size for the same given workspace. Furthermore, for a Delta-like parallel robot, in [21], the authors achieved an optimum design using multi-objective optimization algorithms, i.e., Pareto-optimization. A methodology to achieve an optimal design for a 6-DOF parallel manipulator having as objective its accuracy is presented in [22], where the authors are using the distribution of the condition number to determine the best solutions. The Stewart–Gough platform was analyzed in detail in [23], where the authors used a multi-objective optimization algorithm (NSGA-II) to obtain the optimal geometric parameters and leg stroke lengths, demonstrating that this approach is more efficient than the classical numerical methods. The workspace maximization of the Delta robot using a geometrical technique implemented in CATIA is shown in [24], where the use of the Simulated Annealing Algorithm provided promising results. The process of optimization is also found in the scientific literature concerning the development of medical robots. In [25], the authors optimized a 3-DOF serial robot considering the robot workspace and the surgical instrument insertion points. Other authors [26] used optimization processes for the static balancing of a surgical robot.

A novel approach for robotic-assisted SILS was proposed in [27], which is based on hybrid robotic systems with three major components: (1) a 6-DOF parallel robot that simultaneously guides (2) two interconnected orientation platforms (mounted on the mobile platform of the 6-DOF parallel robot) together with a laparoscopic camera, and (3) two active surgical instruments (mounted in the orientation platforms) to perform the SILS task. The kinematics of the surgical instruments was studied in [28], and in [29], the input–output equations for the orientation platform were provided. Furthermore, a recent work [27] achieved the kinematic modelling of the 6-DOF parallel robot.

The present paper illustrates the results regarding the further development of the SILS robotic system, namely: (i) a singularity analysis for the 6-DOF parallel robot presented in [27] (correlated with the operational workspace of the robot) and (ii) a geometric optimization of the 6-DOF parallel robot, to reduce its operating room footprint while maintaining the capabilities of performing the SILS task in a defined operational workspace. The singularity analysis was achieved using the vanishing conditions of the Jacobian matrices A and B. The input singularities are straightforward to interpret for the 6-DOF parallel robot, and for the output singularities, a geometric interpretation was achieved based on the characteristic tetrahedron [30]. For the geometric optimization, the Multi-Objective Genetic Algorithm implemented in Matlab gamultiobj function [31] is used to minimize the dimensions of the robot for a defined operational workspace. The GCI index is used in the optimization process only as guidance and not as a decision parameter due to its drawbacks when used on robots that have both translation and orientation motions [16,17].

The paper is structured as follows: Section 2 defines the parallel robotic system with all its modules and presents the inverse geometric model for the 6-DOF parallel robot. Section 3 defines the robotic system's operational workspace to create a clear description of the robotic system task. Section 4 presents a singularity analysis for the general 6-DOF parallel robot. Section 5 presents the proposed optimization algorithm for the 6-DOF parallel robot and the general optimization criteria. Section 6 presents the optimized version of the 6-DOF parallel robot, showing that the operational workspace is singularity free. Furthermore, numerical simulations are provided to validate the optimized robotic system. The conclusions are presented in Section 7.

#### **2. An Innovative Parallel Robotic System for SILS**

SILS requires the simultaneous independent manipulation of two surgical instruments while the operating field is viewed through a laparoscopic camera. The position of the laparoscope is not fixed, and it can change depending on the target tissue location. Furthermore, both the surgical instruments and the laparoscope must be manipulated with respect to Remote Center of Motion (RCM) points, i.e., the insertion points of the instrument within the trocar. Lastly, the position of the insertion points (or the trocar) on the patient's abdomen may vary based on various medical factors (e.g., the position of the resected tissue, areas that must be avoided, etc.) [3].

To comply with the required design parameters, an innovative parallel robotic system for SILS was proposed with the following components:


3. **Two surgical instruments** (described in [28])—each mounted in one orientation platform. Each surgical instrument has a serial architecture with 4-DOF: 1-DOF for the rotation about its longitudinal axis (the third rotation for the surgical instrument), 1- DOF for the (articulated) bending, and 2-DOF for the gripper (each jaw of the gripper is actuated separately enabling grabbing and gripper turning) (Figure 1c).

**Figure 1.** The initial modules for the SILS robotic system: (**a**) the 6-DOF parallel robot; (**b**) mobile platform containing the laparoscope and two orientation platforms; (**c**) surgical instrument.

With respect to a defined robotic-assisted medical protocol [3], the proposed robotic system must comply with the following stepwise procedure:


The kinematic scheme of the 6-DOF parallel robot is presented in Figure 2. Although the mechanism topology is the same as in [27], in this work, the kinematic chains are not considered identical (removing this design constraint may improve the final solution for the robot architecture). In [27], the links *l*2, *l*3, and *l*<sup>4</sup> had the same values.

**Figure 2.** Kinematic scheme of the 6-DOF parallel robot for SILS.

The 6-DOF parallel robot mechanism topology is as follows [27]:


#### *Inverse Geometric Modelling for the 6-DOF Parallel Robot*

The inverse geometric model will provide constraint equations which, in turn, will be used as objective functions for the optimization algorithm.

For the inverse geometric model, the inputs are the Cartesian coordinates of point *E* [*XE, YE, ZE*] and the orientation angles *ψ, θ, ϕ*, whereas the outputs are the active joint generalized coordinates *qi* (*i* = 1 ... 6). With respect to the *ZYX* Euler convention, the coordinates of the passive spherical joints are:

*S*<sup>1</sup> : ⎧ ⎪⎪⎨ ⎪⎪⎩ *XS*<sup>1</sup> = *XE* + √3 <sup>6</sup> *lp*c*ψ*c*<sup>θ</sup>* <sup>−</sup> <sup>1</sup> <sup>2</sup> *lp*c*ψ*s*θ*s*<sup>ϕ</sup>* <sup>+</sup> <sup>1</sup> <sup>2</sup> *lp*s*ψ*c*<sup>θ</sup> YS*<sup>1</sup> = *YE* + √3 <sup>6</sup> *lp*s*ψ*c*<sup>θ</sup>* <sup>−</sup> <sup>1</sup> <sup>2</sup> *lp*s*ψ*s*θ*s*<sup>ϕ</sup>* <sup>−</sup> <sup>1</sup> <sup>2</sup> *lp*c*ψ*c*<sup>θ</sup> ZS*<sup>1</sup> = *ZE* − √3 <sup>6</sup> *lp*s*<sup>θ</sup>* <sup>−</sup> <sup>1</sup> <sup>2</sup> *lp*s*ϕ*c*<sup>θ</sup>* , *S*<sup>2</sup> : ⎧ ⎪⎪⎨ ⎪⎪⎩ *XS*<sup>2</sup> = *XE* − √3 <sup>3</sup> *lp*c*ψ*c*<sup>θ</sup> YS*<sup>2</sup> = *YE* − √3 <sup>3</sup> *lp*s*ψ*c*<sup>θ</sup> ZS*<sup>2</sup> = *ZE* + √3 <sup>3</sup> *lp*s*<sup>θ</sup>* , *S*<sup>3</sup> : ⎧ ⎪⎪⎨ ⎪⎪⎩ *XS*<sup>3</sup> = *XE* + √3 <sup>6</sup> *lp*c*ψ*c*<sup>θ</sup>* <sup>+</sup> <sup>1</sup> <sup>2</sup> *lp*c*ψ*s*θ*s*<sup>ϕ</sup>* <sup>−</sup> <sup>1</sup> <sup>2</sup> *lp*s*ψ*c*<sup>θ</sup> YS*<sup>3</sup> = *YE* + √3 <sup>6</sup> *lp*s*ψ*c*<sup>θ</sup>* <sup>+</sup> <sup>1</sup> <sup>2</sup> *lp*s*ψ*s*θ*s*<sup>ϕ</sup>* <sup>+</sup> <sup>1</sup> <sup>2</sup> *lp*c*ψ*c*<sup>θ</sup> ZS*<sup>3</sup> = *ZE* − √3 <sup>6</sup> *lp*s*<sup>θ</sup>* <sup>+</sup> <sup>1</sup> <sup>2</sup> *lp*s*ϕ*c*<sup>θ</sup>* (1)

where c*ψ*, c*θ*, c*<sup>ϕ</sup>* represent the cosines of the *ψ, θ, ϕ* Euler angles, and s*ψ*, s*θ*, s*<sup>ϕ</sup>* represent the sines of the *ψ*, *θ*, *ϕ*, Euler angles, respectively. Furthermore, the distances between *S*1, *S*2, *S*<sup>3</sup> and the actuation axes of the three kinematic chains (Figure 2) are given by [27]:

$$\begin{aligned} R\_1 &= \frac{1}{2l\_1}(l\_1 + l\_2)\sqrt{4l\_1^2 - \left(q\_2 - q\_1\right)^2}, \\ R\_2 &= \frac{1}{2l\_1}(l\_1 + l\_3)\sqrt{4l\_1^2 - \left(q\_4 - q\_3\right)^2}, \\ R\_3 &= \frac{1}{2l\_1}(l\_1 + l\_4)\sqrt{4l\_1^2 - \left(q\_6 - q\_5\right)^2} \end{aligned} \tag{2}$$

In addition, the following circle equation must be fulfilled [27]:

$$\begin{cases} X\_{S1}^2 + Y\_{S1}^2 - R\_1^2 = 0\\ X\_{S2}^2 + \left(Z\_{S2} - L\_V\right)^2 - R\_2^2 = 0\\ X\_{S3}^2 + \left(Y\_{S3} - L\_H\right)^2 - R\_3^2 = 0 \end{cases} \tag{3}$$

And the following equations derived for each kinematic chain of the 6-DOF parallel robot (Figure 2) must be fulfilled:

$$\begin{cases} \begin{aligned} q\_2 - \frac{1}{2l\_1}(l\_1 + l\_2)(q\_2 - q\_1) - Z\_{S1} &= 0\\ q\_4 + \frac{1}{2l\_1}(l\_1 + l\_3)(q\_3 - q\_4) - Y\_{S2} &= 0\\ q\_6 - \frac{1}{2l\_1}(l\_1 + l\_4)(q\_6 - q\_5) - Z\_{S3} &= 0 \end{aligned} \end{cases} \tag{4}$$

Using Equations (1)–(3) yields the solution for the inverse geometric model:

$$\begin{cases} \begin{aligned} q\_1 &= \frac{1}{l\_1 + l\_2} \left[ (l\_1 + l\_2) q\_2 - 2l\_1 \sqrt{-X\_{S1}^2 - Y\_{S1}^2 + (l\_1 + l\_2)^2} \right] \\ q\_2 &= \sqrt{(l\_1 + l\_2)^2 - X\_{S1}^2 - Y\_{S1}^2} + Z\_{S1} \\\\ q\_3 &= \frac{1}{l\_1 + l\_3} \left[ (l\_1 + l\_3) q\_4 + 2l\_1 \sqrt{-X\_{S2}^2 + (l\_1 + l\_3)^2} - (L\_V - Z\_{S2})^2 \right] \\ q\_4 &= Y\_{S2} - \sqrt{(l\_1 + l\_3)^2 - X\_{S2}^2 - (L\_V - Z\_{S2})^2} \\ q\_5 &= \frac{1}{l\_1 + l\_4} \left[ (l\_1 + l\_4) q\_6 - 2l\_1 \sqrt{-X\_{S3}^2 + (l\_1 + l\_4)^2 - (L\_H - Y\_{S3})^2} \right] \\ q\_6 &= \sqrt{(l\_1 + l\_4)^2 - X\_{S3}^2 - (L\_H - Y\_{S3})^2} + Z\_{S3} \end{aligned} \tag{5}$$

#### **3. The Proposed Operational Workspace for the Parallel Robotic System for SILS**

For the SILS task, the discussion of the operational workspace must be split into two components: (1) the intraoperative operational workspace (inside the patient body with respect to the insertion points), defined by the orientation platforms, the surgical instruments, and the mobile platform of the

6-DOF parallel robot (for the laparoscopic camera), and (2) the external operating workspace (outside the patient body with respect to the insertion points), defined only by the 6-DOF parallel robot.

Considering the intraoperative workspace, in previous work [29], the maximum values for the orientation angles of the surgical instruments were proposed as follows:


Larger angles may affect patient safety. The intraoperative workspace was defined based on a sphere of 240 mm in diameter. Figure 3 illustrates the proposed intraoperative workspace, showing possible insertion points for the surgical instruments and their maximum orientation angles

**Figure 3.** The proposed intraoperative workspace for the SILS robotic system: (**a**) frontal plane view showing the desired workspace with respect to the ribcage; (**b**) transverse plane view of the desired workspace; (**c**) the workspace of the surgical instruments with respect to the insertion points (brown—laparoscope, blue and green—active instruments).

A single set of insertion points for the RCM motion is not sufficient since adjustments may be required for the relative position between the patient and the robot. Consequently, for the external operational workspace, a cylindrical volume was proposed that should contain the sets of insertion points. The proposed cylinder was defined with radius *R* = 75 [mm] and height *h* = 75 [mm], and its position (approximately) relative to the patient is shown in Figure 4. This cylinder represents the operational workspace of the 6-DOF parallel robot.

**Figure 4.** The proposed external workspace for the 6-DOF SILS robotic system (cylinder with radius 75 [mm] and height 75 [mm] and its position with respect to the ribcage).

#### **4. Singularities of the 3-R-PRR-PRS Parallel Robot**

The singularity analysis is achieved for the 3-R-PRR-PRS parallel robot without the loss of generality (e.g., no numerical values will be substituted for the geometric parameters). Later in Section 5, the design solution for the 6-DOF parallel robot for SILS is selected (based on the 3-R- PRR-PRS parallel robot), and the singularities are correlated with the operational workspace for the SILS task.

The singularities are studied using the vanishing conditions of the determinants of the Jacobian matrices **A** and **B** from the matrix relation [33–35]:

$$\mathbf{A} \cdot \dot{\mathbf{X}} + \mathbf{B} \cdot \dot{\mathbf{Q}} = 0 \tag{6}$$

where . **<sup>Q</sup>** and . **X** represent the velocity vectors for the active joints **Q** = [*q*1, *q*2, *q*3, *q*4, *q*5, *q*6] <sup>T</sup> and for the mobile platform coordinates **X** = [*XE*,*YE*, *ZE*, *ψ*, *θ*, *ϕ*] T, respectively. With respect to the Jacobi matrices **A** and **B**, three types of singularities can be defined, namely: type I singularities (input singularities) when det(**B**) = 0, type II singularities (output singularities) when det(**A**) = 0, and type III singularities when both det(**B**) = 0 and det(**A**) = 0.

The implicit equations used in the singularity analysis were defined using Equations (3) and (4) with Equations (1) and (2) substituted, yielding:

$$\begin{aligned} & \left[ f\_{1} \cdot \frac{1}{24} \Big] \left[ f\_{1} \Big{(}\sqrt{3}s\_{8} + 3\varepsilon\_{8}s\_{9}\Big{)} + 3(q\_{1} + q\_{2} - 2Z\_{E}) + 3l\_{2}(q\_{1} - q\_{2}) \right] = 0 \\ & f\_{2} \cdot \frac{1}{24} \Big{[}\sqrt{3}l\_{I}l\_{J} \Big{(}X\_{\mathrm{eff}} + Y\_{\mathrm{E}\mathrm{s}\_{\mathrm{F}}} - \frac{1}{2}l\_{\mathrm{F}}s\_{8}s\_{9}\Big{)} + l\_{\mathrm{F}}l\_{\mathrm{F}}^{2} \Big{(}3\varepsilon\_{\mathrm{F}}^{2} - 2\varepsilon\_{\mathrm{F}}^{2} \\ & - 12l\_{I}^{2}(l + 2l\_{\mathrm{F}}) + 12l\_{\mathrm{F}}^{2} \Big{(}3\varepsilon\_{\mathrm{F}}^{2} + Y\_{\mathrm{E}}^{2} - l\_{\mathrm{F}}^{2} \Big{)} + 3l\_{1} \Big{(}2^{2} \Big{(}-q\_{1} + q\_{2} \Big{)} + 6l\_{2}(q\_{1} - q\_{2})^{2} + l\_{\mathrm{F}}^{2} \Big{(}q\_{1} - q\_{2} \Big{)}^{2} \Big{)} = 0 \\ & f\_{3} \cdot \frac{1}{64} \Big{[}2\sqrt{3}l\_{I}l\_{\mathrm{F}}s\_{8}s\_{9} + 3(q\_{4} - q\_{2} - 2\varepsilon\_{\mathrm{F}}) + 3l\_{3} \Big{(}3\varepsilon\_{\mathrm{F}} - q\_{3} \Big{)} + 6l\_{3} \Big{(}$$

#### *4.1. Type I Singularities*

Computing the determinant of the Jacobian Matrix **B** yields a factored result:

$$\det(\mathbf{B}) = -\frac{1}{8l\_1^6} (l\_1 + l\_2)^2 (l\_1 + l\_3)^2 (l\_1 + l\_4)^2 (q\_1 - q\_2)(q\_3 - q\_4)(q\_5 - q\_6) \tag{8}$$

The singularity analysis is as follows:


#### *4.2. Type II Singularities*

Computing the determinant of the Jacobian matrix **A** yields a factored result:

$$\det(\mathbf{A}) = l\_p^3 \cos(\theta) F(X\_{\mathcal{E}\prime} \, \mathcal{Y}\_{\mathcal{E}\prime} \, Z\_{\mathcal{E}\prime} \, \Psi, \theta, \, \mathbf{\hat{q}}, l\_p, L\_H, L\_V) \tag{9}$$

which describes singularities when:


$$\det(\mathbf{A}) = -8H\mathbb{0}\cos(\theta)\tag{10}$$

where the factor *H*<sup>0</sup> (shown in Equation (11)) is written in a compact manner using Equation (1). Note that the *lp* parameter is not present in *H*<sup>0</sup> (but is still encoded in Equation (1)).

*H*<sup>0</sup> = *LH LV* - (*XS*2*YS*<sup>2</sup> − *XS*2*YS*<sup>3</sup> − *XS*3*YS*<sup>2</sup> + *XS*3*YS*3)*X*<sup>2</sup> *<sup>S</sup>*<sup>1</sup> − (*XS*1*YS*<sup>1</sup> − *XS*1*YS*3)*X*<sup>2</sup> *<sup>S</sup>*<sup>2</sup> − (*XS*1*YS*<sup>1</sup> − *XS*1*YS*2)*X*<sup>2</sup> *<sup>S</sup>*<sup>3</sup> + +(2*YS*<sup>1</sup> − *YS*<sup>2</sup> − *YS*3)*XS*1*XS*2*XS*3] − *LH*[(*XS*2*YS*2*ZS*<sup>3</sup> − *XS*2*YS*3*ZS*<sup>2</sup> − *XS*3*YS*2*ZS*<sup>2</sup> + *XS*3*YS*3*ZS*2) *<sup>X</sup>*<sup>2</sup> *<sup>S</sup>*<sup>1</sup> − (*XS*1*YS*1*ZS*<sup>3</sup> − −*XS*1*YS*3*ZS*<sup>1</sup> − *XS*3*YS*1*ZS*<sup>1</sup> + *XS*3*YS*1*ZS*3)*X*<sup>2</sup> *<sup>S</sup>*<sup>2</sup> − (*XS*1*YS*1*ZS*<sup>2</sup> − *XS*1*YS*2*ZS*2− *XS*2*YS*1*ZS*<sup>1</sup> + *XS*2*YS*1*ZS*2)*X*<sup>2</sup> *<sup>S</sup>*3+ +(2*YS*1*ZS*<sup>2</sup> − *YS*2*ZS*<sup>3</sup> − *YS*3*ZS*1)*XS*1*XS*2*XS*3] − *LV* -#*XS*2*YS*2*YS*<sup>3</sup> − *XS*2*Y*<sup>2</sup> *S*3 \$ *X*2 *<sup>S</sup>*<sup>1</sup> − (*XS*1*YS*1*YS*<sup>3</sup> + *XS*3*YS*1*YS*<sup>3</sup> − −*XS*1*Y*<sup>2</sup> *<sup>S</sup>*<sup>3</sup> − *XS*3*Y*<sup>2</sup> *S*1 \$ *X*2 *<sup>S</sup>*<sup>2</sup> + # *XS*2*YS*1*YS*<sup>2</sup> − *XS*2*Y*<sup>2</sup> *S*1 \$ *X*2 *<sup>S</sup>*<sup>3</sup> + (2*YS*1*YS*<sup>3</sup> − *YS*1*YS*<sup>2</sup> − *YS*2*YS*3)*XS*1*XS*2*XS*<sup>3</sup> + +# *YS*2*YS*3*ZS*<sup>3</sup> − *<sup>Y</sup>*<sup>2</sup> *<sup>S</sup>*<sup>3</sup>*ZS*<sup>2</sup> \$ *X*2 *<sup>S</sup>*<sup>1</sup>*XS*<sup>2</sup> − # *YS*1*YS*3*ZS*<sup>3</sup> − *<sup>Y</sup>*<sup>2</sup> *<sup>S</sup>*<sup>3</sup>*ZS*<sup>1</sup> \$ *X*2 *<sup>S</sup>*<sup>2</sup>*XS*<sup>1</sup> − (*YS*1*YS*2*ZS*<sup>3</sup> − 2*YS*1*YS*3*ZS*<sup>2</sup> + *YS*2*YS*3*ZS*1)*XS*1*XS*2*XS*3− −# *YS*1*YS*3*ZS*<sup>1</sup> − *<sup>Y</sup>*<sup>2</sup> *<sup>S</sup>*<sup>1</sup>*ZS*<sup>3</sup> \$ *X*2 *<sup>S</sup>*<sup>2</sup>*XS*<sup>3</sup> + # *YS*1*YS*2*ZS*<sup>1</sup> − *<sup>Y</sup>*<sup>2</sup> *<sup>S</sup>*<sup>1</sup>*ZS*<sup>2</sup> \$ *X*2 *<sup>S</sup>*<sup>3</sup>*XS*<sup>2</sup> (11)

To study the output singularities, the characteristic tetrahedron was used [30], which states that a singularity occurs when the geometry of the tetrahedron is degenerate (e.g., faces are coplanar, etc.). The tetrahedron is composed of three faces defined by characteristic planes spanned by reciprocal wrenches at each spherical joint of the three kinematic chains and a base defined by the plane of the mobile platform. To define the characteristic planes associated with the three kinematic chains (for the 6-DOF parallel robot for SILS), first, the actuators are considered fixed, and then two reactive forces for the remaining passive motion are defined (at the level of the spherical joint). Figure 5 illustrates this concept on the kinematic chain 1, with the actuators *q*<sup>1</sup> and *q*2, the spherical joint *S*1, and the reactive forces *R*<sup>1</sup> and *R*2, respectively (which span the characteristic plane *P*1). Figure 6 illustrates how these planes intersect to form the characteristic tetrahedron (in a nonsingular pose).

**Figure 5.** Characteristic plane defined for the kinematic chain 1.

**Figure 6.** Characteristic tetrahedron for the 6-DOF parallel robot for SILS (nonsingular pose).

The first characteristic plane, *P*<sup>1</sup> (describing the first kinematic chain), contains the *OZ* axis (the actuation axis of *q*<sup>1</sup> and *q*2) of the fixed coordinate system and the center of the passive spherical joint *S*<sup>1</sup> and has the following equation:

$$P\_1: (-Y\_{S1})\mathbf{x} + (X\_{S1})y = \mathbf{0} \tag{12}$$

Furthermore, the characteristic plane *P*<sup>2</sup> (for the second kinematic chain) contains the actuation axis of *q*<sup>3</sup> and *q*<sup>4</sup> and the center of the passive spherical joint *S*<sup>2</sup> and has the following equation:

$$P\_2: (Z\_{S2} - L\_V)\mathbf{x} - (X\_{S2})\mathbf{z} + L\_V X\_{S2} = \mathbf{0} \tag{13}$$

The characteristic plane *P*<sup>3</sup> (for the third kinematic chain) contains the actuation axis of *q*<sup>5</sup> and *q*<sup>6</sup> and the center of the passive spherical joint *S*<sup>3</sup> and has the equation:

$$P\_3: (-Y\_{S3} + L\_H)\mathbf{x} + (X\_{S3})\mathbf{y} - L\_H X\_{S3} = \mathbf{0} \tag{14}$$

Lastly, the characteristic plane *Pm* (for the mobile platform) contains the centers of all passive spherical joints and has the equation:

*Pm* : (*Coefx*)*x* + # *Coefy* \$ *y* + (*Coefz*)*z* + *Coefd* = 0 *Coefx* = (*ZS*<sup>2</sup> − *ZS*3)*YS*<sup>1</sup> + (*ZS*<sup>3</sup> − *ZS*1)*YS*<sup>2</sup> + (*ZS*<sup>1</sup> − *ZS*2)*YS*<sup>3</sup> *Coefy* = (*ZS*<sup>3</sup> − *ZS*2)*XS*<sup>1</sup> + (*ZS*<sup>1</sup> − *ZS*3)*XS*<sup>2</sup> + (*ZS*<sup>2</sup> − *ZS*1)*XS*<sup>3</sup> *Coefz* = (*YS*<sup>2</sup> − *YS*3)*XS*<sup>1</sup> + (*YS*<sup>3</sup> − *YS*1)*XS*<sup>2</sup> + (*YS*<sup>1</sup> − *YS*2)*XS*<sup>3</sup> *Coefd* = (*XS*2*YS*<sup>1</sup> − *XS*1*YS*2)*ZS*<sup>3</sup> + (*YS*2*ZS*<sup>1</sup> − *YS*1*ZS*2)*XS*<sup>3</sup> + (*XS*1*ZS*<sup>2</sup> − *XS*2*ZS*1)*YS*<sup>3</sup> (15)

There are eight type II (output) singularities (described in a general form in [30]) that are geometrically interpreted by the degeneracy of the geometry of the characteristic tetrahedron. Each singularity case for the 3-R-PRR-PRS parallel robot may be checked independently using the planes defined in Equations (12)–(15) (the planes contain the faces and the base of the characteristic tetrahedron) and Equation (11), which generally describes the degeneracy conditions of the characteristic tetrahedron:

In Case 1, all faces of the characteristic tetrahedron and the base intersect in a point [30]; consequently, *P*1, *P*2, *P*3, and *Pm* intersect in a point. The proof that this case represents a singularity for the 3-R-PRR-PRS parallel robot is straightforward. Assuming that the characteristic planes *P*1, *P*2, *P*3, intersect at point *I*(*x*, *y*, *z*). Equations (12)–(14) can be solved simultaneously to compute the intersection point's Cartesian coordinates:

$$I: \begin{cases} \begin{array}{l} \mathbf{x} = \frac{L\_{ll}X\_{51}X\_{51}}{(L\_{ll} - Y\_{51})X\_{51} + X\_{51}Y\_{51}} \\ \mathbf{y} = \frac{L\_{ll}X\_{51}Y\_{51}}{(L\_{ll} - Y\_{51})X\_{51} + X\_{51}Y\_{51}} \end{array} \\\ \mathbf{z} = \frac{L\_{ll}L\_{V}(X\_{51}X\_{52} - X\_{51}X\_{51}) + L\_{V}(X\_{52}X\_{51}Y\_{51} - X\_{51}X\_{52}Y\_{52}) + L\_{ll}X\_{51}X\_{52}Z\_{52}}{((L\_{ll} - Y\_{51})X\_{51} + X\_{51}Y\_{51})X\_{52}} \end{cases} \tag{16}$$

If point *I* is also contained in the characteristic plane *Pm*, then Equation (15) must be fulfilled for the *x*, *y*, and *z* Cartesian components shown in Equation (16). Substituting Equation (16) into Equation (15) leads to an equation that can be linearly solved for one Cartesian component of the three passive spherical joints. The computed solution for *ZS*<sup>1</sup> is:

$$\begin{array}{llll}Z\_{S1} &=& \frac{H\_1}{((L\_{il}-Y\_{31})X\_{S2}-(L\_{il}-Y\_{32})X\_{S1})X\_{S1}Y\_{S3}-X\_{S3}Y\_{S1})X\_{S2}} \\ & H\_1 &=& L\_{il}L\_{V}\big[(X\_{S2}-X\_{S3})\big((Y\_{S3}-Y\_{S1})X\_{S1}+(Y\_{S2}-Y\_{S3})X\_{S2}+(Y\_{S1}-Y\_{S2})X\_{S3}\big)X\_{S1}\big]-\\ & & -L\_{il}\big[(Z\_{S2}(Y\_{S3}-Y\_{S2})X\_{S2}+(Y\_{S2}Z\_{S3}-Y\_{S3}Z\_{S2})X\_{S3})X\_{S1}^{2}+(Z\_{S2}(Y\_{S2}-Y\_{S1})X\_{S3}^{2}+\\ & & +X\_{S2}(2Y\_{S1}Z\_{S2}-Y\_{S2}Z\_{S3})X\_{S3}-X\_{S2}^{2}Y\_{S1}Z\_{S3})X\_{S1}+(X\_{S2}Z\_{S3}-X\_{S3}Z\_{S2})X\_{S2}X\_{S3}Y\_{S1}\big]-\\ & & -L\_{V}\big[((Y\_{S2}-Y\_{S3})X\_{S1}+(Y\_{S3}-Y\_{S1})X\_{S3}+(Y\_{S1}-Y\_{S2})X\_{S3})(X\_{S1}Y\_{S3}-X\_{S3}Y\_{S1})X\_{S2}\big]+\\ & & + \left((Y\_{S2}Z\_{S3}-Y\_{S3}Z\_{S2})X\_{S1}-(X\_{S2}Z\_{S3}-X\_{S3}Z\_{S2})Y\_{S1}\right)(X\_{S1}Y\_{S3}-X\_{S3}Y\_{S1})X\_{S2}\big] \\ \end{array} \tag{17}$$

Equation (17) describes the constraint of the *Z*S1 parameter when all four planes intersect at a point. Substituting Equation (17) into Equation (11) causes *H*<sup>0</sup> to vanish, proving the singularity for the 3-R-PRR-PRS parallel robot.

To illustrate an example of this singularity, the geometric parameters {*LH* = 1420, *LV* = 1000, *lp* = 260} [mm] and the mobile platform coordinates {*XE* = 400 mm, *YE* = 700 mm, *ZE* = 500 mm, *ψ* = 0 rad, *ϕ* = π/10 rad} (arbitrary chosen) are considered (only five output parameters are considered, the last one, *θ*, is computed). Substituting the numerical values into Equation (A1) (see Appendix A) and solving the equation for *θ* (using the solve function in Maple), yields four real solutions {*θ* = 0.93 rad, *θ* = −1.755 rad, *θ* = 1.82 rad, *θ* = −2.40 rad}. Figure 7a shows the parallel robot in the singular pose (for *θ* = 0.93), whereas Figure 7b shows how the characteristic planes *P*1, *P*2, *P*3, and *Pm* intersect at a point.

**Figure 7.** Type II singularity of the 6-DOF parallel robot for SILS (case 1—the characteristic tetrahedron faces and base intersect in a point): (**a**) parallel robot pose; (**b**) characteristic planes intersect in a point.

In Case 2, the faces of the characteristic tetrahedron (i.e., *P*1, *P*2, *P*3) intersect in a line, but no faces are coplanar [30]. For the 6-DOF parallel robot for SILS, this case is impossible since *P*<sup>1</sup> and *P*<sup>3</sup> are always vertical, whereas *P*<sup>2</sup> has only two configurations when it is vertical (when the kinematic chain 2 points upwards or downwards). However, when all of the characteristic planes, *P*1, *P*2, and *P*3, are vertical, they are all coplanar (due to the mechanism topology); therefore, *P*1, *P*2, and *P*<sup>3</sup> cannot intersect in a line. This is straightforward to prove using Equations (12)–(14). Assuming that the planes *P*1*, P*2*,* and *P*<sup>3</sup> intersect in a line, then the rank of the coefficient's matrix (matrix containing the *x*, *y*, and *z* coefficients from the plane equations) **M**<sup>1</sup> and the rank of the augmented matrix (matrix containing the *x*, *y*, and *z* coefficients and the free terms) **M**<sup>2</sup> must be 2. The two matrices are defined using Equations (12)–(14):

$$\mathbf{M}\_{1}: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0 \\ -L\_{V} + Z\_{S2} & 0 & -X\_{S2} \\ L\_{H} - Y\_{S3} & X\_{S3} & 0 \end{bmatrix}, \mathbf{M}\_{2}: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0 & 0 \\ -L\_{V} + Z\_{S2} & 0 & -X\_{S2} & L\_{V}X\_{S2} \\ L\_{H} - Y\_{S3} & X\_{S3} & 0 & -L\_{H}X\_{S3} \end{bmatrix} \tag{18}$$

It can be checked that the rank of **M**<sup>1</sup> is 2 for:

$$X\_{S2} = 0, \text{ and/or } X\_{S1} = \frac{Y\_{S1} X\_{S3}}{Y\_{S3} - L\_H} \tag{18a}$$

but for the solutions shown in Equation (18a) the rank of **M**<sup>2</sup> is 3 (the planes intersect in two or three lines). The rank of **M**<sup>2</sup> is 2 for:

$$X\_{S2} = 0, \text{ and } X\_{S1} = 0 \tag{18b}$$

in which case the rank of **M**<sup>1</sup> is also 2 (describing two coincident planes and the third one intersecting it). Furthermore, for:

$$X\_{S2} = 0, \text{ and} \\ X\_{S1} = 0, \text{ and } X\_{S3} = 0 \tag{18c}$$

the rank of both **M**<sup>1</sup> and **M**<sup>2</sup> is 1 (describing three coincident planes).

In Case 3, two of the tetrahedron faces and its base intersect in a line [30]. Considering the characteristic planes *P*1, *P*3, and *Pm*, the coefficient and augmented matrices are:

$$\mathbf{M}\_3: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0\\ L\_H - Y\_{S3} & X\_{S3} & 0\\ \text{Coef}\_X & \text{Coef}\_Y & \text{Coef}\_z \end{bmatrix}, \mathbf{M}\_4: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0 & 0\\ L\_H - Y\_{S3} & X\_{S3} & 0 & -L\_H X\_{S3} \\ \text{Coef}\_X & \text{Coef}\_Y & \text{Coef}\_z & \text{Coef}\_d \end{bmatrix} \tag{19}$$

It can be checked that the rank of both matrices **M**<sup>3</sup> and **M**<sup>4</sup> is 2 for:

$$X\_{S1} = \frac{X\_{S3} Y\_{S1}}{Y\_{S3}}, \text{ and } X\_{S2} = \frac{X\_{S3} Y\_{S2}}{Y\_{S3}} \tag{19a}$$

Furthermore, substituting the values of Equation (20) into Equation (19) shows no proportionality between the matrix's rows; therefore, the intersection describes a line. In addition, substituting Equation (20) into Equation (11) causes the factor *H*<sup>0</sup> to vanish.

Another geometric configuration for Case 3 is represented by the characteristic planes *P*1, *P*2, and *Pm* intersecting in a line (the case when *P*3, *P*2, and *Pm* intersect in a line is redundant with this one due to the configuration symmetry of the parallel robot). The coefficient and augmented matrices are:

$$\mathbf{M}\_{5}: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0 \\ -L\_{V} + Z\_{S2} & 0 & -X\_{S2} \\ \mathbf{Cocf}\_{X} & \mathbf{Cocf}\_{Y} & \mathbf{Cocf}\_{z} \end{bmatrix}, \mathbf{M}\_{6}: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0 & 0 \\ -L\_{V} + Z\_{S2} & 0 & -X\_{S2} & L\_{V}X\_{S2} \\ \mathbf{Cocf}\_{X} & \mathbf{Cocf}\_{Y} & \mathbf{Cocf}\_{z} & \mathbf{Cocf}\_{d} \end{bmatrix} \tag{20}$$

The rank of both matrices **M**<sup>5</sup> and **M**<sup>6</sup> is 2 for:

$$X\_{S1} = \frac{X\_{S3}(L\_V - Z\_{S1})}{L\_V - Z\_{S3}}, \text{ and} \\ X\_{S2} = \frac{X\_{S3}(L\_V - Z\_{S2})}{L\_V - Z\_{S3}} \tag{20a}$$

Substituting the values of Equation (20a) into Equation (20) shows no proportionality between the matrix's rows (the intersection describes a line), and substituting Equation (20a) into Equation (11) causes factor *H*<sup>0</sup> to vanish.

As an example, for the 3-R-PRR-PRS parallel robot, for *θ* = 0 rad, *ϕ* = π/2 rad, the factor *F* (Equation (A1)—Appendix A) vanishes. In this configuration, the mobile platform is in a vertical pose. Figure 8 shows an example of this singularity, (a) the parallel robot poses and (b) the characteristic planes (*P*1, *P*3, *Pm*) intersecting in a line. It can be shown (at least for this example) that the characteristic plane *P*<sup>2</sup> also intersects that line; therefore, this singularity is the special case of Case 1 discussed previously (since all the characteristic planes intersect at a point).

**Figure 8.** Type II singularity of the 6-DOF parallel robot for SILS (case 3—two faces of the characteristic tetrahedron and its base intersect in a line): (**a**) parallel robot pose; (**b**) characteristic planes intersect in a line.

In Case 4, two of the characteristic tetrahedron faces are coplanar [30]. Due to the arguments presented in Case 2 for the 6-DOF parallel robot for SILS, the only possible tetrahedron faces that can become coplanar are the ones defined by *P*<sup>1</sup> and *P*3. The coefficient and augmented matrices in this case are:

$$\mathbf{M}\_{7}: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0\\ L\_{H} - Y\_{S3} & X\_{S3} & 0 \end{bmatrix}, \mathbf{M}\_{8}: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0 & 0\\ L\_{H} - Y\_{S3} & X\_{S3} & 0 & -L\_{H}X\_{S3} \end{bmatrix} \tag{21}$$

If *P*<sup>1</sup> and *P*<sup>3</sup> are coplanar then the ranks of **M**<sup>7</sup> and **M**<sup>8</sup> must both be 1. It can be checked that this is the case for:

$$X\_{S1} = 0, \text{ and} \\ X\_{S3} = 0 \tag{21a}$$

Substituting Equation (21a) into Equation (11) causes factor *H*<sup>0</sup> to vanish, proving the singularity. As an example, for the numerical values *XE* = − √3 <sup>6</sup> *lp* mm, *ψ* = 0 rad, *θ* = 0 rad, the factor *F* vanishes. Figure 9a shows this singular configuration for the parallel robot, and Figure 9b shows *P*<sup>1</sup> and *P*<sup>3</sup> being coplanar.

**Figure 9.** Type II singularity of the 6-DOF parallel robot for SILS (Case 4—two faces of the characteristic tetrahedron are coplanar): (**a**) parallel robot pose; (**b**) characteristic planes.

In Case 5, one side and the base of the characteristic tetrahedron are coplanar [30]. There are three general configurations for the 3-R-PRR-PRS parallel robot that correspond to this case. The first of these general configurations is represented by *P*<sup>2</sup> and *Pm* being coplanar, whereas the second and third general configurations for this singularity are achieved when either *P*<sup>1</sup> or *P*<sup>2</sup> are coplanar with *Pm*. Considering the first case, the coefficient and augmented matrices are:

$$\mathbf{M}\_{9} : \begin{bmatrix} -L\_{V} + Z\_{S2} & 0 & -X\_{S2} \\ \mathbf{C}oef\_{X} & \mathbf{C}oef\_{Y} & \mathbf{C}oef\_{z} \end{bmatrix}, \mathbf{M}\_{10} : \begin{bmatrix} -L\_{V} + Z\_{S2} & 0 & -X\_{S2} & L\_{V}X\_{S2} \\ \mathbf{C}oef\_{x} & \mathbf{C}oef\_{y} & \mathbf{C}oef\_{z} & \mathbf{C}oef\_{d} \end{bmatrix} \tag{22}$$

It can be shown that both matrices **M**<sup>9</sup> and **M**<sup>10</sup> have rank 1 for:

$$\begin{aligned} X\_{S2} &= \frac{(Y\_{S2} - Y\_{S1})X\_{S1} + (Y\_{S1} - Y\_{S2})X\_{S2}}{Y\_{S1} - Y\_{S3}}, \text{ and} \\ Z\_{S1} &= \frac{(Y\_{S1} - Y\_{S3})Z\_{S2} + (Y\_{S2} - Y\_{S1})Z\_{S3}}{Y\_{S2} - Y\_{S3}} \end{aligned} \tag{22.2a}$$

Substituting Equation (22a) into Equation (11) causes factor *H*<sup>0</sup> to vanish. It is easy to find relationships that describe this singularity case when *P*<sup>1</sup> or *P*<sup>2</sup> are coplanar with *Pm*.

An example is given for the geometric parameters {*LH* = 1420 mm, *LV* = 1000 mm, *lp* = 260 mm}, and for the mobile platform coordinates {*XE* = 350 mm, *YE* = 750 mm, *ZE* = 200 mm, *ψ* = 0 rad, *ϕ* = 0 rad} (arbitrary chosen for the example purpose). Solving the factor *F* for the numerical values yields two real solutions {*θ* = 1.158 rad, *θ* = 1.9 rad}. Figure 10 illustrates this singularity for *θ* = 1.158 rad. Another example is shown for the mobile platform coordinates {*XE* = 350 mm, *YE* = 750 mm, *ZE* = 200 mm, *ψ* = 0 rad, *θ* = π/2 rad} and the computed angle for *ϕ* = 0.44 rad. In this example (Figure 11) *P*<sup>1</sup> and *Pm* are coplanar.

**Figure 10.** Type II singularity of the 6-DOF parallel robot for SILS (case 5—one face and the base of the characteristic tetrahedron are coplanar): (**a**) parallel robot pose; (**b**) *P*<sup>2</sup> and *Pm* are coplanar.

In Case 6, two sides and the base of the characteristic tetrahedron are coplanar [30]. For the 6-DOF parallel robot for SILS this case is impossible (due to the mechanism topology). Any two faces of the characteristic tetrahedron are coplanar if and only if the faces are also coplanar with the *YOZ* plane (Figure 2). This condition can be proven in two steps. In the first step, *P*1, *P*3, and *Pm* are assumed to be all coplanar. Consequently, the ranks of **M**<sup>3</sup> and **M**<sup>4</sup> (Equation (19)) must both be 1, which can be achieved if:

$$X\_{S1} = 0, \text{ and } X\_{S2} = 0, \text{ and} \\ X\_{S3} = 0 \tag{23}$$

It can be checked that Equation (23) is the only solution for which *P*1, *P*3, and *Pm* are all coplanar. This is also easy to see geometrically. The actuation axes of *q*<sup>1</sup> and *q*<sup>2</sup> (line contained in *P*1) and *q*<sup>5</sup> and *q*<sup>6</sup> (line contained in *P*3) are both included in the *YOZ* plane of the fixed coordinate system. If *P*<sup>1</sup> and *P*<sup>3</sup> are coplanar, then the actuation axis of *q*<sup>1</sup> and *q*<sup>2</sup> must be contained in *P*3, and reciprocally, the actuation axis of *q*<sup>5</sup> and *q*<sup>6</sup> must be contained in *P*1. Therefore, the planes *P*<sup>1</sup> and *P*<sup>3</sup> (and any other plane, e.g., *Pm*) are coplanar if they are coplanar with *YOZ*, the result is shown by Equation (23). In the second step, *P*1, *P*2, and *Pm* are assumed to be all coplanar. Consequently, the ranks of **M**<sup>5</sup> and **M**<sup>6</sup> (Equation (20)) must both be 1, which can be achieved if (again) the conditions from Equation (23) are met. It can be shown, by the same argument as above, that if the planes *P*1, *P*2, and *Pm* are coplanar, then they must be coplanar with *YOZ*, the result is shown by Equation (23). Since Equation (23) represents a (unique) solution for both cases (*P*1, *P*3, and *Pm* being coplanar and *P*1, *P*2, and *Pm* being coplanar), the conclusion is that if *P*1, *P*3, and *Pm* are coplanar, they must also be coplanar with *P*<sup>2</sup> (condition discussed in Case 8).

In Case 7, one side and the base of the tetrahedron are coplanar and the other two sides of the tetrahedron are also coplanar [30]. Considering all four characteristic planes, the coefficient and augmented matrices are:

$$\mathbf{M}\_{11}: \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0\\ -L\_V + Z\_{S2} & 0 & -X\_{S2} \\ L\_H - Y\_{S3} & X\_{S3} & 0 \\ \text{Coef}\_X & \text{Coef}\_Y & \text{Coef}\_z \end{bmatrix}, \begin{bmatrix} -Y\_{S1} & X\_{S1} & 0 & 0 \\ -L\_V + Z\_{S2} & 0 & -X\_{S2} & L\_V X\_{S2} \\ L\_H - Y\_{S3} & X\_{S3} & 0 & -L\_H X\_{S3} \\ \text{Coef}\_X & \text{Coef}\_Y & \text{Coef}\_z & \text{Coef}\_d \end{bmatrix} \tag{24}$$

The ranks of the matrices **M**<sup>11</sup> and **M**<sup>12</sup> is 2 (describing pairs of coplanar planes that intersect in a line), for:

$$X\_{S1} = 0, \text{ and} \\ X\_{S3} = 0, \text{ and } Z\_{S1} = L\_V, \text{ and } Z\_{S3} = L\_V \tag{24a}$$

Substituting Equation (26) in Equation (11) causes *H*<sup>0</sup> to vanish.

For the 3-R-PRR-PRS parallel robot, this case can only be achieved if *P*<sup>1</sup> is coplanar with *P*<sup>3</sup> and *P*<sup>2</sup> is coplanar with *Pm*. The factor *F* vanishes for the geometric values parameters {*LH* = 1420 mm, *LV* = 1000 mm, *lp* = 260 mm}, and for the mobile platform coordinates {*XE* = −75.05 mm, *YE* = 750 mm, *ZE* = 1000 mm, *ψ* = 0 rad*, θ* = 0 rad, *ϕ* = 0 rad}. This configuration is illustrated in Figure 12.

**Figure 12.** Type II singularity of the 6-DOF parallel robot for SILS (case 7—one face and the base of the characteristic tetrahedron are coplanar and the other two faces of the tetrahedron are also coplanar): (**a**) parallel robot pose; (**b**) characteristic planes.

In Case 8, all of the faces and the base of the characteristic tetrahedron are coplanar [30]. The coefficient and augmented matrices for this case are already shown in Equation (24). All four planes are coplanar if the ranks of the matrices **M**<sup>11</sup> and **M**<sup>12</sup> are both 1. This is achieved by setting:

$$X\_{S1} = 0, \text{ and } X\_{S2} = 0, \text{ and} \\ X\_{S3} = 0 \tag{25}$$

Substituting Equation (25) into Equation (11) causes factor *H*<sup>0</sup> to vanish. For the 3-R-PRR-PRS parallel robot, this singularity is achieved if {*XE* = 0 mm, *θ* = ±π/2 rad}. This configuration is illustrated in Figure 13.

**Figure 13.** Type II singularity of the 6-DOF parallel robot for SILS (case 8—all the faces and the base of the characteristic tetrahedron are coplanar): (**a**) parallel robot pose; (**b**) characteristic planes.

#### *4.3. Type III Singularities*

Since the determinant of the Jacobian matrix A is free of input parameters (i.e., it only depends on the geometric parameters and the outputs {*XE*, *YE*, *ZE*, *ψ*, *θ*, *ϕ*}), whereas the determinant of the Jacobian matrix B is free of output parameters (it depends only on the geometric parameters and the inputs {*q*1, *q*2, *q*3, *q*4, *q*5, *q*6}), it is feasible to assume that type III singularities may occur. However, as stated before, the type I singularities are easily avoidable in the design stage; hence it can be stated that the 6-DOF parallel robot for SILS will have no type III singularities.

#### **5. Geometric Optimization Algorithm**

The 6-DOF parallel robot for SILS was geometrically optimized with respect to an operational workspace defined to comply with the medical task. Several optimization criteria were defined, and based on these criteria, appropriate input data were defined for the optimization algorithm.

#### *5.1. Optimization Criteria*

The following criteria (with the following importance order *Criterion 1* is more important than *Criterion 2*, which is equally important as *Criterion 3*) were defined with respect to the SILS task:

• *Criterion 1—Operational workspace.* The proposed operational workspace is a cylinder shape (see Section 3). Furthermore, the intervals for the orientation angles of the endoscopic camera must be (for the entire operational workspace):

$$[\text{0}, \theta, \text{\textquotedblleft}, \text{\textquotedblright} \in [-20 \, 20][^{\circ}] \text{\textquotedblright}] \tag{26}$$

• *Criterion 2—Footprint.* To minimize the robot footprint, the following conditions were imposed:

$$L\_H < 600 \text{ [mm]}, \; L\_V < 600 \text{ [mm]} \tag{27}$$

• *Criterion 3—Dexterity.* The robot should have adequate performance with respect to dexterity. This work uses an approximation of the Global Conditioning Index (GCIa) to assess the 6-DOF parallel robot dexterity which is computed as [16]:

$$\text{GCIa} = \frac{\sum\_{i=1}^{n} \frac{1}{k\_i}}{n} \tag{28}$$

where *ki* represents the condition number [16] of the *i*th point from the (discrete generated) operational workspace, which is computed using Equation (29), and *n* is the number of points within the operational workspace. For a given point, the condition number is:

$$k = \|\mathbf{J}\| \parallel \mathbf{J}^{-1} \|\tag{29}$$

where - · represents the norm of the Jacobian matrix **J**, which is computed in this work with:

$$\|\mathbf{J}\|\| = \sqrt{\text{trace}(\mathbf{J}\mathbf{J}^T)}\tag{30}$$

where **J** is computed using the input and output Jacobian matrices (Equation (6)), as follows:

$$\mathbf{J} = -\mathbf{B}^{-1} \cdot \mathbf{A} \tag{31}$$

An important note is that condition number *k* is a measure of dexterity at one specific robot configuration, and the lower its value, the better (a minimum value of 1 represents isotropy [16]). For the approximation of GCI, the inverse of *k* is used, which is bounded by 0 and 1 (in this case the higher the better). GCIa is a measure of the average of the inverse of *k* computed from all points within the operational workspace. However, due to the drawbacks of the condition number and the GCI (when the robot has translation and rotational motions), the values of GCIa (i.e., Criterion 3) will be used as a guiding value, not as a definite decision parameter.

#### *5.2. Geometric Optimization Algorithm Description*

The optimization algorithm is presented next in pseudocode (Algorithm 1).

The test operational workspace WS\_DATA is defined (1) and is used in future steps to determine the validity of the possible optimized solutions. Note that the proposed algorithm yields solutions (stacked in SOLS(M)) for a single parallel robot pose (Cartesian coordinates and orientation) within the desired cylindrical operational workspace. These solutions must be subsequently validated for the entire WS\_DATA. The objectives OBJ of optimization (2) are to minimize the seven geometric parameters of the parallel robot subject to the kinematic constraint *C*, which are evaluated with values for the mobile platform coordinates within the operational workspace. The numerical intervals for the optimization process are defined (3); L defines intervals for the robot geometric parameters (for the optimization objectives), whereas CYL ensures that the Cartesian coordinates (for the optimum solutions) are within the desired cylinder, and ANG ensures that the mobile platform orientations are within the proper ranges. Note, CYL and ANG are different from WS\_DATA; CYL and ANG are used by the gamultiobj function (from Matlab [31]) to ensure that the objectives are always minimized with respect to robot poses within the operational workspace, whereas (as pointed out before) WS\_DATA is used to evaluate (in a discrete manner) if the generated solutions are valid for the entire operational workspace. The optimization is performed (4) iteratively until the solutions set SOLS(M) fills as best as possible the operational workspace (considering, of course, the Cartesian coordinates and the orientations of the mobile platform). Then, a solution subset SOL(K) (for the minimized geometric parameters) is defined for the optimized solutions that are valid for the entire WS\_DATA (i.e., geometric parameters that yield real solutions for all WS\_DATA). If no such subset exists, (3) is repeated. Then, the solution subset is analyzed to determine the ranges of motion Q\_RANGE(K) for the active joints *qi* (*i* = 1, ... ,6) and if there exist ranges that yield feasible mechanisms (without crossing the actuation axes of the active joints, etc.), the solutions (yielding the adequate ranges) are subsequently saved in FINAL(H). If there are no adequate ranges for the active joints (to yield feasible mechanisms), (3) is repeated. The GCI is computed for all of the remaining solutions in FINAL(H), and the design solution is defined (not automatically but by the robot designers).

**Algorithm 1**. The optimization algorithm.

#### **0. BEGIN OPTIMIZATION**

#### **1. Define the test operational workspace**


#### **2. Define objective functions and constraints**


#### **3. Input the dimension intervals for the optimization process**


#### **4. Minimize robot dimensions**


#### **6. The Optimized 6-DOF Parallel Robot for SILS**

#### *6.1. The Geometric Optimization*

The parallel robot was optimized using the algorithm presented in Section 5.2 based on the following inputs:

• The test workspace data (WS\_DATA) was defined based on a cylinder with:

$$\begin{aligned} \text{C} \left( X\_{\text{ $\mathcal{C}$ }} = 290, Y\_{\text{ $\mathcal{C}$ }} = 415, Z\_{\text{ $\mathcal{C}$ }} = -75 \right) \text{[mm]}\\ R = 75 \text{ [mm]}, h = 75 \text{ [mm]} \end{aligned} \tag{32}$$

where *C* is the center of the base circle (with respect to the fixed coordinate system of the robot), *R* is the circle's radius, and *h* is the cylinder height. WS\_DATA was generated by discretizing the cylinder and adding the orientations for the mobile platform, based on the following:

$$E\_{i} = \begin{cases} X\_{El} = X\_{\complement} + R\_{\complement} \cos(a) \\ Y\_{El} = Y\_{\complement} + R\_{\complement} \sin(a) \\ Z\_{El} = H\_{\complement} & H\_{\complement} \in [-75, 0] \text{[mm]}, \text{increment} = 15 \text{ [mm]} \\ \Psi\_{l} = \emptyset & \text{\$a \in [0, 360]\$^{\circ}\$/s}, \text{increment} = 10 \text{ [\$^{\circ}\$]} \\ \theta\_{l} = \theta & \text{\$\psi\$, \$\theta\$, \$\eta \in [-20, 20]\$^{\circ}\$/s\$, increment} = 2.5 \text{ [\$^{\circ}\$]} \end{cases} \tag{33}$$

where *Ei* represents the *i*th mobile platform configuration within the operational workspace. WS\_DATA contained approximately 9.78 million unique sets of mobile platform coordinates (a better resolution was not achievable due to computation power limitations). Figure 14 illustrates the point cloud defining the discrete operational workspace (only in Cartesian coordinates).

**Figure 14.** The generated discrete workspace (WS\_DATA) for the SILS robotic systems (only the Cartesian coordinates): (**a**) isometric view; (**b**) *Z* axis view.

• The input intervals L for the geometric parameters for the 6-DOF SILS robot where:

$$\begin{array}{l} l\_1 \in [140, 200] [\text{mm}], l\_2 \in [350, 600] [\text{mm}], l\_3 \in [200, 350] [\text{mm}], l\_4 \in [200, 350] [\text{mm}],\\ l\_P \in [200, 250] [\text{mm}], l\_H \in [500, 600] [\text{mm}], l\_V \in [200, 600] [\text{mm}] \end{array} \tag{34}$$

Furthermore, the CYL intervals were:

$$\mathcal{R} \in [0, \mathsf{75}][\text{mm}], H \in [-\mathsf{75}, 0][\text{mm}], u \in [0, 360][^\circ] \tag{35}$$

and the ANG intervals:

$$\forall \psi \in [-20, 20][^{\circ}], \theta \in [-20, 20][^{\circ}], \varphi \in [-20, 20][^{\circ}] \tag{36}$$

• The objective functions OBJ to be minimized (to reduce the size of the robot for a given operational workspace) and the constraints *C* were:

$$\begin{aligned} \text{OBJ} &= [l\_p, L\_H, L\_V, l\_1, l\_2, l\_3, l\_4], \\ \text{C} &= [X\_E, Y\_E, Z\_E, h\_1, h\_2, h\_3, h\_4, h\_5, h\_6] \end{aligned} \tag{37}$$

where *hi (i* = 1, . . . ,6) are due to Equation (5):

$$\begin{cases} \begin{aligned} &h\_1: \frac{1}{l\_1 + l\_2} \left[ \left(l\_1 + l\_2\right)q\_2 - 2l\_1\sqrt{-X\_{S1}^2 - Y\_{S1}^2 + \left(l\_1 + l\_2\right)^2} \right] - q\_1 = 0 \\ &h\_2: \sqrt{\left(l\_1 + l\_2\right)^2 - X\_{S1}^2 - Y\_{S1}^2} + Z\_{S1} - q\_2 = 0 \\ &h\_3: \frac{1}{l\_1 + l\_3} \left[ \left(l\_1 + l\_3\right)q\_4 + 2l\_1\sqrt{-X\_{S2}^2 + \left(l\_1 + l\_3\right)^2 - \left(L\_V - Z\_{S2}\right)^2} \right] - q\_3 = 0 \\ &h\_4: Y\_{S2} - \sqrt{\left(l\_1 + l\_3\right)^2 - X\_{S2}^2 - \left(L\_V - Z\_{S2}\right)^2} - q\_4 = 0 \\ &h\_5: \frac{1}{l\_1 + l\_4} \left[ \left(l\_1 + l\_4\right)q\_6 - 2l\_1\sqrt{-X\_{S3}^2 + \left(l\_1 + l\_4\right)^2 - \left(L\_H - Y\_{S3}\right)^2} \right] - q\_5 = 0 \\ &h\_6: \sqrt{\left(l\_1 + l\_4\right)^2 - X\_{S3}^2 - \left(L\_H - Y\_{S3}\right)^2} + Z\_{S3} - q\_6 = 0 \end{aligned} \end{cases} \tag{38}$$

and:

$$\begin{array}{l} X\_{\rm E} = X\_{\rm C} + R \cos(\beta), \\ Y\_{\rm E} = Y\_{\rm C} + R \sin(\beta), \\ Z\_{\rm E} = H \end{array} \tag{39}$$


**Figure 15.** Point cloud spanned by the solution set SOLS(m) (m = 1, ... ,28,568): (**a**) isometric view; (**b**) *Z* axis view.

**Figure 16.** Mobile platform coordinates distribution density for the solution set SOLS(m) (m = 1, ... , 28,568). **Table 1.** Results from the geometric optimization algorithm.


**Table 2.** Active joints ranges for the design solution.


Other authors used the NSGA-II algorithm [37] for multi-objective optimization problems (see, e.g., [38]) due to its computational efficiency and algorithm stability. Furthermore, there is no guarantee that the optimization algorithm used in this work yields a global optimum solution. However, based on multiple runs of the optimization algorithm (which yielded very similar results), the conclusion that the resulting design solutions are at least stable local ones is not implausible.

#### *6.2. The Optimized Model of the 6-DOF Parallel Robot*

Figure 17 shows the CAD model of the design solution of the 6-DOF parallel robot for SILS. Figure 17a shows the proposed relative position between the robotic system and the patient. Figure 17b shows the CAD model of the 6-DOF parallel robot with its actuators. The actuator positions are an initial concept that are subject to change in the later design stages based on the technical requirements and constraints.

**Figure 17.** CAD model of the optimized version of the parallel robotic system for SILS: (**a**) relative position between the robotic system and the patient; (**b**) the 6-DOF parallel robotic system for SILS.

#### *6.3. The Singularities of the Optimized Model of the 6-DOF Parallel Robot*

The output singularities for the optimized model were studied by slicing the 6-dimensional (singular) configuration hyperspace, i.e., the numerical values for the angles *ψ*, *θ*, and *ϕ* were substituted into the singularity factor *F* (Equation (A1)—Appendix A), and the implicit surfaces (for *XE*, *YE*, and *ZE*) were plotted in Cartesian space.

Figure 18a illustrates the implicit surfaces for the given values of angles *ψ*, *θ*, and *ϕ* within the interval [–20, 20] [◦] using an increment of 2◦. Note that not all orientations defined by *ψ*, *θ*, and *ϕ* were associated with a color, but rather only the *ψ* angle was used in the surface color definition to avoid using a large number for surface colors (9261 colors were needed if each surface was assigned with a color). One important note is that no singularity surface intersects the operational workspace cylinder. Furthermore, these surfaces describe the output singularities without considering the inverse kinematic model. A second computation was made by considering the inverse kinematic model, i.e., the points on the surface were checked to yield real solutions for {*q*1, *q*2, *q*3, *q*4, *q*5, *q*6}, and are also within the intervals defined in Table 2. Figure 18b illustrates the results of this computation as implicit singularity surfaces. These surfaces show roughly where a singularity may occur for the 6-DOF parallel robot for SILS.

**Figure 18.** Output singularity surfaces: (**a**) without the inverse kinematic model constraints; (**b**) with the inverse kinematic model constraints.

Some specific singularity surfaces (arbitrarily chosen) are presented next for better detail. Figure 19 shows the surface for the angle values {*ψ* = 0, *θ* = 0, *ϕ* = 0} [◦], illustrating both the output singularity surface (Figure 19a) and the surface which degenerates after applying the inverse kinematic model constraints (Figure 19b). Figure 20 illustrates a possible singular configuration for the surface presented in Figure 19b (which is an output singularity of Case 5). Figures 21 and 22 show the surfaces for the angle values {*ψ* = 20, *θ* = 0, *ϕ* = 0} [◦] and {*ψ* = 20, *θ* = 20, *ϕ* = 20} [◦], respectively.

Following the singularity analysis for the optimized model, a conjecture was proposed: Even though there exist output singularities in the robot workspace, there are none in the operational workspace. Based on this, the factor *F* (Equation (A1)—Appendix A) must be implemented in the robot control as an avoidance function to (i) avoid losing robot control in the positioning stage (when the robot positions the surgical instruments at the insertion points) and (ii) to avoid damaging the robot (e.g., in homing sequences or laboratory tests). Factor *F* can be implemented in the robot Programable Logic Controller (PLC) in the motion control functions and tested during the robot motion sequences, when (ideally) *F* becomes zero or (more often) changes its sign between two consecutive points if a singular pose is reached and the robot will stop. As these cases can appear only outside the operational workspace, when the instruments are not inserted in the body, the user can then move the robot using an alternative trajectory. When a Point to Point (PTP) algorithm is used, the entire trajectory can be checked before the actual robot motion and validated (using the *F* factor value as discussed before).

**Figure 19.** Output singularity surface for {*ψ* = 0, *θ* = 0, *ϕ* = 0} [◦]: (**a**) without the inverse kinematic model constraints; (**b**) with the inverse kinematic model constraints.

**Figure 20.** Output singularity configuration for the angle values {*ψ* = 0, *θ* = 0, *ϕ* = 0}.

**Figure 21.** Output singularity surface for {*ψ* = 20, *θ* = 0, *ϕ* = 0} [◦]: (**a**) without the inverse kinematic model constraints; (**b**) with the inverse kinematic model constraints.

**Figure 22.** Output singularity surface for {*ψ* = 20, *θ* = 20, *ϕ* = 20} [◦]: (**a**) without the inverse kinematic model constraints; (**b**) with the inverse kinematic model constraints.

#### *6.4. Numerical Simulations*

The kinematic models of the 6-DOF parallel robot for SILS (the 3-R-PRR-PRS parallel robot) were derived in [27]. Considering the inverse kinematic models:

$$\begin{aligned} \dot{\mathbf{Q}} &= -\mathbf{B}^{-1} \cdot \mathbf{A} \cdot \dot{\mathbf{X}} \\ \ddot{\mathbf{Q}} &= -\mathbf{B}^{-1} \cdot \left( \dot{\mathbf{A}} \cdot \dot{\mathbf{X}} + \mathbf{A} \cdot \ddot{\mathbf{X}} + \dot{\mathbf{B}} \cdot \dot{\mathbf{Q}} \right) \end{aligned} \tag{40}$$

With the Jacobian matrices, **A** and **B**, computed from Equation (7) and the inverse geometric model from Equation (5). An input trajectory was provided for the mobile platform coordinates and their velocity . **<sup>Q</sup>** and acceleration .. **Q** vectors, respectively. The trajectory was defined as a sequence of motions in accordance with the medical protocol:


Figure 23 shows the time-dependent diagrams for the input trajectories, whereas Figure 24 shows the time-dependent diagrams for the active joints (computed via the inverse kinematic models). The results show no spikes and large (inadequate) values in the velocity and acceleration fields (which represents advantages in the further design stages when actuators must be chosen) and no violation of the active joint boundaries shown in Table 2.

**Figure 23.** Time history diagrams of the input trajectory (position—green, velocity—blue, accelerations—red).

**Figure 24.** Time history diagrams of the active joints (position—green, velocity—blue, accelerations—red).

#### **7. Conclusions**

This paper presented a singularity analysis using the vanishing points of the determinants of the Jacobian matrices and the geometric optimization of a 6-DOF parallel robot for SILS. Numerical analysis for the singularities, where slices of the 6-dimensional singularity hyperspace were studied for imposed orientation angles (correlated with the SILS task), showed that no singularity surface intersects the cylindrical operational workspace. The conjecture is that there are no singularities in the operational workspace (within the boundary of the maximum orientation values for the SILS task). However, the numerical analysis of the singularities also showed that there exist singularity configurations outside the operational workspace. Consequently, the singularity factor (of det(A)) must be implemented in the robotic system control to avoid these configurations. Numerical simulations based on the optimized parallel robot for SILS were performed to validate the proposed solution for the medical task.

Further work is intended for the next development stages of the robotic system, such as designing (prototyping and CAD design), simulating (motion simulations and finite element analysis), and testing the experimental model in laboratory medically-relevant conditions.

**Author Contributions:** Conceptualization, D.P. and I.B.; data curation, A.P., P.T., N.C., I.A., C.R. and B.G.; formal analysis, D.P., B.G. and C.V.; funding acquisition, D.P.; investigation, I.B., A.P., P.T. and C.V.; methodology, I.B. and C.V.; supervision, D.P.; validation, D.P.; visualization, P.T.; writing—original draft, I.B., A.P. and C.V.; writing—review & editing, D.P., P.T. and B.G. All authors have read and agreed to the published version of the manuscript.

**Funding:** This work was supported by a grant of the Ministry of Research, Innovation and Digitization, CNCS/CCCDI—UEFISCDI, project number PCE171/2021—Challenge within PNCDI III, and project POCU/380/6/13/123927–ANTREDOC, "Entrepreneurial competencies and excellence research in doctoral and postdoctoral studies programs", a project co-funded by the European Social Fund through the Human Capital Operational.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **Appendix A**

```
F = 24X3
           Ec2
             ψc2
                ϕsθ + 12XEY2
                             Ec2
                               ψsθ + 12XEY2
                                             Ec2
                                               ϕsθ − 12LH X2
                                                             Ecϕsϕ + 24X2
                                                                          EYEcϕsϕ − 12X3
                                                                                          Ec2
                                                                                            ψsθ − 12X3
                                                                                                       Ec2
                                                                                                         ϕsθ + 12X3
                                                                                                                    Esθ
    +24X3
          Ecϕsϕcψsψ − 12X2
                            EYEc2
                                 θ cϕsϕ − 12LH XEYEc2
                                                      ψsθ + 12LH X2
                                                                    Ecψsψsθ − 12LH XEYEc2
                                                                                            ϕsθ − 24X2
                                                                                                      EYEcψsψsθ
    +2l
        2
        pLVc3
             θ c2
               ϕcψ − 2l
                        2
                        pZEc3
                             θ c2
                               ϕcψ − 24XEY2
                                             Ec2
                                               ψc2
                                                  ϕsθ + 3lpLH LVc3
                                                                  ϕcθ + 24LH X2
                                                                                Ec2
                                                                                  ψcϕsϕ − 3lpLH ZEc3
                                                                                                      ϕcθ + 6LH X2
                                                                                                                  Ec2
                                                                                                                     θ cϕsϕ
    −12LV X2
             Ec2
                ϕcψcθ − 48X2
                             EYEc2
                                  ψcθ sθ + 12X2
                                              EZEc2
                                                    ϕcψcθ + 4
                                                              √3lpLHYEc3
                                                                          θ c2
                                                                            ψsψcϕ + 2
                                                                                      √3lpLH LVc2
                                                                                                   ψc2
                                                                                                     θ sθ sϕ
    +8
       √3lpLH XEc2
                    ψc2
                      ϕsψcθ sθ − 2
                                  √3lpLH ZEc2
                                               ψc2
                                                 θ sθ cϕsϕ − 4
                                                             √3lpLVYEc2
                                                                         ψc2
                                                                            θ sθ cϕsϕ − 4
                                                                                        √3lpX2
                                                                                               Ecψcθ sθ − √3l
                                                                                                              2
                                                                                                              pLHc3
                                                                                                                   ϕcθ sθ
    +4
       √3lpX2
              Ec3
                 ψcθ sθ − 4
                          √3lpY2
                                 Ec3
                                   ψcθ sθ − 2
                                             √3lpLV XEc2
                                                         ϕc2
                                                            θ + 2
                                                                 √3XEZEc2
                                                                            ϕc2
                                                                              θ + 6
                                                                                   √3LH X2
                                                                                           Ecϕcθ sθ − √3lpLH XEc2
                                                                                                                   ϕsψcθ sθ
    +8
       √3lpXEYEc2
                   ψsψcθ sθ + 2
                               √3lpXEYEc2
                                            ϕsψcθ sθ + 5
                                                        √3lpLH XEcψcθ cϕsϕ + 2
                                                                                 √3l
                                                                                     2
                                                                                     pLHc2
                                                                                          ϕsϕcψsψcθ − 2
                                                                                                         √3lpLH XEc3
                                                                                                                     θ cψcϕsϕ
    +4
       √3lpLVYEc2
                   ϕc2
                      θ cψsψ + 16√3lpXEYEc3
                                             ψcθ cϕsϕ − 8
                                                         √3lpX2
                                                                Ec2
                                                                   ψcθ sθ cϕsψ + 8
                                                                                 √3lpY2
                                                                                        Ec2
                                                                                          ψcθ sθ cϕsψ − 4
                                                                                                         √3lpXEZEc2
                                                                                                                     ϕc2
                                                                                                                       θ cψsψ
    +4
       √3lpXEYEc3
                   θ cψcϕsϕ − 4
                                √3lpLH XEc2
                                            ψsψcθ sθ − 10√3lpXEYEcψcθ cϕsϕ + 4
                                                                                  √3lpLH XEc3
                                                                                               ψc3
                                                                                                 θ cϕsϕ − √3l
                                                                                                              2
                                                                                                              pLHc3
                                                                                                                   θ c2
                                                                                                                      ϕsϕcψsψ
    −4
       √3lpY2
              Ec3
                θ c2
                  ψsψcϕsϕ − 8
                               √3lpLHYEc3
                                           ψc2
                                              ϕcθ sθ − 2
                                                       √3lpLH LVc2
                                                                    ϕc2
                                                                      θ cψsψ − 8
                                                                                √3lpLH XEc3
                                                                                             ψcθ cϕsϕ + 2
                                                                                                         √3lpLH ZEc2
                                                                                                                      ϕc2
                                                                                                                        θ cψsψ
    +4
       √3lpLHYEc2
                   ϕcψcθ sθ + 4
                               √3lpLV XEc2
                                            θ sθ cϕsϕcψsψ − 4
                                                             √3lpXEZEc2
                                                                         θ sθ cϕsϕcψsψ + 4
                                                                                          √3lpLV XEc2
                                                                                                      ψc2
                                                                                                         ϕc2
                                                                                                           θ
    −4
       √3lpXEZEc2
                    ψc2
                      ϕc2
                        θ + 4
                              √3lpLHYEc3
                                          ψcθ sθ − √3l
                                                      2
                                                      pLHc2
                                                            ψcϕcθ sθ + 6
                                                                        √3lpX2
                                                                               Ec2
                                                                                 ϕcψcθ sθ − 4
                                                                                             √3lpY2
                                                                                                    Ec2
                                                                                                      ϕcψcθ sθ
    −6
       √3LH LV XEc2
                     θ cψcϕ + 6
                               √3LH XEZEc2
                                             θ cψcϕ + 2
                                                       √3lpX2
                                                              Ecψcθ cϕsϕ + 2
                                                                            √3l
                                                                                2
                                                                                 pLHc3
                                                                                      ϕc2
                                                                                        ψcθ sθ − 8
                                                                                                  √3lpX2
                                                                                                         Ec3
                                                                                                           ψc2
                                                                                                              ϕcθ sθ
    +8
       √3lpY2
              Ec3
                ψc2
                   ϕcθ sθ − 16√3lpXEYEc2
                                          ψc2
                                            ϕsψcθ sθ + 4
                                                        √3lpYEZEc2
                                                                    ψc2
                                                                      θ cϕsϕsθ − 8
                                                                                  √3lpLHYEc2
                                                                                               ψsψcϕcθ sθ − 6lpLH LVc2
                                                                                                                      ϕsϕcψsψcθ sθ
    +6lpLH ZEc2
                ϕsϕcψsψcθ sθ + 3lpLH LVc3
                                          ϕc3
                                             θ c2
                                               ψ − 3lpLH ZEc3
                                                             ϕc3
                                                                θ c2
                                                                  ψ − 2l
                                                                        2
                                                                        pXEc2
                                                                              ϕc2
                                                                                θ c2
                                                                                  ψsθ − 6lpLH LVc3
                                                                                                   ϕc2
                                                                                                     ψcθ − 6lpLH LVc3
                                                                                                                      θ c2
                                                                                                                        ψcϕ
    +6lpLH ZEc3
                ϕc2
                   ψcθ + 6lpLH ZEc3
                                   θ c2
                                     ψcϕ − 12LH X2
                                                    Ec2
                                                      ψc2
                                                        θ cϕsϕ − l
                                                                  2
                                                                  pLHc2
                                                                       ψc2
                                                                          θ cϕsϕ + 24X2
                                                                                       EYEc2
                                                                                            ψc2
                                                                                              θ cϕsϕ + 2l
                                                                                                         2
                                                                                                         pYEc2
                                                                                                              ψc2
                                                                                                                θ cϕsϕ
    −12X3
          Ec2
            θ cψsψcϕsϕ + 24LH XEYEc2
                                       ψc2
                                         ϕsθ − 24LH X2
                                                       Ec2
                                                         ϕsθ cψsψ + 48X2
                                                                        EYEc2
                                                                              ϕsθ cψsψ + 3lpLH LVc2
                                                                                                   ψcϕcθ + 6LH LV XEc2
                                                                                                                        ϕsψcθ
    −3lpLH ZEc2
                ψcϕcθ − 6LH XEZEc2
                                     ϕsψcθ − 12LV XEYEc2
                                                          ϕsψcθ − 24XEY2
                                                                         Ecψsψcθ sθ + 12XEYEZEc2
                                                                                                   ϕsψcθ − 12LV X2
                                                                                                                   Esψcϕsϕcθ sθ
    +12X2
          EZEsψcϕsϕcθ sθ + 24LH XEYEcψsψcϕsϕ − 3lpLH XEc3
                                                               ϕc2
                                                                 θ sθ sψ + l
                                                                           2
                                                                           pLHc2
                                                                                ϕc2
                                                                                  θ sθ cψsψ − 2l
                                                                                               2
                                                                                               pYEc2
                                                                                                    ϕc2
                                                                                                       θ sθ cψsψ
    −3lpLH XEc2
                θ c2
                   ϕsϕsψ + 12XEY2
                                  Ec2
                                     θ cψsψcϕsϕ − 2l
                                                    2
                                                    pXEc2
                                                          θ cψsψcϕsϕ + 6lpLH XEc2
                                                                                  θ sθ cψcϕ − 12LH XEYEc2
                                                                                                         θ cψsψcϕsϕ
    −6LH LV XEcθ sθ cϕsϕcψ + 6LH XEZEcθ sθ cϕsϕcψ + 12LV XEYEcθ sθ cϕsϕcψ − 12XEYEZEcθ sθ cϕsϕcψ
                                                                                                                                             (A1)
```
#### **References**


## *Article* **Pick–and–Place Trajectory Planning and Robust Adaptive Fuzzy Tracking Control for Cable–Based Gangue–Sorting Robots with Model Uncertainties and External Disturbances**

**Peng Liu 1,2,\*, Haibo Tian 1, Xiangang Cao 1, Xinzhou Qiao 1, Li Gong 1, Xuechao Duan 2, Yuanying Qiu <sup>2</sup> and Yu Su <sup>3</sup>**


**Abstract:** A suspended cable–based parallel robot (CBPR) composed of four cables and an end–grab is employed in a pick–and–place operation of moving target gangues (MTGs) with different shapes, sizes, and masses. This paper focuses on two special problems of pick–and–place trajectory planning and trajectory tracking control of the cable–based gangue–sorting robot in the operation space. First, the kinematic and dynamic models for the cable–based gangue–sorting robots are presented in the presence of model uncertainties and unknown external disturbances. Second, to improve the sorting accuracy and efficiency of sorting system with cable–based gangue–sorting robot, a four-phase pick–and–place trajectory planning scheme based on S-shaped acceleration/deceleration algorithm and quintic polynomial trajectory planning method is proposed, and moreover, a robust adaptive fuzzy tracking control strategy is presented against inevitable uncertainties and unknown external disturbances for trajectory tracking control of the cable–based gangue–sorting robot, where the stability of a closed-loop control scheme is proved with Lyapunov stability theory. Finally, the performances of pick–and–place trajectory planning scheme and robust adaptive tracking control strategy are evaluated through different numerical simulations within Matlab software. The simulation results show smoothness and continuity of pick–and–place trajectory for the end–grab as well as the effectiveness and efficiency to guarantee a stable and accurate pick–and–place trajectory tracking process even in the presence of various uncertainties and external disturbances. The pick–and–place trajectory generation scheme and robust adaptive tracking control strategy proposed in this paper lay the foundation for accurate sorting of MTGs with the robot.

**Keywords:** cable–based parallel robot; gangue sorting robot; pick–and–place operations; trajectory planning; tracking control; robustness

#### **1. Introduction**

Robotic systems have played an increasingly important role in the intelligent activity of coal mining. One practical and important area of application for robotic systems is in the intelligent identification and roboticized separation of coals and gangues with the machine vision system [1]. The separation of gangues from coals is an extremely critical link for the rational utilization of coal resources. cable–based parallel robots (CBPRs), which have a number of desirable properties, such as simple structure, heavy payload capabilities, large workspace, low energy consumption, and so on [2–4], have been widely used in astronomical observation [5], aerial photography [6], multiple mobile cranes [7], rehabilitation and training [8], and wind tunnel experiments [9]. There has been plenty of prior work in the aspects of workspace generation and analysis [10–12], stability evaluation and stability sensitivity analysis [1,13,14], cable tension optimal distribution [15–17],

**Citation:** Liu, P.; Tian, H.; Cao, X.; Qiao, X.; Gong, L.; Duan, X.; Qiu, Y.; Su, Y. Pick–and–Place Trajectory Planning and Robust Adaptive Fuzzy Tracking Control for Cable–Based Gangue–Sorting Robots with Model Uncertainties and External Disturbances. *Machines* **2022**, *10*, 714. https://doi.org/10.3390/ machines10080714

Academic Editors: Zhufeng Shao, Dan Zhang and Stéphane Caro

Received: 18 July 2022 Accepted: 19 August 2022 Published: 20 August 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

optimization design [18–20], and so on. The most remarkable characteristic of CBPRs is that it employs flexible cables instead of rigid links, while the main advantage of the robots is their high load-carrying capacity, which makes the robots suitable to be employed in pick–and–place task of the moving target gangues (MTGs). The cable–based parallel robots, according to the number of cables and degrees of freedom of the end-effector, are classified into redundant actuated CBPRs and underactuated CBPRs [21]. It should be noticed that redundant actuated CBPRs are more appropriate than underactuated ones for accurate pick–and–place operations of the heavy loads, where a high payload-to-weight ratio and a high positioning accuracy are required. Therefore, a redundantly cable–based gangue–sorting robot with an end–grab is supposed to perform pick–and–place operation of MTGs with different shapes, sizes and masses. The track, approach, pick, carry, and place operation of MTGs for the end–grab must be investigated firstly in order to accomplish the separation of coals and gangues.

Generally speaking, there inevitably are frictions between the winches and the cables that are generally time-varying and nonlinear, and therefore, the cable–based gangue– sorting robots have a complicated dynamic model, including frictional uncertainties, modeling uncertainties, and external disturbances. Similarly, the total mass of the unloaded and loaded end–grab may also change while the robot performs pick–and–place operations of MTGs. The robot in this application consists of two coupled subsystems, namely the cable–based architecture and the end–grab. Lastly, it should be pointed out that the robot controller must ensure all the cable tensions are always positive because the cables can only pull the end–grab but not push it. Consequently, the pick–and–place trajectory planning and trajectory tracking control of the robot are confronted with additional problems beyond other cable–based parallel robots.

#### *1.1. Pick–and–Place Trajectory Planning*

The pick–and–place trajectory planning problem of the cable–based gangue–sorting robot is a fundamental one, and it is finding a smooth and continuous trajectory from a starting position to a desired terminal position within the workspace of the robot. The aim of trajectory planning is to generate the input for the control system of the cable– based gangue–sorting robot to perform pick–and–place operation of MTGs by smooth and continuous motion of the end–grab. Thus far, there are also many publications on the trajectory planning for CBPRs. Qian [22] proposed a new trajectory planning method based on the improved quintic B-splines curves for a 3-DOF CBPR, and furthermore, the effectiveness of this method was verified through the experiments. Zhao et al. [23] presented point-to-point trajectory planning for UCPR with variable angles and height cable mast by using three algebraic methods, while the effectiveness and feasibility of the method were validated with numerical simulation and experiments. The improved rapidly exploring random tree method was proposed to address moving obstacle avoidance for CDPRs, and the suggested method was verified with the experiment [24]. Jiang et al. [25] proposed a point-to-point dynamic trajectory planning technique for reaching a series of poses with a six-DOF cable-suspended parallel robot. Hwang et al. [26] presented a scheme to suppress unwanted oscillatory motions of the payload of a four-cable-driven CDPR based on a zero-vibration input-shaping scheme, and the advantage of the proposed scheme is that it is possible to generate an oscillation-free trajectory based on a ZV inputshaping scheme, and moreover, a series of computer simulations and experiments to verify the effectiveness of the proposed method were conducted for three-dimensional motions of a CBPR with four cables. A smooth trajectory planning algorithm to enhance the smoothness of the trajectory when used in rehabilitation training was proposed for a cabledriven waist rehabilitation robot by employing an improved quintic non-uniform rational B-splines [27]. As demonstrated in [28], a novel methodology for the identification of the inertial parameters of the end-effector, based on the use of internal-dynamics equations and free-motion excitations, was proposed for the underactuated cable-driven parallel robots, where the optimal free-motion trajectories were investigated to obtain optimal

identification results. In addition, in ref. [29], a general framework for the planning of point-to-point motions that extend beyond the static workspace was presented for a sixdegree-of-freedom cable-suspended parallel robot, and furthermore, the effectiveness of the proposed method was verified through simulations. Furthermore, in [30], the design and experimental validation of a novel three-DOF pendulum-like cable-driven robot capable of executing point-to-point motions by leveraging partial feedback linearization control and on-line trajectory planning based on adaptive frequency oscillators were presented. The research on the trajectory planning for CBPRs, generally speaking, mainly focuses on trajectory planning in either cable space or Cartesian space. The trajectory planning in the Cartesian space can intuitively obtain the end-effector trajectory for CBPRs. Different from other types of CBPRs, the trajectory generation of the end–grab for the pick–and–place operations of MTGs must be determined according to the movement characteristics of MTGs, the location of the gangue recovery bin, and optimal tension condition of the cables in the workspace of the robots. As a result, planning and generating the end–grab trajectory for the cable–based gangue–sorting robot in Cartesian space is the major objective under consideration in this paper, and furthermore, a four-stage trajectory planning scheme of the end–grab is proposed.

#### *1.2. Pick–and–Place Trajectory Tracking Control*

As mentioned above, pick–and–place trajectory tracking control of the cable–based gangue–sorting robots is a challenging problem. Moreover, it is well–known that in practice, the control system design for CBPRs with model uncertainties and external disturbances, to the extent of the authors' knowledge, is also a challenging task, and it has attracted more attention recently [31–34]. In order to reduce and eliminate the effect of nonlinear uncertainties and external disturbances on the controller of the robots, a few of approaches for CBPRs are presented, such as nonlinear adaptive control, sliding mode control, robust model predictive control, time-delay control, computed torque control, fuzzy logic control, and so on [35–39]. Izadbakhsh et al. [40] proposed a robust adaptive controller for cabledriven parallel robots subject to dynamic uncertainties, while the stability of the control system was analyzed with a Lyapunov-based method. Wang et al. [41] obtained a modelfree robust adaptive control for the cable-driven parallel robots, which is composed of time-delay estimation, a new PID-NFTSM manifold, and a combined adaptive reaching law, using adaptive proportional-integral-derivative nonsingular fast terminal sliding mode. Oh et al. [42] presented an approach to design positive tension controllers for the cable-suspended parallel robots with redundant cables. Shao et al. [43] established the elastic dynamic model for the cable-driven Stewart manipulator, while the rigid-body dynamic model of the A–B rotator and the rigid Stewart manipulator was obtained in detail, and furthermore, the kinematic and dynamic vibration control strategies for the feed support system in FAST were proposed and evaluated with simulations. Duan et al. [44] presented a PID controller with base acceleration feedforward designed in the operational space of the Stewart platform based on the integrated dynamic model of the Stewart platform, and furthermore, vibration isolation and trajectory following control experiments for the cable-suspended Stewart platform was carried out. Schenk et al. [45] developed a super-twisting controller for a redundant cable-driven parallel robot to track a reference trajectory in presence of uncertainties and disturbances. Jafarlou et al. [46] investigated an adaptive fractional-order finite-time sliding mode control for the cable-suspended parallel robots in the presence of model uncertainties. The stability of the closed-loop system was analyzed with developed Lyapunov theory. Hosseini et al. [47] designed a nonlinear PD controller for cable-driven parallel robots in joint space so that the robot can track the reference trajectory quickly and accurately, while the stability of the closed-loop system was examined through Lyapunov direct method. Aghaseyedabdollah et al. [48] discussed the design of supervisory adaptive fuzzy sliding mode control with the fuzzy PID sliding surface for a planar cable-driven parallel robot. Inel et al. [49] addressed a nonlinear continuous-time generalized predictive control for a planar cable-driven parallel robot. Zi [50] presented a three-DOF cable-driven parallel robot and its adaptive fuzzy control system design and analysis, and the simulation results showed the satisfactory performance of the proposed adaptive fuzzy control system. As a matter of fact, the dynamic model of the cable–based gangue–sorting robot is always contaminated with uncertainties such as nonlinear and time-varying parameters as well as external disturbances, and this makes the dynamic model of the cable–based gangue–sorting robots complicated, and thus, a robust controller and an adaptive fuzzy control system are required to achieve high-performance pick–and–place trajectory tracking control.

Use of the cable–based gangue–sorting robot in the pick–and–place operation of MTGs presents unique challenges: (i) the major challenge for designing a controller of the robot is that the robot may experience abrupt changes in dynamic parameters while the robot captures and places the MTGs with highly variable payload, which can cause traditional control methods to achieve poor results in practical applications; and (ii) it should be emphasized that the most important limitation of the robot is that the cables suffer from unidirectional constraints that can only be pulled and not pushed, and therefore, the cables, to perform pick–and–place operation of MTGs effectively and accurately, must be in tension in the whole workspace. For this reason, the main goal of this paper is to propose a suitable control strategy for the cable–based gangue–sorting robots. To achieve this goal, in view of the nonlinear payload variation and external disturbances of the cable–based gangue– sorting robots, a robust adaptive fuzzy tracking control, which can ensure that the cables are always in positive tension, is investigated in this paper for the high-precision tracking of the robots to efficiently and reliably perform the pick–and–place operations of the MTGs. The advantage of the proposed controller in comparison with ref. [50] is its ability to obtain the positive cable tensions along the pick–and–place trajectory in presence of model uncertainties and external disturbances, providing better tracking performance because a robust term is employed to compensate the estimation errors of the fuzzy control system.

From above, without a smooth and continuous pick–and–place trajectory and appropriate trajectory tracking control for the cable–based gangue–sorting robots, the robots might sustain serious damages, and therefore, the objective of the paper is to generate a smooth and continuous pick–and–place trajectory and to implement a robust control scheme suited for the considered pick–and–place application. As a result, the main contributions of this presented paper are summarized as follows:


The structure of this paper is as follows. The second section presents the kinematic and dynamic models of a cable–based gangue–sorting robot. The control system is presented in the third section. The effectiveness of the proposed pick–and–place trajectory planning scheme and robust adaptive tracking control strategy are demonstrated by simulation results in the fourth section. Finally, conclusions are drawn, and future work is presented in the fifth section.

#### **2. Description and Modeling of a Cable-Based Gangue-Sorting Robot**

#### *2.1. Description of the Robot*

In the scope of this research, the investigated gangue–sorting system with a robot, as shown in Figure 1, is composed of a cable–based gangue–sorting robot, a conveyor belt, a machine vision system, gangue recovery bin, as well as coals and gangues. The robot runs across the belt conveyor and employs four cables to drive the end–grab to move to the local neighborhood where the target gangues are located so as to complete the pick– and–place operation of the MTGs. It should be pointed that a collision-free workspace and pick–and–place trajectory can be obtained for the gangues-sorting system. According to the process and characteristics of pick–and–place operation of the target gangues, the pick– and–place trajectory of the end–grab is separated into four phases in this study, namely the starting phase, preparing phase, picking phase, and placing phase. The sorting process of the target gangues can be described in more detail as follows: in the first step, the target gangues, which move synchronously with the conveyor belt at a constant speed, will enter the visual identification area, and meanwhile, the machine vision system identifies and collects the shape and position information of the selected target gangues and transmits it to the main controller of the robot; in the next step, the target gangues move for a while to reach the picking area, where the robot performs the picking operation of the target gangues; in the final step, MTGs are placed into the gangue recovery bin, and at this point, the pick–and–place operation is completed. The robot returns to the zero position and continues to complete the pick–and–place task of other gangues. As shown in Figure 2, the proposed cable–based gangue–sorting robot consists of mechanical module and control module. The mechanical structure is composed of a frame, some pulleys, four cables and motor driven systems, and an end–grab, while the control module consists of an industrial personal computer (IPC), motion controllers, a laser tracker, encoders, and so on. It should be pointed out that the mass of the end–grab and the mass of MTGs could be available with a machine vision system by their shapes and sizes and force sensors to measure cable tensions and estimate the carried masses, while the laser tracker, which can be employed to measure 3D coordinates of the end–grab, are used in combination with the servomotor encoders to obtain the position of the end–grab. In the presence of measuring systems and equipment, the closed–loop control can be employed for the robot, which leads to performance accuracy in the pick–and–place operation of the MTGs.

**Figure 1.** Three-dimensional CAD model of the robot.

The kinematics model of the cable–based gangue–sorting robot is a prerequisite for the dynamics model and fundamental for practical aspects such as motion trajectory planning and control system design. As a result, in this section, a full development of kinematics and dynamic models for a cable–based gangue–sorting robot is established.

**Figure 2.** Configuration of the investigated robot.

#### *2.2. Modeling of the Robot*

As shown in Figure 3, the fixed coordinate system noted as *OXYZ* is attached to the fixed base, where *O* is the origin point. The structure dimensions of the robot are denoted by *a*, *b*, and *h*, respectively. The point *A<sup>i</sup>* (*i* = 1, 2, 3, 4) represents the position of the fixed pulley in the coordinate system. As in ref. [1], the cable–based gangue–sorting robot can be seen by a CBPR with a point mass, and therefore, the position of the end–grab is denoted by *P*. With regard to the cable–based gangue–sorting robot, the cables, which are made of lighter materials, can be treated as a kind of massless straight line that can only sustain tension, and therefore, the length of the *i*th cable can be denoted by *Li*. It can be easily obtained as follows:

**Figure 3.** Kinematic model of the robot.

For more detail, the cable length of the four cables can be written as:

$$\begin{cases} L\_1 = \sqrt{\left(\mathbf{x} - \mathbf{x}\_1\right)^2 + \left(y - y\_1\right)^2 + \left(z - z\_1\right)^2} \\ L\_2 = \sqrt{\left(\mathbf{x} - \mathbf{x}\_2\right)^2 + \left(y - y\_2\right)^2 + \left(z - z\_2\right)^2} \\ L\_3 = \sqrt{\left(\mathbf{x} - \mathbf{x}\_3\right)^2 + \left(y - y\_3\right)^2 + \left(z - z\_3\right)^2} \\ L\_4 = \sqrt{\left(\mathbf{x} - \mathbf{x}\_4\right)^2 + \left(y - y\_4\right)^2 + \left(z - z\_4\right)^2} \end{cases} \tag{2}$$

Furthermore, the unit vector along the *i*th cable is denoted by *ui*, and it can be denoted by:

$$
\mu\_i = (\mathcal{P} - \mathcal{A}\_i) / L\_i \tag{3}
$$

A mathematical dynamic model of the cable–based gangue–sorting robot is essential for good control design and analysis to realize high-performance pick–and–place trajectory tracking control. This section presents the dynamic equations for the robot. These equations will be used later to ensure that the cable tensions remain positive during the pick–and– place operation of MTGs. There are different approaches for solving the dynamics of the robots, such as the Newton–Euler equation, Kane equation, and Lagrange equation [51–54]. In this article, the Newton–Euler equation is adopted to solve the dynamics of the robot, and thus, the dynamic equation of the robot can be expressed as:

$$\mathbf{m} \begin{bmatrix} \ddot{\mathbf{x}} \\ \ddot{y} \\ \ddot{z} \end{bmatrix} = \begin{bmatrix} \frac{\mathbf{x}\_1 - \mathbf{x}}{L\_1} & \frac{\mathbf{x}\_2 - \mathbf{x}}{L\_2} & \frac{\mathbf{x}\_3 - \mathbf{x}}{L\_3} & \frac{\mathbf{x}\_4 - \mathbf{x}}{L\_4} \\\\ \frac{\mathbf{y}\_1 - \mathbf{y}}{L\_1} & \frac{\mathbf{y}\_2 - \mathbf{y}}{L\_2} & \frac{\mathbf{y}\_2 - \mathbf{y}}{L\_3} & \frac{\mathbf{y}\_2 - \mathbf{y}}{L\_4} \\\\ \frac{\mathbf{h} - \mathbf{z}}{L\_1} & \frac{\mathbf{h} - \mathbf{z}}{L\_2} & \frac{\mathbf{h} - \mathbf{z}}{L\_3} & \frac{\mathbf{h} - \mathbf{z}}{L\_4} \end{bmatrix} \begin{bmatrix} T\_1 \\ T\_2 \\ T\_3 \\ T\_4 \end{bmatrix} + \begin{bmatrix} 0 \\ 0 \\ -\mathbf{m} \mathbf{g} \end{bmatrix} \tag{4}$$

where *m* is the mass of the end–grab; *g* is gravity acceleration; *T* is the vector consisting of all cable tensions; .. *x*, .. *<sup>y</sup>*, and .. *z* are acceleration of the end–grab, respectively.

For the sake of simplicity, Equation (4) can be rewritten in the following matrix form:

$$\mathbf{M}(\mathbf{X})\ddot{\mathbf{X}} + \mathbf{H}\left(\mathbf{X}, \dot{\mathbf{X}}\right) = \pi \tag{5}$$

where *M*(*X*) = ⎡ ⎢ ⎢ ⎣ m m m ⎤ ⎥ ⎥ ⎦ is the inertia matrix, which is defined as symmetric and pos-. . .

itive; *H X*, *X*) =*C*(*X*, *X*) *X* + *G*(*X*) is the vector of Coriolis, centripetal, and gravity terms;

$$\mathbf{C}(\mathbf{X}, \dot{\mathbf{X}}) = \begin{bmatrix} 0 \\ & \\ & 0 \\ & & 0 \end{bmatrix} \text{ is a nonlinear Coriolis and centrifugal vector terms; } \mathbf{G}(\mathbf{X}) = \begin{bmatrix} 0 \\ 0 \\ 0 \\ \text{mg} \end{bmatrix}.$$

is gravity vector; *τ* is the input torque vector; and *τ* = *JTT* and *T* = ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ *T*2 *T*3 *T*4 ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ are the cable

$$\text{tension vectors}; f^T = \begin{bmatrix} \frac{\mathbf{x}\_1 - \mathbf{x}}{L\_1} & \frac{\mathbf{x}\_2 - \mathbf{x}}{L\_2} & \frac{\mathbf{x}\_3 - \mathbf{x}}{L\_3} & \frac{\mathbf{x}\_4 - \mathbf{x}}{L\_4} \\ \frac{\mathbf{y}\_1 - \mathbf{y}}{L\_1} & \frac{\mathbf{y}\_2 - \mathbf{y}}{L\_2} & \frac{\mathbf{y}\_2 - \mathbf{y}}{L\_3} & \frac{\mathbf{y}\_2 - \mathbf{y}}{L\_4} \\ \frac{\mathbf{h} - \mathbf{z}}{L\_1} & \frac{\mathbf{h} - \mathbf{z}}{L\_2} & \frac{\mathbf{h} - \mathbf{z}}{L\_3} & \frac{\mathbf{h} - \mathbf{z}}{L\_4} \end{bmatrix} \text{ is the wrench matrix of the}$$
  $\text{r both}$   $\ddot{X} = \begin{bmatrix} \ddot{\mathbf{x}} \\ \ddot{y} \\ \ddot{z} \end{bmatrix}$  is the acceleration vector of the end-grad-graded.

As mentioned above, when the cable–based gangue–sorting robot performs the pick– and–place operations of MTGs, its total mass of the unloaded and loaded end–grab inevitably changes. These parameter uncertainties and load variations of the end–grab will introduce disturbances to the closed-loop system for the robot and greatly affect the control performance. In practical engineering application, it is difficult to acquire complete information of the cable–based gangue–sorting robot because of parameter uncertainties and external disturbances. As a result, in the presence of the inertial parameter uncertainties

and external disturbances, we can express the actual dynamic model of the robot by the following equation: .. .

$$\mathbf{M}(\mathbf{X})\mathbf{X} + \mathbf{H}(\mathbf{X}, \mathbf{X}) + \mathbf{f} + \tau\_d = \tau. \tag{6}$$

where *M*(*X*) =*M*<sup>0</sup> + Δ*M* and *H*(*X*) =*H*<sup>0</sup> + Δ*H* are the actual dynamic parameters of the robot; *M*<sup>0</sup> is the estimated inertia matrix and *H*<sup>0</sup> is the estimated Coriolis, centrifugal force, and gravity matrix, while Δ*M* and Δ*H* are dynamic modeling errors, respectively; *τ<sup>d</sup>* is the vector containing the inertial parameter uncertainties and external disturbances effects; *f* is the viscous and Coulomb friction matrix.

Finally, we obtain the actual dynamic equation of the cable–based gangue picking robot as follows: .. .

$$\mathbf{M}\_0(X)\mathbf{X} + \mathbf{H}\_0(X, \mathbf{X}) + \mathbf{D} = \mathbf{\tau} \tag{7}$$

where *<sup>D</sup>* <sup>=</sup> <sup>Δ</sup>*<sup>M</sup>* .. *X* + Δ*H* + *f* + *τ<sup>d</sup>* is the lumped composite disturbance including modeling errors, friction forces, and external disturbances.

It should be pointed out that the Equation (7) is a non-homogeneous linear equation, and therefore, the cable tensions may exist in infinite solutions. It must be emphasized that the equations of motion are valid only if the cables are all in tension. The suitable solution can be obtained by the cable tension optimization model with the pseudo-inverse method [16,17].

#### **3. Control System**

The control system of the cable–based gangue–sorting robot is responsible for: (i) planning the pick–and–place trajectory of the end–grab to track, approach, capture, carry, and place operation of MTGs and (ii) assuring realization of the designed and selected pick–and–place trajectory of the end–grab despite the parameters' uncertainty and disturbances. Pick–and–place trajectory planning can be performed while the position and dimension information of the MTG is acquired, while any controller, which is responsible for realization of the designed and selected pick–and–place trajectory of the end–grab, must work in real time. As a result, this paper proposes a new control system for the cable–based gangue–sorting robot that consists of two modules: a pick–and–place trajectory planning module and a robust adaptive fuzzy tracking controller. As mentioned above, the pick–and– place trajectory planning and control of the robot can be performed in the cable space or in the Cartesian space of the end–grab. The pick–and–place trajectory planning and trajectory track control in the Cartesian space is carried out for performing the pick–and–place task of the MTGs in the paper. The position and dimension information of the MTG is obtained by using the machine vision system, and furthermore, the pick–and–place operation of the MTGs is performed autonomously after the pick–and–place trajectory is planned and generated. During execution of the pick–and–place trajectory of the end–grab, the position error of the end–grab is measured and used as a feedback for the control system.

#### *3.1. Proposed Trajectory Planner*

In the process of gangue sorting, the target gangue moves synchronously with the belt conveyor, and the flexible cable drives the gangue–sorting robot to complete the task of picking the gangue. The position, speed, and acceleration of the end–grab during the working process need to be set manually according to the specific requirements of the task of picking the gangue so as to achieve accurate grasping of the gangue. It is desirable to design a continuous and smooth tracking and approach trajectory for the end–grab of the cable–based gangue–sorting robot to perform the pick–and–place task of MTGs. Therefore, generation of smooth and continuous trajectory for performing the pick–and– place operation of MTGs is the major objective under consideration in this section.

#### 3.1.1. Requirements for Trajectory Planning

The location and distribution of the gangues on the belt conveyor are shown in Figure 4. The geometric center of the cable–based gangue–sorting robot is located at the center line of the belt conveyor. Gangue recovery bins are arranged on both sides of the belt conveyor. Therefore, the gangues to be sorted on the belt conveyor can be considered to be distributed in zone *A* and zone *B*, which are symmetric about the center line denoted by *b*. As a result, it is reasonable that we can take the sorting of the gangues within either zone *A* or zone *B* as an example to plan the pick–and–place trajectory of the end–grab for the robot, while the other side can be solved by using the symmetry relationship. We take zone *B* as an example to illustrate the proposed pick–and–place trajectory planning scheme for the robot in this section.

**Figure 4.** The location and distribution of the gangues.

According to the synchronous movement characteristics of MTGs with the belt conveyor, the location of the gangue recovery bin, and optimal stress condition of the cables in the workspace of the cable–based gangue–sorting robot, we proposes a four-stage pick–and– place trajectory planning scheme for the end–grab of robot, which comprises the following four periods: the starting period, preparing period, picking period, and placing period. As a result, the pick–and–place trajectory of the end–grab must meet the following requirements:


In addition, each trajectory for the four periods mentioned above should be smoothly connected to the next one to avoid the motion state discontinuity in the neighborhood of the trajectory transition point, which can lead to dynamic impact.

3.1.2. Trajectory Planning Scheme

(1) Determination of the end-grab position and zero position

As shown in Figure 5, considering the unidirectional characteristics of the cables, optimal tension condition of the cables, and the workspace where the end–grab is located, the tension of each cable is equal to each other while the end–grab is located at the geometric center of the workspace, so the ideal position of the end–grab for grabbing the target gangue should be located on the vertical axis of the workspace. In addition, the target gangue moves along the positive direction of *y*–axis. Considering the tension condition of the cable, a certain position along the *x*–axis can be selected as the most appropriate grabbing point, and thus, point *E* is selected as the grabbing point of the target gangue. Then, the straight line is perpendicular to the movement direction of the target gangue and the belt through *E* point, which can be obtained, and the straight line crosses the belt at points *Q* and *R* on both sides. As a result, the grabbing point of the target gangue must be on the *QR* while the position coordinate of *x*–direction deviates from the center line *b*. As requirement (2) states, the end–grab and the target gangue to be grabbed should be in a relatively static state, and therefore, the zero point the end–grab should be ahead of the grab point to achieve the synchronous movement of the end–grab and the target gangue. As a result, point *C* is chosen as the zero point of the end–grab for the cable–based gangue–sorting robot.

**Figure 5.** Pick–and–place trajectory planning scheme.

#### (2) Determination of the starting period and preparation period

According to the requirement (2) of trajectory planning, point *E* is the terminal point of the uniform motion in a straight line of the end–grab, while the starting point of the uniform linear motion of the end–grab should be reasonably selected. Point *D* is selected as the starting point of the uniform linear motion. Then the straight line is perpendicular to the movement direction of the target gangue and the belt through *D* point, which can be obtained, and the straight line crosses the belt at points *P* and *K* on both sides. As a result, the starting point of the uniform linear motion is on *PK* no matter where the target gangues are located. Therefore, the *CD* segment is the starting period while the *DE* segment is the preparation period. It should be noted that the starting section *CD* and preparing section *DE* coincide on the same straight line when the target gangue is located at the center line *b* of the conveyor belt, and thus, the end–grab does not move in the *x*–direction.

(3) Determination of the picking period

According to the requirement (3) of the trajectory planning, the end–grab should also move in a straight line at a constant speed at this stage. The cable tensions will change while the target gangue is placed, so the reasonable point should be selected as the placing point of the target gangues. Considering the fact that the cable tensions are relatively reasonable when the end–grab is on the *x*–axis, point *G* is selected as the terminal point of the straight line. Connecting the line segment *HG* and the starting point *F* of the uniform linear motion must happen on the extension line of *HG* along the positive direction of the *y*–axis, and the position of point *F* can be determined while the operation time of the end–grab on *FG* is consistent with *DE*. As a result, *EFG* section is the picking period when the target gangue is carried by the end–grab from point *E* to point *G*.

#### (4) Determination of the placing period

According to the requirement (4) of trajectory planning, the end–grab will enter the placing period after the target gangue is placed by the end–grab at *G* point to avoid repeatedly returning to zero to accelerate. The end–grab can directly transition to the preparation section after the current picked gangue is placed in order to avoid repeated acceleration, leading to a discontinuous trajectory for the end–grab. Thus, *GD* is the placing period of the pick–and–place trajectory for the end–grab.

To sum up, as shown in Figure 5, point *C* is selected as the zero position of the end– grab; point *D* and point *F* are the starting points of the uniform linear motion of the end grab, respectively, while point *E* is the grabbing point of the target gangues, and point *G* is the placing point of the target gangues. The *CD* segment, the *DE* segment, the *EFD* segment, and the *GD* segment are the starting period, the preparation period, the picking period, and the gangue-placing period, respectively. The four periods above shall be smoothly connected to ensure that the end–grab will not be impacted during the process of the pick–and–place operation of target gangues.

#### 3.1.3. Implementation Methods of Each Trajectory for the Four Periods

#### (1) S-shaped acceleration/deceleration algorithm

The S-shaped acceleration/deceleration algorithm is optimized on the basis of T-shaped velocity programming. The planned trajectory, velocity, and acceleration are continuous, which can ensure smooth acceleration and deceleration of the end-effector without impact [55,56]. There are four types of S-shaped velocity curve planning: seven-stage, six-stage, five−stage, and four-stage, respectively. Considering the fact that the motion planning of the end–grab meets the conditions of five−stage planning, the five−stage S-shaped velocity curve planning method is introduced here, whose velocity and acceleration curves are shown in Figure 6. As shown in Figure 6, *v*max represents the maximum planned speed; *ti* represents the time; *Ti* = *Ti*+<sup>1</sup> − *Ti* is the time of each segment; *a*max represents the maximum acceleration; and *J* represents the jerk. As a result, the relationship between the total displacement of the end–grab *s*, displacement of the acceleration stage *s*1, the jerk *J,* and acceleration of the end–grab *a*max is as follows:

$$\mathbf{s}\_1 = \frac{Jv\_{\text{max}}^2 + v\_{\text{max}}a\_{\text{max}}^2}{2Ja\_{\text{max}}} \tag{8}$$

If the above parameters meet *<sup>v</sup>*max <sup>≤</sup> *<sup>a</sup>*<sup>2</sup> max *<sup>J</sup>* and *<sup>s</sup>* <sup>&</sup>gt; <sup>2</sup>*v*max"*v*max *<sup>J</sup>* in the given range of

the total displacement of the end–grab *s*, the acceleration cannot reach the maximum value, but the speed can reach the maximum value, and in this case, the maximum acceleration needs to be adjusted as follows:

*anew* = (*v*max *J* (9)

Further, the time of each segment can be obtained as follows:

$$T\_1 = T\_2 = T\_4 = T\_5 = \frac{a\_{new}}{J} \tag{10}$$

**Figure 6.** Velocity and acceleration curves of the five−stage.

In this paper, this method is only applied to the acceleration section of *y*-direction, and the expressions of its speed and displacement acceleration section are as follows:

$$v(t) = \begin{cases} \frac{1}{2}It^2 & 0 < t < T\_1 \\ \frac{1}{2}IT\_1^2 + IT\_1t - \frac{1}{2}It^2 & T\_1 < t < T\_2 \end{cases} \tag{12}$$

$$s(t) = \begin{cases} \frac{1}{6}fl^3 & 0 < t < T\_1\\ \frac{1}{6}fl\_1^3 + \frac{1}{2}fl^2v\_1t + \frac{1}{2}fl\_1t^2 - \frac{1}{6}fl^3 & T\_1 < t < T\_2 \end{cases} \tag{13}$$

#### (2) Quintic polynomials

The four trajectories of the four periods should be smoothly connected to each other. Therefore, the sharp points, which will cause local discontinuity of the speed curve and impact of the end–grab, are avoided in the trajectory. The quintic polynomial trajectory planning, which can ensure the continuity up to the acceleration level, is employed to plan the pick–and–place trajectory of the end–grab [57]. The position, velocity, and acceleration equations of quintic polynomial trajectory planning can be expressed as:

$$
\begin{bmatrix} q(0) \\ \ddot{q}(0) \\ \ddot{q}(0) \\ q(t) \\ \ddot{q}(t) \\ \ddot{q}(t) \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 2 & 0 & 0 & 0 \\ 1 & t & t^2 & t^3 & t^4 & t^5 \\ 0 & 1 & t & t^2 & t^3 & t^4 \\ 0 & 0 & 1 & t & t^2 & t^3 \end{bmatrix} \begin{bmatrix} a\_0 \\ a\_1 \\ a\_2 \\ a\_3 \\ a\_4 \\ a\_5 \end{bmatrix} \tag{14}$$

where *q* = - *q*(0), . *q*(0), .. *q*(0), *q*(*t*), . *q*(*t*), .. *q*(*t*) <sup>T</sup> is a vector composed of generalized coordinates, generalized velocity, and generalized acceleration from the starting point to the terminal point. *ai* represents the coefficients of the quintic polynomial.

From above, the trajectory planning methods adopted by each period are shown in Table 1.


**Table 1.** Trajectory planning method of each section.

#### *3.2. Proposed Controller*

For a cable–based gangue–sorting robot, the external disturbances, frictional terms, internal uncertainties, and payload variation are considered as a composite disturbance, which mostly affects the control performance and causes inaccuracy in the control process. The main objective of control for the cable–based gangue–sorting robot is to achieve highperformance pick–and–place trajectory tracking accuracy in the pick–and–place operation of MTGs. As a result, considering the structural characteristics and control difficulties of the cable–based gangue–sorting robot, in the presented control system, a robust adaptive fuzzy tracking control is used for assuring realization of the selected trajectory of the end–grab to perform the pick–and–place operation of MTGs for the cable–based gangue–sorting robot. The uncertainties of the control system are adaptively compensated by fuzzy control system, while a robust term is employed to compensate the estimation errors of the fuzzy control system. Meanwhile, the stability of the whole closed-loop system is guaranteed.

As an intelligent control method, fuzzy control is based on fuzzy logic inference, and the microcomputer control method has also been widely applied to generate auxiliary joint torques to compensate these uncertainties [58,59]. Fuzzy logic system can be employed to approximate the unknown nonlinear functions as well as external disturbances. It is especially suitable for the control of nonlinear, time-varying systems, such as robotics. The approximation characteristics of the fuzzy logic system are used to compensate for the composite disturbance for the cable–based gangue–sorting robot. A robust term is designed to eliminate the estimation errors and external disturbance of fuzzy logic system.

A multi-input and multi-output fuzzy logic system performs mapping from fuzzy sets in *<sup>U</sup>* ∈ *<sup>R</sup><sup>n</sup>* to fuzzy sets in *<sup>V</sup>* ∈ *<sup>R</sup>m*, based on the fuzzy IF–THEN rules. The output of a multi-input and multi-output fuzzy logic system with center-average defuzzifier, product inference, and singleton fuzzifier takes the following form:

$$y\_j = \frac{\sum\_{l=1}^{M} y\_j^{-l} \left( \prod\_{i=1}^{n} \mu\_{A\_i^l}(\mathbf{x}\_i) \right)}{\sum\_{l}^{M} \left( \prod\_{i=1}^{n} \mu\_{A\_i^l}(\mathbf{x}\_i) \right)}, (j = 1, 2, \dots, m) \tag{15}$$

where <sup>−</sup>*<sup>l</sup> yj* is a value at which the membership function for output fuzzy set reaches its maximum; *μA<sup>l</sup> i* (*xi*) is the membership function of the linguistic variable *xi* and can be defined as follows:

$$\mu\_{A\_i^l}(\mathbf{x}\_i) = \exp\left(\frac{-(\mathbf{x}\_i - \mathbf{x}\_i^l)}{\sigma^2}\right)^2 \tag{16}$$

where <sup>−</sup>*<sup>l</sup> xi* and *σ* are the mean and the deviation of the Gaussian membership function, respectively.

The fuzzy basis function can be defined as:

$$\varepsilon\_{l}(\mathbf{x}) = \frac{\prod\_{i=1}^{n} \mu\_{A\_{i}^{l}}(\mathbf{x}\_{i})}{\sum\_{l}^{M} \left(\prod\_{i=1}^{n} \mu\_{A\_{i}^{l}}(\mathbf{x}\_{i})\right)} \tag{17}$$

As a result, Equation (15) can be rewritten as follows:

$$y\_j = \Theta\_j^\mathrm{T} \varepsilon(\mathbf{x}) \tag{18}$$

where *ε x*)=[*e*<sup>1</sup> *x*),*e*<sup>2</sup> *x*),...,*eM x*)]<sup>T</sup> is the fuzzy basis function vector, while −2 T

<sup>Θ</sup>*<sup>j</sup>* = [−<sup>1</sup> *yj* , *yj* ,..., <sup>−</sup>*<sup>M</sup> yj* ] is the center of the fuzzy subset.

Furthermore, the overall output of a MIMO fuzzy logic system can be represented as:

$$y = \Theta^{\mathrm{T}} \varepsilon(\mathbf{x}) \tag{19}$$

The control problem for the cable–based gangue–sorting robot is to design a controller to compute the cable tensions *T* applied to the end–grab such that the end–grab positions *X* tend asymptotically toward the constant desired end–grab positions *Xd*. Therefore, the tracking error is defined as:

$$\mathbf{e} = \mathbf{X}(t) - \mathbf{X}\_{\mathrm{d}}(t) \tag{20}$$

where *X*d(*t*) is the desired trajectory of the end–grab, while *X*(*t*) is the actual trajectory of the end–grab.

Moreover, the sliding surface *s* is defined as follows:

$$
\dot{s} = \dot{e} + \Lambda \dot{e} \tag{21}
$$

where **Λ** is a positive definite parameter matrix.

The reference tracking velocity can be defined as follows:

$$
\dot{\mathbf{X}}\_r(t) = \dot{\mathbf{X}}\_d(t) - \mathbf{A}\mathbf{X}(t) \tag{22}
$$

The proposed controller, which can counteract the external disturbances, frictional terms, and internal uncertainties, can be expressed by the following equation:

$$\begin{aligned} T &= T\_h + T\_h \\ T\_h &= \left( I^\Gamma \right)^+ \left( \mathbf{M}(\mathbf{X}) \ddot{\mathbf{X}}\_r + \mathbf{H} \left( \mathbf{X}, \dot{\mathbf{X}} \right) + \mathbf{f} \left( \mathbf{X}, \ddot{\mathbf{X}}, \ddot{\mathbf{X}} \right) \ddot{\Theta} \right) - \mathbf{K}\_\mathcal{D} \mathbf{s} - \mathbf{W} \text{sgn}(\mathbf{s}) \right) \\ T\_h &= \left( I - \left( I^\Gamma \right)^+ I^\Gamma \right) \lambda \\ \mathbf{f} \left( \mathbf{X}, \ddot{\mathbf{X}}, \ddot{\mathbf{X}} \mid \stackrel{\scriptstyle \widetilde{\Theta}}{\Theta} \right) &= \Theta\_\mathbf{i}^T \boldsymbol{\varepsilon} \left( \mathbf{X}, \ddot{\mathbf{X}}, \ddot{\mathbf{X}} \right) \end{aligned} \tag{23}$$

in which *T<sup>n</sup>* is the special solution to the vector *T*, while *T<sup>h</sup>* is the homogeneous solution to the vector *<sup>T</sup>* and *<sup>J</sup>TT<sup>h</sup>* <sup>=</sup> 0; (•) <sup>+</sup> denotes the pseudo inverse; *<sup>K</sup><sup>D</sup>* = diag(K*i*), <sup>K</sup>*<sup>i</sup>* > 0; *<sup>λ</sup>* is an arbitrary scalar; *W* = diag- *ω*M1 , *ω*M2 ,..., *ω*M*<sup>n</sup>* , *<sup>ω</sup>*M*<sup>i</sup>* <sup>≥</sup> <sup>|</sup>*ωi*|, <sup>i</sup> <sup>=</sup> 1, 2, ... , n; *<sup>F</sup>*<sup>ˆ</sup> *X*, . *X*, .. *X*| ∼ Θ  is the fuzzy logic compensation control for the lumped composite disturbance, and it is

$$\text{represented as } \mathsf{F}(\mathbf{X}, \bar{\mathbf{X}}, \bar{\mathbf{X}} \mid \tilde{\Theta}) = \begin{bmatrix} \mathsf{F}\left(\mathbf{X}, \bar{\mathbf{X}}, \bar{\mathbf{X}} \mid \tilde{\Theta}\_{1}\right) \\ \mathsf{F}\left(\mathbf{X}, \bar{\mathbf{X}}, \bar{\mathbf{X}} \mid \tilde{\Theta}\_{2}\right) \\ \mathsf{F}\left(\mathbf{X}, \bar{\mathbf{X}}, \bar{\mathbf{X}} \mid \tilde{\Theta}\_{3}\right) \end{bmatrix} = \begin{bmatrix} \Theta\_{1}^{\mathsf{T}} \varepsilon\left(\mathbf{X}, \bar{\mathbf{X}}, \bar{\mathbf{X}}\right) \\ \Theta\_{2}^{\mathsf{T}} \varepsilon\left(\mathbf{X}, \bar{\mathbf{X}}, \bar{\mathbf{X}}\right) \\ \Theta\_{3}^{\mathsf{T}} \varepsilon\left(\mathbf{X}, \bar{\mathbf{X}}, \bar{\mathbf{X}}\right) \end{bmatrix}.$$

As stated in the introduction, the proposed robust adaptive fuzzy tracking controller has an advantage over the one in ref. [50]. It is assumed that the cables, however, are ideally massless and nonelastic elements in this paper. It should be pointed out that the cables may behave as elastic elements in practice. This elasticity of the cables inevitably causes unwanted vibrations, leading to degradation of the positioning accuracy of the end–grab for the cable–based gangue–sorting robot. For this reason, the proposed controller for the cable–based gangue–sorting robot should efficiently dampen the vibrations of the cables, leading to enhancement of the motion accuracy of the end–grab [60]. Future research will be dedicated to investigate the effect of the cable vibration on the controller for the robots using the singular perturbation theory.

By using Lyapunov theory, the stability of the cable–based gangue–sorting robot according the dynamics in the presence of the disturbances expressed in Equation (7) with the robust adaptive fuzzy tracking control in Equation (23) is proven. As a result, the Lyapunov function candidate is defined as:

$$V(t) = \frac{1}{2} \left( \mathbf{s}^T \mathbf{M} \mathbf{s} + \sum\_{i=1}^n \widetilde{\Theta}\_i^T \Gamma\_i \widetilde{\Theta}\_i \right) \tag{24}$$

.

. *<sup>V</sup>*(*t*) = −*s*<sup>T</sup> *M* .. *<sup>X</sup><sup>r</sup>* <sup>+</sup> *<sup>H</sup>* . *X<sup>r</sup>* + *F*(*X*, . *X*, .. *X* | ∼ <sup>Θ</sup>) <sup>−</sup> *<sup>J</sup>*T*<sup>T</sup>* <sup>+</sup> *<sup>n</sup>* ∑ *i*=1 ∼ Θ T *<sup>i</sup>* Γ*i*Θ*<sup>i</sup>* = −*s*<sup>T</sup> *F*(*X*, . *X*, .. *<sup>X</sup>*) <sup>−</sup> *<sup>F</sup>*ˆ(*X*, . *X*, .. *X*| ∼ Θ ∗ ) + *KDs* + *W*sgn(*s*) <sup>+</sup> *<sup>n</sup>* ∑ *i*=1 ∼ Θ T *<sup>i</sup>* Γ*i*Θ*<sup>i</sup>* = −*s*<sup>T</sup> *F*(*X*, . *X*, .. *<sup>X</sup>*) <sup>−</sup> *<sup>F</sup>*ˆ(*X*, . *X*, .. *<sup>X</sup>* <sup>|</sup> <sup>Θ</sup>) + *<sup>F</sup>*<sup>ˆ</sup> *X*, . *X*, .. *X* | ∼ Θ ∗ <sup>−</sup> *<sup>F</sup>*<sup>ˆ</sup> *X*, . *X*, .. *X* | ∼ Θ ∗ + *KDs* + *W*sgn(*s*) <sup>+</sup> *<sup>n</sup>* ∑ *i*=1 ∼ Θ T *<sup>i</sup>* Γ*i*Θ*<sup>i</sup>* = −*s*<sup>T</sup> ∼ Θ T *ε*(*X*, . *X*, .. *X*) + *ω* + *KDs* + *W*Sgn(*s*) <sup>+</sup> *<sup>n</sup>* ∑ *i*=1 ∼ Θ T *<sup>i</sup>* Γ*i*Θ*<sup>i</sup>* <sup>=</sup> <sup>−</sup>*s*T*KD<sup>s</sup>* <sup>−</sup> *<sup>s</sup>*T*<sup>ω</sup>* <sup>−</sup> *<sup>s</sup>*T*W*sgn(*s*) + *<sup>n</sup>* ∑ *i*=1 ∼ Θ T *<sup>i</sup>* Γ*i*Θ*<sup>i</sup>* − *s<sup>i</sup>* ∼ Θ*ε*(*X*, . *X*, .. *X*) (25)

where *<sup>ω</sup>* is the fuzzy approximation error; <sup>∼</sup> Θ*<sup>i</sup>* = Θ<sup>∗</sup> *<sup>i</sup>* − Θ*i*; *ε*(*X*, . *X*, .. *X*) is fuzzy basis function. Moreover, the adaptive law based on Equation (25) is defined as:

$$\dot{\widetilde{\Theta}}\_i = -\Gamma\_i^{-1} \mathbf{s}\_i \varepsilon \left( \mathbf{X}\_i \dot{\mathbf{X}}\_i \bar{\mathbf{X}} \right) \tag{26}$$

Consequently, the following equation can be obtained:

$$\dot{V}(t) \le -\mathbf{s}^{\mathrm{T}} \mathbf{K}\_{\mathrm{D}} \mathbf{s} \le 0 \tag{27}$$

It can be seen from Equations (24) and (27) that, since function *V* is a positive definite function, and . *V* is a negative definite function, the cable–based gangue–sorting robot in Equation (7) controlled by the proposed robust adaptive fuzzy tracking controller in Equation (23) is globally asymptotically stable with respect to *s* and Θ based on the Lyapunov method. It means that lim*t*→<sup>∞</sup> *s* = 0, and thus, this is equivalent to lim*t*→∞ *<sup>e</sup>* <sup>=</sup> <sup>0</sup> <sup>⇒</sup> lim*t*→<sup>∞</sup> *<sup>X</sup>* <sup>=</sup> lim*t*→<sup>∞</sup> *X<sup>d</sup>* . As a result, the control object for the end–grab to track the scheduled trajectory to perform the pick–and–place operation of MTGs can be realized.

#### **4. Simulation Study**

#### *4.1. Generation of the Proposed Pick–and–Place Trajectory*

The end–grab of the robot is requested to start from the state of rest, merge into four consecutive trajectories in sequence to perform the pick–and–place operation of the current target gangue, and then go back to the point *D* to begin the pick–and–place operation of the next gangue. Assuming that the distance the target gangue is from the centerline of the belt conveyor is 0.25 m, the pick–and–place trajectory of the end–grab is achieved in this example. As is shown in Figure 3, some parameters of the cable–based gangue–sorting robot are given as follows: *a* = 4 m, *b* = 4 m, and *h* = 3 m. In order to ensure the robustness and the stability of the cable–based gangue–sorting robot, in this paper, all positions of the end–grab from a planned trajectory are required to be completely within the stability workspace, which refers to the set of points meeting certain stability requirements of the end–grab [61]. The stability workspace is composed of the positions of the end–grab with specified stability performance index, which can be calculated using the position and cable tension influencing factors, and furthermore, it can be obtained by the stability workspace generation algorithm as described in the previously published paper, ref. [61], by the author.

Figure 7 shows the pick–and–place trajectory of the end–grab and the positional relationship between the trajectory and the stability workspace. It should be noted that the pick–and–place trajectory is obtained while the distance from the position of the MTG to be grabbed to the center line *b*, denoted by *j*, is 0.25 m. It is observed from Figure 7a that the pick–and–place trajectory consists of four periods, and furthermore, each period's connection with each other is smooth, and thus, this leads to no impact for the movement of the end–grab. In addition, it can be seen from the Figure 7b that the pick–and–place trajectory of the end–grab is located completely within the stability workspace, and this can ensure the stability of the end–grab. Indeed, it should be pointed out that all of the positions when the end–grab is located within the surface meet the specified stability requirement. Moreover, its colors are worthy of note, as they represent the elevation of the positions for the end–grab along *z*–direction. As can be seen from Figure 7c,d, the velocities and accelerations of the end–grab along the proposed pick–and–place trajectory are continuous.

**Figure 7.** Pick–and–place trajectory of the end–grab. (**a**) pick–and–place trajectory; (**b**) trajectory within the stability workspace; (**c**) velocities of the end–grab; (**d**) accelerations of end–grab.

In addition, the proposed strategy can generate a smooth and continuous pick–and– place trajectory while the MTG is located at an arbitrary position of the belt, such as the center line *b*, namely *j* = 0, shown in Figure 8. Comparing Figures 7a and 8, it is clear that the trajectories of the starting period *CD* are slightly different from each other, and in more detail, there is no displacement of the end–grab along the *x*–direction for the trajectory of the starting period *CD* in Figure 8. This is because the pick–and–place position of the MTG is on the center line *b*.

**Figure 8.** Pick–and–place trajectory of the end–grab while *j* = 0.

Figure 9 displays the length of the four cables. From the simulation results, it may be concluded that cable 1 and cable 3, cable 2, and cable 4 show opposite trends in the whole trajectory curve because of the symmetrical geometric relationship between the cables, and moreover, the length of the four cables change smoothly and continuously.

**Figure 9.** Length of the four cables.

#### *4.2. Control System Validation*

In this section, the proposed pick–and–place trajectory control strategies are evaluated and compared with MATLAB software. Two motion trajectories for the end–grab, a spatial circle, and the proposed pick–and–place trajectory generated in this paper are considered in this section to illustrate the efficiency of the designed controller.

To illustrate the effectiveness of the proposed robust adaptive fuzzy tracking controller, we compared it with the fuzzy controller presented in ref. [50]. The controller mentioned above was modified to be implementable for the cable–based gangue–sorting robot considered in this paper. Thus, it can be expressed as:

$$\boldsymbol{\pi} = \mathbf{M}(\mathbf{X})\ddot{\mathbf{X}}\_{\text{I}} + \mathbf{H}\Big(\mathbf{X}, \dot{\mathbf{X}}\Big) + \hat{\boldsymbol{f}}\Big(\mathbf{X}, \dot{\mathbf{X}}\Big|\stackrel{\sim}{\Theta}\Big) - \mathbf{K}\_{D}\mathbf{s} \tag{28}$$

in which

$$
\hat{\mathcal{I}}(\mathbf{X}, \dot{\mathbf{X}} \mid \tilde{\Theta}) = \begin{bmatrix}
\hat{\mathcal{I}}(\mathbf{X}, \dot{\mathbf{X}} \mid \tilde{\Theta}\_1) \\
\hat{\mathcal{I}}(\mathbf{X}, \dot{\mathbf{X}} \mid \tilde{\Theta}\_2) \\
\hat{\mathcal{I}}(\mathbf{X}, \dot{\mathbf{X}} \mid \tilde{\Theta}\_3) \\
\hat{\mathcal{I}}(\mathbf{X}, \dot{\mathbf{X}} \mid \tilde{\Theta}\_3)
\end{bmatrix} = \begin{bmatrix}
\Theta\_1^\mathrm{T} \varepsilon(\mathbf{X}, \dot{\mathbf{X}}) \\
\Theta\_2^\mathrm{T} \varepsilon(\mathbf{X}, \dot{\mathbf{X}}) \\
\Theta\_3^\mathrm{T} \varepsilon(\mathbf{X}, \dot{\mathbf{X}})
\end{bmatrix} \tag{29}
$$

Comparing Eqations (23) and (28), it can be observed that the fuzzy controller is a specific case of the proposed controller in this paper, in which the robust term *W* = 0. Moreover, the proposed control algorithm benefiting from internal force concept can ensure that all cables remain in tension while the end–grab moves along the designed pick–and–place trajectory. As a result, the proposed control scheme in this paper can bring a better comprehensive control performance.

Moreover, in order to have a quantitative evaluation and comparison between the performance of the two controllers, the root mean square error (RMSE) and maximum absolute of tracking errors (MAE) of the end–grab in all directions of the task space are presented, and they can be expressed as follows:

$$\text{RMSE} = \sqrt{\frac{1}{N} \sum\_{k=1}^{N} \left| \mathbf{e}(k) \right|^2} \tag{30}$$

$$\text{MAE} = \max(|\mathfrak{e}(k)|\_{k=1\sim N})\tag{31}$$

where *e*(*k*) denotes the position tracking error of the end–grab; *N* is the number of samples, and *k* the current sample.

All dynamic and kinematic parameters of the cable–based gangue–sorting robot and the proposed controller parameters are given in Table 2. Without loss of generality, the lumped composite disturbance vector is set as *D*= [4 sin(10t) 2 sin(10t) 4 sin(10t) *T* ; the initial motion state of the end–grab is *X*0= [*X*1, . *X*1, *X*2, . *X*2, *X*3, . *<sup>X</sup>*3]=[1.3, 0, 1.2, 0.03*π*, 1.5, 0*<sup>T</sup>* ; the simulation time is set to 40 s; the membership function of the fuzzy control system is

selected as *μA<sup>l</sup> i* (*xi*) = exp ⎛ ⎝−(*xi* <sup>−</sup> <sup>−</sup>*<sup>l</sup> xi*) 0.2 ⎞ ⎠ 2 , in which <sup>−</sup>*<sup>l</sup> xi* is 1, 2, 3, 4, and *Ai* is NB, NS, ZO, PS, and PB, respectively.

**Table 2.** Dynamic and kinematic parameters of the robot and the proposed controller parameters.


The spatial circle trajectory for the end–grab can be expressed as:

$$\begin{cases} \text{ x = 0.8cos(0.1\pi t) + 1.8} \\ y = 0.8\text{sin(0.1\pi t) + 2} \\ z = 1.5 \end{cases} \tag{32}$$

The results of the position trajectory tracking of the end–grab are shown in Figure 10. It is observed that the end–grab tracks the planned spatial circle trajectory relatively well with the proposed robust adaptive fuzzy tracking controller. Figure 11 illustrates the position trajectory and the position errors of the end–grab in *x*–*, y*–, and *z*–directions, respectively. It can be seen that, compared with *x*–direction and *y*–directions, *z*–direction has the better tracking effect, and its absolute error is less than 6‰. Furthermore, the error in *z*–direction obviously changes in a fixed period, and the errors are always stable in the above range. Additionally, it is concluded from Figure 11d that the absolute value of the error in the *x*– direction and *y*–direction are all within 1%, fluctuating in the range of −8–(8‰). Moreover, the absolute value of the fluctuation is less than 3‰.

**Figure 10.** The spatial circle and trajectory tracking.

**Figure 11.** Position trajectory tracking of the end–grab for the spatial circle. (**a**) Position trajectory in *x*–direction; (**b**) position trajectory in *y*–direction; (**c**) position trajectory in *z*–direction; (**d**) trajectory tracking errors.

Figure 12 illustrates the velocity tracking and the velocity tracking errors of the end– grab in *x*–, *y*–, and *z*–directions, respectively. It can be observed that the absolute value of velocity error in *x*-direction is within 1.6%, and that in *y*-direction is within 1.5%, while that in *z*–direction is within 1.6%. Additionally, it can be seen that the velocities in the three directions fluctuate greatly within 0.5 s; however, the velocities in the three directions fluctuate steadily in an acceptable range.

**Figure 12.** Velocity tracking of the end–grab for the spatial circle. (**a**) Velocity tracking in *x*–direction; (**b**) velocity tracking in *y*–direction; (**c**) velocity tracking in *z*–direction; (**d**) velocity tracking error in *x*–direction; (**e**) velocity tracking error in *y*–direction; (**f**) velocity tracking error in *z*–direction.

The four cable tensions while the end–grab follows the spatial circle defined by Equation (32) are shown in Figure 13. It is obvious that the tension of each cable is greater than 5 N, which satisfies the unidirectional characteristics of the cables. In addition, the phase, period, and fluctuation range of the cable tensions change steadily, which can generate smooth and continuous movement for the end–grab.

**Figure 13.** The control input cable tensions for the spatial circle.

While the initial motion state of the end–grab is set as *X*0= [*X*1, . *X*1, *X*2, . *X*2, *X*3, . *<sup>X</sup>*3]=[2.25, 0, 1, 0, 1.5, 0<sup>T</sup> , the simulation time is set to 4 s. The position tracking of the end–grab for the proposed pick–and–place trajectory is displayed in Figure 14. It is observed that the end–grab, in common with the spatial circle, tracks the proposed pick–and–place trajectory relatively well with the proposed robust adaptive fuzzy tracking controller.

**Figure 14.** The proposed pick–and–place trajectory and trajectory tracking.

The position trajectory tracking errors of the end-effector in the *x*–direction, *y*–direction, and *z*–direction are shown in Figure 15. As can be seen from the figure, the absolute values of the errors in *x*–, *y*–*,* and *z*–directions are all within 2‰, and the error in *y*-direction is the largest. The maximum absolute value of the error in *y*–direction reaches 1.75‰ around 3.8 s. However, from the pick–and–place trajectory planning in Section 4.1, it can be seen that the end–grab has unloaded the gangues, which will not affect the smooth operation of the end–grab. Thus, the above error is acceptable.

**Figure 15.** Position trajectory tracking error for the proposed pick–and–place trajectory.

RMSE and MAE for the both controllers in the task space while the end–grab moves along the proposed pick–and–place trajectory are listed in Table 3, respectively. The results obtained for the performance indices of the both controllers indicate the appropriate performance in practice. However, it can be seen from the qualitative analysis that the proposed controller has outperformed the fuzzy controller. As an example, the RMSE and MAE values of the proposed controller are 8.9867 × <sup>10</sup>−<sup>4</sup> and 2 × <sup>10</sup>−<sup>2</sup> m, respectively, which are better than that of the fuzzy controller, 9.1872 × <sup>10</sup>−<sup>4</sup> and 2 × <sup>10</sup>−2. It can be seen from the MAE values of the two controllers that they are equal to each other, and this is because the maximum absolute of tracking errors occurs at the initial position of the pick–and–place trajectory for the end–grab. The initial motion state of the end–grab is set as equal to each other for the two controllers. It should be pointed out that the initial motion state of the end–grab has an effect on the RMSE and MAE.

**Table 3.** RMSE and MAE for the both controllers.


Velocity tracking of the end–grab for the proposed pick–and–place trajectory is depicted in Figure 16. From Figure 16, we can see that the absolute values of velocity errors in *x*–*, y*–*,* and *z*–directions are within 1.8%, and thus, the velocity tracking effect is good. Furthermore, the velocity fluctuation is the most complicated from 1.8 s to 3.2 s. However, it can be seen from the figure that the absolute value of the maximum velocity fluctuation error is about 0.75%.

**Figure 16.** Velocity tracking of the end–grab for the proposed pick–and–place trajectory. (**a**) Velocity tracking in *x*–direction; (**b**) velocity tracking in *y*–direction; (**c**) velocity tracking in *z*–direction; (**d**) velocity tracking errors.

The four cable tensions while the end–grab follows the proposed pick–and–place trajectory are shown in Figure 17. It is obvious that the tension of each cable is also greater than 5 N, which satisfies the unidirectional characteristics of the cables. In addition, the cable tensions are smooth and continuous.

**Figure 17.** The control input cable tensions for the proposed pick–and–place trajectory.

The performed study clearly shows certain advantages of the proposed control system, which include: first, the presented four−phase pick–and–place trajectory planning scheme can generate a smooth and continuous trajectory for the end–grab to perform the pick–and– place operation of the MTGs; second, the proposed robust adaptive fuzzy tracking control strategy is able to track a trajectory as close as possible to the desired one without violating the cable tension limits.

#### **5. Conclusions and Future Works**

In this paper, a control system for the cable–based gangue–sorting robot performing the pick–and–place operation of MTGs with different shapes, sizes, and masses was presented, which consists of two modules: (i) the pick–and–place trajectory planning module and (ii) trajectory tracking control module.

In more detail, a four-stage trajectory planning scheme for the end–grab of the cable– based gangue–sorting robot is proposed in this paper. The pick–and–place trajectory of the end–grab is planned into four periods: the starting period, preparing period, picking period, and placing period. In addition, according to the established dynamic equation of the cable– based gangue–sorting robot, a robust adaptive fuzzy control strategy was designed to track a given trajectory in the presence of model uncertainties, varying payloads, and external disturbances. Based on Lyapunov stability analysis, the stability of the closed-loop control system was theoretically proved. To evaluate the proposed control system, numerical simulations were performed for the cable–based gangue–sorting robot. The simulation analysis of the pick–and–place trajectory planning scheme of the robot shows that the motion trajectory, velocity, and acceleration of the end–grab are smooth and continuous, and moreover, the cable length changes smoothly and continuously. Meanwhile, simulation analysis of the robust adaptive fuzzy control strategy of the robot shows that a highprecision position and velocity tracking performance for the end–grab was obtained with the proposed control strategy, which is robust against the uncertainties.

As a matter of fact, tracking, approaching, picking, and placing the MTGs have become an important mission of the cable–based gangue–sorting robots. In this paper, the authors present the proposed pick–and–place trajectory planning and trajectory tracking control for the robots. In the next phase, we will focus on the following parts as our future work: (i) contact and impact analysis during the picking and placing process of the MTGs; (ii) motion stabilization of the cable–based gangue–sorting robots after picking and placing the MTGs; and (iii) the experimental validation of the four-stage trajectory planning scheme and the proposed pick–and–place trajectory tracking control scheme for the cable–based gangue–sorting robots.

**Author Contributions:** Conceptualization, P.L. and L.G.; methodology, P.L.; software, Y.S.; validation, P.L. and X.Q.; formal analysis, Y.Q.; investigation, P.L.; resources, X.D.; data curation, X.C.; writing original draft preparation, P.L.; writing—review and editing, P.L., Y.Q., and X.Q.; supervision, Y.Q.; project administration, X.C.; funding acquisition, P.L. and H.T. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was funded by the financial support of National Natural Science Foundation of China (NSFC) under Grant NO. 52174149, Shaanxi Province Natural Science Basic Research Program Project under Grant No. 2019JQ-796, and Key Research and Development Program of Shaanxi Province under Grant NO. 2022GY-241.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** The data used to support the findings of this study are available from the corresponding author upon request.

**Acknowledgments:** The research is supported by Open Fund of Key Laboratory of Electronic Equipment Structure Design (Ministry of Education) in Xidian University. And moreover, the authors are grateful to the guest editor, Zhufeng Shao, Dan Zhang, and Stéphane Caro as well as the anonymous reviewers for their constructive comments and helpful suggestions that greatly improved the quality of this article.

**Conflicts of Interest:** The authors declared no potential conflict of interest with respect to the research, authorship, and/or publication of this article.

#### **References**


## *Article* **Fractional Order KDHD Impedance Control of the Stewart Platform**

**Luca Bruzzone \* and Alessio Polloni**

DIME Department, University of Genoa, 16145 Genoa, Italy; alessio.polloni@elsel.it **\*** Correspondence: luca.bruzzone@unige.it; Tel.: +39-010-3352967

**Abstract:** In classical impedance control, KD, the steady-state end-effector forces are imposed to be proportional to the end-effector position errors through the stiffness matrix, K, and a proper damping term is added, proportional to the first-order derivatives of the end-effector position errors according to the damping matrix, D. This paper presents a fractional-order impedance control scheme, named KDHD, in which an additional damping is added, proportional to the half-order derivatives of the end-effector position errors according to the half-derivative damping matrix, HD. Since the finite-order digital filters which implement in real-time the half-order derivatives modify the steadystate stiffness of the end-effector—which should be defined exclusively by the stiffness matrix—a compensation method is proposed (KDHDc). The effectiveness of this approach is validated by multibody simulation on a Stewart platform. The proposed impedance controller represents the extension to multi-input multi-output robotic systems of the PDD1/2 controller for single-input single-output systems, which overperforms the PD scheme in the transient behavior.

**Keywords:** impedance control; fractional calculus; half-order derivative; parallel kinematics machine; KDHD; Stewart platform

#### **1. Introduction**

Industrial robots are in most applications controlled in their position, independently of their serial or parallel kinematic architecture [1]. Position control is appropriate whenever the task can be correctly performed by regulating only the end-effector trajectory and when the interaction forces with the environment are not crucial. On the contrary, when, for proper task execution, it is fundamental to regulate the force/moment exerted in some directions, it is necessary to adopt the hybrid position/force control (HPFC) [2]. The main drawback of HPFC is that it requires force/moment sensors for any generalized coordinate which must be controlled in force/moment. Impedance control represents an intermediate approach between position control and HPFC and is widely adopted since it allows the control of the interaction forces with the environment without force/moment sensors, even if it has lower accuracy than HPFC [3,4].

The basic idea behind impedance control is to impose on the end-effector, subject to external forces, a trajectory which is followed with a programmed spatial compliant behavior. The end-effector compliance is defined through the stiffness and damping matrices, K and D, which correlate linearly with the force/moment exerted by the endeffector on the environment with the end-effector position/orientation error. Consequently, it is possible to achieve a compliant behavior with low stiffness in the directions which must be force-controlled, and a stiff behavior in the directions which must be position-controlled. Impedance control allows the elimination of the force/moment sensors on the end-effector through an indirect measurement based on the actuation force/moments; therefore, the accuracy of impedance control is remarkably lower in the presence of friction in the joints and gearboxes.

For translational robots, the end-effector external coordinates are always expressed in an orthogonal reference frame, and, in case of impedance control, K and D are 3 × 3 and

**Citation:** Bruzzone, L.; Polloni, A. Fractional Order KDHD Impedance Control of the Stewart Platform. *Machines* **2022**, *10*, 604. https:// doi.org/10.3390/machines10080604

Academic Editors: Zhufeng Shao, Dan Zhang and Stéphane Caro

Received: 30 June 2022 Accepted: 21 July 2022 Published: 24 July 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

represent, respectively, the zero-order (proportional) term and the first-order (derivative) term of a three-dimensional PD control in the external coordinates [5]. The matrices K and D can be expressed in a principal reference frame, selected on the basis of the specific task; when this principal reference frame is not parallel to the fixed reference frame, W, in which the end-effector coordinates are expressed, K and D are non-diagonal.

On the contrary, for impedance control of robots with rotational degrees of freedom of the end-effector, there are different possible approaches to define the stiffness and damping matrices, since the orientation of a rigid body in space can be described in many alternative ways [6]; this leads to different definitions of rotational stiffness and damping [7,8]. In general, for impedance control of robots with both translational and rotational degrees of freedom, the translational and rotational impedances are decoupled, and this results in block-diagonal matrices K and D, each one with two blocks: one block defines the translational stiffness (for K) or damping (for D), and the other block defines the rotational stiffness (for K) or damping (for D) [9].

The recalled basic concepts characterize classical impedance control, in the following referred to as KD, in which the end-effector stiffness and damping are linear; nonetheless, in the scientific literature several variants have been proposed. First of all, some researchers have conceived nonlinear impedance control algorithms, with nonlinear stiffness and damping of the end-effector, for instance for cooperative human–robot tasks, or to keep the end-effector within a restricted region in case of excessive contact forces [10–12].

Other alternative impedance control schemes are based on Fractional Calculus (FC), which deals with derivatives and integrals of non-integer order [13]. Using FC, the endeffector damping can be proportional not to the first-order derivative of the position error, but to a derivative with non-integer order *μ* [14,15], with possible benefits in terms of accuracy of the regulation of the contact forces [16]. This fractional-order impedance control, which is referred to as KD*μ*, represents an *n*-dimensional version (where *n* is the number of external coordinates) of the fractional-order PD*<sup>μ</sup>* control scheme for single-input single-output systems [17], while KD impedance control conceptually corresponds to the PD scheme.

In [18] a different application of FC to impedance control has been proposed, named KDHD: there is a damping term proportional to the first-order derivative of the position error according to matrix D, as in the KD scheme, but a second damping term is added, proportional to the fractional derivative of order 1/2 of the position error according to the matrix HD. Consequently, this algorithm generalizes to *n*-dimensional systems the PDD1/2 scheme, whose benefits over the classical PD have been demonstrated in simulation [19] and experimentally for linear [20] and rotary axes [21].

In [18] the KDHD impedance control has been applied in simulation to a 3-PUU parallel robot, with three translational degrees of freedom of the end-effector. In the present paper the KD–KDHD comparison is extended considering the application to a six-degreeof-freedom manipulator, the Stewart platform, thus requiring the definition of both the translational and rotational impedances.

In the remainder of the paper: Section 2 discusses the theoretical definition and the digital implementation of the half-derivative of a time function; Section 3 proposes the KDHD impedance control for a six-degrees-of-freedom non-redundant parallel robot, highlighting the differences with respect to the classical KD impedance control; Section 4 deals with the Stewart platform geometry and its kinematics; Section 5 discusses the multibody modelling and the considered mechanical parameters; Section 6 presents the simulation results of the comparison between the KD and KDHD impedance controls; Section 7 outlines conclusions and future developments.

#### **2. Half-Order Derivative: Definition and Digital Implementation Issues**

As already stated, FC generalizes the concepts of derivative and integral to a generic non-integer order. In the scientific literature there are many alternative definitions of fractional derivatives and integrals, which are proven to be equivalent, but give rise to different numerical implementations. In the following, the Grünwald–Letnikov definition will be adopted since it leads to a robust discrete-time reduction [22]. Adopting this definition, the fractional operator for a continuous time function *x*(*t*) is:

$$\frac{d^a}{dt^a}\mathbf{x}(t) = \mathbf{x}(t)^{(a)} = \lim\_{h \to 0} \frac{1}{h^a} \sum\_{k=0}^{\left[\frac{l-a}{h}\right]} (-1)^k \frac{\Gamma(a+1)}{\Gamma(k+1)\Gamma(a-k+1)} \mathbf{x}(t-kh),\tag{1}$$

where: *<sup>α</sup>* <sup>∈</sup> <sup>R</sup><sup>+</sup> is the differentiation order; *<sup>a</sup>* and *<sup>t</sup>* are the fixed and variable limits; <sup>Γ</sup> is the Gamma function; *h* is the time increment; [*y*] is the integer part of *y*. To obtain a numerical implementation, Equation (1) must be rewritten using a small but finite sampling time *Ts* [23]:

$$\mathbf{x}(t)^{(a)} \cong \mathbf{x}(kT\_s)^{(a)} \cong \frac{1}{T\_s^a} \left( \sum\_{j=0}^k w\_j^a \mathbf{x}((k-j)T\_s) \right), k = [(t-a)/T\_s],\tag{2}$$

where:

$$w\_0^a = 1,\\
w\_j^a = \left(1 - \frac{a+1}{j}\right) w\_{j-1}^a,\\ j = 1, \ 2, \ \dots \tag{3}$$

In Equation (2) there is a summation of *k +* 1 sampled values of *x*, with *k* tending to infinity as time passes, which is computationally unfeasible for real-time control applications; therefore, only a fixed number of *n* previous steps is used in Equation (2), obtaining an *n*th order digital filter with memory length *L = nTs*, which can be written in the *z*-transform notation:

$$D^{(a)}(z) = \frac{1}{T\_s^a} \sum\_{j=0}^n w\_j^a z^{-j}. \tag{4}$$

The application of digital filter (4) corresponds to considering only the recent past of the function, in the interval [*t–L*, *t*]. In general, this approximation is acceptable according to the so-called short-memory principle [23]. Nevertheless, the truncation of the summation of Equation (2) to *n +* 1 addends leads to an issue when filter (4) is applied to impedance control, as discussed in [18]. In reality, the summation of the filter coefficients tends to zero as *k* tends to infinity:

$$\lim\_{k \to \infty} \sum\_{j=0}^{k} w\_j^a = 0. \tag{5}$$

Consequently, any fractional-order derivative of a constant *c* is null. Unfortunately, considering only a finite number *n* of terms, this summation is non-zero, but it is a positive function of *n*, which tends to zero quite slowly, as discussed in [18]:

$$\mathcal{W}\_{\mathfrak{a}}(n) = \sum\_{j=0}^{n} w\_j^{\mathfrak{a}} > 0. \tag{6}$$

Therefore, the fractional derivative of a constant *c* evaluated in real time by means of the *n*th order digital filter (4) is non-zero, but equal to *cWα*(*n*)/*T<sup>α</sup> <sup>s</sup>* , tending to zero as the filter order increases. This fact alters the behavior of the impedance control in a steady state: as a matter of fact, in a steady state only the stiffness term should be non-zero, with null damping terms, since the position error is constant, and, therefore, its time derivatives should be null. Nevertheless, if fractional-order derivatives are numerically evaluated with finite-order filters, the fractional-order damping term is also non-zero in the steady state, giving rise to a constant term which alters the relationship between position error and end-effector force, which should depend only on the stiffness matrix and not on the fractional-order damping matrix. To solve this issue, a proper compensation term is introduced, as discussed in Section 3.3.

#### **3. The Proposed KDHD Impedance Control**

#### *3.1. KD Impedance Control of Six-Degree-of-Freedom Non-Redundant Parallel Robots*

The KDHD impedance control has been proposed for the first time in [18], with application to a purely translating parallel robot. In the following, the KDHD impedance control is extended to a full-mobility, six-degree-of-freedom parallel robot. In particular, the considered case study is the Stewart platform, but the same approach can be used for any non-redundant six-degree-of-freedom parallel robot by only replacing the Jacobian matrix.

The KD impedance control with gravity compensation for a non-redundant six-degreeof-freedom parallel robot can be expressed by the following control law [24]:

$$\begin{split} \mathbf{r} &= \left(\mathbf{J}\_{p}^{\mathrm{T}}(\mathbf{q})\right)^{-1} \left(\mathbf{K}\_{KD} \begin{bmatrix} \mathbf{x}\_{d} - \mathbf{x}(\mathbf{q}) \\ \mathbf{E}\_{d} - \mathbf{E}(\mathbf{q}) \end{bmatrix} + \mathbf{D}\_{KD} \begin{bmatrix} (\mathbf{x}\_{d} - \mathbf{x}(\mathbf{q}))^{(1)} \\ (\mathbf{E}\_{d} - \mathbf{E}(\mathbf{q}))^{(1)} \end{bmatrix} \right) + \mathbf{r}\_{\mathcal{S}}(\mathbf{q}) = \\ &= \left(\mathbf{J}\_{p}^{\mathrm{T}}(\mathbf{q})\right)^{-1} \left( \begin{bmatrix} \mathbf{K}\_{KD} & 0 \\ 0 & \mathbf{K}\_{KD} \end{bmatrix} \begin{bmatrix} \mathbf{x}\_{d} - \mathbf{x}(\mathbf{q}) \\ \mathbf{E}\_{d} - \mathbf{E}(\mathbf{q}) \end{bmatrix} + \begin{bmatrix} \mathbf{D}\_{KD} & 0 \\ 0 & \mathbf{D}\_{KD} \end{bmatrix} \begin{bmatrix} (\mathbf{x}\_{d} - \mathbf{x}(\mathbf{q}))^{(1)} \\ (\mathbf{E}\_{d} - \mathbf{E}(\mathbf{q}))^{(1)} \end{bmatrix} \right) + \mathbf{r}\_{\mathcal{S}}(\mathbf{q}) \end{split} \tag{7}$$

where τ is the vector of the actuation forces, **q** is the vector of the internal coordinates, τ*g*(**q**) is the gravity compensation vector and **J**p(**q**) is the Jacobian matrix of the parallel robot, which correlates to the time-derivative of the external and internal coordinates:

$$
\dot{\mathbf{q}} = \mathbf{J}\_p \begin{bmatrix} \dot{\mathbf{x}} \\ \dot{\mathbf{E}} \end{bmatrix}. \tag{8}
$$

In particular, for the Stewart platform the vector of the internal coordinates collects the six leg lengths (**q** = [*q*1, *q*2, *q*3, *q*4, *q*5, *q*6] *<sup>T</sup>*), while the vector of the external coordinates assembles the three end-effector coordinates in the fixed reference frame (**x** = [*x*, *y*, *z*] *<sup>T</sup>*) and the three components in the fixed reference frame of the angle-axis vector **E** = [*Ex*, *Ey*, *Ez*] *T*. The vector **E** = *θ*·**e** represents a generic rotation with magnitude *θ* around an axis defined by the unit vector **e** according to the right-hand rule [6]. The use of the vector **E** to represent the end-effector orientation is the most suitable for impedance control due to its strict relationship with the angular velocity vector *ω*. As a matter of fact, it is possible to demonstrate that, if *θ* tends to zero, the angular velocity *ω* tends to be equal to the time-derivative of **E** [9]. This property is not very important for rotations with respect to a fixed frame, because in general *θ* is different from zero, but it is useful in impedance control, where the angle-axis representation is used to describe the relative rotation between the end effector frame, **E**(**q**), and the frame describing its reference orientation, **E**d, because *θ* is small. Consequently, if rotational damping is based on the time-derivative of **E**, which tends to *ω*, it is based on an entity with a clear geometric meaning, realizing a strict analogy with the translational position and velocity vectors [9].

In Equation (7), **K***KD* and **D***KD* are the stiffness and damping matrices, and the vectors **x***<sup>d</sup>* and **E***<sup>d</sup>* describe the reference trajectory in the external coordinates. Let us note that **K***KD* and **D***KD* are 6 × 6 and block-diagonal, composed of 3 × 3 blocks representing the translational stiffness (**K***KDt*), the rotational stiffness (**K***KDr*), the translational damping (**D***KDt*) and the rotational damping (**D***KDr*). The remaining elements of **K***KD* and **D***KD* are null, since the translational and rotational behaviors are imposed to be decoupled.

In general, the stiffness and damping matrices are block-diagonal but non-diagonal in the fixed reference frame, W. Based on the task requirements, it is possible to choose a convenient principal reference frame in which stiffness and damping are decoupled for any direction. Moreover, it can be useful to have two distinct principal reference frames, one for the translations (PT) and one for the rotations (PR). Therefore, the 3 × 3 stiffness and damping submatrices are defined as diagonal in PT and PR and then transformed into frame W by means of the corresponding rotation matrices [24]:

$$\mathbf{K}\_{KDt} = \left(\mathbf{R}\_W^{PT}\right)^T \mathbf{K}\_{KDt}^{PT} \mathbf{R}\_{W'}^{PT} \tag{9}$$

$$\mathbf{K}\_{KDr} = \left(\mathbf{R}\_{\mathcal{W}}^{PR}\right)^{T} \mathbf{K}\_{KDr}^{PR} \mathbf{R}\_{\mathcal{W}}^{PR} \, \, \, \, \tag{10}$$

$$\mathbf{D}\_{KDt} = \left(\mathbf{R}\_W^{PT}\right)^T \mathbf{D}\_{KDt}^{PT} \mathbf{R}\_W^{PT} \,. \tag{11}$$

$$\mathbf{D}\_{KDr} = \left(\mathbf{R}\_{W}^{PR}\right)^{T} \mathbf{D}\_{KDr}^{PR} \mathbf{R}\_{W}^{PR}.\tag{12}$$

#### *3.2. KDHD Impedance Control of Six-Degree-of-Freedom Non-Redundant Parallel Robots*

In the KDHD impedance control, damping is proportional not only to the first-order derivative of the external coordinates' error, according to matrix **D***KDHD*, but also to its half-order derivative (derivative of order 1/2), according to matrix **HD***KDHD*:

τ = **J***T <sup>p</sup>* (**q**) −<sup>1</sup> ⎛ <sup>⎝</sup>**K***KDHD* ⎡ <sup>⎣</sup> **<sup>x</sup>***<sup>d</sup>* <sup>−</sup> **<sup>x</sup>**(**q**) **E***<sup>d</sup>* − **E**(**q**) ⎤ <sup>⎦</sup> <sup>+</sup> **<sup>D</sup>***KDHD* ⎡ ⎣ (**x***<sup>d</sup>* <sup>−</sup> **<sup>x</sup>**(**q**))(1) (**E***<sup>d</sup>* <sup>−</sup> **<sup>E</sup>**(**q**))(1) ⎤ ⎦+ + **HD***KDHD* ⎡ ⎣ (**x***<sup>d</sup>* <sup>−</sup> **<sup>x</sup>**(**q**))(1/2) (**E***<sup>d</sup>* <sup>−</sup> **<sup>E</sup>**(**q**))(1/2) ⎤ ⎦ ⎞ <sup>⎠</sup> <sup>+</sup> <sup>τ</sup>*g*(**q**) <sup>=</sup> = **J***T <sup>p</sup>* (**q**) −<sup>1</sup> ⎛ ⎝ ⎡ <sup>⎣</sup> **<sup>K</sup>***KDHDt* <sup>0</sup> 0 **K***KDHDr* ⎤ ⎦ ⎡ <sup>⎣</sup> **<sup>x</sup>***<sup>d</sup>* <sup>−</sup> **<sup>x</sup>**(**q**) **E***<sup>d</sup>* − **E**(**q**) ⎤ <sup>⎦</sup> <sup>+</sup> ⎡ <sup>⎣</sup> **<sup>D</sup>***KDHDt* <sup>0</sup> 0 **D***KDHDr* ⎤ ⎦ ⎡ ⎣ (**x***<sup>d</sup>* <sup>−</sup> **<sup>x</sup>**(**q**))(1) (**E***<sup>d</sup>* <sup>−</sup> **<sup>E</sup>**(**q**))(1) ⎤ ⎦+ + ⎡ <sup>⎣</sup> **HD***KDHDt* <sup>0</sup> 0 **HD***KDHDr* ⎤ ⎦ ⎡ ⎣ (**x***<sup>d</sup>* <sup>−</sup> **<sup>x</sup>**(**q**))(1/2) (**E***<sup>d</sup>* <sup>−</sup> **<sup>E</sup>**(**q**))(1/2) ⎤ ⎦ ⎞ <sup>⎠</sup> <sup>+</sup> <sup>τ</sup>*g*(**q**) (13)

Similarly to the matrices **K***KDHD* and **D***KDHD*, for which the Equations (9) to (12) are always valid, the two blocks of the matrix **HD***KDHD* can also be defined in the principal reference frames PT and PR, and then transformed to frame W:

$$\mathbf{HD}\_{KDt} = \left(\mathbf{R}\_W^{PT}\right)^T \mathbf{HD}\_{KDt}^{PT} \mathbf{R}\_W^{PT} \tag{14}$$

$$\mathbf{H} \mathbf{D}\_{KDr} = \left(\mathbf{R}\_W^{PR}\right)^T \mathbf{H} \mathbf{D}\_{KDr}^{PR} \mathbf{R}\_W^{PR}.\tag{15}$$

#### *3.3. KDHDc Impedance Control of Six-Degree-of-Freedom Non-Redundant Parallel Robots*

As discussed in Section 2, the approximated real-time implementation of fractionalorder derivatives by means of a digital filter with finite order *n* introduces an issue for impedance control, since it alters the relationship between position error and end-effector generalized force. To solve this problem, a stiffness-compensated KDHD impedance control, named KDHDc, is proposed, subtracting in the stiffness term the unwanted additional stiffness caused by the half-order damping and evaluated by means of Equation (6):

$$\begin{split} \mathbf{r} = \left(\mathbf{I}\_{p}^{\mathrm{T}}(\mathbf{q})\right)^{-1} \Bigg( \left(\mathbf{K}\_{\mathrm{KDHD}} - \frac{\mathrm{W}\_{1/2}(\mathbf{z})}{\mathrm{T}\_{i}^{1/2}} \mathbf{H} \mathbf{D}\_{\mathrm{KDHD}}\right) \Bigg[ \begin{array}{l} \mathbf{x}\_{\mathrm{d}} - \mathbf{x}(\mathbf{q}) \\ \mathbf{E}\_{\mathrm{d}} - \mathbf{E}(\mathbf{q}) \end{array} \Bigg) + \mathbf{D}\_{\mathrm{KDHD}} \Bigg[ \begin{array}{l} \left(\mathbf{x}\_{\mathrm{d}} - \mathbf{x}(\mathbf{q})\right)^{(1)} \\ \left(\mathbf{E}\_{\mathrm{d}} - \mathbf{E}(\mathbf{q})\right)^{(1/2)} \end{array} \Bigg] + \\ + \mathbf{H} \mathbf{D}\_{\mathrm{KDHD}} \Bigg[ \begin{array}{l} \left(\mathbf{x}\_{\mathrm{d}} - \mathbf{x}(\mathbf{q})\right)^{(1/2)} \\ \left(\mathbf{E}\_{\mathrm{d}} - \mathbf{E}(\mathbf{q})\right)^{(1/2)} \end{array} \Bigg) \Bigg) + \mathbf{r}\_{\mathrm{d}}(\mathbf{q}) \end{split} \tag{16}$$

This expression extends the KDHDc impedance control proposed in [18] for purely translational robots to full-mobility, non-redundant manipulators.

#### **4. Kinematic Model of the Stewart Platform**

The Stewart platform, also known as the Gough–Stewart platform, has been selected as a case study since it is the probably the best-known parallel robot. From its introduction in 1956 by Gough as a tire testing machine and in 1965 by Stewart as an aircraft simulation machine, it has attracted considerable research interest in manufacturing and robotic applications. Several commercial machine tools based on this architecture have been proposed. Other application fields are animatronics, crane technology, positioning of satellite dishes, telescopes and surgery devices. Moreover, the Stewart platform is six-degree-of-freedom and non-redundant, which is necessary to apply KDHDc impedance control using Equations (7), (13) and (16). The Stewart platform and its kinematics [25] have been exhaustively discussed and investigated in the scientific literature. In this Section, its geometry and the formulation of the Jacobian matrix, which is used in impedance algorithms, are briefly recalled.

The geometric scheme of a generic Stewart platform is represented in Figure 1. The base is fixed with respect to the fixed reference frame W. The reference frame P is fixed to the moving platform. The external coordinates are composed of the vector **x**, from the origin of W to the origin of P, and of the angle-axis vector **E,** which represents the orientation of P with respect to W. The internal coordinates of the robot are the lengths of the six variable-length legs, collected in the vector **q**. The legs are connected to the base and to the platform by universal joints, and the two parts of each extensible leg are connected by a cylindrical joint with idle rotation and actuated translation. The positions of the centers of the platform and base joints are respectively represented in the frame W by the vectors **P***<sup>i</sup>* and **B***i*.

**Figure 1.** Geometric scheme of the Stewart platform; W(*xw, yw,zw*): fixed reference frame; P(*xp, yp,zp*): moving platform reference frame.

Let **S***<sup>i</sup>* be the *i*th leg vector in the base coordinate system, that is the difference between the position vectors **P***<sup>i</sup>* and **B***i*; the vector **U***<sup>i</sup>* of the six Plücker coordinates of the *i*th leg is composed of the vector **S***i*, normalized and expressed in the platform frame P, and by its moment about the platform reference frame origin, always expressed in frame P:

$$\mathbf{U}\_{i} = \begin{bmatrix} \mathbf{R}\_{W}^{P} \frac{\mathbf{S}\_{i}}{|\mathbf{S}\_{i}|}\\\mathbf{R}\_{W}^{P} \left[ (\mathbf{B}\_{i} - \mathbf{x}) \times \frac{\mathbf{S}\_{i}}{|\mathbf{S}\_{i}|} \right] \end{bmatrix}. \tag{17}$$

The static behavior of the Stewart Platform is described by the 6 × 6 matrix **U**(**q**), a function of the internal coordinates, which collects the six vectors of the Plücker coordinates [26]:

$$\mathbf{r} = \left(\mathbf{U}(\mathbf{q})\right)^{-1} \mathbf{F} = \begin{bmatrix} \mathbf{U}\_1(\mathbf{q}) & \mathbf{U}\_2(\mathbf{q}) & \mathbf{U}\_3(\mathbf{q}) & \mathbf{U}\_4(\mathbf{q}) & \mathbf{U}\_5(\mathbf{q}) & \mathbf{U}\_6(\mathbf{q}) \end{bmatrix}^{-1} \mathbf{F},\tag{18}$$

where τ is the vector of the forces exerted by the six legs and **F** is the six-dimensional vector of the generalized forces exerted by the robot on the environment, expressed on the platform reference frame. Consequently, it is evident that the transpose of **U** corresponds to the robot Jacobian matrix **J***<sup>p</sup>* and can be used in impedance control algorithms (7), (13) and (16). In order to work properly, the Stewart platform should avoid configurations in which the Jacobian matrix is singular or ill-conditioned; to obtain this, first of all the hexagons of the platform and base joints are never regular; moreover, it is convenient to place the joints of platform and base as close as possible two by two, giving rise to two hexagons similar to

equilateral triangles, which are rotated 60◦ in the rest position [27], as in the model shown in Figure 2.

**Figure 2.** Multibody model of the Stewart platform.

#### **5. Multibody Model of the Stewart Platform**

The proposed KDHDc impedance control has been tested and compared to the classical KD control implementing a model of the Stewart platform in the multibody simulation environment Simscape MultibodyTM by MathWorks (Figure 2). The main geometrical and inertial parameters considered in the simulations are collected in Table 1.


**Table 1.** Geometrical and inertial parameters of the 3-PUU parallel robot.

#### **6. Simulation Results**

The KDHDc/KD comparison has been carried out in a wide variety of case studies; here, for reasons of space, the results of three case studies are reported:

(A) Approach/depart motion without contact with the environment: the end-effector follows a reference trajectory, defined by time-varying reference values of **x***<sup>d</sup>* and **E***<sup>d</sup>* (external coordinates), without external forces acting on the end-effector; for each external coordinate a trapezoidal speed law is imposed, and the end-effector compliance is isotropic: the stiffness and damping matrices are diagonal, with three equal elements for the translational and rotational submatrices.


#### *6.1. Case Study A: Approach/Depart Motion without Contact with the Environment*

In this case study, the stiffness and damping matrices are diagonal and isotropic both for the KD and KDHD impedance controllers.

For the KD impedance algorithm:


After imposing the stiffness diagonal values, the diagonal values of the damping matrix are selected starting from the nondimensional damping coefficient, *ζKD*, according to the following expression [28]:

$$d\_{KDt,i} = 2\zeta\_{KDt}\sqrt{k\_{KDt,i}m\_{mp\_t}}, i = 1\ldots 3,\tag{19}$$

$$d\_{\rm KDr,i} = 2\zeta\_{\rm KDr}\sqrt{k\_{\rm KDr,i}}I\_{i\prime}i = 1\ldots 3,\tag{20}$$

in which the mass of the moving platform, *mmp*, is considered for the translational damping, and the three moments of inertia of the moving platform, *J1*, *J2* and *J3*, are considered for the rotational damping. In general, the nondimensional damping coefficient can have different values for the translational impedance (*ζKDt*) and for the rotational impedance (*ζKDr*).

For the KDHDc impedance algorithm:


The diagonal values of the two damping matrices can be selected starting from the nondimensional coefficients *ζKDHD* and *ψKDHD*, according to the following expressions:

$$d\_{KDHDt,i} = 2\zeta\_{KDHDt}\sqrt{k\_{KDHDt,i}m\_{mp\_{t}}} \quad i = 1 \ldots 3,\tag{21}$$

$$d\_{\rm KDHDr,i} = \mathfrak{L}'\_{\rm KDHDr} \sqrt{k\_{\rm KDHDr,i}} I\_{i\prime} \quad i = 1 \ldots 3,\tag{22}$$

$$
\hbar h\_{\rm KDHDt,i} = \psi\_{\rm KDHDt,i}^{3/4} m\_{mp}^{1/4}, \quad i = 1 \ldots 3,\tag{23}
$$

$$hd\_{KDHDr,i} = \psi\_{KDHDr,i}^{3/4} l\_i^{1/4}, \quad i = 1 \ldots 3. \tag{24}$$

The coefficients *ζKDHD* and *ψKDHD* represent non-dimensionally the derivative and half-derivative damping terms [28]. In [20], three couples of PD and PDD1/2 tunings, recalled in Table 2, have been compared in the control of a linear axis.


**Table 2.** Nondimensional parameters of the compared PD and PDD1/2 tunings.

These couples of PD and PDD1/2 tunings have been selected as the starting point of the study, since they have been obtained with reference to a nondimensional secondorder purely inertial linear system, with transfer function *G*(*s*)=1*/s*2, according to the following method:


Table 2 collects the PDD1/2 *ζ*–*ψ* combinations associated to three different reference PD controllers, with *ζ* = 0.8, 1, and 1.2. Simulations and experimental tests on a single mechatronic axis, as reported in [20], show that these PDD1/2 tunings allow to improve the readiness with respect to PD, with a similar control effort. Moreover, even if this tuning is based on the step input, the benefits in terms of control readiness of the PDD1/2 controller have been also demonstrated with different reference inputs [28]. In the following, for reasons of space, only the results for the comparison II (KD with *ζKD* = 1.0 vs. KDHDc with *ζKDHD* = 0.45 and *ψKDHD* = 1.4266) will be reported, the other two comparisons leading to qualitatively similar results.

The stiffness matrices for the KD and KDHDc impedance controls have been obtained imposing the following stiffness values:


While the damping matrices have been calculated using Equations (19) to (24).

In the simulations, the half-derivative is calculated using the digital filter (4) with sampling time *Ts* = 0.005 s and filter order *n* = 10; these values are suitable for a real-time digital implementation on a commercial controller.

The two control laws have been compared in case of a trapezoidal reference trajectory, both translational and rotational, characterized by four phases. At the beginning of this trajectory, **x** = **x***<sup>d</sup>* = **x***ref* (Table 1, the reference position in the workspace center) and **E** = **E***<sup>d</sup>* = **0** (the platform is aligned to the base); then:


The total simulation time is *Tsim* = 2(*tramp* + *tstop*). Figures 3 and 4 show the simulation results of the KD–KDHDc comparison in terms of external coordinates and actuation forces.

**Figure 3.** Case study A, KD–KDHDc comparison, external coordinates.

**Figure 4.** Case study A, KD–KDHDc comparison, actuation forces.

Adopting the KDHDc impedance control, the peaks of actuation forces are lower (average reduction over the six actuators: −13%, Figure 4), and the control effort, calculated according to the following equation,

$$E\_{tot} = \sum\_{i=1}^{6} \int\_{0}^{\tau\_{sim}} \tau\_{i}^{2} dt\_{\prime} \tag{25}$$

is slightly lower (−0.03%). On the other hand, the settling time to within 0.2% of the steady-state displacement for the KDHDc is slightly lower (−3.7% averaged over the six external coordinates, Figure 3), while the overshoot is higher (maximum overshoot for the translational coordinates: +4.0% for the KDHDc and +3.4% for the KD; maximum overshoot for the rotational coordinates: +9.3% for the KDHDc and +7.4% for the KD). Without discussing in detail the possible advantages of the KDHDc and its possible tuning criteria, it is interesting to observe that this results are qualitatively similar to the ones of the PDD1/2 control scheme compared to the classical PD with same *ζ* and *ψ* (better readiness and slightly higher overshoot with lower maximum values of the control inputs [20]). This means that the tuning criteria developed for the PDD1/2 control can provide useful indications for tuning the KDHDc impedance control.

#### *6.2. Case Study B: Interaction with the Environment, Diagonal Stiffness and Damping Matrices*

In this case study, the stiffness and damping matrices are diagonal in the world frame W, which coincides with PT and PR, but the imposed end-effector behavior is not isotropic, since the three diagonal elements of each 3 × 3 submatrix are not equal as in case study A:


Resulting in higher compliance along the *x*-axis both for the translations and for the rotations. As in case A, the diagonal values of the damping matrices are obtained using Equations (19) to (24) separately for each coordinate, and imposing KD with *ζ* = 1.0 for the KD, and *ζ* = 0.45 and *ψ* = 1.4266 for the KDHDc.

A force **<sup>F</sup>** = [100, 100, 100]*<sup>T</sup>* N and a moment **<sup>M</sup>** = [20, −20, 20]*<sup>T</sup>* Nm are applied to the end-effector at *t* = 0 s. The half-derivative is calculated adopting the same discrete-time implementation as in case A (*Ts* = 0.005 s, *n* = 10).

Figure 5 shows the simulation results of the KD–KDHDc comparison in terms of external coordinates. It is possible to note that the steady-state displacements of the external coordinates using the two algorithms coincide for both the algorithms with the expected values, **x***ss* and **E***ss*, which can be obtained by inverting the translational and rotational diagonal submatrices:

$$\begin{aligned} \mathbf{x}\_{\text{65}} &= \left(\mathbf{K}\_{\text{KD}t}\right)^{-1} \mathbf{F} = \left(\mathbf{K}\_{\text{KD}HD}\right)^{-1} \mathbf{F} = \begin{bmatrix} 0.05 & 0.01 & 0.01 \end{bmatrix}^{T} \begin{bmatrix} \text{mm} \end{bmatrix} \\ \mathbf{E}\_{\text{65}} &= \left(\mathbf{K}\_{\text{KD}r}\right)^{-1} \mathbf{M} = \begin{bmatrix} \mathbf{K}\_{\text{KD}HDr} \end{bmatrix}^{-1} \mathbf{M} = \begin{bmatrix} 0.200 & -0.020 & 0.020 \end{bmatrix}^{T} \begin{bmatrix} \text{rad} \end{bmatrix} \end{aligned} \tag{26}$$

It occurs thanks to the correctness of the stiffness compensation present in Equation (16) for the KDHDc and absent in Equation (13) for the KDHD; let us note that these correction terms are in percentage relevant with respect to the corresponding diagonal terms of the stiffness matrix: 158%, 105% 105%, 134%, 75% and 89%, respectively, for the six external coordinates. Adopting Equation (13), without this correction, the stiffness of the KDHD is much higher than the desired stiffness expressed by the matrix **K***KDHD*, with diagonal values ranging from 175% to 258% of the corresponding desired values. Let us also note that for the first four external coordinates the negative correction is higher than the desired stiffness, giving rise to negative diagonal values of the proportional terms, without affecting the compensation effectiveness. In other words, the corrected stiffness term of Equation (16) is the sum of two terms, one positive, proportional to the matrix **K***KDHD* of the desired stiffness, and one negative, proportional to the matrix *W*1/2(*n*)/*Ts* 1/2**HD***KDHD.* The second negative

term, which is the correction of the unwanted additional stiffness introduced by the halfderivative digital filter, depends on the filter order *n* and on the sampling time *Ts*, and can be even higher than the desired stiffness term. However, independently of which term is larger, the stiffness compensation acts correctly, and the KDHDc impedance control, Equation (16), exhibits in steady-state the desired stiffness for each external coordinate, as shown by the graphs of Figure 5.

**Figure 5.** Case study B, KD–KDHDc comparison, external coordinates.

#### *6.3. Case Study C: Interaction with the Environment, Non-Diagonal Stiffness and Damping Matrices*

In this case study, the stiffness compensation of the impedance control law KDHDc is tested with the principal translational and rotational reference frames, PT and PR, rotated with respect to the fixed reference frame W: PT is rotated with respect to a W of *θ<sup>t</sup>* = π/6 rad about an axis represented by the unit vector **<sup>u</sup>***<sup>t</sup>* = [+1, −2, +4]*<sup>T</sup>*/211/2; PR is rotated with respect to a W of *θ<sup>t</sup>* = π/3 rad about an axis represented by the unit vector **u***<sup>r</sup>* = [+1, +2, +4]*<sup>T</sup>*/211/2. The rotation matrix between W and PT can be obtained from the axis-angle representation by the following formula [6]:

$$\mathbf{R}\_{\mathsf{W}}^{PT} = \begin{bmatrix} u\_{\mathrm{Ix}}^2 + \left(1 - u\_{\mathrm{Ix}}^2\right) \mathrm{c}\theta\_{\mathrm{I}} & u\_{\mathrm{Ix}} u\_{\mathrm{Iy}} (1 - \mathrm{c}\theta\_{\mathrm{I}}) - u\_{\mathrm{Iz}} \mathrm{s}\theta\_{\mathrm{I}} & u\_{\mathrm{Ix}} u\_{\mathrm{Iz}} (1 - \mathrm{c}\theta\_{\mathrm{I}}) + u\_{\mathrm{Iy}} \mathrm{s}\theta\_{\mathrm{I}} \\ u\_{\mathrm{Ix}} u\_{\mathrm{Iy}} (1 - \mathrm{c}\theta\_{\mathrm{I}}) + u\_{\mathrm{Iz}} \mathrm{s}\theta\_{\mathrm{I}} & u\_{\mathrm{Iy}}^2 + \left(1 - u\_{\mathrm{Iy}}^2\right) \mathrm{c}\theta\_{\mathrm{I}} & u\_{\mathrm{Iy}} u\_{\mathrm{Iz}} (1 - \cos\theta\_{\mathrm{I}}) - u\_{\mathrm{Ix}} \mathrm{s}\theta\_{\mathrm{I}} \\ u\_{\mathrm{Ix}} u\_{\mathrm{Iz}} (1 - \mathrm{c}\theta\_{\mathrm{I}}) - u\_{\mathrm{Iy}} \mathrm{s}\theta\_{\mathrm{I}} & u\_{\mathrm{Iy}} u\_{\mathrm{Iz}} (1 - \mathrm{c}\theta\_{\mathrm{I}}) + u\_{\mathrm{Iz}} \mathrm{s}\theta\_{\mathrm{I}} & u\_{\mathrm{Iz}}^2 + \left(1 - u\_{\mathrm{Iz}}^2\right) \mathrm{c}\theta\_{\mathrm{I}} \end{bmatrix}. \tag{27}$$

where c*θ<sup>t</sup>* and s*θ<sup>t</sup>* stand for cos*θ<sup>t</sup>* and sin*θt.* The rotation matrix between W and PR can be obtained from the same Equation (27), replacing *θ<sup>t</sup>* and **u***<sup>t</sup>* with *θ<sup>r</sup>* and **u***r*.

The principal stiffness matrix and damping matrices have the same diagonal values of case study B, but the stiffness matrix and damping matrices expressed in W change due to the orientations of PT and PR; on the contrary, the external force and moment **F** and **M** are kept equal in frame W to case B. The half-derivative is calculated adopting the same

discrete-time implementation as in cases A and B (*Ts* = 0.005 s, *n* = 10). Figure 6 shows the simulation results in terms of external coordinates for the KD and KDHDc control laws.

**Figure 6.** Case study C, KD–KDHDc comparison, external coordinates.

It is possible to note that also in this case the steady-state displacements of the external coordinates using the two algorithms coincide for both the algorithms with the expected values, **x***ss* and **E***ss*, which can be obtained by inverting the translational and rotational diagonal submatrices, once transformed in the fixed reference frame by Equations (9) and (10), confirming the correctness of the KDHDc stiffness compensation:

$$\begin{aligned} \mathbf{x}\_{66} &= \left(\mathbf{K}\_{\text{KD}}\right)^{-1} \mathbf{F} = \left(\left(\mathbf{R}\_{\text{W}}^{\text{PT}}\right)^{\text{T}} \mathbf{K}\_{\text{KD}}^{\text{PT}} \mathbf{R}\_{\text{W}}^{\text{PT}}\right)^{-1} \mathbf{F} = \left[\begin{array}{cc} 0.0180 & 0.0059 & 0.0082 \end{array}\right]^{\text{T}} \begin{bmatrix} \text{mm} \end{bmatrix} \\ \mathbf{E}\_{66} &= \left(\mathbf{K}\_{\text{KD}}\right)^{-1} \mathbf{M} = \left(\left(\mathbf{R}\_{\text{W}}^{\text{PR}}\right)^{\text{T}} \mathbf{K}\_{\text{KD}}^{\text{PR}} \mathbf{R}\_{\text{W}}^{\text{PR}}\right)^{-1} \mathbf{M} = \left[\begin{array}{cc} 0.181 & -0.237 & 0.165 \end{array}\right]^{\text{T}} \begin{bmatrix} \text{rad} \end{bmatrix} \end{aligned} \tag{28}$$

#### **7. Conclusions and Future Research Directions**

In this paper, the KDHDc fractional-order extension of the classical KD impedance control algorithm, already proposed in [18] for a purely translational parallel robot, has been applied to a six-degree-of-freedom parallel robot, the Stewart platform, requiring the definition of the rotational impedance. To this end, for the representation of the moving platform orientation, which influences the rotational impedance, the three components of the angle-axis vector **E** have been selected. Using these external coordinates for evaluating the orientation error and its derivatives has some theoretical advantages over other representations (for instance, Euler angles) due to the fact that **E** is a frame-independent natural invariant with a clear Euclidean-geometric meaning [6], and its first-order derivative has a close relationship with the angular velocity vector, which makes it particularly suitable for defining the damping term [9].

The conception of the KDHDc impedance control originates from the work on the PDD1/2 control scheme, first developed for single-input single-output systems, and can be considered as its extension to impedance-controlled robots, which are a class of non-linear multi-input multi-output systems.

In this paper and in [18] non-redundant parallel robots are considered, but the proposed KDHDc impedance control can be applied also to non-redundant serial robots, only bearing in mind that the Jacobian matrix of serial robots usually transforms the internal coordinates into external coordinates and not vice versa, as for parallel robots. Consequently, the KDHDc impedance control equations proposed in [18] for translational parallel robots and in this paper for full-mobility parallel robots can be used, respectively, for translational and full-mobility serial robots by simply replacing (**J***T*(**q**))−<sup>1</sup> with **J***T*(**q**).

Even if the work is only a starting point, it is possible to summarize the following conclusions:


**Author Contributions:** L.B. conceived the control algorithm and designed the simulation campaign; A.P. developed the multibody model and performed simulations; L.B. and A.P. prepared the manuscript. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research received no external funding.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Data is contained within the article. The simulation data presented in this study are available in figures and tables.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


## *Article* **Dynamic Modeling, Workspace Analysis and Multi-Objective Structural Optimization of the Large-Span High-Speed Cable-Driven Parallel Camera Robot**

**Yu Su 1,\*, Yuanying Qiu 2, Peng Liu 3, Junwei Tian 1, Qin Wang <sup>1</sup> and Xingang Wang <sup>1</sup>**


**Abstract:** Since most of the cable-driven parallel manipulators (CDPMs) are small in dimension or low in speed, the self-weight or inertia of the cable is neglected when dealing with the problems of kinematics, dynamics and workspace. The cable is treated as a massless straight line, and the inertia of the cable is not discussed. However, the camera robot is a large-span high-speed CDPM. Thus, the self-weight and inertia of the cable cannot be negligible. The curved cable due to the self-weight is modeled as a catenary to accurately account for its sagging effect. Moreover, the dynamic model of the camera robot is derived by decomposing the motion of the cable into an in-plane motion and an out-plane motion, based on which an iterative-based tension distribution algorithm and a workspace generation algorithm are presented. An optimization model is presented to simultaneously improve the workspace volume, anti-wind disturbance ability and impulse of tensions on the camera and pan–tilt device system (CPTDS) by selecting the proper optimal variables under the linear and nonlinear constraints. An improved genetic algorithm (GA) is proposed, and the simulation results demonstrate that the improved GA offers a stronger ability in global optimization compared to the standard genetic algorithm (SGA). The ideal-point method is employed to avoid the subjective influence of the designer when performing the multi-objective optimization, and a remarkable improvement of the performance is obtained through the optimization. Furthermore, the distribution characteristics of the optimization objects are studied, and some valuable conclusions are summarized, which will provide some valuable references in designing large-span high-speed CDPMs.

**Keywords:** cable-driven parallel manipulator (CDPM); high-speed manipulator; large-span structure; structural optimization; genetic algorithm (GA); ideal-point method

#### **1. Introduction**

The cable-driven parallel camera robot (camera robot for short, see Figure 1) is a type of CDPM (cable-driven parallel manipulator) consisting of four computer-driven servo motors that enable the controlled release of four cables that act in parallel on an end-effector, i.e., the CPTDS (camera and pan–tilt device system). The camera robot can take pictures and videos with an aerial view that conventional cameras would have difficulty in realizing [1], making it the best candidate for aerial panoramic photographing in big venues, such as stadiums, football fields, theaters, etc.

There have existed some commercial camera robots, e.g., Skycam, Spidiercam and Cablecam [2], which can also be applied in agricultural remote sensing [3] and traffic monitoring [4] and film production [5]. A camera robot is a typical of large-span high-speed

**Citation:** Su, Y.; Qiu, Y.; Liu, P.; Tian, J.; Wang, Q.; Wang, X. Dynamic Modeling, Workspace Analysis and Multi-Objective Structural Optimization of the Large-Span High-Speed Cable-Driven Parallel Camera Robot. *Machines* **2022**, *10*, 565. https://doi.org/10.3390/ machines10070565

Academic Editors: Zhufeng Shao, Dan Zhang and Stéphane Caro

Received: 6 June 2022 Accepted: 11 July 2022 Published: 14 July 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

CDPM with redundant actuation [6], whose performance is largely determined by its structural parameters [7,8].

The essence of structural optimization is to establish the mapping relationships between optimal variables and optimization objects. Determining an optimal structure of a CDPM meeting a set of optimization objectives is generally challenging, which can be solved by formulating a constrained optimization problem. There has been plenty of prior work in the structural optimization of CDPMs, which employ various optimization objects, such as workspace size [9], condition number of Jacobian matrix [10], tension factor [11,12], stiffness [13–15], avoiding collision of cables [16,17], manipulability [18] and the maximum acceptable horizontal distance [19].

**Figure 1.** Schematic of a camera robot configuration.

However, most of the above optimization methods belong to traditional optimization methods, such as the simplex method, interval analysis, Dynamic-Q, grouped coordinate descent and enumeration method, which are sensitive to initial values and easily fall into local optimums, leading to a failure to obtain a global optimal solution. Until now, many optimal methods have been developed to overcome this difficulty. Genetic algorithms (GA) are an intelligent optimization method offering a powerful global search ability and can effectively escape from local optimums compared to the traditional optimization method, causing it to be a mainstream structural optimization approach of CDPMs.

Li et al. proposed a GA-based multi-objective optimization method to obtain the best global dexterity index and overall stiffness index of a planar three degrees of freedom (DOF) CDPM [20]. Jamwal et al. developed a GA-based multi-objective optimization method to conduct the optimal design of a cable-driven ankle rehabilitation robot using the minimum global condition number, the maximum workspace utilization index and the minimum cable tension norm as optimal objectives [21]. Arsenault et al. used GA to optimize the geometry of planar CDPMs with four cables with the objective of reaching a desired pre-stress stable wrench-closure workspace [22].

Bahrami et al. optimized the workspace volume, kinematic performance indices and actuating energy of a spatial CDPM by means of GA, [23]. Amine and Hamida investigated the structural optimization of a cable-driven upper limb rehabilitation robot (LAWEX) based on GA, where the objectives were the simultaneous minimization of the robot size and the tensions in the cables [24,25]. Nevertheless, cables in these studies were all treated as massless straight lines without considering the self-weights, which are only suited to small-dimensional CDPMs.

There are two aspects that require attention in the structural optimization of the camera robots: large-span and high-speed motion. For the large-span CDPMs, the sagging effect due to the self-weight of the cable cannot be neglected [26,27], as the profile of the cable is no longer a straight line but a curve. Generally, the deformed curve under self-weight can be described as a catenary or a parabola [28,29].

Jiang et al. optimized the dimensional parameters of a under-restrained six-DOF CDPM (URPM4-3R3T) with workspace size as the objective function [30]. Yao et al. obtained the better dimension parameters for a CDPM with four cables used for the feed supporting system of the five-hundred-meter aperture spherical radio telescope (FAST) to meet the workspace requirements [31]. Tang et al. optimized dimensional parameters for constructing a CDPM with six cables for FAST based on the sensitivity design method and three tension performance evaluating functions [32].

Du determined the structural parameters to simultaneously improve the stiffness and dexterity of large workspace CDPMs [33]. Wei presented an approach on the stability analysis of cable-driven parallel robots considering cable mass based on cable tensions and stiffness matrix condition numbers [34]. However the motions of manipulators are low-speed or quasi-static, and thus the dynamics of the manipulators were not considered.

The highest speed of the camera robot that is known currently is up to 9 m/s [35]. Hence, the maneuverability of the camera robot due to the high-speed motions must be considered. Barrette et al. proposed a notion of a dynamic workspace of CDPMs on the conditions of the dynamic and tension for a planar CDPM [36]. Kawamura et al. developed a high-speed manipulation (FALCON-7) by using a CDPM and studied its dynamics based on the vector closure condition [37].

Gagliardini et al. proposed an improved dynamic feasible workspace considering the inertia of a moving platform, external wrenches applied on the moving platform and the Coriolis forces corresponding to a constant moving platform twist concurrently [38]. Yu et al. determined the dynamic workspace of a camera robot by taking the intersection of workspaces with accelerations at different directions [35] and studied the relationships between the reachable area of the workspace bottom and heights of masts. Kieu et al. developed a modified kinematic equation considering cable nonlinear tension and analyzed the wrench-feasible workspace at various motion accelerations [39]. However, the selfweights of the cables in these studies were all negligible. In our preliminary work, the dynamic modeling and cable tension distribution considering the self-weight and inertia of the cable were simultaneously investigated [1,40], which could provide a theoretical basis for the structural optimization of the camera robot. However, the essence of the tension distribution algorithm in our preliminary work is a multi-dimensional parameter optimization problem, which is time-consuming and has the risk of failure in determining the optimization parameters.

Thus, the algorithm is not fit for CDPMs whose number of cables is much greater than the DOF of the end-effector, which limits the scope of applications. In this paper, the dynamical model of the camera robot is established considering the self-weight and inertia of the cable simultaneously. Furthermore, the tension distribution algorithm is simplified based on the iterative idea to reduce the computing time and computational complexity. Based on the dynamical model, a dynamic workspace generating approach is presented. On the basis of the dynamic workspace, the structural optimization of the camera robot is studied applying a GA, and the ideal-point method is used to deal with multi-objective problems.

The organization of the rest of the paper is as follows: Section 2 establishes the dynamic model of the camera robot by employing the catenary model of the cable and considering the inertia of the cable. Section 3 proposes an iterative-based optimization algorithm based on the dynamic model to determine the tension distribution. Section 4 develops a workspace generation algorithm based on the judging conditions of the dynamic forcefeasible workspace. Section 5 presents an optimization model aiming at achieving the maximum workspace volume, anti-wind disturbance and impulse of tensions on CPTDS. Section 6 employs the ideal point method to deal with the multi-objective optimization

based on an improved genetic algorithm and studies the distribution characteristics of the optimization objects. Section 7 summarizes our conclusions.

#### **2. Dynamic Model of the Camera Robot**

#### *2.1. Description of the Camera Robot*

The structure of the camera robot is showed in Figure 1, consisting of a CPTDS driven by four cables in parallel. One end of the cable is connected to the CPTDS, and the other end is wound on the pulley and extends to connect to the cable winch and servo motor. The CPTDS can fly freely in every direction because the cables can be shortened and lengthened through winding driven by four servo motors mounted on the ground, which receive control commands from the central controller.

As shown in Figure 1, the four cables intersect at a common point, and therefore the cables are only responsible for translation. The camera is mounted on a pan–tilt device, which resembles a composite hinge structure. By means of the pan–tilt device, the camera realizes pan (yawing) and tilt (pitching) motion. As a result, the CPTDS can be looked as an ideal mass point *P* with three translational DOFs, at which the four cables meet. Thus, the position vector *P* = [*xyz*] <sup>T</sup> of the point *P* is expressed in the global fixed frame {*oxyz*}, and it also denotes the end point of the cable. The camera robot can be categorized to completely restrained positioning mechanisms (CRPMs) [41]—namely, the number of the cables *m* is equal to DOF of the CPTDS *n* plus one (*m* = *n* + 1).

#### *2.2. Catenary Equation of the Cable*

In order to guarantee the stability of the camera robot, the cables must be inextensible and offer high strength. A previous study indicated that a cable can be seen as a catenary under the sag influence. As a consequence, the profile of the cable *i* ({*i* = 1, 2, 3, 4}) is a catenary within a vertical plane, noted *oi sxi szi s* , is shown in Figure 2. For analysis, the symbols used in Figure 2 are defined as follows: *B<sup>i</sup>* = [*Bi*,*<sup>x</sup> Bi*,*<sup>y</sup> Bi*,*z*] <sup>T</sup> denotes the position vector of cable drawing point *Bi* on the pulley in {*oxyz*}. {*oi sxi szi <sup>s</sup>*} is the local moving frame with the origin *oi <sup>s</sup>* attached to *Bi*, and the direction of *zi <sup>s</sup>* is straight down.

*t<sup>i</sup>* is the tension in the cable *i* at the end point *P*, *h<sup>i</sup>* is the horizontal component of *ti*, and *v<sup>i</sup>* is the vertical component of *ti*. *Li* is the horizontal length of the span of cable *i*, and *Ci* is the vertical length of the span of cable *i*. *ρ* is linear density of the inextensible cable, and *mp* is the mass of the CPTDS. *Si* is the length of the cable *i*, and *fi* is the sag of cable *i* at the center of the horizontal span. The catenary equation can be written as follows [42]:

$$z\_i^s = \frac{h\_i}{\rho \mathcal{R}} \left[ \cosh \alpha\_i - \cosh \left( \frac{2\beta\_i \mathbf{x}\_i^s}{l\_i} - \alpha\_i \right) \right] \tag{1}$$

where *g* is the gravitational acceleration, and

$$\alpha\_{i} = \sinh^{-1}\left[\frac{\beta\_{i}(C\_{i}/L\_{i})}{\sinh\beta\_{i}}\right] + \beta\_{i} \tag{2a}$$

$$
\beta\_i = \frac{\rho L\_i}{2h\_i} \tag{2b}
$$

Equation (1) represents mathematically a family of catenaries. The whole catenary can be determined being given coordinates of arbitrary points on the catenary. Consequently, the length *Si* of the cable *i* can be calculated as follows:

$$S\_i = L\_i - \frac{h\_i \beta\_i}{\rho l\_i} \left[ \frac{L\_i}{16 \beta\_i} \left( e^{4 \beta\_i - 2a\_i} - e^{-4 \beta\_i + 2a\_i} \right) + \frac{1}{2} \right] \tag{3}$$

According to Equation (3), the length of the cable is closely interrelated with the tension. When *x<sup>s</sup> <sup>i</sup>* = *Li*/2, the sag *fi* can be obtained as follows:

**Figure 2.** Catenary model of the cable in the vertical plane.

#### *2.3. Inertia of the Rapidly Varying-Length Cable*

Due to the high-speed motions of the camera robot, the length of cable changes rapidly, leading to the non-negligible inertia of the cable. As shown in Figure 3, *qi* is a node on cable *i* with the time-varying curve length *si* away from *Bi*, whose position vector can be denoted by *qi*(*si*, *t*)=[*xi yi zi*] <sup>T</sup> in the global frame {*oxyz*}. The relationship *<sup>q</sup><sup>i</sup>* and *<sup>q</sup><sup>s</sup> i* can be calculated as follows:

$$q\_i = Qq\_i^s + B\_i \tag{5}$$

where *q<sup>s</sup> <sup>i</sup>* = [*x<sup>s</sup> <sup>i</sup> <sup>z</sup><sup>s</sup> i* ] <sup>T</sup> in the local moving frame {*oi sxi szi <sup>s</sup>*}, and *<sup>Q</sup>* = ⎡ ⎣ cos *θ<sup>i</sup>* 0 sin *θ<sup>i</sup>* 0 0 − 1 ⎤ <sup>⎦</sup> is the

rotation matrix from frame {*oi sxi szi <sup>s</sup>*} to frame {*oxyz*}, and *<sup>θ</sup><sup>i</sup>* is the angle between *<sup>x</sup><sup>s</sup> i* and *x*.

**Figure 3.** In-plane and out-plane motions of the cable.

Since the motion of *q<sup>i</sup>* is decomposed to an out-plane motion between the vertical planes and an in-plane motion along the cable as shown in Figure 3, the velocity and acceleration of *q<sup>i</sup>* can be calculated by taking the first and second-derivative of *qi*(*si*, *t*) with respect to *si* and time *t*, respectively, in the following expression [1]:

$$\begin{cases} \begin{array}{rcl} \frac{d\boldsymbol{q}\_{i}}{dt} &=& \frac{\partial q\_{i}}{\partial t} + \frac{\partial q\_{i}}{\partial s\_{i}}\dot{\boldsymbol{s}}\_{i} \\ \frac{d^{2}\boldsymbol{q}\_{i}}{dt^{2}} &=& \frac{\partial^{2}\boldsymbol{q}\_{i}}{\partial t^{2}} + 2\frac{\partial^{2}\boldsymbol{q}\_{i}}{\partial s\_{i}\partial t} + \frac{\partial^{2}\boldsymbol{q}\_{i}}{\partial s\_{i}^{2}}\dot{\boldsymbol{s}}\_{i} + \frac{\partial q\_{i}}{\partial s\_{i}}\ddot{\boldsymbol{s}}\_{i} \end{array} \tag{6}$$

where *<sup>∂</sup>*2*q<sup>i</sup> <sup>∂</sup>t*<sup>2</sup> is yielded by the cable's out-plane motion and *<sup>∂</sup>q<sup>i</sup> ∂si s*¨*<sup>i</sup>* by the the cable's in-plane motion; *<sup>∂</sup>*2*q<sup>i</sup> <sup>∂</sup>si∂<sup>t</sup>* and *<sup>∂</sup>*2*q<sup>i</sup> ∂s*<sup>2</sup> *i s*˙*<sup>i</sup>* are yielded by the combination of cable's in-plane motion and out-plane motion. *s*˙*<sup>i</sup>* = d*si*/d*t*, and *s*¨*<sup>i</sup>* = d*s*˙*i*/d*t*.

Since the cable drawing point *Bi* on the pulley *i* is attached to the mast, *B*˙ *<sup>i</sup>* = 0. Noting that *∂q<sup>s</sup> <sup>i</sup>* <sup>=</sup> *<sup>d</sup><sup>s</sup> i Si <sup>∂</sup>si* and *<sup>∂</sup>q<sup>i</sup> <sup>∂</sup><sup>t</sup>* <sup>=</sup> *<sup>P</sup>*˙ = [*x*˙ *<sup>y</sup>*˙ *<sup>z</sup>*˙] T . Thus, the derivatives of *qi*(*si*, *t*) with respect to the curve length coordinate *si* can be obtained as follows:

$$\begin{cases} \frac{\partial q\_i}{\partial s\_i} &= \frac{\partial}{\delta s\_i} \left( q\_i^s \right) = \mathbf{Q} \frac{\partial q\_i^s}{\partial s\_i} = \mathbf{Q} \frac{d\_i^s}{S\_i} = \frac{d\_i}{S\_i} \\\frac{\partial q\_i}{\partial s\_i \partial t} &= \frac{\partial}{\delta s\_i} \left( \frac{\partial q\_i}{\partial t} \right) = \frac{\partial}{\delta s\_i} \mathbf{P} \\\frac{\partial^2 q\_i}{\partial s\_i^2} &= \frac{\partial}{\delta s\_i} \left( \frac{\partial q\_i}{\partial s\_i} \right) = \mathbf{Q} \frac{\partial}{\partial s\_i} \left( \frac{d\_i^s}{S\_i} \right) = \frac{\partial}{\delta s\_i} \left( \frac{d\_i}{S\_i} \right) \end{cases} \tag{7}$$

Moreover, *<sup>∂</sup>*2*q<sup>i</sup> <sup>∂</sup>t*<sup>2</sup> <sup>=</sup> *<sup>P</sup>*¨ = [*x*¨ *<sup>y</sup>*¨ *<sup>z</sup>*¨] T , which is the acceleration of the CPTDS. Substituting Equation (7) into (6), the inertia of the cable *i* can be found by integrating the whole cable:

$$I\_i = \rho \int\_0^{\mathbb{S}\_i} \frac{d^2 q\_i}{dt^2} \text{\"\/} \mathbf{s}\_i = \rho \left( \ddot{\mathbf{P}} \mathbf{S}\_i + 2\dot{\mathbf{P}} \dot{\mathbf{s}}\_i + \frac{d\_i}{S\_i} \dot{s}\_i^2 + d\_i \ddot{\mathbf{s}}\_i \right) \tag{8}$$

#### *2.4. Dynamic Equation of the Camera Robot*

As illustrated in Figure 4, the cable tension *t<sup>i</sup>* of the cable *i* is along the tangential direction of the catenary at the cable end node *P*. As a consequence, *t<sup>i</sup>* can be decomposed into the components that are along the directions of the *x*, *y* and *z* axes, respectively, which can be written in terms of - *hi*cos*θ<sup>i</sup> hi*sin*θ<sup>i</sup> hi*tan*γ<sup>i</sup>* T , where *hi* is the horizontal component of *t<sup>i</sup>* as described in Equation (1) and *γ<sup>i</sup>* is the angle between *h<sup>i</sup>* and *ti*. The inertia *I<sup>i</sup>* = - *Ii*,*<sup>x</sup> Ii*,*<sup>x</sup> Ii*,*<sup>x</sup>* <sup>T</sup> is a 3 <sup>×</sup> 1 vector. *<sup>W</sup>* <sup>=</sup> - *Wx Wy Wz* <sup>T</sup> is the external force on the CPTDS. The tangent tan *γ<sup>i</sup>* at *P* can be computed as the following equation:

$$\tan \gamma\_i = \left. \frac{d z\_i^s}{\mathbf{d} x\_i^s} \right|\_{\mathbf{x}\_i^s = L\_i} = -\sinh(2\beta\_i - a\_i) \tag{9}$$

Thus, the dynamic equilibrium equation can be written as follows:

$$\begin{cases} m\_P \ddot{x} + \sum\_{i=1}^4 I\_{i,x} &= \sum\_{i=1}^4 h\_i \cos \theta\_i + W\_x \\ m\_P \ddot{y} + \sum\_{i=1}^4 I\_{i,y} &= \sum\_{i=1}^4 h\_i \sin \theta\_i + W\_y \\ m\_P \ddot{z} + \sum\_{i=1}^4 I\_{i,z} &= \sum\_{i=1}^4 h\_i \tan \gamma\_i - \sum\_{i=1}^4 \rho\_i \mathbf{g} \mathbf{S}\_i - mg + W\_z \end{cases} \tag{10}$$
 
$$x\_i^\*$$
 
$$h\_i \cos \theta\_i \frac{\partial}{\partial \mathbf{r}\_i} - \frac{\rho\_i}{m\_P \mathbf{g}} \begin{bmatrix} \rho\_i & \text{cable } i \\ 1 & 1 + \frac{1}{\rho\_i \mathbf{g}} \end{bmatrix}^T$$
 
$$\int\_{\mathbf{r}\_i}^{\mathbf{r}\_i} \rho\_i$$

**Figure 4.** Catenary model of the cable in a vertical plane.

*]*

Equation (10) can be further transferred to the following matrix form:

$$\mathbf{M}\dot{\mathbf{P}} + \mathbf{I}\_{\rm cab} = \mathbf{J}\mathbf{H} + \mathbf{W} + \mathbf{G} + \mathbf{G}\_{\rm cab} \tag{11}$$

$$\begin{aligned} \text{where } \boldsymbol{\mathcal{M}} &= \begin{bmatrix} m\_p & 0 & 0 \\ 0 & m\_p & 0 \\ 0 & 0 & m\_p \end{bmatrix} \text{ and } m\_p \text{ is the mass of the CPTDS. } I\_{\text{cab}} = \begin{bmatrix} \frac{4}{n} & I\_{i,\text{x}} & \frac{4}{i-1} & I\_{i,\text{z}} \end{bmatrix}^{\text{T}} \\ &\therefore \qquad \begin{bmatrix} \cos\theta\_1 & \cos\theta\_2 & \cos\theta\_3 & \cos\theta\_4 \end{bmatrix} \end{aligned}$$

$$\begin{aligned} \text{and } H = \begin{bmatrix} h\_1 & h\_2 & h\_3 & h\_4 \end{bmatrix}^\mathrm{T}. \begin{bmatrix} J = \begin{bmatrix} \sin\theta\_1 & \sin\theta\_2 & \sin\theta\_3 & \sin\theta\_4 \\ \tan\gamma\_1 & \tan\gamma\_2 & \tan\gamma\_3 & \tan\gamma\_4 \end{bmatrix} \end{aligned} $$

trix of the camera robot. *G* = - 0 0 −*mpg* <sup>T</sup> denotes the gravity vector of the CPTDS, *Gcab* = 0 0 <sup>4</sup> ∑ *i*=1 *ρgSi* T is the total gravity vector of the four cables.

#### **3. Iterative-Based Tension Distribution Algorithm**

Equation (11) can be further simplified to the following formulation:

$$\mathbf{J}\mathbf{H}=\mathbf{F}\tag{12}$$

where *<sup>F</sup>* <sup>=</sup> *MP*¨ <sup>+</sup> *<sup>I</sup>cab* <sup>−</sup> *<sup>W</sup>* <sup>−</sup> *<sup>G</sup>* <sup>−</sup> *<sup>G</sup>cab* is the generalized external force. As Figure <sup>4</sup> shows, the vertical component of the tension *v<sup>i</sup>* = *hi* tan *γi*. Thus, the cable tension *t<sup>i</sup>* of cable *i* can be calculated through the following equation:

$$\mathbf{t}\_{i} = h\_{i}\sqrt{\mathbf{1} + \tan^{2}\gamma\_{i}}\tag{13}$$

The horizontal component *hi* of *ti* should subject to the following restraint condition:

$$h\_{i, \text{min}} \le h\_i \le h\_{i, \text{max}} \tag{14}$$

where the lower bound of the cable tension *hi*,min is required to keep cable *i* tight; the upper bound of the cable tension *hi*,max is defined to account for the the output torque of the servo motor *i* and the maximum tension that the cable *i* can withstand without breaking. In this paper, *hi*,min = *h*min and *hi*,max = *h*max.

According to Equation (12), it is a non-linear transcendental equation because *J* and *F* are associated with *H*. In this paper, we propose an iterative-based algorithm to determine *H*, which is different from the algorithm in our previous paper. The algorithm termination condition is when the difference of two sags obtained from adjacent steps is small enough, which could meet after several iterative steps. As a result, although the algorithm in this manuscript does not meet an optimization goal, and the computing time and computational complexity are greatly reduced.

After obtaining *H*, the cable tension *T* = - *t*<sup>1</sup> *t*<sup>2</sup> *t*<sup>3</sup> *t*<sup>4</sup> <sup>T</sup> can be calculated according to Equation (13). It is well-known that the initial values have a significant impact on the iterative method. After several trails, the tensions and lengths of the cables obtained by the massless straight line model of the cable are used as the initial values. Since the profile of the cable is a straight line, the initial sag *f*<sup>0</sup> = - 0000<sup>T</sup> . *ε* is a small value and to be used as the threshold of the iterative-based algorithm. Thus, the iterative-based tension distribution algorithm can be summarized as Algorithm 1:

**Algorithm 1:** Distribution of tensions **Input:** *Bi*, *P*, *P*˙, *P*¨, *ρ*, Δ*t* **Output:** *H* **<sup>1</sup>** *flag* = 1; **<sup>2</sup>** *S*0,*<sup>i</sup>* = *di*-<sup>2</sup> %Initial cable length; **<sup>3</sup>** tan *γ*0,*<sup>i</sup>* = *Ci*/*Li* %Initial tangent; **<sup>4</sup>** ˆ *J*0,*<sup>i</sup>* = [cos *θ*0,*<sup>i</sup>* sin *θ*0,*<sup>i</sup>* tan *γ*0,*i*] T ; **<sup>5</sup>** *J*<sup>0</sup> = [ ˆ *J*0,1 ˆ *J*0,2 ˆ *J*0,3 ˆ *J*0,4] <sup>T</sup> %Initial Jacobian matrix; **<sup>6</sup>** *<sup>I</sup>*0,*cab* <sup>=</sup> <sup>4</sup> ∑ *i*=1 *ρ P*¨*S*0,*<sup>i</sup>* + 2*P*˙*s*˙*<sup>i</sup>* + *d<sup>i</sup> s*˙ 2 *i <sup>S</sup>*0,*<sup>i</sup>* + *<sup>d</sup>is*¨*<sup>i</sup>* ; **<sup>7</sup>** *<sup>G</sup>*0,*cab* <sup>=</sup> *<sup>ρ</sup>* <sup>4</sup> ∑ *i*=1 *S*0,*<sup>i</sup>* %Initial cable mass; **<sup>8</sup>** *<sup>F</sup>*<sup>0</sup> <sup>=</sup> *MP*¨ <sup>+</sup> *<sup>I</sup>*0,*cab* <sup>−</sup> *<sup>W</sup>* <sup>−</sup> *<sup>G</sup>* <sup>−</sup> *<sup>G</sup>*0,*cab*; **<sup>9</sup>** *H*<sup>0</sup> = *J*0*F*<sup>0</sup> %Initial *H*; **<sup>10</sup> while** *flag* = 0 **do <sup>11</sup>** *α<sup>i</sup>* = sinh−<sup>1</sup> *βi*(*Ci*/*Li*) sinh *β<sup>i</sup>* + *β<sup>i</sup>* , *<sup>β</sup><sup>i</sup>* = *<sup>ρ</sup>gLi* 2*h*0,*<sup>i</sup>* ; **<sup>12</sup>** *Si* <sup>=</sup> *Li* <sup>−</sup> *<sup>h</sup>*0,*iβ<sup>i</sup> qLi Li* 16*β<sup>i</sup>* # *<sup>e</sup>*4*βi*−2*α<sup>i</sup>* <sup>−</sup> *<sup>e</sup>*−4*βi*+2*α<sup>i</sup>* \$ + <sup>1</sup> 2 ; **<sup>13</sup>** tan *γ<sup>i</sup>* = − sinh(2*β<sup>i</sup>* − *αi*) % Compute tangent ; **<sup>14</sup>** *H* = *J*+*F* % Compute *H*; **<sup>15</sup>** *fi* <sup>=</sup> <sup>8</sup>*hi* sinh *<sup>β</sup>i*sinh−<sup>1</sup> *<sup>ρ</sup>gCi*/2*hi* sinh *<sup>β</sup><sup>i</sup>* −*ρgCi* <sup>2</sup>*ρ<sup>g</sup>* ; **<sup>16</sup> if** all (| *fi* − *f*0,*i*| > *ε*) **then <sup>17</sup>** *J*<sup>0</sup> = *J* %Update *J*; **<sup>18</sup>** *f*<sup>0</sup> = *f* %Update *f* ; **19 <sup>20</sup> else <sup>21</sup>** *flag* = 0; **22 <sup>23</sup> end <sup>24</sup> end <sup>25</sup> if** all (*h*min ≤ *hi* ≤ *h*max) **then <sup>26</sup>** *H* = *H*<sup>0</sup> %Final output; **<sup>27</sup> else <sup>28</sup>** *H*=Null % *H* is empty; **<sup>29</sup> end**

#### **4. Workspace Analysis**

*4.1. Dynamic Force-Feasible Workspace*

There are many workspace criteria proposed to tackle with the influence on the workspace of the unilateral nature of the wrenches (combination of force and moment) applied on the end-effector by cables, among which the wrench-closure workspace (WCW) [43] and wrench-feasible workspace (WFW) [44] are of particular interest. In fact, the WFW is of more practical significance because the cable tensions must be limited within a reasonable range.

There is no moment applied on the CPTDS because this is a mass point. Thus, the camera robot only has a force-feasible workspace (FFW). A position of the end-effector of the CDPM is said to be force-feasible in a particular structure and for a specified set of forces, if the tensions in the cables can counteract any external force of the specified set applied to CPTDS. Liu proposed the generalized determining conditions of WFW/FFW [45] as follows:


In this paper, the dynamic force feasible workspace (DFFW) was applied based on the FFW. For the camera robot, the Jacobian matrix *J* and generalized external force *F* have some unique features. On the one hand, the Jacobian matrix *J* depends not only upon the geometry configuration of the manipulator but also on the tensions and self-weights of cables. On the other hand, the generalized external force *F* should consist of the inertias of the cables and CPTDS.

Based on the proposed generalized determining conditions of FFW, we can summarize the judging conditions of DFFW, including the direction balance condition (DBC) and magnitude balance condition (MBC). The DBC, which is also the force-closure condition, is given as follows:

$$\begin{cases} \begin{array}{c} q^{\mathsf{T}} \mathcal{F} > 0 \exists k : q^{\mathsf{T}} \mathcal{f}\_{k} < 0\\ q^{\mathsf{T}} \mathcal{F} < 0 \exists j : q^{\mathsf{T}} \mathcal{f}\_{\mathsf{j}} > 0 \end{array} \end{cases} \tag{15}$$

where *q* = ˆ *<sup>J</sup><sup>a</sup>* <sup>×</sup> <sup>ˆ</sup> *J<sup>b</sup>* is a unit normal vector of a hyperplane determined by the column vectors of *J* and pointing towards the exterior of the zonotope as shown in Figure 5. ˆ *J<sup>i</sup>* = - cos *θ<sup>i</sup>* sin *θ<sup>i</sup>* tan *γ<sup>i</sup>* <sup>T</sup> is the column vector of *J*. *a* and *b* are the subscripts of two linearly independent column vectors arbitrarily chosen from *J* with *a*, *b* ∈ {1, 2, 3, 4}; *j* and *k* are the subscripts of the rest column vectors with *j*, *k* ∈ {1, 2, 3, 4} − {*a*, *b*}.

**Figure 5.** Normal vector of the hyperplane and the generalized external force.

As displayed in Figure 6a, the projections of the tension ˆ *Jjhj* (or ˆ *Jkhk*) and the generalized external force *F* on *q* are both scalars. Consequently, there always exists a tension ˆ *Jjhj* (or ˆ *Jkhk*) to resist the the generalized external force *F* as long as the signs of *q*<sup>T</sup> ˆ *<sup>J</sup><sup>j</sup>* (or *<sup>q</sup>*<sup>T</sup> <sup>ˆ</sup> *bmJk*) and *q*T*F* are different. However, *H* ranges from *h*min to *h*max. Hence, the components of *H* ˆ *Jjhj* and ˆ *Jkhk* are bound with - ˆ *Jjh*min, ˆ *Jjh*max and - ˆ *Jkh*min, ˆ *Jkh*max as shown in Figure 6b. Therefore, the MBC is given as follows:

$$
\Gamma^-\_{\rm min} \le \Gamma^+\_{\rm max} + \left| q^\mathrm{T} F \right| \bigcap \Gamma^+\_{\rm min} + \left| q^\mathrm{T} F \right| \le \Gamma^-\_{\rm max} \tag{16}
$$

where Γ<sup>+</sup> min and <sup>Γ</sup><sup>+</sup> max are the lower and upper limit of the sum of projections of the rest column vectors on the positive direction of *q*, respectively; Γ− min and Γ<sup>−</sup> max are the lower and upper limit of the sum of projections of the rest column vectors on the negative direction of *q*, respectively. They can be computed as follows:

$$\Gamma\_{\rm min}^{+} = \sum\_{q^{\rm T}f\_{\hat{j}} > 0} \left( q^{\rm T} f\_{\hat{j}} \right) h\_{\rm min}, \quad \Gamma\_{\rm max}^{+} = \sum\_{q^{\rm T}f\_{\hat{j}} > 0} \left( q^{\rm T} f\_{\hat{j}} \right) h\_{\rm max} \tag{17a}$$

$$\Gamma\_{\min}^{-} = \sum\_{q^{\mathrm{T}}\hat{f}\_{k} < 0} \left( q^{\mathrm{T}} \hat{f}\_{k} \right) h\_{\min} \; \Gamma\_{\max}^{-} = \sum\_{q^{\mathrm{T}}\hat{f}\_{k} < 0} \left( q^{\mathrm{T}} \hat{f}\_{k} \right) h\_{\max} \tag{17b}$$

The pre-condition to determine DBC or MBC is the Jacobian matrix *J* is full rank. Thus, the DFFW can be described as the following set:

/ *P* : (*rank*(*J*) = 3) <sup>0</sup> ∀ # *<sup>q</sup>* ∈ **<sup>R</sup>**3, *<sup>q</sup>*T*<sup>F</sup>* > <sup>0</sup> \$ , <sup>∃</sup>*<sup>k</sup>* : *<sup>q</sup>*<sup>T</sup> <sup>ˆ</sup>*Jk* <sup>&</sup>lt; <sup>0</sup> 0) )Γ<sup>−</sup> min ) ) <sup>≤</sup> <sup>Γ</sup><sup>+</sup> max + *<sup>q</sup>*T*<sup>F</sup>* <sup>0</sup> <sup>Γ</sup><sup>+</sup> min <sup>+</sup> *<sup>q</sup>*T*<sup>F</sup>* <sup>≤</sup> <sup>|</sup>Γ<sup>−</sup> max| 1 2/ *P* : (*rank*(*J*) = 3) <sup>0</sup> ∀ # *<sup>q</sup>* ∈ **<sup>R</sup>**3, *<sup>q</sup>*T*<sup>F</sup>* < <sup>0</sup> \$ , <sup>∃</sup>*<sup>j</sup>* : *<sup>q</sup>*<sup>T</sup> <sup>ˆ</sup> *J<sup>j</sup>* > 0 0) )Γ<sup>−</sup> min ) ) <sup>≤</sup> <sup>Γ</sup><sup>+</sup> max + ) )*q*T*<sup>F</sup>* ) ) <sup>0</sup> <sup>Γ</sup><sup>+</sup> min + ) )*q*T*<sup>F</sup>* ) ) <sup>≤</sup> <sup>Γ</sup><sup>−</sup> max<sup>1</sup> (18)

**Figure 6.** The projections of the tension and generalized external force in DBC and MBC. (**a**) The projections in DBC. (**b**) The projections in MBC.

#### *4.2. Procedure of Generating DFFW*

The DFFW can be generated by judging whether a position *X* meets the conditions demonstrating in Equation (18) or not. The search space of *X* is decided by the position of the pulleys and the ground, which is a cuboid for the camera robot. Before generating DFFW, the generalized external force *F* and the Jacobian matrix *J* must be calculated according to Algorithm 1. To calculate the generalized external force *F*, it is required to determine the CPTDS's velocity *X*˙ and acceleration *X*¨ .

**V** = 3 *v*+ *<sup>x</sup>* , *v*<sup>−</sup> *<sup>x</sup>* , *v*<sup>+</sup> *<sup>y</sup>* , *v*<sup>−</sup> *<sup>y</sup>* , *v*<sup>+</sup> *<sup>z</sup>* , *v*<sup>−</sup> *z* 4 is defined as the maximal allowable velocity set of the CPTDS, in which *v*<sup>+</sup> *<sup>x</sup>* , *v*<sup>−</sup> *<sup>x</sup>* , *v*<sup>+</sup> *<sup>y</sup>* , *v*<sup>−</sup> *<sup>y</sup>* , *v*<sup>+</sup> *<sup>z</sup>* and *v*<sup>−</sup> *<sup>z</sup>* denote the maximum translation speeds along the positive and negative directions of the *x*-axis, *y*-axis and *z*-axis, respectively. A = 3 *a*+ *<sup>x</sup>* , *a*<sup>−</sup> *<sup>x</sup>* , *a*<sup>+</sup> *<sup>y</sup>* , *a*<sup>−</sup> *<sup>y</sup>* , *a*<sup>+</sup> *<sup>z</sup>* , *a*<sup>−</sup> *z* 4 is defined as the maximal allowable acceleration set of the CPTDS, in which *a*<sup>+</sup> *<sup>x</sup>* , *a*<sup>−</sup> *<sup>x</sup>* ,*a*<sup>+</sup> *<sup>y</sup>* ,*a*<sup>−</sup> *<sup>y</sup>* ,*a*<sup>+</sup> *<sup>z</sup>* and *a*<sup>−</sup> *<sup>z</sup>* denote the maximum translation accelerations along the positive and negative directions of the *x*-axis, *y*-axis and *z*-axis, respectively.

Thus, a set \$, named a velocity–acceleration pair is constituted by choosing an element from the set V and A separately while setting the other elements of V and A equal to zero. For example, the velocity–acceleration pair \$ <sup>=</sup> {*v*<sup>+</sup> *<sup>x</sup>* , *a*<sup>+</sup> *<sup>x</sup>* } represents the CPTDS's velocity and acceleration along the *x*-axis positive direction.

Since there are six possibilities for selecting two column vectors randomly from four column vectors of the Jacobian matrix *J*, the inner for-loop of Algorithm 2 will execute six times. The search space refers to SearchCube, which is a cube. After every inner for-loop, the position should move to the new position *P* + Δ*P*. Consequently, the algorithm of generating the subspace of DFFW can be summarized as Algorithm 2.

For a selected velocity–acceleration pair \$*<sup>l</sup>* (*l* = 1, 2, ··· 6), a subspace of DFFW referred to as DSS*<sup>l</sup>* will be generated through implementing Algorithm 2 correspondingly. By repeatedly performing Algorithm 2 six times and taking the intersection of the subspaces

DSS*l*, the DFFW DS will be generated. Mathematically, the relationship between DSS*<sup>l</sup>* and DS can be described as follows:

$$\mathbb{S}\_l \to \text{DSS}\_l \subseteq \text{DS}$$

$$\text{DS} = \bigcap\_{l=1,2,\cdots,6} \text{DSS}\_l \tag{19}$$


#### **5. Optimization Model Establishment**

*5.1. Optimization Variables*

The pulleys of the camera robot can be easily mounted on top of masts or the surface of buildings according to the characteristics of the shooting place, whose positions have a strong influence on the workspace, kinematics and dynamics. Therefore, it is reasonable to employ the positions of the pulleys as the optimization variables for structural optimization. Since the horizontal projection of the four pulleys on the ground is a rectangle, the global frame {*oxyz*} can be established with the origin fixed on the projection point of the #1 pulley. As Figure 7 displayed, we can use three dimensional parameters to describe the positions of four pulleys in {*oxyz*}, i.e., the length of the rectangle *len*, width of the rectangle *wid* and the pulley height *hei*. Thus, the position of #1 pulley is *B*<sup>1</sup> = [0, 0, *hei*] T, #2 pulley *B*<sup>2</sup> = [*len*, 0, *hei*] T, #3 pulley *B*<sup>3</sup> = [*len*, *wid*, *hei*] <sup>T</sup> and #4 pulley *B*<sup>4</sup> = [0, *wid*, *hei*] T.

**Figure 7.** Optimization variables of the camera robot.

In addition to the positions of the pulleys, the mass of the CPTDS also can be adjusted. Underweight or overweight CPTDS may affect the performance of the camera robot. Thus, the performance of the camera robot can be improved by choosing a suitable mass of the CPTDS. Hence, it is necessary to use the mass of the CPTDS *mp* as the optimization variables for structural optimization.

The optimization variables of structural optimization of the camera robot can be written in the following vector form:

$$\mathbf{D} = \begin{bmatrix} len, wid, hei, m\_p \end{bmatrix}^T = \begin{bmatrix} d\_1, d\_2, d\_3, d\_4 \end{bmatrix}^T,\tag{20}$$

and the physical significance and unit of each optimization variable are shown in Table 1.


**Table 1.** The physical significance and unit of each optimization variable.

#### *5.2. Optimization Objects*

The camera robot is a high-speed and high-maneuverable manipulator, which will bring great challenges to take real-time video pictures. In order to find the video images with a sufficient scope and high-resolution ratio, a sufficiently large workspace and a stable enough camera are needed. In this paper, we attempt to enlarge the workspace and enhance the shooting stability through the structural optimization.

#### 5.2.1. Workspace Volume

In order to satisfy the shooting requirements, it is desired to enable the camera robot to achieve as high ability of tracking photography as possible. The volume of the workspace is directly related to the tracking photography ability of the camera robot. The larger the workspace, the more areas the camera robot can capture. Naturally, the workspace volume can be integrated into the optimization model of the camera robot as the optimization object. Given the large-span and high-speed characteristics of the camera robot, the DFFW presented in the previous section is employed in this paper. As shown in Figure 8a, the rectangle determined by four pulleys forms the upper surface of the cube, which is the theoretical maximum workspace, referred to as the maximum shooting workspace (MSW). However, the shape of the actual workspace (DFFW) is similar to a reversed quadrilateral prism with a smaller bottom and a larger top as a result of restrictions on the tensions in cables.

As illustrated in Figure 8b, the horizontal section of the DFFW is a rectangle, which is analogous to the rectangle formed by four pulleys. In order to guarantee the shooting effect, a cube named the minimum shooting task-space (MSTS) is defined within MSW and is required to be included within the DFFW.

**Figure 8.** The DFFW, MSTS and MSW of the camera robot. (**a**) Top view. (**b**) Main view.

In this paper, we discretize the MSW, yielding the total number of point within the MSW *Ntotal*. Then, we scan the every point within the MSW and record the number of points meeting the dynamic force-feasible condition *NDFFW* described in Equations (19) and (20). Finally, the volume of DFFW *vol* can be obtained by computing the ratio of *NDFFW* to *Ntotal*. The larger volume of DFFW, the stronger the ability of the tracking photography. Thus, the optimization objective for the workspace volume is as follows:

$$f\_1(D) = \max \quad vol(d\_1, d\_2, d\_3, d\_4) \tag{21}$$

#### 5.2.2. Anti-Wind Disturbance Ability

Camera robots often function in high-rise cable support structures, which are inevitably disturbed by wind due to the frequent outdoor operations. Thus, enhancing the ability of anti-wind disturbance is crucial for maintaining the stability of the camera when taking videos and pictures. There are two kinds of wind forces acting on buildings, i.e., steady wind pressure and fluctuating wind pressure [46]. Since the period of the stable wind pressure is much larger than the natural vibration period of the general structure, its force can be regarded as a static force [47]. However, the high-frequency pulsation components of the fluctuating wind pressure lead to vibration responses of the camera robot, which have an influence on the camera robot's normal operations.

The frequency characteristics of fluctuating wind can be expressed by its power spectrum, which is related to the surface roughness and geomorphic conditions. Considering that the camera robot mainly works in the open areas of urban spaces, the correction coefficient to the basic wind pressure *w*<sup>0</sup> is caused by the surface roughness *μw*<sup>0</sup> = 0.731. Given the air density *ρ<sup>a</sup>* = 1.225 kg/m<sup>3</sup> and the basic wind pressure *w*<sup>0</sup> = 0.35 KN/m<sup>2</sup> , the maximum 10-minute average wind speed *V*¯ max with a 30-year return period can be calculated as follows [47]:

$$\mathcal{V}\_{\text{max}} = \sqrt{\frac{2\mu\_{\text{u}0}k\_0 w\_0}{\rho\_d}} \tag{22}$$

where *k*<sup>0</sup> is the return period coefficient and *k*<sup>0</sup> = 1 is when the return period is 30 years. Since the frequently used Davenport spectrum overestimates the turbulence energy at high frequencies, these frequencies are of great significance for flexible tall structures. Therefore, this paper employs the modified Davenport wind speed spectrum—namely, the Maier spectrum, which can be written as follows [47]:

$$\begin{cases} S\_v(z,f) = \frac{2\alpha^2}{\left(1+3x^2\right)^{\frac{4}{3}}} \cdot \frac{\sigma\_V^2}{f} \\ x = \frac{L\_v^\* f}{\overline{V}(z)} \\ \sigma\_V = \sqrt{6k} \,\overline{\mathcal{V}}\_{10} \\ \dot{V}(z) = \dot{V}\_{10} \left(\frac{z}{10}\right)^a \end{cases} \tag{23}$$

where *z* is the height of the CPTDS above the ground, *L*∗ *<sup>v</sup>* = 1200 m is the overall scale of the turbulence, and *V*¯ <sup>10</sup> is average wind speed at 10 m. As the camera robot works under the common wind speed, the power spectrum of fluctuating wind can be obtained, which is shown in Figure 9.

**Figure 9.** Power spectrum of the pulsating wind (wind speed is the half of the maximum 30-year wind speed).

On the one hand, as the height *z* changes from 5 to 25 m (the main working range of the camera robot), the power spectrum varies accordingly. It can be seen from Figure 10 that the maximal value of the power spectrum increases with the increasing pulley height. However, the values of five curves mainly exist in the range of 0.01–0.12 Hz, which is also the most-concentrated region of the energy of the pulsating wind. The maximum values of the five power spectrum curves both emerge at 0.02 Hz and then fall quickly; when the frequency is more than 0.12 Hz, the power spectrum is less than 0.05. Hence, we define 0.12 Hz as the energy cut-off frequency. In the study of anti-wind disturbance, we focused on the energy concentrated region, i.e., the frequency region of the pulsating wind between 0.01 and 0.12 Hz. On the other hand, we obtained the minimum first-order natural frequencies on the horizontal sections of the dynamic feasible workspace at different heights. As shown in Figure 10 , the minimum first-order nature frequency is 0.13 Hz when *z* = 10 m. Therefore, the CPTDS will produce a vibration as the result of the wind-excitation at certain areas within the workspace (such as the workspace boundaries). Therefore, in order to improve the ability of the camera robot to resist wind disturbance, it is necessary to increase its first-order natural frequency to keep away from the range of 0.01–0.12 Hz.

**Figure 10.** The minimum first-order natural frequency on the horizontal section of the workspace at different heights (Design variables: *len* = 90 m, *wid* = 80 m, *hei* = 25 m and *mp* = 50 kg).

The transverse and longitudinal vibrations of the cable may occur in the vertical plane when the cable is disturbed by the wind. For the cable, the influence of longitudinal vibration on the end-effector is much greater than that of transverse vibration. Diao et al. indicated that the influence of transverse vibration on the end-effector is only 1.4%, while that of longitudinal vibration on the end-effector is 98.4% [48]. Liu et al. suggested that the longitudinal vibration of the cable has a greater influence on the feed cabin supported in parallel by six cables [49]. As seen in Figures 9 and 10, the lower the frequency of the camera robot, the more likely the camera robot was excited. As the first-order vibration has the most important effects in structural response, it is necessary to calculate the first-order natural frequency of the camera robot in the following form:

$$\omega\_{i} = \frac{1}{\sqrt{\text{sig}\left\{ \left[ (J^{+})^{\text{T}} \mathbf{M} \right]^{+} \right\} \text{diag}(\mathbf{S}\_{1}, \mathbf{S}\_{2}, \mathbf{S}\_{3}, \mathbf{S}\_{4}) / EA}} \quad i = 1, 2, 3 \tag{24}$$

where *J*<sup>+</sup> is the Moore–Penrose generalized inverse of the Jacobin matrix *J*. eig is an eigenfunction to solve the eigenvalues. For the camera robot, there are three eigenvalues

as the result of its three translational DOF. diag(*S*1, *S*2, *S*3, *S*4) = ⎡ ⎢ ⎢ ⎣ *S*<sup>1</sup> 000 0 *S*<sup>2</sup> 0 0 0 0 *S*<sup>3</sup> 0 000 *S*<sup>4</sup> ⎤ ⎥ ⎥ ⎦ is

a diagonal matrix. *E* and *A* are the elastic modulus and cross-section area of the cable separately. The first-order natural frequency *ω*<sup>1</sup> is the minimum of Equation (24):

$$
\omega\_1 = \min\{\omega\_i\} \tag{25}
$$

$$\text{GFNF} = \frac{1}{N\_{total}} \sum\_{i=1}^{N\_{total}} \omega\_1(D) \tag{26}$$

The GFNF should be as large as possible to improve the ability to resist the wind disturbance of the camera robot in the whole workspace. Therefore, the optimization objective of anti-wind disturbance performance is as follows:

$$\,\_1f\_2(D) = \max \frac{1}{N\_{total}} \sum\_{i=1}^{N\_{total}} \omega\_1(d\_1, d\_2, d\_3, d\_4) \tag{27}$$

5.2.3. Impulse of Tensions on CPTDS

When the camera robot works normally, the cables remain tight, and hence the cable tension will exert a tractive force on the CPTDS. Due to the high maneuverable, the tension changes quickly in a tiny period of time, causing an impulse on the CPTDS exerted by the cables, which will clearly have a great influence on the camera robot, such as vibration of the camera or blurred shooting video pictures. The impact should be reduced as much as possible to ensure the normal operation of the camera robot. If the external force applied on the CPTDS and locus of the CPTDS are known, the equivalent force *Feq* of the tensions in the four cables can be computed according to Algorithm 1.

$$F\_{eq} = \sum\_{i=1}^{4} t\_i \tag{28}$$

As shown in Figure 11, four sampling points, *P*1, *P*2, *P*<sup>3</sup> and *P*4, were selected. *P*1, *P*2, *P*<sup>3</sup> and *P*<sup>4</sup> are located in the upper, left, lower and right surfaces of the MSTS, respectively. Thus, the sampling locus of the cable tension impact function is *P*<sup>1</sup> → *P*<sup>2</sup> → *P*<sup>3</sup> → *P*<sup>4</sup> → *P*1. As the four sampling points are evenly distributed in MSTS and the acceleration varies dramatically at the points that the direction of locus changes, the impulse of tensions on the CPTDS will be great. Therefore, the selection of such a sampling locus can truly reflect the impact of the tensions on the CPTDS. The sum of impulse *imp* along the sampling locus can be calculated by computing the impulse at every time point, which can be used as the evaluating function of impulse of tensions on the CPTDS.

$$imp = \left\| \int\_{0}^{T} F\_{\text{eq}} dt \right\|\_{2} \tag{29}$$

where *T* is duration of the locus. In order to ensure that the impulse of CPTDS is as slight as possible, the impulse sum *imp* should be kept as small as possible:

$$f\_3(D) = \min \quad \land \text{imp}\left(d\_1, d\_2, d\_3, d\_4\right) \tag{30}$$

**Figure 11.** Sampling locus of cable tension impulse function.

#### *5.3. Constraints*

#### 5.3.1. Linear Constraints

Considering the installation and site conditions, the optimization variable vector *D* should meet the following linear constraints to ensure that the camera robot has feasibility of structure.

$$lb \le D \le ub$$

where *lb* = [*lb*<sup>1</sup> *lb*<sup>2</sup> *lb*<sup>3</sup> *lb*4] <sup>T</sup> is the lower bound; *ub* = [*ub*<sup>1</sup> *ub*<sup>2</sup> *ub*<sup>3</sup> *ub*4] <sup>T</sup> is the upper bound.

#### 5.3.2. Nonlinear Constraints

As described in the previous sections, the horizontal components of tensions have upper bound *h*max and lower bound *h*min. Furthermore, in order to ensure that the CPTDS has sufficient tracking and shooting abilities in the workspace, the workspace volume *vol*(*D*) determined by the optimization variable vector *D* must be larger than the volume of MSTS Ω. To ensure that the camera robot has a strong ability of anti-wind disturbance, it is necessary to guarantee that the GFNF determined by *D* must be larger than the energy cut-off frequency *ω<sup>p</sup>* = 0.12 Hz. To sum up, the nonlinear constraints of camera robot structural optimization can be summarized as follows:

$$\begin{cases} \begin{aligned} \mathcal{g}\_1(\mathcal{D}) &= h\_{\min}(\mathcal{D}) - h\_{\max} \le 0 \\ \mathcal{g}\_2(\mathcal{D}) &= -h\_{\max}(\mathcal{D}) + h\_{\min} \le 0 \\ \mathcal{g}\_3(\mathcal{D}) &= -V(\mathcal{D}) + \Omega \le 0 \\ \mathcal{g}\_4(\mathcal{D}) &= -\omega(\mathcal{D}) + \omega\_p \le 0 \end{aligned} \end{cases} \tag{32}$$

where *h*min and *h*max are the minimum and maximum values of the horizontal components of tensions with regard to the optimization variable vector *D*, respectively.

#### **6. GA-Based Structural Optimization**

#### *6.1. Information Entropy-Based Adaptive Multi-Island GA*

Structure optimization of a camera robot is intrinsically a highly nonlinear optimization problem. Moreover, it is difficult to obtain a continuous and derivable analytical expression of the workspace of the camera robot. Therefore, it is difficult to deal with this problem for the traditional optimization methods. However, SGA is subject to premature convergence, thereby, falling into local minimum easily. GA is an intelligent optimization method that simulates the evolution of organisms in nature and genetic laws. It was first proposed by Professor Holland in 1975 in the book *Adaptation in Natural and Artistic Systems*.

Multi-island GA divides each population into several sub populations—named islands—which can be viewed as a niche. As only the excellent individuals migrate between the islands, it can mean that excellent individuals spread to the whole population and improve the evolution level of the whole population [50]. In this paper, we propose a improved genetic algorithm incorporating into three improvements, namely fitness calibration, sub-population division and adaptive changes of crossover probability and mutation probability.

#### 6.1.1. Fitness Degree Calibration

There may be special individuals with abnormal fitness in the initial population, leading to the dominance of the whole population possibly. At the end of the genetic process, the fitness of individuals tends to be consistent and the solution will swing around the optimal solution so that the optimal solution can not be searched. The selection ability of the population can be improved through enlarging fitness degree appropriately, which is the principle of fitness degree calibration and can be expressed as follows:

$$\bar{f}it = \frac{fit\_0 + |fit\_{\text{min}}|}{|fit\_{\text{min}}| + fit\_{\text{max}} + \delta} \tag{33}$$

where *fit*<sup>0</sup> is the original fitness degree; *fit*min and *fit*max are the lower and upper bound of fitness degree, respectively; and *δ* ∈ (0, 1) is a positive real number to avoid the zero denominator. The purpose of | *fit*min| is to guarantee the fitness degree is always positive after calibration.

#### 6.1.2. Sub-Population Division

The mechanism of sub-population division and migration arises from the idea of multiisland GA, whose group is divided into several sub-populations referred to as islands. The selection, crossover and mutation operations of GA are performed on each island, and

the migration operation is performed between different islands periodically. The steps of multi-island GA are shown in Figure 12, where *t* is the current generation, *nf* is the number of sub-population, *q* is positive integer, and *mf* is the migration interval.

GOs represents a genetic operation, such as selection, crossover, or mutation. Only when the number of generations reaches the integral multiple of the migration interval *mf* , will the individuals be transferred according to the migration rate *if* between the islands; otherwise, the migrations will not occur but instead GOs. Through the sub-population division and migration, the diversity of solution to GA is improved to thus improve the ability to search the global optimal solution [51].

**Figure 12.** Algorithm steps of the multi-island GA.

6.1.3. Adaptive Changes of Crossover Probability and Mutation Probability

When GA evolves to a certain generation, the fitness of the population will converge, and the population diversity will decline, allowing the algorithm to easily fall into the local optimal solution. In this paper, we regulate the crossover probability *pc* and mutation probability *pm* adaptively based on the information entropy of the population. Information entropy is a concept proposed by Shannon indicating the disorder degree of the system [52]. At the early stage of evolution, the diversity of the population and the disorder degree is high, and thus the information entropy is high. As the evolution process of the superior winning and the bad eliminated, the disorder degree of the population decreases, and then the information entropy decreases, which conforms to the law of biological development. The information entropy of the population can be defined as follows:

$$\begin{aligned} I(t) &= -\sum\_{i=1}^{n\_p} \left( p(t)\_i \bullet \log\_2 p(t)\_i \right) \\ p(t)\_i &= \frac{fit(t)\_i}{\sum\_{i=1}^{n\_p} fit(t)\_i} \end{aligned} \tag{34}$$

where *nP* is the total number of individuals in the population, and *fit*(*t*)*<sup>i</sup>* is the fitness degree of the *i*th individual in the population of the *t*th generation. Thus, the adaptive operators of crossover rate *Pc*(*t*) and mutation *Pm*(*t*) rate of the population of the *t*th generation are as follows:

$$P\_{\varepsilon}(t) = \frac{1 + \left(\varepsilon^{I(t)} / e^{I\_{\text{max}}}\right)}{2} P\_{\varepsilon 0} \tag{35a}$$

$$P\_m(t) = \frac{1 + \left(\varepsilon^{I(t)} / e^{l\_{\text{max}}}\right)}{2} P\_{m0} \tag{35b}$$

*I*max is the maximum information entropy and *I*max = log2*np*. *Pc*<sup>0</sup> and *Pm*<sup>0</sup> are the initial values of crossover rate and mutation rate. According to GA theory, crossover rate ranges from 0.4 to 0.9, and the mutation rate ranges from 0.01 to 0.1 [51]. Therefore, *Pc*<sup>0</sup> and *Pm*<sup>0</sup> should be calculated several times according to the value range to obtain the appropriate value.

#### 6.1.4. Population Information Entropy-Based Adaptive Multi-Island GA

Based on the three improvements, we propose an improved GA, i.e., the population information entropy-based adaptive multi-island Genetic Algorithm (PIEAMIGA) as illustrated in Figure 13. Compared to the standard genetic algorithm (SGA), PIEAMIGA adds three modules, namely sub-groups division, fitness calibration and migration, whose crossover rate and mutation rate vary according to the information entropy of the population. The optimization variable vector *D* = [*d*1, *d*2, *d*3, *d*4] <sup>T</sup> is the chromosome of PIEAMIGA that is coded by real values, and the selection is based on stochastic universal sampling. The entire process will stop when *t* = *G*, and the current optimization parameters will be exported; otherwise, it will re-generate a population and proceed to the next iteration.

**Figure 13.** Flowchart of PIEAMIGA.

#### *6.2. Multi-Objective Structural Optimization*

The main method to deal with the multi-objective structural optimization problem of CDPM is the weighted coefficient method [33,53,54]. However, the weighted coefficient method has three shortcomings: first, the weight coefficients are determined according to the designer's subjective intention; second, the weight coefficients are difficult to quantify accurately; third, a single weight coefficient is difficult to represent all design intents due to the infinite selections of weight coefficients. In addition to the weighted coefficient method, there are some other multi-objective structural optimization methods for CDPMs, such as the enumeration method [55] and tabular method [56]. However, these methods are not objective, because the optimal criteria are determined by designers subjectively. Accordingly, we apply the ideal-point method to tackle the multi-objective structural optimization problem.

Process of the ideal-point method: first, three optimization objectives are conducted to obtain the optimal solution with regard to each objective; secondly, the solution spaces of the three objectives are normalized to the interval [0, 1], and the optimal value of each objective is normalized to "0"; finally, the minimum sum of the distances between the three optimization objectives and "0" is taken as the optimization objective, namely the "ideal point". The PIEAMIGA was implemented with MATLAB programming language and executed on a notebook computer with a 2.2 GHz Intel Core I5-5200U CPU and a 12 G RAM.

#### 6.2.1. The Optimal Value and Worst Value of Single-Objective Optimization

Since the GA itself does not have the ability to deal with constraints, it is necessary to transform the constrained optimization problem into unconstrained optimization problem, which can be realized through the penalty function method. Thus, the fitness function of the optimization object *fi*(*D*) with regard to design variable vector *D* is as follows:

$$\tilde{F}\_{\vec{l}}(\mathcal{D}) = \operatorname{fit}\{\operatorname{sgn}(i) \operatorname{.Tra}\left[f\_{\vec{l}}(\mathcal{D})\right] + \operatorname{Pun}\sum\_{j=1}^{4} \left[\mathcal{g}\_{\vec{j}}\left(\mathcal{D}\_{\vec{l}}\right) + \left|\mathcal{g}\_{\vec{j}}(\mathcal{D})\right|\right] \}\tag{36}$$

where *fit*() is the fitness degree function, and {*i* = 1, 2, 3}. *Tra* is a transfer function. *Pun* is a large positive number and is used as the penalty factor.

The parameters of SGA and PIEAMIGA are listed in Table 2. The simulation parameters of the optimization model are shown in Table 3. According to the site and installation conditions, the range of the length *len* and width *wid* of the horizontal projection rectangle of pulleys are [80, 90] m and [70, 80] m, respectively; the range of the height of the pulleys' points is [25, 30] m. The range of the mass of the CPTDS is [20, 50] kg. The MSTS is a 70 m × 60 m × 22 m cuboid, whose volume <sup>Ω</sup> is 92,400 m3. Based on the parameters listed in Tables 2 and 3, PIEAMIGA and SGA are programmed by MATLAB to find the optimal solution and value with regard to three optimization objects separately, which are listed in Table 4. The worst values with regard to the single optimization object are also listed in Table 4.

It can be seen from Table 4 that the optimal solution obtained by PIEAMIGA is better than that obtained by SGA. Workspace volume increases by 8.52%, the first-order natural frequency increases by 9.73%, and the impulse exerted by tensions on the CPTDS to CPTDS is reduced by 10.08%. Although three modules are added into PIEAMIGA based on SGA, the computing time of PIEAMIGA increases by 4.48% compared with that of SGA because the multi-island GA adopts the parallel mechanism, and operations in each island are performed in parallel. It also can be seen from Table 4 that PIEAMIGA has a stronger global search ability as the result of the adaptive crossover and mutation rate.


**Table 2.** Parameters of PIEAMIGA and SGA.

**Table 3.** Simulation parameters of the optimization.


**Table 4.** Comparison between PIEAMIGA and SGA.


The convergence processes of each objective by the PIEAMIGA and SGA are shown in Figure 14. In the early stage of evaluation, the optimal solution changes rapidly due to the randomness of population and great differences between individuals, which is a sharply changed line in Figure 14a. With the progress of evolution, the number of excellent individuals in the population gradually increases; thus, the change of optimal solution slows down, and the local convergence appears, which is a horizontal line in Figure 14. Furthermore, the process of local convergence is prolonged gradually as the result of the increasing proportion of excellent individuals in the population.

Thus, the change of the optimal solution is not as violent as in the initial stage, and the length of the horizontal line is gradually longer with the increase in generation of evolution. There exist a jump after the local convergence process on the curve because the optimal solution jumps out of a local optimal solution and evolves towards a better optimal solution. It is inevitable that the performance of the offspring will be degraded compared with the parent because the new individuals are not always better than the parent individuals, which is a fluctuating line in Figure 14a. It can also be seen from Figure 14 that PIEAMIGA shows

the better "climbing" (downhill) ability with the progress of evolution, and thus the gap between the two curves becomes increasingly larger. Finally, PIEAMIGA converges to the global optimal solution while SGA can only converge to the sub-optimal solution.

**Figure 14.** Comparison of the convergence process between IEPAMIGA and SGA. (**a**) Convergence of *f*1(*D*); (**b**) convergence of *f*2(*D*); and (**c**) convergence of *f*3(*D*).

Figure 15a shows that the workspace boundary extends outwards after using PIEAMIGA and that the volume increases by 14,425 m<sup>3</sup> compared to SGA. Figure 15b shows that the first-order natural frequency on the horizontal section of workspace that the height *z* is 6 m has significantly increased after using PIEAMIGA, and the GFNF is increased by 0.0452 Hz compared to SGA. Figure 15c shows that the impulse sum to the CPTDS has decreased significantly after using PIEAMIGA, and the impulse sum is decreased by 2792 N·s compared to SGA.

**Figure 15.** Comparison of the workspace, the first-order natural frequency and the impulse on CPTDS between PIEAMIGA and SGA. (**a**) Comparison of workspace; (**b**) comparison of the first-order natural frequency; and (**c**) comparison of the impulse on the CPTDS.

#### 6.2.2. Multi-Objective Optimization Based on the Ideal Point Approach

In the previous sections, we performed structural optimization with regard to the three optimization objectives, respectively. However, we want to optimize the three optimization objectives simultaneously, i.e., the largest workspace, the highest first-order nature frequency and the smallest impulse on CPTDS exerted by tensions. Mathematically, it is a multi-objective optimization problem and will be solved by using the ideal-point method.

Since the physical meaning of the three optimization objectives is different, it is necessary to normalize the three optimization objectives *f*1(*D*), *f*2(*D*) and *f*3(*D*), respectively. Thus, the three optimization objects become continuous functions in the [0,1] interval, and the multi-objective function is uniform in dimension. The maximum and minimum values of each optimization objective need to be normalized.

As shown in Table 4, for *f*1(*D*), *f*1,min = *f* <sup>1</sup> = 84, 875 m3, *<sup>f</sup>*1,max = *<sup>f</sup>* <sup>∗</sup> <sup>1</sup> = 183, 750 m3; for *f*2(*D*), *f*2,min = *f* <sup>2</sup> = 0.1042 Hz, *f*2,max = *f* <sup>∗</sup> <sup>2</sup> = 0.3100 Hz; for *f*3(*D*), *f*3,min = *f* <sup>∗</sup> <sup>3</sup> = 24, 907 N·s, *f*3,max = *f* <sup>3</sup> = 63, 207 N·s. Thus, we can find three objectives after normalization:

$$\begin{cases} \bar{f}\_1(\mathbf{D}) = \frac{f\_{1,\text{max}} - f\_1(\mathbf{D})}{f\_{1,\text{max}} - f\_{1,\text{min}}}\\ \bar{f}\_2(\mathbf{D}) = \frac{f\_{2,\text{max}} - f\_2(\mathbf{D})}{f\_{2,\text{max}} - f\_{2,\text{min}}}\\ \bar{f}\_3(\mathbf{D}) = \frac{f\_3(\mathbf{D}) - f\_{3,\text{min}}}{f\_{3,\text{max}} - f\_{3,\text{min}}} \end{cases} \tag{37}$$

According to the definition of the ideal-point method, the minimum sum of the distances between the three objective function and the three ideal points is taken as the optimization objective, and the linear and nonlinear constraints proposed in previous are taken as the optimization constraints:

$$\begin{cases} \min \quad W(\mathcal{D}) = \sum\_{i=1}^{3} |\mathcal{f}\_{i}(\mathcal{D})| \\ \text{s.t.} \quad L \le \mathcal{D} \le \mathcal{U} \\\ g\_{1}(\mathcal{D}) = H\_{\text{min}}(\mathcal{D}) - h\_{\text{max}} \le 0 \\\ g\_{2}(\mathcal{D}) = -H\_{\text{max}}(\mathcal{D}) + h\_{\text{min}} \le 0 \\\ g\_{3}(\mathcal{D}) = -V(\mathcal{D}) + \Omega \le 0 \\\ g\_{4}(\mathcal{D}) = -\omega(\mathcal{D}) + \omega\_{p} \le 0 \end{cases} \tag{38}$$

#### *6.3. Results and Discussion of Multi-Objective Structural Optimization*

According to the simulation parameters listed in Tables 3 and 4, the multi-objective structural optimization is conducted by real-coded PIEAMIGA in the MATLAB environment. The results are listed in Table 5. It can be seen that the three optimization results are balanced, none of which is dominant, while others perform poorly.

**Table 5.** The results of multi-objective structural optimization.


Figure 16 shows the DFFW corresponding to the optimal solution *D*∗, which completely contains the MSTS, and thus the filming work can be successfully completed.

**Figure 16.** DFFW and MSTS with regard to the optimal solution *D*∗, i.e., *len* = 83.27 m, *wid* = 77.93 m, *hei* = 27.46 m and *mP* = 25.39 kg.

Figure 17 and Table 6 illustrate the relationship of the workspace volume *vol* with the pulley point height *hei* and the mass of CPTDS *mp* when the optimization variables *d*<sup>1</sup> and *d*<sup>2</sup> are fixed. In this case, *len* = *d*<sup>∗</sup> <sup>1</sup> and *wid* = *d*<sup>∗</sup> <sup>2</sup>. The pulley height *hei* is not positively correlated with volume of workspace *vol*. It can be known from the curved surface that the volume is small at both ends and large in the middle. It can be seen from Table 6 that the workspace volumes are about the same when the pulley height is equal to 27 and 28 m, and thus the maximum value is near *hei* = 27.5 m.

Generally speaking, the higher the pulley height *hei* is, the larger the volume is. However, the tension range is also a decisive factor of workspace. With the increase in height *hei*, the angle between the tangent line at the cable end and the direction of gravity decreases; thus, the cable tension must be increased to balance the gravity. The increase in height *hei* will cause an increase in the length and weight of the cable, and thus an increase in the cable tension. Thus, it is possible that the tensions exceed the upper limit *h*max, leading to a decrease in the workspace that is mainly located in the area near the pulley point close to the upper surface of the workspace.

Relatively speaking, the relationship between the mass of CPTDS and the workspace volume is obvious, which has two characteristics: (1) Positive correlation. The light mass of CPTDS may give rise to the decrease in cable tension, or even less than the lower limit *h*min. The reduced volume of workspace is mainly located at the boundaries of the workspace, where the area of the cable tension is relatively small. (2) At the beginning of the curve, the increase is obvious; however, at the end of the curve, the change is small.

When the mass *mp* is small, increasing the mass of CPTDS will significantly enhance the cable tension so that many position points that originally do not meet the lower limit *h*min satisfy the lower limit *h*min again. Therefore, the volume of workspace increases. However, when the mass *mp* increases to a certain extent, the minimum tension at most of the *mp* points have been greater than *h*min. Therefore, the increase in the workspace volume *vol* is limited.

Figure 18 shows the spatial distribution of the first-order natural frequency corresponding to the "ideal point" on three horizontal sections of the workspaces at different heights, i.e., *z* = 5 m, *z* = 15 m and *z* = 25 m. Clearly, the higher the height along the *z* axis is, the higher the natural frequency is. Since the camera robot belongs to the suspended CDPM, the four pulley points are all above the CPTDS. Therefore, the higher the height along *z* axis is, the shorter the cable length is. According to Equation (25), the shorter the cable length, the higher the natural frequency of the camera robot. Similarly, there is always a long cable when the CPTDS at one of the four corners of the workspace; hence, the first-order natural frequency of the camera robot will be smaller, leading to a downward sharp corner.

**Figure 17.** Relationship of the workspace volume *vol* with the pulley point height *hei* and the mass of CPTDS *mp* when *len* = *d*∗ <sup>1</sup> = 83.27 m and *wid* = *d*<sup>∗</sup> <sup>2</sup> = 77.93 m.

**Figure 18.** Distribution of first-order natural frequency on the horizontal sections of the workspaces at different heights *hei* for the optimal solution *D*∗, i.e., *len* = 83.27 m, *wid* = 77.93 m, *hei* = 27.46 m and *mp* = 25.39 kg.

**Table 6.** The workspace volume when the pulley point height *hei* and the mass of CPTDS *mp* vary (unit m3).


Figure 19 shows the minimum value of the first-order natural frequency on the different horizontal sections of the workspace with different heights, which are significantly improved compared with those shown in Figure 10. The minimum first-order natural frequency on each horizontal section all exceeds 0.12 Hz. At *z* = 5 m, the minimum first-order natural frequency is equal to 0.13 Hz. Although it has been improved, it is still close to the energy truncation frequency *ω<sup>p</sup>* = 0.12 Hz. Therefore, it is still vulnerable to wind disturbance. Thus, some measures are essential to enhance the first-order natural frequency of the camera robot, such as the stiffness improvement and tension regulation.

Figure 20 and Table 7 show the relationship of GFNF with the pulley point height *hei* and the mass of CPTDS *mP* when the optimization variables *d*<sup>1</sup> and *d*<sup>2</sup> are fixed. In this case, *len* = *d*∗ <sup>1</sup> and *wid* = *d*<sup>∗</sup> <sup>2</sup>. The relationship between GFNF and *hei* is not proportional, but exhibits the characteristics of "high at both ends, low in the middle". It can be concluded from Equation (21) that the critical factor of determining the GFNF is the length of the cable. On the one hand, the smaller the height *hei* is, the smaller the length of the cable is. Thus, the frequency is larger when *hei* = 25 m; However, on the other hand, the decrease in height *hei* will lead to the decrease in the height of workspace, lead to losing some points in workspace.

Since the cable length at these "losing point" is shorter, the first-order natural frequency is larger. Therefore, the whole level of the natural frequency in the workspace will decrease after losing these points. Hence, the contradiction between them determines that the value of GFNF is larger when *hei* is equal to the maximum or minimum height and smaller when *hei* is in the middle height. The relationship between the mass of CPTDS *mp* and GFNF is very obvious. The greater the mass is, the lower the frequency is. We can observed that the GFNFs are the same when the pulley height at 27 m and 28 m. We can also draw the conclusion that the GFNF is more sensitive to the pulley height than the mass of the CPTDS.

**Figure 19.** The minimum first-order natural frequency on the horizontal planes of workspace at different heights with regard to the optimal solution *D*∗, i.e., *len* = *d*∗ <sup>1</sup> = 83.27 m, *wid* = *d*<sup>∗</sup> <sup>2</sup> = 77.93 m, *hei* = *d*∗ <sup>3</sup> = 27.46 m and *mp* = *d*<sup>∗</sup> <sup>1</sup> = 25.39 kg.

**Figure 20.** Relationship of GFNF with the pulley height *hei* and the mass of CPTDS *mp* when *len* = *d*∗ <sup>1</sup> = 83.27 m and *wid* = *d*<sup>∗</sup> <sup>2</sup> = 77.93 m.

**Table 7.** The frequency when the pulley point height *hei* and the mass of CPTDS *mp* vary (unit Hz).


Figure 21 shows the impulse applied on the CPTDS and the accelerations of the CPTDS corresponding to the optimization solution following the sampling locus shown in Figure 11. Since every straight line segment of the locus is planned by a quintic polynomial, the acceleration curve is a cubic curve, and the value of acceleration at each point change motion direction of the locus is 0. It can be seen that the impulse is larger in the time point with larger acceleration, reflecting the tensions exert a large impulse on the CPTDS at this time point. The maximum value appears at *t* = 15 s, when the CPTDS moves near the point *P*<sup>3</sup> and is close to the lower surface of the workspace.

Therefore, the cable length and tension are larger than those at the rest points and thus the impulse. It can be observed that the curve is not completely symmetrical on both sides with *P*<sup>3</sup> as the center. However, the left side is larger and the right side is smaller. As the segment *P*<sup>2</sup> → *P*<sup>3</sup> is on the left side of *P*<sup>3</sup> and the motion direction is consistent with the direction of gravity, the tension is larger; the motion direction of the segment *P*<sup>3</sup> → *P*<sup>4</sup> on the right side of *P*<sup>3</sup> is contrary to the gravity direction, and therefore the tension is smaller. Thus, the impulse on the segment *P*<sup>2</sup> → *P*<sup>3</sup> is larger than that on the segment *P*<sup>3</sup> → *P*4. Similarly, the impulse applied on the CPTDS on the segment *P*<sup>1</sup> → *P*<sup>2</sup> is larger than that on the segment *P*<sup>4</sup> → *P*1.

**Figure 21.** The impulse applied on the CPTDS and acceleration of the CPTDS corresponding to the optimization solution following the sampling locus with regard to the optimal solution *D*∗, i.e., *len* = *d*∗ <sup>1</sup> = 83.27 m, *wid* = *d*<sup>∗</sup> <sup>2</sup> = 77.93 m, *hei* = *d*<sup>∗</sup> <sup>3</sup> = 27.46 m, *mP* = *d*<sup>∗</sup> <sup>1</sup> = 25.39 kg.

Figure 22 and Table 8 show the relationship of the impulse sum on the CPTDS along the sampling locus with the pulley point height *hei* and the mass of CPTDS *mp* when the optimization variables *d*<sup>1</sup> and *d*<sup>2</sup> are fixed. In this case, *len* = *d*<sup>∗</sup> <sup>1</sup> and *wid* = *d*<sup>∗</sup> <sup>2</sup>. There is a positive correlation of the impulse sum with the pulley point height *hei* and the mass of CPTDS *mp*. The higher the pulley point height *hei* and the greater the mass *mp* of the CPTDS are, the greater the impulse sum will be. In addition, it can be observed from Table 8 that the impulse sum linearly increases with increasing of the pulley point height and the mass of the CPTDS.

**Figure 22.** Relationship of impulse sum on the CPTDS along the sampling locus with the pulley point height *hei* and the mass of CPTDS *mp* when *len* = *d*∗ <sup>1</sup> = 83.27 m and *wid* = *d*<sup>∗</sup> <sup>2</sup> = 77.93 m.

**Table 8.** The impulse sum on the CPTDS when the pulley point height *hei* and the mass of CPTDS *mp* vary (unit N·s).


#### **7. Conclusions**

In this paper, the dynamic modeling of the camera robot was presented considering the self-weight and inertia of the cable simultaneously, which was also fit to other large-span and high-speed manipulators, and a tension distribution algorithm was developed based on the iteration method. According to the dynamical model, an approach of generating a dynamic feasible workspace was proposed. In order to improve the shooting ability of the camera robot, the structure of the camera was optimized by optimizing the three objectives separately and then mixed together using the ideal point method through a modified GA. Furthermore, the characteristics of the objectives were analyzed by varying the design parameters. The main contributions of this study include the following:

First, the dynamic model of the large-span high-speed camera robot with redundant actuation combining with the cable mass and inertia is established. Based on this model, an iterative-based tension distribution algorithm (Algorithm 1) was proposed to determine the tensions in cables given the position of the CPTDS. In addition, a dynamic forcefeasible workspace (DFFW) generation algorithm (Algorithm 2) was proposed according to the characteristics of the camera robot based on the judging conditions of DFFW that contain the direction balance condition (DBC) and the magnitude balance condition (MBC) simultaneously. In this study, the three-DOF four-cable-driven camera robot was considered for illustrative case-studies. The presented algorithms were applicable to any cable-driven parallel manipulators while modifying the Jacobian matrix *J*, the generalized external force *M*, the unit normal vector *q* and the velocity–acceleration pair \$.

Secondly, an optimization model of the camera robot was set up aiming to achieve the best workspace volume of DFFW, anti-wind disturbance ability and impulse exerted by tensions on CPTDS, where the anti-wind disturbance ability can be evaluated through the GFNF (global first-order nature frequency).

Thirdly, the multi-island and information entropy ideas were used to improve the SGA. Thus, an improved genetic algorithm was created in order to optimize the structure of the camera robot, namely the population information entropy-based adaptive genetic algorithm (PIEAMIGA). It can be seen from Figures 14 and 15 that PIEAMIGA offered the stronger global search capability and the better optimization results compared with SGA with regard to each optimization objective while the computing time increased slightly as shown in Table 4.

Fourthly, the ideal-point method was employed to deal with the multi-objective structural optimization to avoid the influence of the subjective intention of the designer. The ideal point of each optimization objective was obtained by conducting single-objective structural optimization through PIEAMIGA. The optimization results with regard to the optimal solution *D*∗ by using PIEAMIGA are shown in Table 5 and demonstrate that the three optimization results were balanced. Figures 16, 18, 19 and 21 illustrate the workspace shape, spatial distribution of first-order natural frequency, the minimum first-order natural frequency on different horizontal planes of workspace and the impulse on the CPTDS when the optimization variables are equal to the optimal solution *D*∗.

Moreover, the relationship of the three optimization objectives with the pulley height *hei* and the mass of CPTDS *mp* were studied as illustrated in Figures 17, 20 and 22 as well as Tables 6–8. Moreover, some laws were summarized, and these will be valuable for the design of camera robots. Furthermore, the design methodology presented in this paper can be extended to other classes of large-span high-speed CDPMs as well. Apart from the camera robot, the dynamic workspace generation approach and design methodology presented in this paper can be extended to other classes of large-span high-speed CDPMs as well. The next steps involve dynamic modeling for the complex spatial robot architectures and finally practical testing. Our future research will be focused on the motion control issue based on the dynamical model in this paper.

**Author Contributions:** Conceptualization, Y.S. and Y.Q.; methodology, Y.S.; software, P.L.; validation, Y.S. and P.L.; formal analysis, Y.Q.; investigation, P.L.; resources, Q.W.; data curation, X.W.; writing—original draft preparation, Y.S.; writing—review and editing, P.L.; supervision, Y.Q.; project administration, Y.S.; and funding acquisition, Y.S. and J.T. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was funded by Science and Technology Project of Shaanxi Province of China (Grant numbers: 2020JM-558, 2020GY-188 and 2015KTZDGY-02-01).

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


## *Article* **Kinematic and Dynamic Modeling and Workspace Analysis of a Suspended Cable-Driven Parallel Robot for Schönflies Motions**

**Ruobing Wang , Yanlin Xie, Xigang Chenand Yangmin Li \***

Department of Industrial and Systems Engineering, The Hong Kong Polytechnic University, Kowloon, Hong Kong SAR, China; ruobing.wang@connect.polyu.hk (R.W.); yanlin.xie@connect.polyu.hk (Y.X.); xigang.chen@connect.polyu.hk (X.C.)

**\*** Correspondence: yangmin.li@polyu.edu.hk

**Abstract:** In recent years, cable-driven parallel robots (CDPRs) have drawn more and more attention due to the properties of large workspace, large payload capacity, and ease of reconfiguration. In this paper, we present a kinematic and dynamic modeling and workspace analysis for a novel suspended CDPR which generates Schönflies motions. Firstly, the architecture of the robot is introduced, and the inverse and forward kinematic problems of the robot are solved through a geometrical approach. Then, the dynamic equation of the robot is derived by separately considering the moving platform and the drive trains. Based on the dynamic equation, the dynamic feasible workspace of the robot is determined under different values of accelerations. Finally, experiments are performed on a prototype of the robot to demonstrate the correctness of the derived models and workspace.

**Keywords:** cable-driven parallel robot; kinematics; dynamics; workspace

#### **1. Introduction**

Cable-driven parallel robots (CDPRs) are particular types of parallel robots in which the rigid kinematic chains are replaced by flexible cables [1]. In recent years, CDPRs have drawn more and more attention due to the properties of large workspace, large payload capacity, and ease of reconfiguration [2,3]. CDPRs are divided into the suspended type and the fully constrained type according to the tensioning methods. For the suspended CDPRs, the cables are all located over the moving platform, and the gravity of the moving platform is essential to keep the cables in tension. Since the space below the moving platform is free of cables, the suspended CDPRs are generally used to obtain a large workspace. The suspended CDPRs usually work under static conditions because of the limited gravity [4]. For the fully constrained CDPRs, the cables are located on both sides of the moving platform and pull against each other to ensure positive cable tensions. The fully constrained CDPRs are suitable to generate high-speed motions with large accelerations [5].

The existence of the flexible cables greatly complicates the modeling and analysis of CDPRs. On the one hand, the elasticity of the cables leads to low stiffness and deteriorates the positioning accuracy of CDPRs. On the other hand, resulting from the unilateral property, the cables can only apply pull forces and cannot provide push forces. Thus, a greater number of cables than the degrees of freedom (DOFs) are generally required to fully control CDPRs [6]. Many recent works have contributed to the modeling and analysis of CDPRs. In [7], the authors present the kinetostatic model of a 3-DOF CDPR involving pulley kinematics and cable elasticity. Meanwhile, a novel pulley structure is proposed to improve the positioning accuracy of CDPRs. The kinematic model of CDPRs considering pulley mechanisms is presented in [8]. Based on the kinematic model, a kinematic calibration method is further developed for CDPRs. In [9], the forward kinetostatic problem of a 6-DOF underactuated CDPR is solved using an unsupervised neural network approach. This novel approach is computationally efficient and has an accuracy similar to that of other optimization methods. In [10], the authors provide a kinematic and dynamic analysis of a

**Citation:** Wang, R.; Xie, Y.; Chen, X.; Li, Y. Kinematic and Dynamic Modeling and Workspace Analysis of a Suspended Cable-Driven Parallel Robot for Schönflies Motions. *Machines* **2022**, *10*, 451. https:// doi.org/10.3390/machines10060451

Academic Editors: Dan Zhang, Zhufeng Shao and Stéphane Caro

Received: 23 May 2022 Accepted: 2 June 2022 Published: 6 June 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

CDPR composed of multiple cranes by considering the hydraulic actuation system. A 3- DOF CDPR driven by five-bar winding mechanisms for workspace expansion is presented in [11]. The kinematic and dynamic analysis of the CDPR is performed based on the finite element method and the Lagrange formulation. In [12], the dynamic model of CDPRs is derived by combining the finite element model of the cables with the rigid-body dynamics of the moving platform.

Another important issue is determining the workspace of CDPRs, as the workspace is one of the decisive properties for the potential applications of CDPRs. The workspace of CDPRs is strongly coupled to the cable tensions because of the unilateral property of the cables [13]. A generalized ray-based method is proposed in [14] to solve the wrench-closure workspace of CDPRs. The authors further introduce a graph representation to visualize the high-dimensional workspace. In [15], the wrench-feasible workspace of CDPRs is computed through interval analysis, in which the sets fully inside or outside the workspace can be efficiently determined. The dynamic feasible workspace of a 6-DOF CDPR is solved by investigating the dynamic equilibrium of the moving platform in [16]. The authors in [17,18] use a geometric method to calculate the cylindrical operation workspace of a 3-DOF CDPR tensioned by passive springs. The relation between the number of springs and the shape of the workspace is investigated. In [19], a geometric approach based on convex analysis is proposed to compute the workspace of CDPRs subject to the constraints of the cable tensions. In [20], the author proposes the differential workspace hull method to calculate the workspace of CDPRs. This method adopts a triangulation representation to approximate the boundary of the workspace and can handle various criteria for the workspace.

Although much effort has been devoted to the modeling and analysis of CDPRs, the existing works mainly focus on the purely translational 3-DOF CDPRs [7,11,17,18] and the spatial 6-DOF CDPRs [9,12,16,20]. The CDPRs with other types of motions have seldom been reported, and there is no systematic approach for the modeling and analysis of such kinds of CDPRs. In many working scenarios, not all directions of motions are essential for the application requirements, and the redundant DOFs may increase the cost and complicate the robot systems [21]. Therefore, there is an urgent need to investigate the lower-mobility CDPRs with sub-spatial motions. Among the lower-mobility motion types, Schönflies motion, which contains three-dimensional translation and one-dimensional rotation about the vertical axis, is the most widely used kind of sub-spatial motion in robotics [22]. Aiming to narrow the research gap and complement the field of lower-mobility CDPRs, in this paper, we present a kinematic and dynamic modeling and workspace analysis for a novel suspended CDPR which generates Schönflies motions. In comparison with the existing works, the main contributions of this paper are summarized as follows:


The remaining parts of this paper are arranged as follows. The architecture of the novel CDPR is introduced in Section 2. Then, the inverse and forward kinematic problems of the robot are solved in Section 3. Section 4 presents the dynamic modeling of the robot by separately considering the moving platform and the drive trains. Section 5 determines the dynamic feasible workspace of the robot under different values of accelerations. The prototype and experiments of the robot are presented in Section 6. Finally, Section 7 concludes this paper and discusses suggestions for future work.

#### **2. Architecture Description**

The robot studied in this paper is a novel suspended CDPR which generates Schönflies motions. A prototype of the robot is shown in Figure 1. In this section, we briefly introduce the architecture of the robot and define some notations used in later sections.

**Figure 1.** Prototype of the novel cable-driven parallel robot (CDPR).

#### *2.1. Cable Arrangement*

Figure 2 shows the kinematic diagram of the novel CDPR studied in this paper. The robot has twelve driving cables linking the base and the moving platform. The cable attachment points of the robot are uniformly arranged at the vertices of the base and the moving platform. The base of the robot is cuboid-shaped, and its size is determined by three parameters: *LA*1, *LA*2, and *LA*3. Let T*<sup>A</sup>* be the inertial frame located at the geometric center point *O* of the base. The cable attachment points on the base are named *Aij*, where *i* ∈ {1, 2, 3, 4} and *j* ∈ {1, 2, 3}. The locations from point *O* to points *Aij* are represented by vectors *aij*. The moving platform of the robot is composed of three parts which are articulated together. The size of the moving platform is depicted by three parameters: *LB*1, *LB*2, and Δ*LB*. Let T*<sup>B</sup>* be the moving frame attached at the geometric center point *P* of the moving platform. The vector linking point *O* and point *P* are denoted as *p* = (*xyz*)*T*. The cable attachment points on the moving platform are named *Bij*. The locations from point *P* to points *Bij* are represented by vectors *bij*. The cables linking points *Aij* and points *Bij* have the lengths *lij*, and their directions are represented by unit length vectors *sij*. Based on the above defined parameters, the positions of the cable attachment points of the robot are given as

*a*<sup>11</sup> = −1 <sup>2</sup> *LA*<sup>1</sup> <sup>−</sup><sup>1</sup> <sup>2</sup> *LA*<sup>2</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>3</sup> *T* , *a*<sup>12</sup> = *a*<sup>33</sup> = −1 <sup>2</sup> *LA*<sup>1</sup> <sup>−</sup><sup>1</sup> <sup>2</sup> *LA*<sup>2</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>3</sup> − *LB*<sup>2</sup> *T* , *a*<sup>21</sup> = 1 <sup>2</sup> *LA*<sup>1</sup> <sup>−</sup><sup>1</sup> <sup>2</sup> *LA*<sup>2</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>3</sup> *T* , *a*<sup>22</sup> = *a*<sup>43</sup> = 1 <sup>2</sup> *LA*<sup>1</sup> <sup>−</sup><sup>1</sup> <sup>2</sup> *LA*<sup>2</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>3</sup> − *LB*<sup>2</sup> + Δ*LB T* , *a*<sup>31</sup> = 1 <sup>2</sup> *LA*<sup>1</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>2</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>3</sup> *T* , *a*<sup>32</sup> = *a*<sup>13</sup> = 1 <sup>2</sup> *LA*<sup>1</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>2</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>3</sup> − *LB*<sup>2</sup> *T* , *a*<sup>41</sup> = −1 <sup>2</sup> *LA*<sup>1</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>2</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>3</sup> *T* , *a*<sup>42</sup> = *a*<sup>23</sup> = −1 <sup>2</sup> *LA*<sup>1</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>2</sup> <sup>1</sup> <sup>2</sup> *LA*<sup>3</sup> − *LB*<sup>2</sup> + Δ*LB T* , (1) <sup>0</sup>*b*<sup>11</sup> = # <sup>1</sup> <sup>2</sup> *LB*<sup>1</sup> <sup>0</sup> <sup>1</sup> <sup>2</sup> *LB*<sup>2</sup> \$*T* , <sup>0</sup>*b*<sup>12</sup> =<sup>0</sup> *b*<sup>13</sup> = # <sup>1</sup> <sup>2</sup> *LB*<sup>1</sup> <sup>0</sup> <sup>−</sup><sup>1</sup> <sup>2</sup> *LB*<sup>2</sup> \$*T* , <sup>0</sup>*b*<sup>21</sup> = # <sup>1</sup> <sup>2</sup> *LB*<sup>1</sup> <sup>0</sup> <sup>1</sup> <sup>2</sup> *LB*<sup>2</sup> \$*T* , <sup>0</sup>*b*<sup>22</sup> =<sup>0</sup> *b*<sup>23</sup> = # <sup>1</sup> <sup>2</sup> *LB*<sup>1</sup> <sup>0</sup> <sup>−</sup><sup>1</sup> <sup>2</sup> *LB*<sup>2</sup> + Δ*LB* \$*T* , <sup>0</sup>*b*<sup>31</sup> = # −1 <sup>2</sup> *LB*<sup>1</sup> <sup>0</sup> <sup>1</sup> <sup>2</sup> *LB*<sup>2</sup> \$*T* , <sup>0</sup>*b*<sup>32</sup> =<sup>0</sup> *b*<sup>33</sup> = # −1 <sup>2</sup> *LB*<sup>1</sup> <sup>0</sup> <sup>−</sup><sup>1</sup> <sup>2</sup> *LB*<sup>2</sup> \$*T* , <sup>0</sup>*b*<sup>41</sup> = # −1 <sup>2</sup> *LB*<sup>1</sup> <sup>0</sup> <sup>1</sup> <sup>2</sup> *LB*<sup>2</sup> \$*T* , <sup>0</sup>*b*<sup>42</sup> =<sup>0</sup> *b*<sup>43</sup> = # −1 <sup>2</sup> *LB*<sup>1</sup> <sup>0</sup> <sup>−</sup><sup>1</sup> <sup>2</sup> *LB*<sup>2</sup> + Δ*LB* \$*T* , (2)

$$\mathbf{b}\_{ij} = \begin{cases} \mathbf{R}\_z(\theta\_1)^0 \mathbf{b}\_{ij} & i \in \{1,3\}, \; j \in \{1,2,3\} \\\mathbf{R}\_z(\theta\_2)^0 \mathbf{b}\_{ij} & i \in \{2,4\}, \; j \in \{1,2,3\}' \end{cases} \tag{3}$$

where *Rz*(·) denotes the rotation matrix about the *z* axis, and *θ*<sup>1</sup> and *θ*<sup>2</sup> are two angles representing the orientation of the moving platform. The detailed definitions of *θ*<sup>1</sup> and *θ*<sup>2</sup> will be given in Section 2.2.

**Figure 2.** Kinematic diagram of the novel CDPR.

The twelve driving cables of the robot consist of four pairs of parallel cables (red lines in Figure 2) and four independent cables (yellow lines in Figure 2). During the modeling process, we use *j* ∈ {1, 2} to represent the parallel cables and use *j* ∈ {3} to indicate the independent cables. The working principle of the parallel cables is demonstrated in Figure 3. Each pair of parallel cables is driven by two identical winches which are connected in a series and directly coupled to the same motor. The parallel cables are then passed through two identical guiding pulleys and connected to the moving platform. The arrangement of the winches and the pulleys ensures that the two cables are parallel, so they always have the same length. Based on Equations (1) and (2), we have ||*Ai*1*Ai*2|| = ||*Bi*1*Bi*2|| and *Ai*1*Ai*2//*Bi*1*Bi*2, and thus the quadrilateral *Ai*1*Ai*2*Bi*2*Bi*<sup>1</sup> forms a parallelogram. According to the proprieties of the parallelogram, we define *li* = *li*<sup>1</sup> = *li*<sup>2</sup> and *s<sup>i</sup>* = *si*<sup>1</sup> = *si*2. The parallel cables are used to constrain the rotational motion of the moving platform. When a pair of parallel cables are in tension, the moving platform cannot rotate about the normal direction of the parallelogram formed by the parallel cables. The four pairs of parallel cables are specially arranged so that the moving platform of the robot can only rotate about the vertical axis. Thus, the robot is ensured to perform Schönflies motions.

**Figure 3.** Working principle of parallel cables. (**a**) Drive unit. (**b**) Kinematic diagram.

#### *2.2. Articulated Moving Platform*

The moving platform of the robot is specially designed to extend the rotational capability of the robot about the vertical axis. Figure 4 shows the detailed architecture of the moving platform. The moving platform of the robot consists of two sub-platforms and one end-effector. The two sub-platforms are articulated together and coupled to the end-effector through a gearbox. The gearbox amplifies the relative motions between the two sub-platforms, thus extending the rotational capability of the end-effector. The two sub-platforms are named sub-platform 1 and sub-platform 2, respectively. Sub-platform 1 is shown in cyan color, and the cable attachment points on sub-platform 1 are indicated by *i* ∈ {1, 3}. Sub-platform 2 is shown in the magenta color, and the cable attachment points on sub-platform 2 are indicated by *i* ∈ {2, 4}. To describe the orientation of the moving platform, we attached a moving frame on each part of the moving platform at point *P*. Sub-platform 1 is attached with frame T*p*1, and the orientation of frame T*p*<sup>1</sup> with respect to frame T*<sup>A</sup>* is denoted as *θ*1. Sub-platform 2 is attached with frame T*p*2, and the orientation of frame T*p*<sup>2</sup> with respect to frame T*<sup>A</sup>* is denoted as *θ*2. Let *θ* represent the angle between the two sub-platforms, and assume the *x* axis of frame T*<sup>B</sup>* locates on the bisectrix of *θ*. The orientation of frame T*<sup>B</sup>* with respect to frame T*<sup>A</sup>* is denoted as *ψ*. Frame T*ee* is attached on the end-effector of the robot, and the orientation of frame T*ee* with respect to frame T*<sup>A</sup>* is denoted as *φ*. The articulated structure of the moving platform introduces one internal DOF into the robot. We define *ψ* and *θ* as the configuration of the moving platform. Then, the relations between *θ*1, *θ*2, *φ* and *ψ*, *θ* are given as

$$
\theta\_1 = \psi - \frac{1}{2}\theta\_\prime \tag{4}
$$

$$
\theta\_2 = \psi + \frac{1}{2}\theta\_\prime \tag{5}
$$

$$
\phi = \psi + (\eta - \frac{1}{2})\theta + (\phi \eta - \theta\_{10}) - \eta(\theta\_{20} - \theta\_{10}),
\tag{6}
$$

where *θ*10, *θ*20, *φ*<sup>0</sup> are the initial values of *θ*1, *θ*2, *φ*, and *η* represents the amplification ratio of the gearbox.

**Figure 4.** Architecture of the articulated moving platform. (**a**) Front view. (**b**) Top view.

#### **3. Kinematics**

For CDPRs, the mass and elasticity of the cables introduce a coupling relation between the kinematics and the cable tensions. Some researchers have presented approaches such as the kinetostatic modeling [23] and kinetics modeling [24] to consider these effects. However, these approaches are usually complicated and require numerical methods to solve the models. In this paper, in order to derive closed-form solutions for the kinematics of the novel CDPR, we assume the decoupling of the kinematics and the cable tensions by considering the cables as massless and inelastic straight lines. In this section, we present the kinematic modeling of the novel CDPR. Firstly, the inverse and forward kinematic problems of the robot are solved. Then, the Jacobian matrix of the robot is derived.

#### *3.1. Inverse and Forward Kinematics*

The inverse kinematic problem is to calculate the lengths of the driving cables according to the prescribed pose of the moving platform. The forward kinematic problem is to compute the pose of the moving platform according to the prescribed cable lengths. Based on the notations defined in Section 2, the pose of the moving platform in task space is defined by the generalized coordinate X as

$$\mathfrak{X} = \begin{pmatrix} p^T & \psi \hat{z}^T & \theta \end{pmatrix}^T = \begin{pmatrix} x & y & z & 0 & 0 & \psi & \theta \end{pmatrix}^T,\tag{7}$$

where *z*ˆ = (001)*<sup>T</sup>* represents the unit length vector along the *z* axis. The vector of the cable lengths is given as

$$I = \begin{pmatrix} l\_1 & l\_2 & l\_3 & l\_4 & l\_{13} & l\_{23} & l\_{33} & l\_{43} \end{pmatrix}^T. \tag{8}$$

For CDPRs, the inverse kinematic problem is straightforward and generally has closedform solutions. According to the vector loops in Figure 2, the inverse kinematic equation for the robot is derived as

$$l\_{i\bar{j}} = ||a\_{i\bar{j}} - b\_{i\bar{j}} - p||, \ i \in \{1, 2, 3, 4\}, \ j \in \{1, 2, 3\}. \tag{9}$$

The forward kinematic problem of CDPRs is generally more involved than the inverse kinematics as there may exist multiple solutions. Numerical methods are usually adopted to solve the forward kinematics of CDPRs. By exploiting the special architecture of the robot, here we propose a geometrical approach to derive a closed-form solution for the forward kinematics of the robot. Figure 5 shows the kinematic diagram of sub-platform 1 used for the forward kinematics. Defining *LA*<sup>4</sup> as the distance between point *A*<sup>12</sup> and point *A*32, we have

$$L\_{A4} = \sqrt{L\_{A1}^2 + L\_{A2}^2}.\tag{10}$$

For triangle *A*12*A*32*B*12, we define *h*<sup>1</sup> as the altitude from vertex *B*<sup>12</sup> to side *A*12*A*32, and define *w*<sup>1</sup> as the distance between vertex *A*<sup>12</sup> and the foot of altitude *h*<sup>1</sup> on side *A*12*A*32. Since the lengths of the cables are all known, we have

$$w\_1 = \frac{l\_{12}^2 + L\_{A4}^2 - l\_{13}^2}{2L\_{A4}},\tag{11}$$

$$h\_1 = \sqrt{l\_{12}^2 - w\_1^2}.\tag{12}$$

Similarly, for triangle *A*12*A*32*B*32, we define *h*<sup>3</sup> as the altitude from vertex *B*<sup>32</sup> to side *A*12*A*32, and define *w*<sup>3</sup> as the distance between vertex *A*<sup>12</sup> and the foot of altitude *h*<sup>3</sup> on side *A*12*A*32. Then, *w*<sup>3</sup> and *h*<sup>3</sup> are expressed as

$$w\mathfrak{y} = \frac{l\_{33}^2 + L\_{A4}^2 - l\_{32}^2}{2L\_{A4}},\tag{13}$$

$$h\_3 = \sqrt{l\_{33}^2 - w\_3^2}.\tag{14}$$

Since the robot performs Schönflies motions, line *B*12*B*<sup>32</sup> is always parallel with the plane formed by vectors *n*<sup>1</sup> and *n*2, where *n*<sup>1</sup> and *n*<sup>2</sup> are defined as

$$m\_1 = \frac{\mathbf{a}\_{32} - \mathbf{a}\_{12}}{||\mathbf{a}\_{32} - \mathbf{a}\_{12}||} \, \tag{15}$$

$$
\mathfrak{m}\_2 = \mathfrak{m}\_1 \times \mathfrak{k}.\tag{16}
$$

To solve the positions of points *B*<sup>12</sup> and *B*32, we project the kinematic diagram onto the plane formed by vectors *n*<sup>2</sup> and *z*ˆ, as shown in Figure 5. The kinematic diagram becomes a triangle on the projection plane. Defining *h*<sup>13</sup> as the length of line *B*12*B*<sup>32</sup> on the projection plane, we have

$$h\_{13} = \sqrt{L\_{B1}^2 - (w\_1 - w\_3)^2}.\tag{17}$$

Then, the two internal angles *ξ*<sup>1</sup> and *ξ*<sup>3</sup> of the triangle *A*32*B*12*B*<sup>32</sup> on the projection plane are derived as

$$\xi\_1^x = \arccos \frac{h\_1^2 + h\_{13}^2 - h\_3^2}{2h\_1h\_{13}},\tag{18}$$

$$\xi\_3^x = \arccos \frac{h\_3^2 + h\_{13}^2 - h\_1^2}{2h\_3h\_{13}}.\tag{19}$$

Now, we define *r*<sup>12</sup> = *p* + *b*<sup>12</sup> and *r*<sup>32</sup> = *p* + *b*<sup>32</sup> as the position vectors of points *B*<sup>12</sup> and *B*32, respectively. According to Figure 5, *r*<sup>12</sup> and *r*<sup>32</sup> can be formulated as

$$r\_{12} = \pm h\_1 \cos \xi\_1 \mathfrak{u}\_2 - h\_1 \sin \xi\_1 \mathfrak{z} + \mathfrak{a}\_{12} + w\_1 \mathfrak{u}\_{1\prime} \tag{20}$$

$$r\_{32} = \mp l \mathfrak{z} \cos \mathfrak{z}\_{\mathfrak{z}} \mathfrak{w}\_{2} - l \mathfrak{z} \sin \mathfrak{z}\_{\mathfrak{z}} \mathfrak{z} + \mathfrak{a}\_{12} + \mathfrak{w}\_{3} \mathfrak{w}\_{1}. \tag{21}$$

Equations (20) and (21) determine two sets of positions for points *B*<sup>12</sup> and *B*<sup>32</sup> which are symmetrical about the plane formed by vectors *n*<sup>1</sup> and *z*ˆ. After obtaining the positions of point *B*<sup>12</sup> and point *B*32, the position and orientation of sub-platform 1 can be derived as

$$p = \frac{1}{2}(r\_{12} + r\_{32}) + \frac{1}{2}L\_{B2}\sharp\_{\prime} \tag{22}$$

$$\theta\_1 = \arctan \frac{(r\_{12} - r\_{32}) \cdot \hat{y}}{(r\_{12} - r\_{32}) \cdot \hat{\mathbf{x}}'} \tag{2.3}$$

where *x*ˆ = (100)*<sup>T</sup>* and *y*ˆ = (010)*T*. Equations (22) and (23) also determine two sets of poses of sub-platform 1. In order to determine the pose of the entire moving platform, we use the same procedure to solve the poses of sub-platform 2. Since sub-platform 1 and sub-platform 2 are articulated together, we can take the intersection of the position vectors determined by sub-platform 1 and sub-platform 2 as the true position vector of the moving platform. Then, the orientation of the moving platform can be obtained by computing Equations (4) and (5).

**Figure 5.** Kinematic diagram of sub-platform 1 for forward kinematics.

#### *3.2. Jacobian Matrix*

The Jacobian matrix plays an important role in the modeling and analysis of the robot as the Jacobian matrix maps the velocity of the moving platform to the velocity of the driving cables. Differentiating X and *l* with respect to time, we have the generalized velocity X˙ and the cable velocity ˙ *l* as

$$\dot{\mathfrak{X}} = \begin{pmatrix} \dot{\mathfrak{p}}^T & \dot{\mathfrak{Y}}\dot{\mathfrak{z}}^T & \dot{\theta} \end{pmatrix}^T = \begin{pmatrix} \dot{\mathfrak{x}} & \dot{\mathfrak{y}} & \dot{\mathfrak{z}} & 0 & 0 & \dot{\mathfrak{y}} & \dot{\theta} \end{pmatrix}^T,\tag{24}$$

$$I = \begin{pmatrix} l\_1 & l\_2 & l\_3 & l\_4 & l\_{13} & l\_{23} & l\_{33} & l\_{43} \end{pmatrix}^T. \tag{25}$$

Define V*p*<sup>1</sup> and V*p*<sup>2</sup> as the twist vectors of sub-platform 1 and sub-platform 2, respectively, and V*ee* as the twist vector of the end-effector. Based on Equations (4)–(6), we have

$$\mathcal{V}\_{p1} = \begin{pmatrix} \dot{p} \\ \dot{\theta}\_1 \dot{\mathfrak{z}} \end{pmatrix} = \begin{pmatrix} \dot{p} \\ \dot{\psi}\hat{\mathfrak{z}} - \frac{1}{2}\dot{\theta}\hat{\mathfrak{z}} \end{pmatrix} = \underbrace{\begin{pmatrix} \mathbf{0}\_{3 \times 1} \\ -\frac{1}{2}\dot{\mathfrak{z}} \end{pmatrix}}\_{H\_{p1}} \mathfrak{X} \tag{26}$$

$$\mathcal{V}\_{p2} = \begin{pmatrix} \dot{\mathbf{p}} \\ \dot{\theta}\_2 \mathbf{\hat{z}} \end{pmatrix} = \begin{pmatrix} \dot{\mathbf{p}} \\ \dot{\psi}\mathbf{\hat{z}} + \frac{1}{2}\theta\mathbf{\hat{z}} \end{pmatrix} = \underbrace{\begin{bmatrix} \mathbf{E}\_{6 \times 6} & \mathbf{0}\_{3 \times 1} \\ \frac{1}{2}\mathbf{\hat{z}} & \frac{1}{2}\mathbf{\hat{z}} \end{bmatrix}}\_{\mathbf{H}\_{p2}} \mathbf{\hat{x}}\_{\mathbf{\hat{z}}} \tag{27}$$

$$\mathcal{V}\_{\text{cc}} = \begin{pmatrix} \dot{\mathbf{p}} \\ \dot{\theta}\hat{\mathbf{z}} \end{pmatrix} = \begin{pmatrix} \dot{\mathbf{p}} \\ \dot{\psi}\hat{\mathbf{z}} + \left(\eta - \frac{1}{2}\right)\dot{\theta}\hat{\mathbf{z}} \end{pmatrix} = \underbrace{\begin{pmatrix} \mathbf{0}\_{3 \times 1} \\ \mathbf{0} - \frac{1}{2}\left(\mathbf{0}\_{\text{c}} - \frac{1}{2}\right)\hat{\mathbf{z}} \end{pmatrix}}\_{\mathbf{H}\_{\text{cc}}} \dot{\mathbf{x}} \tag{28}$$

where *En*×*<sup>n</sup>* represents the *n* × *n* identity matrix and **0***n*×*<sup>m</sup>* represents the *n* × *m* matrix of zeros. Differentiating Equation (9) with respect to time and considering the properties of parallel cables, we have

$$-\underbrace{\begin{bmatrix} \mathbf{s}\_1^T & (\mathbf{b}\_1 \times \mathbf{s}\_1)^T \\ \mathbf{s}\_2^T & (\mathbf{b}\_3 \times \mathbf{s}\_3)^T \\ \mathbf{s}\_{13}^T & (\mathbf{b}\_{13} \times \mathbf{s}\_{13})^T \\ \mathbf{s}\_{33}^T & (\mathbf{b}\_{33} \times \mathbf{s}\_{33})^T \end{bmatrix}}\_{I\_{p1}} \mathcal{V}\_{p1} = \underbrace{\begin{pmatrix} \dot{I}\_1 \\ \dot{I}\_3 \\ \dot{I}\_{13} \\ \dot{I}\_{33} \end{pmatrix}}\_{\dot{I}\_{p1}} \tag{29}$$

$$\underbrace{\begin{bmatrix} \mathbf{s}\_2^T & (\mathbf{b}\_2 \times \mathbf{s}\_2)^T \\ \mathbf{s}\_4^T & (\mathbf{b}\_3 \times \mathbf{s}\_4)^T \\ \mathbf{s}\_{23}^T & (\mathbf{b}\_{23} \times \mathbf{s}\_{23})^T \\ \mathbf{s}\_{43}^T & (\mathbf{b}\_{43} \times \mathbf{s}\_{43})^T \end{bmatrix}}\_{I\_{p2}} \mathbf{v}\_{p2} = \underbrace{\begin{pmatrix} l\_2 \\ \dot{l}\_4 \\ \dot{l}\_{23} \\ \dot{l}\_{43} \end{pmatrix}}\_{\dot{l}\_{p2}}\tag{30}$$

where *b<sup>i</sup>* = (*bi*<sup>1</sup> + *bi*2)/2, *i* ∈ {1, 2, 3, 4}. Substituting Equations (26) and (27) into Equations (29) and (30), the velocity equation of the entire moving platform is derived as

$$
\begin{bmatrix}
\mathbf{J}\_{p1}\mathbf{H}\_{p1} \\
\mathbf{J}\_{p2}\mathbf{H}\_{p2}
\end{bmatrix}
\dot{\mathbf{X}} = \begin{pmatrix}
\dot{\mathbf{I}}\_{p1} \\
\dot{\mathbf{I}}\_{p2}
\end{pmatrix}.
\tag{31}
$$

Reshaping Equation (31), we have

$$-\underbrace{\begin{bmatrix}\mathbf{s}\_1^T & (\mathbf{b}\_1 \times \mathbf{s}\_1)^T & -\frac{1}{2}(\mathbf{b}\_1 \times \mathbf{s}\_1)^T\hat{\mathbf{z}} \\ \mathbf{s}\_2^T & (\mathbf{b}\_2 \times \mathbf{s}\_2)^T & \frac{1}{2}(\mathbf{b}\_2 \times \mathbf{s}\_2)^T\hat{\mathbf{z}} \\ \mathbf{s}\_3^T & (\mathbf{b}\_3 \times \mathbf{s}\_3)^T & -\frac{1}{2}(\mathbf{b}\_3 \times \mathbf{s}\_3)^T\hat{\mathbf{z}} \\ \mathbf{s}\_4^T & (\mathbf{b}\_4 \times \mathbf{s}\_4)^T & \frac{1}{2}(\mathbf{b}\_4 \times \mathbf{s}\_4)^T\hat{\mathbf{z}} \\ \mathbf{s}\_{13}^T & (\mathbf{b}\_{13} \times \mathbf{s}\_{13})^T & -\frac{1}{2}(\mathbf{b}\_{13} \times \mathbf{s}\_{13})^T\hat{\mathbf{z}} \\ \mathbf{s}\_{23}^T & (\mathbf{b}\_{23} \times \mathbf{s}\_{23})^T & \frac{1}{2}(\mathbf{b}\_{23} \times \mathbf{s}\_{23})^T\hat{\mathbf{z}} \\ \mathbf{s}\_{33}^T & (\mathbf{b}\_{33} \times \mathbf{s}\_{33})^T & -\frac{1}{2}(\mathbf{b}\_{33} \times \mathbf{s}\_{33})^T\hat{\mathbf{z}} \\ \mathbf{s}\_{43}^T & (\mathbf{b}\_{43} \times \mathbf{s}\_{43})^T & \frac{1}{2}(\mathbf{b}\_{43} \times \mathbf{s}\_{43})^T\hat{\mathbf{z}} \\ \hline \end{bmatrix} \end{bmatrix} \mathbf{x} = \mathbf{i},$$

where *J* is denoted as the Jacobian matrix of the robot.

#### **4. Dynamics**

The dynamic equation of the robot describes the relation between the actuation torques and the motion of the moving platform. The dynamic model of the robot can be formulated using finite element methods such as the SPACAR software [25], which is a general tool for the dynamic analysis of flexible multi-body systems. However, the analytical dynamic model plays an important role in the analysis and control of the robot, which can facilitate the workspace determination and lay the foundation for model-based control approaches. In this paper, we assume that the cables are massless and inelastic straight lines to derive the analytical dynamic equation of the robot. In this section, we present the dynamic modeling of the robot based on the virtual power principle. Firstly, the dynamics of the moving platform is formulated. Then, the effect of the drive trains is derived.

#### *4.1. Dynamics of Moving Platform*

The dynamic equation of the moving platform can be derived based on the virtual power principle. The friction inside the articulated joints of the moving platform is neglected, because ball bearings are installed inside the joints to reduce the friction. We define

*fij* as the tension of cable *lij*, and *fi* = *fi*<sup>1</sup> + *fi*<sup>2</sup> as the total tension of parallel cables *li*<sup>1</sup> and *li*2. Then, the vector of the cable tensions is dented as

$$f\_{\mathcal{E}} = \begin{pmatrix} f\_1 & f\_2 & f\_3 & f\_4 & f\_{13} & f\_{23} & f\_{33} & f\_{43} \end{pmatrix}^T. \tag{33}$$

For sub-platform 1, let *mp*<sup>1</sup> be the total mass, *rp*<sup>1</sup> be the position vector of the center of mass, *Ip*<sup>1</sup> be the rotational inertia matrix, and *ωp*<sup>1</sup> be the angular velocity vector. For subplatform 2, let *mp*<sup>2</sup> be the total mass, *rp*<sup>2</sup> be the position vector of the center of mass, *Ip*<sup>2</sup> be the rotational inertia matrix, and *ωp*<sup>2</sup> be the angular velocity vector. Similarly, for the end-effector, let *mee* be the total mass, *ree* be the position vector of the center of mass, *Iee* be the rotational inertia matrix, and *ωee* be the angular velocity vector. According to the virtual power principle [26], we have the dynamic equation of the moving platform as

$$\begin{aligned} \left(m\_{p1}\ddot{r}\_{p1} - m\_{p1}\mathbf{g}\right) \cdot \delta\dot{r}\_{p1} + \left(I\_{p1}\dot{\omega}\_{p1} + \omega\_{p1} \times I\_{p1}\omega\_{p1}\right) \cdot \delta\omega\_{p1} + \\ \left(m\_{p2}\ddot{r}\_{p2} - m\_{p2}\mathbf{g}\right) \cdot \delta\dot{r}\_{p2} + \left(I\_{p2}\dot{\omega}\_{p2} + \omega\_{p2} \times I\_{p2}\omega\_{p2}\right) \cdot \delta\omega\_{p2} + \\ \left(m\_{\ell\ell}\ddot{r}\_{\ell\ell} - m\_{\ell\ell}\mathbf{g}\right) \cdot \delta\dot{r}\_{\ell\ell} + \left(I\_{\ell\ell}\dot{\omega}\_{\ell\ell} + \omega\_{\ell\ell} \times I\_{\ell\ell}\omega\_{\ell\ell}\right) \cdot \delta\omega\_{\ell\ell} = f\_{\ell} \cdot \delta\dot{l}\_{\ell} \end{aligned} \tag{34}$$

where *<sup>g</sup>* = (0 0 − 9.81)*<sup>T</sup>* is the vector of gravitational acceleration. To formulate the dynamic equation as a function of the generalized coordinate X, we need to derive the detailed expression of each component in Equation (34). For sub-platform 1, we define *cp*<sup>1</sup> as the position vector of the center of mass in frame T*p*1, and *Ic*<sup>1</sup> as the rotational inertia matrix about the center of mass in frame T*p*1; then, we have

$$r\_{p1} = \mathcal{p} + \mathcal{R}\_{\mathbb{Z}}(\theta\_1)\mathcal{c}\_{p1},\tag{35}$$

$$I\_{p1} = \mathcal{R}\_z(\theta\_1) I\_{c1} \mathcal{R}\_z(\theta\_1)^T. \tag{36}$$

Differentiating Equation (35) with respect to time, the velocity and acceleration of subplatform 1 are expressed as

$$\begin{split} \dot{\boldsymbol{\sigma}}\_{p1} &= \dot{\boldsymbol{p}} + \boldsymbol{\theta}\_{1} \boldsymbol{\hat{z}} \times \mathbf{R}\_{z}(\boldsymbol{\theta}\_{1}) \mathbf{c}\_{p1} \\ &= \underbrace{\begin{bmatrix} \boldsymbol{E}\_{3 \times 3} & -[\mathbf{R}\_{z}(\boldsymbol{\theta}\_{1}) \mathbf{c}\_{p1}]\_{\times} & \frac{1}{2}[\mathbf{R}\_{z}(\boldsymbol{\theta}\_{1}) \mathbf{c}\_{p1}]\_{\times} \boldsymbol{\hat{z}}] \end{bmatrix}}\_{\boldsymbol{H}\_{\ell 1}} \dot{\boldsymbol{\mathcal{X}}}\_{\times} \end{split} \tag{37}$$

$$\begin{split} \ddot{\boldsymbol{\sigma}}\_{p1} &= \dot{\boldsymbol{\rho}} + \dot{\boldsymbol{\theta}}\_{1} \dot{\boldsymbol{z}} \times \mathbf{R}\_{z}(\boldsymbol{\theta}\_{1}) \mathbf{c}\_{p1} + \dot{\boldsymbol{\theta}}\_{1}^{2} \dot{\boldsymbol{z}} \times \dot{\boldsymbol{z}} \times \mathbf{R}\_{z}(\boldsymbol{\theta}\_{1}) \mathbf{c}\_{p1} \\ &= \boldsymbol{H}\_{c1} \ddot{\boldsymbol{\mathcal{X}}} + \dot{\boldsymbol{\mathcal{X}}}^{T} \boldsymbol{H}\_{\boldsymbol{\theta}1}^{T} \underbrace{[\dot{\boldsymbol{z}}]\_{\times}^{2} \mathbf{R}\_{z}(\boldsymbol{\theta}\_{1}) \mathbf{c}\_{p1}}\_{\mathbf{C}\_{c1}} \mathbf{H}\_{\boldsymbol{\theta}1} \dot{\boldsymbol{\mathcal{X}}}\_{\prime} \end{split} \tag{38}$$

where [ · ]<sup>×</sup> denotes the skew-symmetric matrix representation of a vector, and *Hθ*<sup>1</sup> = # <sup>000001</sup> <sup>−</sup><sup>1</sup> 2 \$ . Since the robot performs Schönflies motions, the angular velocity and angular acceleration of sub-platform 1 are expressed as

$$
\omega\_{p1} = \theta\_1 \hat{\mathbf{z}} = \underbrace{\begin{bmatrix} \mathbf{0}\_{3 \times 3} & \mathbf{E}\_{3 \times 3} & -\frac{1}{2} \hat{\mathbf{z}} \end{bmatrix}}\_{\mathbf{H}\_{\omega 1}} \mathbf{\hat{x}},\tag{39}
$$

$$
\omega\_{p1} = \theta\_1 \sharp = H\_{\omega 1} \mathfrak{X}.\tag{40}
$$

Then, for sub-platform 2, we define *cp*<sup>2</sup> as the position vector of the center of mass in frame T*p*2, and *Ic*<sup>2</sup> as the rotational inertia matrix about the center of mass in frame T*p*2. Similar results can be obtained as follows:

$$
\sigma\_{p2} = p + \mathcal{R}\_z(\theta\_2)\mathbf{c}\_{p2},\tag{41}
$$

$$\dot{r}\_{p2} = \underbrace{\begin{bmatrix} \mathbf{E}\_{3 \times 3} & -\left[\mathbf{R}\_{z}(\theta\_{2})\mathbf{c}\_{p2}\right]\_{\times} & -\frac{1}{2}\left[\mathbf{R}\_{z}(\theta\_{2})\mathbf{c}\_{p2}\right] \times \mathbf{\hat{z}}\end{bmatrix}}\_{\mathbf{H}\_{\mathcal{Q}}}\mathbf{\dot{X}}\tag{42}$$

$$
\ddot{\mathbf{r}}\_{\mathbb{P}2} = \boldsymbol{H}\_{\mathbb{C}2}\ddot{\boldsymbol{\mathfrak{X}}} + \dot{\boldsymbol{\mathfrak{X}}}^T \boldsymbol{H}\_{\boldsymbol{\theta}2}^T \underbrace{[\dot{\boldsymbol{\mathfrak{z}}}]^2 \boldsymbol{\mathfrak{R}}\_z(\boldsymbol{\theta}\_{\mathbb{Z}}) \mathbf{c}\_{\mathbb{P}2}}\_{\mathbf{C}\_{\mathbb{C}2}} \boldsymbol{H}\_{\boldsymbol{\theta}2} \dot{\boldsymbol{\mathfrak{X}}}\_{\boldsymbol{\mathsf{z}}} \tag{4.3}
$$

$$H\_{\theta2} = \begin{pmatrix} 0 & 0 & 0 & 0 & 0 & 1 & \frac{1}{2} \end{pmatrix} \tag{44}$$

$$I\_{p2} = \mathbf{R}\_z(\theta\_2) I\_{c2} \mathbf{R}\_z(\theta\_2)^T,\tag{45}$$

$$
\omega\_{p2} = \underbrace{\begin{bmatrix} \mathbf{0}\_{3 \times 3} & \mathbf{E}\_{3 \times 3} & \frac{1}{2} \mathbf{\hat{z}} \end{bmatrix}}\_{\mathbf{H}\_{\omega 2}} \mathbf{\hat{x}} \tag{46}
$$

$$
\dot{\omega}\_{\text{p2}} = \mathbf{H}\_{\omega 2} \dot{\mathbf{\mathcal{X}}}.\tag{47}
$$

For the end-effector, we define *cee* as the position vector of the center of mass in frame T*ee*, and *Ice* as the rotational inertia matrix about the center of mass in frame T*ee*. Then, we can derive the following results similar to sub-platform 1 and sub-platform 2:

$$
\mathfrak{r}\_{\mathfrak{c\mathfrak{c}}} = \mathfrak{p} + \mathcal{R}\_{\mathfrak{z}}(\boldsymbol{\phi}) \mathfrak{c}\_{\mathfrak{c\mathfrak{c}\mathfrak{c}}} \tag{48}
$$

$$\dot{\mathbf{r}}\_{\text{ct}} = \underbrace{\begin{bmatrix} \mathbf{E}\_{3 \times 3} & -\left[\mathbf{R}\_{z}(\boldsymbol{\phi})\mathbf{c}\_{\text{ct}}\right] \times & -\left(\boldsymbol{\eta} - \frac{1}{2}\right)\left[\mathbf{R}\_{z}(\boldsymbol{\phi})\mathbf{c}\_{\text{ct}}\right] \times \mathbf{\hat{z}}\right]}\_{\text{H}\_{\text{ct}}} \mathbf{\hat{X}}\_{\text{\textdegree}} \tag{49}$$

$$\vec{\sigma}\_{cc} = H\_{cc}\vec{\mathcal{X}} + \vec{\mathcal{X}}^T H\_{\phi}^T \underbrace{[\hat{\sharp}]\_{\times}^2 \mathcal{R}\_z(\phi) c\_{cc}}\_{\mathbf{C}\_{cc}} H\_{\phi} \vec{\mathcal{X}}\_{\prime} \tag{50}$$

$$H\_{\Phi} = \begin{pmatrix} 0 & 0 & 0 & 0 & 0 & 1 & \eta - \frac{1}{2} \end{pmatrix},\tag{51}$$

$$I\_{\rm ce} = \mathcal{R}\_z(\phi) I\_{\rm ce} \mathcal{R}\_z(\phi)^T,\tag{52}$$

$$
\omega\_{\rm ce} = \underbrace{\begin{bmatrix} \mathbf{0}\_{3 \times 3} & E\_{3 \times 3} & \left( \eta - \frac{1}{2} \right) \mathfrak{z} \end{bmatrix}}\_{H\_{\rm av}} \mathfrak{X}, \tag{53}
$$

$$
\dot{\omega}\_{\text{et}} = \mathbf{H}\_{\omega \text{et}} \dot{\mathbf{\mathcal{X}}}.\tag{54}
$$

Substituting the above equations into Equation (34), the dynamic equation of the moving platform can be formulated as a function of the generalized coordinate X. Then, we have the final form of the dynamic equation of the moving platform as

$$\mathbf{M}(\mathfrak{X})\mathfrak{X} + \mathfrak{X}^T \mathbf{C}(\mathfrak{X})\mathfrak{X} + \mathbf{G}(\mathfrak{X}) = \mathfrak{f}^T \mathfrak{f}\_{\circ \prime} \tag{55}$$

where

$$\begin{aligned} \mathcal{M}(\mathfrak{X}) &= m\_{p1} \boldsymbol{H}\_{c1}^{T} \boldsymbol{H}\_{c1} + \boldsymbol{H}\_{\omega 1}^{T} \boldsymbol{R}\_{z}(\boldsymbol{\theta}\_{1}) \boldsymbol{I}\_{c1} \boldsymbol{R}\_{z}(\boldsymbol{\theta}\_{1})^{T} \boldsymbol{H}\_{\omega 1} + \\ &\quad m\_{p2} \boldsymbol{H}\_{c2}^{T} \boldsymbol{H}\_{c2} + \boldsymbol{H}\_{\omega 2}^{T} \boldsymbol{R}\_{z}(\boldsymbol{\theta}\_{2}) \boldsymbol{I}\_{c2} \boldsymbol{R}\_{z}(\boldsymbol{\theta}\_{2})^{T} \boldsymbol{H}\_{\omega 2} + \\ &\quad m\_{\mathcal{C}\mathcal{E}} \boldsymbol{H}\_{\mathcal{C}\mathcal{E}}^{T} \boldsymbol{H}\_{\mathcal{C}\mathcal{E}} + \boldsymbol{H}\_{\omega \nu}^{T} \boldsymbol{R}\_{z}(\boldsymbol{\phi}) \boldsymbol{I}\_{\mathcal{C}\mathcal{E}} \boldsymbol{R}\_{z}(\boldsymbol{\phi})^{T} \boldsymbol{H}\_{\omega \nu\_{f}} \end{aligned} \tag{56}$$

$$\begin{aligned} \mathbf{C}(\mathfrak{X}) &= m\_{p1} \mathbf{H}\_{\theta 1}^{T} \mathbf{H}\_{\varsigma 1}^{T} \mathbf{C}\_{\varsigma 1} \mathbf{H}\_{\theta 1} + \mathbf{H}\_{\theta 1}^{T} \mathbf{H}\_{\omega 1}^{T} [\mathfrak{z}] \times \mathbf{R}\_{z}(\theta\_{1}) \mathbf{I}\_{\varsigma 1} \mathbf{R}\_{z}(\theta\_{1})^{T} \mathbf{H}\_{\omega 1} + \\ &m\_{p2} \mathbf{H}\_{\theta 2}^{T} \mathbf{H}\_{\varsigma 2}^{T} \mathbf{C}\_{\varsigma 2} \mathbf{H}\_{\theta 2} + \mathbf{H}\_{\theta 2}^{T} \mathbf{H}\_{\omega 2}^{T} [\mathfrak{z}] \times \mathbf{R}\_{z}(\theta\_{2}) \mathbf{I}\_{\varsigma 2} \mathbf{R}\_{z}(\theta\_{2})^{T} \mathbf{H}\_{\omega 2} + \\ &m\_{\varsigma \varepsilon} \mathbf{H}\_{\phi}^{T} \mathbf{H}\_{\varsigma \varepsilon}^{T} \mathbf{C}\_{\varepsilon \varepsilon} \mathbf{H}\_{\phi} + \mathbf{H}\_{\phi}^{T} \mathbf{H}\_{\omega \varepsilon}^{T} [\mathfrak{z}] \times \mathbf{R}\_{z}(\phi) \mathbf{I}\_{\varepsilon 1} \mathbf{R}\_{z}(\phi)^{T} \mathbf{H}\_{\omega \varepsilon} \end{aligned} \tag{57}$$

$$\mathbf{G}(\mathfrak{X}) = -m\_{p1}\mathbf{H}\_{c1}^T\mathbf{g} - m\_{p2}\mathbf{H}\_{c2}^T\mathbf{g} - m\_{cc}\mathbf{H}\_{cc}^T\mathbf{g}.\tag{58}$$

#### *4.2. Dynamics of Drive Train*

The drive unit of the robot contains a servo motor as the actuator and a winch which is directly coupled to the servo motor to drive the cable. For all the drive units of the robot, we define *τ<sup>m</sup>* as the vector of the motor torques, *θ<sup>m</sup>* as the vector of the motor rotation angles, *τ<sup>f</sup>* as the vector of the frictional torques, *I<sup>m</sup>* as the diagonal matrix of the moments of inertia of the winches, and *rw* as the radius of the winches. Based on Newton's second law, we have

$$
\pi\_m + \pi\_f + r\_w f\_c = I\_m \ddot{\theta}\_m. \tag{59}
$$

We use the Coulomb and viscous model [27] to formulate the frictional torques, and note that *rwθ*˙ *<sup>m</sup>* = ˙ *l*. Then, the dynamic equation of the drive units of the robot is derived as

$$\pi\_m = \frac{I\_m}{r\_w}\ddot{I} + \mathcal{K}\_c \text{sign}(\frac{\dot{I}}{r\_w}) + \frac{\mathcal{K}\_v}{r\_w}\dot{I} - r\_w f\_c. \tag{60}$$

where *K<sup>c</sup>* represents the diagonal matrix of the Coulomb friction coefficients, and *K<sup>v</sup>* represents the diagonal matrix of the viscous friction coefficients.

#### **5. Workspace Analysis**

In this section, we evaluate the dynamic feasible workspace of the robot. The dynamic workspace is a set of poses where a prescribed set of moving platform accelerations can be achieved by applying feasible cable tensions. The cable tensions required for generating the prescribed accelerations can be obtained from Equation (55). For simplicity, we assume that the vectors *cp*1, *cp*2, and *cee* are all parallel with the *z* axis of frame T*A*; we then have *C*(X) = **0**. Defining X¨ = (*p*¨*<sup>T</sup>* 0 0 *α*¨ *<sup>T</sup>*)*T*, *p*¨ = (*x*¨ *y*¨ *z*¨)*T*, and *α*¨ = (*ψ*¨ ¨ *θ*)*T*, the set of the required moving platform accelerations is formulated as

$$[\mathfrak{X}]\_{\mathsf{r}} = \{ \mathfrak{X} \mid \vec{p}\_{\min} \preceq \vec{p} \preceq \vec{p}\_{\max}, \vec{u}\_{\min} \preceq \vec{u} \preceq \vec{u}\_{\max} \},\tag{61}$$

where means the component-wise inequality. Similarly, the set of the admissible cable tensions is defined as

$$|f\_{\mathcal{c}}|\_{a} = \{f\_{\mathcal{c}} \mid f\_{\min} \preceq f\_{\mathcal{c}} \preceq f\_{\max}\}.\tag{62}$$

Thus, the dynamic feasible workspace of the robot is defined as

$$[\mathfrak{X}]\_{dyn} = \left\{ \mathfrak{X} \mid \forall \, \mathfrak{X} \in [\mathfrak{X}]\_{r\prime} \exists f\_{\varepsilon} \in [f\_{\varepsilon}]\_{a\prime} \; \mathcal{M}(\mathfrak{X})\mathfrak{X} + \mathcal{G}(\mathfrak{X}) = I^{T}f\_{\varepsilon\prime} \; n\_{\varepsilon} = 0 \right\},\tag{63}$$

where *nc* represents the number of collisions inside the robot, which is determined by calculating the distances between two cables and between the cable and the moving platform [28]. In order to investigate the effects of different acceleration values on the dynamic feasible workspace, we solve the dynamic feasible workspace of the robot in the following four scenarios:

$$\begin{aligned} \text{Scenario 1} \quad & \dot{p}\_{\text{max}} = -\dot{p}\_{\text{min}} = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix} \text{mm/} \, s^2, \qquad \ddot{\mathbf{a}}\_{\text{max}} = -\ddot{\mathbf{a}}\_{\text{min}} = \begin{pmatrix} 0 \\ 0 \end{pmatrix} \text{rad/} \, s^2, \\\ \text{Scenario 2} \quad & \dot{p}\_{\text{max}} = -\dot{p}\_{\text{min}} = \begin{pmatrix} 1500 \\ 1500 \\ 1500 \end{pmatrix} \text{mm/} \, s^2, \qquad \ddot{\mathbf{a}}\_{\text{max}} = -\ddot{\mathbf{a}}\_{\text{min}} = \begin{pmatrix} 0 \\ 0 \end{pmatrix} \text{rad/} \, s^2, \\\ \text{Scenario 3} \quad & \dot{p}\_{\text{max}} = -\dot{p}\_{\text{min}} = \begin{pmatrix} 0 \\ 0 \\ 0 \end{pmatrix} \text{mm/} \, s^2, \qquad \ddot{\mathbf{a}}\_{\text{max}} = -\ddot{\mathbf{a}}\_{\text{min}} = \begin{pmatrix} 150 \\ 150 \end{pmatrix} \text{rad/} \, s^2, \\\ \text{Scenario 4} \quad & \dot{p}\_{\text{max}} = -\ddot{p}\_{\text{min}} = \begin{pmatrix} 1500 \\ 1500 \end{pmatrix} \text{mm/} \, s^2, \qquad \ddot{\mathbf{a}}\_{\text{max}} = -\ddot{\mathbf{a}}\_{\text{min}} = \begin{pmatrix} 150 \\ 150 \end{pmatrix} \text{rad/} \, s^2. \end{aligned}$$

The kinematic and dynamic parameters of the robot are summarized in Table 1. To visualize the dynamic workspace of the robot in Cartesian space, the orientation of the moving platform is set as *ψ* = 0 and *θ* = *π*/2. The dynamic feasible workspace of the robot is calculated using the differential workspace hull approach [20], which approximates the hull of the workspace using a triangulation representation. Firstly, a unity sphere located at the estimated workspace center is subdivided into a set of triangular faces. Then, the boundary of the workspace is calculated along the vertices of each triangular face using a line search method. At each position, the workspace criterion is investigated for a discrete set of moving platform configurations and a Boolean result is yielded to amend the searching direction. Finally, the algorithm ends when the hull of the workspace is approximated within a certain accuracy. After determining the workspace hull, the volume of the workspace can be obtained by computing the volumes of the tetrahedrons formed by all the triangular faces.


**Table 1.** Kinematic and dynamic parameters of the robot.

Figure 6 shows the obtained dynamic feasible workspace in each scenario. The volume of the dynamic feasible workspace in each scenario is summarized in Table 2. In Scenario 1, where the required acceleration set is empty, the dynamic feasible workspace is actually equivalent to the static feasible workspace. The volume of the dynamic feasible workspace in Scenario 1 is the largest among the four scenarios, and the shape of the workspace is like a cuboid similar to the base. In Scenario 2, the moving platform of the robot only needs to perform linear accelerations. The shape of the dynamic workspace in Scenario 2 is like a frustum whose cross-section increases along the *z* direction. The workspace volume in Scenario 2 is reduced by 46.69% compared with Scenario 1. In Scenario 3 where only angular accelerations are required, the dynamic feasible workspace is reduced by 20.46% compared with Scenario 1. Comparing Scenario 3 with Scenario 2, it is observed that the angular accelerations have a weaker effect on the volume of the dynamic feasible workspace. In Scenario 4, the moving platform is required to perform both linear and angular accelerations. The dynamic feasible workspace in Scenario 4 is the smallest among the four scenarios, and its volume is reduced by 62.82% compared with Scenario 1. The shape of the dynamic workspace in Scenario 4 is similar to that of the workspace in Scenario 2,

which indicates that the values of linear accelerations play a decisive role in determining the dynamic feasible workspace of the robot.

**Figure 6.** Dynamic feasible workspace of the robot in different scenarios. (**a**) Scenario 1. (**b**) Scenario 2. (**c**) Scenario 3. (**d**) Scenario 4.

**Table 2.** Comparison of the dynamic feasible workspace in different scenarios.


#### **6. Experiment**

To validate the correctness of the previously derived models and workspace, in this section, we performed experiments on the robot prototype shown in Figure 1. The main parameters of the prototype are summarized in Table 1. The control system diagram of the prototype which demonstrates the working principle and main components of the prototype system is shown in Figure 7. The control algorithms were implemented in the real-time kernel of Simulink Desktop Real-Time on an industrial computer. A proportionalintegral-derivative (PID) controller was deigned in joint space with the sample rate of 1 kHz to control the prototype. At the current stage, the robot prototype was not equipped with tension sensors; the cable tensions were therefore not available in the experimental results.

**Figure 7.** Control system diagram of the robot prototype.

In the experiments, the robot prototype was controlled to track a predefined trajectory inside the workspace. A circular trajectory located near the boundary of the dynamic feasible workspace determined in Section 5 was designed as

$$\begin{aligned} x\_d &= 300 \cos \left(2\pi \text{s}\right) \text{mm}, & \quad \psi\_d &= 10 \sin \left(2\pi \text{s}\right)^{\circ}, \\ y\_d &= 300 \sin \left(2\pi \text{s}\right) \text{mm}, & \quad \theta\_d &= 30 \sin \left(2\pi \text{s}\right) + 90^{\circ}, \\ z\_d &= 100 \text{ mm}, & \quad s = 10(\frac{t}{T})^3 - 15(\frac{t}{T})^4 + 6(\frac{t}{T})^5, \end{aligned} \tag{65}$$

where *T* = 5 s is the period of the trajectory. The trajectory was successfully tracked by the robot prototype and no cable slackness was observed, which demonstrates that the robot can perform dynamic trajectories with feasible cable tensions inside the dynamic feasible workspace. Figure 8 shows the trajectory tracking performance of the robot prototype in joint space. The desired cable lengths were obtained by calculating the inverse kinematics based on the robot trajectory in Equation (65). These values were fed into the robot controller as reference signals. The cable length errors were measured with the encoders on the servo motors. The maximum error among all the cables was 1.26 mm, which demonstrates that the robot has a high tracking accuracy in joint space. Based on the measured cable lengths, the task space trajectory performed by the robot prototype can be obtained by calculating the forward kinematics of the robot. Figure 9 presents the comparison of the desired trajectory and the calculated trajectory from the forward kinematics in Cartesian space. The average tracking error and the maximum tracking error along the Cartesian space trajectory were 0.35 mm and 0.99 mm, respectively. These results verify the consistency of the inverse and forward kinematic models of the robot derived in Section 3. However, the real trajectory performed by the robot may deviate from the calculated trajectory because the unmodeled uncertainties and the manufacturing errors were neglected. To evaluate the rotational accuracy of the robot, an LPMS-IG1 inertial measurement unit (IMU) was installed on the end-effector of the robot prototype to measure the rotation angle. Figure 10 shows the rotation angle of the end-effector along the testing trajectory. The desired value of the rotation angle was calculated using Equation (6) based on the robot trajectory, and the measured value was obtained from the IMU sensor. The rotation error of the end-effector varied from −2.05 ◦ to 2.81 ◦, with an average value of 0.54 ◦. Taking into account the manufacturing and assembly errors of the prototype, these values can be considered acceptable. The experimental results in this section validate the correctness of the previously derived models and workspace, and demonstrate the feasibility of the proposed robot in generating Schönflies motions.

**Figure 8.** Trajectory tracking performance in joint space. (**a**) Desired cable lengths. (**b**) Cable length errors.

**Figure 9.** Trajectory tracking performance in Cartesian space. (**a**) Desired trajectory and calculated trajectory. (**b**) Trajectory error.

**Figure 10.** Rotation angle of the end-effector. (**a**) Desired value and measured value. (**b**) Rotation error.

#### **7. Conclusions**

In this paper, kinematic and dynamic modeling and a workspace analysis of a novel suspended CDPR for Schönflies motions were presented. The inverse and forward kinematic problems of the robot were solved through a geometrical approach. The dynamic equation of the robot was derived by separately considering the moving platform and the drive trains. Based on the dynamic equation, the dynamic feasible workspace of the robot was determined under different values of accelerations. The correctness of the derived

models and the workspace was verified through experiments on a prototype of the robot. In future works, we will develop a cable tension measurement system and use a motion capture system to measure the poses of the robot for further validation of the models derived in this paper.

**Author Contributions:** Conceptualization and methodology, R.W.; validation, Y.X. and X.C.; formal analysis, Y.L.; writing—original draft preparation, R.W.; writing—review and editing, Y.X. and X.C.; supervision, project administration, and funding acquisition, Y.L. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was funded by the Research Grants Council of Hong Kong under Grant No. PolyU 15213719.

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


## *Article* **Kinematic Calibration of Parallel Robots Based on L-Infinity Parameter Estimation**

**Dayong Yu**

School of Mechanical Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China; yudayong@usst.edu.cn

**Abstract:** Pose accuracy is one of the most important problems in the application of parallel robots. In order to adhere to strict pose error bounds, a new kinematic calibration method is proposed, which includes a new pose error model with 60 error parameters and a different kinematic parameter error identification algorithm based on L-infinity parameter estimation. Parameter errors are identified by using linear programming to minimize the maximum difference between predictions and workspace measurements. Simulation results show that the proposed kinematic calibration has better kinematic parameter error estimation and fewer pose errors when measurement noise is less than kinematic parameter errors. Experimental results show that maximum position and orientation errors, respectively, based on the proposed method are decreased by 86.48% and 87.85% of the original values and by 14.32% and 18.23% of those based on the conventional least squares method. The feasibility and validity of the proposed kinematic calibration are verified by improved pose accuracy of the parallel robot.

**Keywords:** kinematic calibration; parallel robot; parameter estimation; error model; pose accuracy

#### **1. Introduction**

Parallel robots have higher carrying capacity, greater structural rigidity and better dynamic response than traditional serial robots. Parallel robots have been widely applied in motion simulators, machine tools and medical devices. The pose accuracy of parallel robots is required to be higher and higher in the fields of motion simulation [1,2], mechanical manufacturing [3,4] and surgery [5,6]. The pose accuracy of parallel robots is one of the most important performance measures in the above fields.

The pose accuracy of parallel robots is affected by geometric errors [7–11] and nongeometric errors [12–16]. Geometric errors are mainly caused by manufacturing tolerances and assembly errors. Nongeometric errors might result from clearance, friction, deformation, and so on. Previous studies have shown that geometric errors are the dominant factor leading to pose inaccuracy of parallel robots. It is important for parallel robots to promote pose accuracy in practical application. Pose accuracy improvement in parallel robots is divided into accuracy analysis, synthesis and kinematic calibration.

Accuracy analysis evaluates whether the pose performance of parallel robots meets the design specifications and identifies sensitive factors affecting pose accuracy based on geometric error. An analytical method for the forward and inverse error bound analyses of a Stewart platform was developed by Kim et al. [17]. The relationship between the Stewart platform pose errors and the joint space errors is characterized by the kinematic error model. The forward and inverse error bound are obtained by solving two eigenvalue problems. Comprehensive accuracy modeling and analysis of a new type of lock-or-release mechanism was proposed by Ding et al. [18]. Two accuracy models were established and verified by Monte Carlo simulation and an experiment designed to influence factor sensitivities, and results show that the manufacturing tolerances of a lead screw are the most significant influence factor. Accuracy analysis of a parallel positioning mechanism with actuation

**Citation:** Yu, D. Kinematic Calibration of Parallel Robots Based on L-Infinity Parameter Estimation. *Machines* **2022**, *10*, 436. https:// doi.org/10.3390/machines10060436

Academic Editors: Zhufeng Shao, Dan Zhang and Stéphane Caro

Received: 24 April 2022 Accepted: 27 May 2022 Published: 1 June 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the author. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

redundancy was investigated by Ding et al. [19]. The effects of input uncertainty, components stiffness and redundant limbs were addressed; mean value and standard deviation of the pose errors were computed by optimal Latin hypercube sampling algorithm.

Accuracy synthesis optimally allocates component tolerances of parallel robots under different assembly indices according to the design specification. Accuracy synthesis of a multi-level hybrid positioning mechanism was studied by Tang et al. [20]. Three types of error influence factors are considered in the error model, and the error boundary of the multi-level hybrid positioning mechanism is obtained by using the vector set theory and a linear algebra method. Accuracy synthesis was performed based on a nonlinear optimization algorithm. A comprehensive methodology for implementing the required pose accuracy of a 4-DOF parallel robot was presented by Huang et al. [21]. In this work, all possible geometric errors were separated as either identifiable or unidentifiable geometric errors. The unidentifiable geometric errors were restrained by tolerance design and assembly. Pose accuracy in the whole workspace was achieved by a linear and real-time error compensator. A systematic tolerance design method of parallel link robots was proposed by Takematsu et al. [22]. The standard deviations of the kinematic motions of the end effector were represented by the tolerance values of all joints and links. A suitable set the tolerance values for all joints and links was determined using an optimization algorithm.

Kinematic calibration achieves an inverse kinematic model that more closely matches the actual system in all possible configurations. In general, kinematic calibration can be divided into four steps: error modeling, pose measurement, parameter identification and error compensation. Kinematic calibration can be classified into two categories: external calibration and self-calibration. Kinematic calibration of a Stewart platform was presented by Zhuang et al. [23]. Kinematic error parameters of the Stewart platform were identified using the Gauss–Newton algorithm, and the kinematic error parameters of each leg were solved independently. However, precise pose measurement needs be performed in this approach. Daney [24] established a complete kinematic model of the Gough platform and a unified kinematic parameter identification scheme, and presented an original kinematic calibration method based on the above principle. The accuracy of the Hexapode 300 was experimentally improved by 99% using the original kinematic calibration. A novel identifiable parameter separation method for kinematic calibration of a 6-DOF parallel manipulator was proposed by Hu et al. [25]. The method can reduce the number of kinematic error parameters in the identification model and improve the convergence of the parameter identification algorithm by simple and direct measuring. A systematic kinematic calibration method of a 6-DOF hybrid polishing robot was presented by Huang et al. [26]. Ill-conditioning of the identification Jacobian was dealt with by establishing a linear regression model and implementing kinematic error parameter estimation and pose error compensation using a linear least squares algorithm and Liu estimator. A new error model based on a dimensionless error mapping matrix for kinematic calibration of a 5-axis parallel machining robot was proposed by Luo et al. [27]. Kinematic error parameters are unified into the same unit in the error model and are identified by an iterative least squares procedure based on full pose measurement with a laser tracker. A comprehensive error model for kinematic calibration of a non-fully symmetric parallel Delta robot was presented by Shen et al. [28]. Variations of the parallel Delta robot components and geometric parameters were considered in the error identification model, and the variations were identified by a least squares algorithm.

Kinematic error parameter identification in kinematic calibration can be treated as the best approximation of measurement data. Large amounts of research have been reported on kinematic error parameter identification based on various identification algorithms [29–32]. A novel geometric calibration of industrial robots was presented by Wu et al. [33]. The design of experiments was proposed and added to the conventional kinematic calibration procedure. The additional step is performed before pose measurement in order to obtain a set of optimal measurement poses that ensure the best robot positioning accuracy after kinematic calibration. A dedicated geometric parameter identification algorithm was described, and the identification procedure was divided into two steps. These two steps were repeated iteratively to achieve the desired geometric parameter identification accuracy. A robust kinematic calibration of serial robots based on separable nonlinear least squares was proposed by Mao et al. [34]. The optimal geometric parameter identification problem was converted into a separable nonlinear least squares problem by using the distinctive characteristic of the MDH model. Kinematic calibration of industrial robots based on distance measurement information was presented by Gao et al. [35]. A novel extended Kalman filter and regularized particle filter hybrid identification algorithm was adopted to identify the kinematic parameters of the linearized error model. The algorithm solved the problem with traditional optimization algorithms of being easily affected by measurement noise in highdimension identification. However, there is little in the literature on reduction of the impact of measurement noise by selecting optimal measurement poses in kinematic calibration. In order to compare the different pose measurement schemes, several observability measures were presented in [36–40] and were used to choose an optimal pose measurement scheme. These measures are not directly related to the pose accuracy of kinematic calibration. A new industry-oriented performance measure is presented in [33] with the intent of ensuring the best robot positioning accuracy after geometric error compensation.

The least squares algorithm has been universally used to identifying kinematic error parameters of parallel robots from pose measurements. Kinematic error can be identified, analyzed and corrected to minimize the sum of squares of the difference between measured errors and computed errors. Although this algorithm is mathematically convenient and can achieve better average pose accuracy in a parallel robot workspace, it may result in pose accuracy not being evenly distributed in the workspace and may even lead to large pose errors outside of the subset.

In order to improve the uneven distribution of pose accuracy and to reduce large pose error, a new kinematic calibration method for parallel robots is presented based on L-infinity parameter estimation and applied to the spacecraft docking motion simulation system. The paper is organized as follows: An inverse kinematic model of the parallel robot is described, and a forward kinematic solution is presented in Section 2. A pose error model for kinematic calibration is established in Section 3. A new kinematic parameter error identification algorithm based on L-infinity parameter estimation is proposed in Section 4. Simulations and experiments are performed, and the results are shown in Section 5. Finally, some conclusions are given in Section 6.

#### **2. Kinematic Model**

A parallel robot model is composed of a moving platform, a base, and six identical hydraulic cylinders with variable lengths, as shown in Figure 1. The moving platform's position relative to the base can be controlled by varying the length of the six hydraulic cylinders. The parallel robot has six DOF. The base coordinate system OB-*xyz* is located in the center of the base. The mobile coordinate system OP-*xyz* is attached to the center of the moving platform. All vectors and matrices will be denoted in bold letters. The two coordinate systems OB-*xyz* and OP-*xyz* can be related to each other through a vector **q** = - *xyz φθψ<sup>T</sup>* that describes the pose of the moving platform by its position (longitudinal (*x*), lateral (*y*) and vertical (*z*) displacements) and its orientation (Roll (*φ*), Pitch (*θ*) and Yaw (Ψ) angles). Thus, the position of the moving platform can be expressed by a position vector **t** as

$$\mathbf{t} = \begin{bmatrix} x & y & z \end{bmatrix}^T \tag{1}$$

and the orientation of the moving platform can be expressed by a rotation matrix **R** as

$$\mathbf{R} = \begin{bmatrix} \cos\psi\cos\theta & \cos\psi\sin\theta\sin\phi - \sin\psi\cos\phi & \cos\psi\sin\theta\cos\phi + \sin\psi\sin\phi\\ \sin\psi\cos\theta & \sin\psi\sin\theta\sin\phi + \cos\psi\cos\phi & \sin\psi\sin\theta\cos\phi - \cos\psi\sin\phi\\ -\sin\theta & \cos\theta\sin\phi & \cos\theta\cos\phi \end{bmatrix} \tag{2}$$

where *φ*, *θ*, and *ψ* are three Roll, Pitch and Yaw (RPY) angles chosen with respect to the *x*-axes, the *y*-axes and the *z*-axes, respectively, of the base coordinate system OB-*xyz*.

**Figure 1.** The parallel robot.

#### *2.1. Inverse Kinematics*

Referring to Figures 2 and 3, **u***<sup>i</sup>* is the unit vector along the *i*th hydraulic cylinder direction, and *li* is the length of the *i*th hydraulic cylinder; **a***<sup>i</sup>* is the position vector from OP to Ai and is represented in the mobile coordinate system OP-xyz, and **b***<sup>i</sup>* is the position vector from OB to B*<sup>i</sup>* and is represented in the base coordinate system OB-xyz. A vector chain equation can be expressed as

$$l\_i \mathbf{u}\_i = \mathbf{R} \mathbf{a}\_i + \mathbf{t} - \mathbf{b}\_i \, i = 1, 2, \dots, 6 \tag{3}$$

**Figure 2.** Coordinate system of the parallel robot.

**Figure 3.** Vector chain for hydraulic cylinder *i*.

The vector chain equation is derived for the perfect (no errors) parallel robot. The length of the *i*th hydraulic cylinder can be computed from

$$l\_i = f\_i(\mathbf{R}, \mathbf{t}) = \sqrt{(\mathbf{R}\mathbf{a}\_i + \mathbf{t} - \mathbf{b}\_i)^T(\mathbf{R}\mathbf{a}\_i + \mathbf{t} - \mathbf{b}\_i)} \text{ i } i = 1, 2, \dots, 6 \tag{4}$$

and the measured length of the *i*th hydraulic cylinder can be obtained by

$$s\_i = l\_i - l\_{0,i} \; i = 1, 2, \dots, 6 \tag{5}$$

where *l*0,*<sup>i</sup>* is the initial length of the *i*th hydraulic cylinder.

#### *2.2. Forward Kinematics*

The forward kinematics of the parallel robot compute the moving platform pose when the measured hydraulic cylinder lengths are given and the kinematic parameters are known. Although the inverse kinematics for the parallel robot can be expressed in a closed form, forward kinematics offer no analytical solution. Mapping the pose using the hydraulic cylinder lengths is complicated to solve (Equation (4)). Numerical methods are often employed to solve the forward kinematics for parallel robots. The following method for the forward kinematics of a parallel robot is based on the Newton–Raphson algorithm.

For solving the forward kinematics of a parallel robot, a vector function is defined to describe the difference between the estimated hydraulic cylinder length *sei* and the measured hydraulic cylinder length *sai*.

$$\mathbf{f} = \begin{bmatrix} f\_1 \\ \vdots \\ f\_6 \end{bmatrix} = \begin{bmatrix} s\_{c1}^2 - s\_{a1}^2 \\ \vdots \\ s\_{c6}^2 - s\_{a6}^2 \end{bmatrix} \tag{6}$$

The Newton–Raphson algorithm can be stated as:


The accuracy and rate convergence for the Newton–Raphson algorithm depend on several factors. The algorithm rapidly converges if the initial guess is in the neighborhood of the solution, and the algorithm is fairly robust with the choice of the initial guess. If the second order terms are large, this first order approach will not be accurate, and the algorithm will converge very slowly. The existence of the Jacbian inverse is required in step (6), and thus the moving platform may not be near a singularity configuration. If convergence problems arise, or if speed is of paramount importance, the forward kinematics may require a different algorithm, such as those presented in [41–44].

#### **3. Error Model**

The kinematic parameters of the parallel robot might be different from those in the design specification due to imprecision in manufacturing and assembly of the joints and the initial length of the hydraulic cylinders. The difference will lead to pose error of the moving platform. An error model relating the kinematic parameter errors to the pose errors is derived in this section.

A vector differential error model is obtained by performing the following differentiation for Equation (3) as

$$
\delta l\_i \mathbf{u}\_i + l\_i \delta \mathbf{u}\_i = \delta \mathbf{R} \mathbf{a}\_i + \mathbf{R} \delta \mathbf{a}\_i + \delta \mathbf{t} - \delta \mathbf{b}\_i \, i = 1, 2, \dots, 6 \tag{7}
$$

where *δli* is the length error of *li*, *δ***u***<sup>i</sup>* is the deviation vector of **u***i*, *δ***R** is the deviation matrix of **R**, *δ***a***<sup>i</sup>* is the position error vector of **a***i*, *δt* is a deviation vector of **t**, and *δ***b***<sup>i</sup>* is the position error vector of **b***i*.

The deviation vector *δ***u***<sup>i</sup>* can be expressed as

$$
\delta \mathbf{u}\_{i} = \Delta\_{\mathbf{u}\_{i}} \mathbf{u}\_{i} = \begin{bmatrix} 0 & -\delta u\_{iz} & \delta u\_{iy} \\ \delta u\_{iz} & 0 & -\delta u\_{ix} \\ -\delta u\_{iy} & \delta u\_{ix} & 0 \end{bmatrix} \begin{bmatrix} u\_{ix} \\ u\_{iy} \\ u\_{iz} \end{bmatrix} \tag{8}$$

where Δ**u***<sup>i</sup>* is a skew symmetric matrix of *δ***u***i*.

Let *δ*ω be the angular error vector of the nominal RPY angles *φ*, *θ* and *ψ*, and be represented in the base coordinate system. The angular error vector *δ*ω can be expressed as

$$
\delta\boldsymbol{\omega} = \begin{bmatrix}
\delta\boldsymbol{\omega}\_x \\
\delta\boldsymbol{\omega}\_y \\
\delta\boldsymbol{\omega}\_z
\end{bmatrix} = \begin{bmatrix}
\cos\psi\delta\theta + \sin\psi\cos\theta\delta\phi \\
\end{bmatrix} \tag{9}
$$

The skew symmetric matrix of *δ*ω can be written as

$$
\Delta\omega = \begin{bmatrix}
0 & -\delta\omega\_z & \delta\omega\_y \\
\delta\omega\_z & 0 & -\delta\omega\_x \\
\end{bmatrix} \tag{10}
$$

The deviation matrix *δ***R** can be given by

$$
\delta \mathbf{R} = \Delta\_{\mathfrak{W}} \mathbf{R} = \begin{bmatrix} 0 & \sin \theta \delta \phi - \delta \psi & \cos \psi \delta \theta + \sin \psi \cos \theta \delta \phi \\\ -\sin \theta \delta \phi + \delta \psi & 0 & \sin \psi \delta \theta - \cos \psi \cos \theta \delta \phi \\\ -\cos \psi \delta \theta - \sin \psi \cos \theta \delta \phi & -\sin \psi \delta \theta + \cos \psi \cos \theta \delta \phi & 0 \end{bmatrix} \mathbf{R} \tag{11}$$

Substituting Equations (8) and (11) into Equation (7) yields

$$
\delta l\_i \mathbf{u}\_i + l\_i \Delta\_{\mathbf{u}\_i} \mathbf{u}\_i = \Delta\_{\mathbf{u}\mathbf{u}} \mathbf{R} \mathbf{a}\_i + \mathbf{R} \delta \mathbf{a}\_i + \delta \mathbf{t} - \delta \mathbf{b}\_i \; i = 1, 2, \dots, 6 \tag{12}
$$

Let **a'** *<sup>i</sup>* = **Ra***i*, Equation (12) can be rewritten as

$$
\delta l\_i \mathbf{u}\_i + l\_i \Delta\_{\mathbf{u}\_i} \mathbf{u}\_i = \Delta\_{\mathbf{u}\mathbf{v}} \mathbf{a}\_i' + \mathbf{R} \delta \mathbf{a}\_i + \delta \mathbf{t} - \delta \mathbf{b}\_i \, i = 1, 2, \dots, 6 \tag{13}
$$

Equation (13) can be expressed in matrix form as

$$
\begin{bmatrix}
\mathbf{I} & \boldsymbol{\Delta}\_{\mathbf{a}'i}^T
\end{bmatrix}
\begin{bmatrix}
\delta\mathbf{t} \\
\delta\boldsymbol{\omega}
\end{bmatrix} = \begin{bmatrix}
\mathbf{u}\_i & l\_i \boldsymbol{\Delta}\_{\mathbf{u}'i}^T & -\mathbf{R} & \mathbf{I}
\end{bmatrix}
\begin{bmatrix}
\delta l\_i \\
\delta \mathbf{u}\_i \\
\delta \mathbf{a}\_i \\
\delta \mathbf{b}\_i
\end{bmatrix}
i = 1, 2, \dots, 6\tag{14}
$$

where **I** is 3 × 3 unit matrix, Δ**a'** *<sup>i</sup>* is a skew symmetric matrix of **a'** *<sup>i</sup>*, and Δ**u'** *<sup>i</sup>* is a skew symmetric matrix of **u***i*.

Equation (14) can be rewritten as

$$\mathbf{J}\_{\Omega\_i} \delta \mathbf{\Omega} = \mathbf{J}\_i \delta \mathbf{p}\_i \,\, i = 1, 2, \dots, 6 \tag{15}$$

where

$$
\delta \boldsymbol{\Omega} \mathbf{D} = \begin{bmatrix} \delta \mathbf{t}^T & \delta \boldsymbol{\omega}^T \end{bmatrix}^T = \begin{bmatrix} \delta \mathbf{x} & \delta y & \delta z & \delta \boldsymbol{\omega}\_x & \delta \boldsymbol{\omega}\_y & \delta \boldsymbol{\omega}\_z \end{bmatrix}^T \tag{16}
$$

represents the pose error of the parallel robot, and the following matrices, **JΩ***<sup>i</sup>* and **J***<sup>i</sup>* are the inverse and forward error mapping components defined as

$$\mathbf{J}\_{\Omega\_i} = \begin{bmatrix} \mathbf{I} & \boldsymbol{\Delta}\_{\mathbf{a}\_i'}^T \end{bmatrix} \tag{17}$$

$$\mathbf{J}\_{i} = \begin{bmatrix} \mathbf{u}\_{i} & l\_{i} \boldsymbol{\Delta}\_{\mathbf{u}\_{i}^{\prime}}^{T} & -\mathbf{R} & \mathbf{I} \end{bmatrix} \tag{18}$$

and

$$
\delta \mathbf{p}\_i = \begin{bmatrix} \delta l\_i & \delta u\_{i\mathbf{x}} & \delta u\_{i\mathbf{y}} & \delta u\_{i\mathbf{z}} & \delta a\_{i\mathbf{x}} & \delta a\_{i\mathbf{y}} & \delta a\_{i\mathbf{z}} & \delta b\_{i\mathbf{x}} & \delta b\_{i\mathbf{y}} & \delta b\_{i\mathbf{z}} \end{bmatrix}^T \tag{19}$$

represents the kinematic parameter errors in the individual vector chain.

Considering all six vector chains, Equation (14) can be expressed in the following matrix form


Equation (20) above can be rewritten as

$$\mathbf{J}\_{\Omega} \delta \Omega = \mathbf{J}\_{\mathbb{P}} \delta \mathbf{p} \tag{21}$$

where **J**<sup>Ω</sup> represents the inverse error mapping matrix of the parallel robot, **Jp** represents the forward error mapping matrix, and *δ***p** represents the kinematic parameter errors for all the vector chains. The vector *δ***p** contains 60 linearly independent error parameters, and the *j*th element of the vector can be denoted as *δpj*.

The pose error of the parallel robot can be computed by

$$
\delta\Omega = \mathbf{J}\delta\mathbf{p}\tag{22}
$$

where

$$\mathbf{J} = \left(\mathbf{J}\_{\mathbf{D}}^{T}\mathbf{J}\_{\mathbf{D}}\right)^{-1}\mathbf{J}\_{\mathbf{D}}^{T}\mathbf{J}\_{\mathbf{P}} \tag{23}$$

is defined as the error Jacobian matrix for the parallel robot, and its condition number will be used to choose the optimal pose measurement configurations.

The relationship between the pose errors of the parallel robot and the kinematic parameter errors is described by Equation (22). It is a linear equation in terms of the unknown kinematic parameter errors, which can be identified based on L-infinity parameter estimation once the pose errors of the parallel robot are measured.

#### **4. Calibration Method**

The least squares fit is universally used to identify kinematic parameter errors from measurement data in kinematic calibration. Kinematic error can be identified, analyzed and corrected to minimize the sum of squares of the difference between measured errors and computed errors. Thus, for a parallel robot using a control model compensated with kinematic parameter errors and measuring a number of poses in its workspace, nothing can be said of its accuracy at any one pose. If the sample of poses measured represents an unbiased sample of the workspace, the mean squares errors of the parallel robot at these poses is minimized. That is, the least squares fit does not minimize or bound the pose error between the measured pose errors and the computed pose errors based on the error model at a single pose.

The parallel robot is used with the spacecraft docking motion simulation system, so its pose accuracy will be evaluated not on the basis of average error of all poses on a simulated trajectory, but based on the error of each pose of a simulated trajectory meeting a given accuracy specification. In order to achieve the given accuracy requirement at any one pose in the whole workspace, a different kinematic parameter error identification algorithm based on L-infinity parameter estimation is selected. It identifies kinematic parameter errors of the parallel robot by minimizing the maximum difference between measured pose errors and computed pose errors based on an error model and can bound large pose errors and equalize pose errors across the workspace. Unknown kinematic parameter errors of the error model (Equation (22)) can be identified by the following formulation based on L-infinity parameter estimation:

$$\min \max |\delta \mathbf{O}\_i| \tag{24}$$

where *δ***Ω***<sup>i</sup>* is computed by

$$
\delta \Omega\_i = \delta \Omega\_i^m - \delta \Omega\_i^\varepsilon \, i = 1, 2, \dots, n \tag{25}
$$

*δ***Ω***<sup>m</sup> <sup>i</sup>* is the measured pose error, *<sup>δ</sup>***Ω***<sup>c</sup> <sup>i</sup>* is the computed pose error based on Equation (22), and *n* represents the number of measurement poses in the workspace of the parallel robot.

Equation (22) is rewritten in terms of the kinematic parameter errors at the *i*th measurement pose as

$$
\delta \Omega\_{ki}^{\varepsilon} = \sum\_{j=1}^{60} l\_{ki}^{j} \delta p\_{j} \,\, k = 1, 2, \dots, 6 \tag{26}
$$

The total number of identification equations will be six times the total number of measurement poses. The index assigned to the identification equations will be *w*, and it can take values between 1 and 6*n*. Substituting Equations (25) and (26) into Equation (24), the following is obtained:

$$\min \max \left| \delta \Omega\_w^m - \sum\_{j=1}^{60} l\_w^j \delta p\_j \right| w = 1, 2, \dots, 6n \tag{27}$$

Equation (27) is subject to no restrictions. The L-infinity parameter identification problem can be converted to a linear programming problem with the introduction of the variable *z*, thus the following is obtained:

$$\min z = \sum\_{j=1}^{60} O\_j \delta p\_j + y \tag{28}$$

subject to

$$y + \sum\_{j=1}^{60} l\_w^j \delta p\_j \ge \delta \Omega\_w^m \, w = 1, 2, \dots, 6n \tag{29}$$

$$\delta \left( y - \sum\_{j=1}^{60} l\_w^j \delta p\_j \right) \ge -\delta \Omega\_w^m \, w = 1, 2, \dots, 6n \tag{30}$$

$$\delta y = \max \left| \delta \Omega\_w^m - \sum\_{j=1}^{60} l\_w^j \delta p\_j \right| \\ w = 1, 2, \dots, 6n \tag{31}$$

The variable *y* represents the absolute value of the maximum discrepancy between the measured pose errors and the computed pose errors based on the error model in the above linear program, and **O** represents a 1 × 60 zero vector. The unknown kinematic parameter errors can be identified by minimizing the variable *z.* The above linear programming problem can be solved by using the simplex method [45]. For identification of 60 kinematic parameter errors, it is expected to measure the poses that are located near or at the boundaries of the workspace, which can provide sufficient pose error vectors to expand the parameter space of the error model (Equation (22)). At least 30 measurement poses are required in kinematic calibration of the parallel robot.

#### **5. Simulations and Experiments**

*5.1. Model Verification*

In order to verify the pose error model derived in Section 3, a numerical simulation scheme is designed and performed by computer programs. The nominal kinematic parameters and the assumed kinematic parameter errors are listed in Tables 1 and 2, respectively. The procedure can be described as follows:



**Table 1.** The nominal kinematic parameters.

**Figure 4.** Comparison of the position error computation results.

**Figure 5.** Comparison of the orientation error computation results.


The following conclusions can be summarized from Figures 4 and 5.


Therefore, the proposed pose error model is verified to be correct and to represent the kinematic parameter errors of the parallel robot.

#### *5.2. Identification Simulations*

Kinematic parameter error identifications were simulated with various kinematic parameter errors, measurement noise levels and pose configuration sets. The actual coordinates of the feature points of the moving platform were measured by a coordinate measuring machine, and the actual poses of the parallel robot were computed. Three kinematic parameter error sets were given, with the assumed kinematic parameter errors obtained from normal distributions with variances of 0.01 mm (set I), 0.1 mm (set II) and 1 mm (set III). These kinematic parameter error sets are shown in Tables 3–5, respectively. Gaussian noise with variances of 0.0001 mm, 0.001 mm, 0.01 mm and 0.1 mm was added to the coordinate measurements of the feature points of the moving platform to simulate measurement noise. Four different pose sets were used in the identification simulations. Pose set 1 contains 32 random poses. Pose set 2 contains 24 poses based on a full factorial exploration of the six pose variable limits. Pose set 3 contains 32 poses selected from the workspace using a coordinate exchange algorithm for optimal experimental design. Pose set 4 contains 64 poses selected using a coordinate exchange algorithm.



**Table 4.** The assumed kinematic parameter errors with variances of 0.1 mm.


**Table 5.** The assumed kinematic parameter errors with variances of 1 mm.


For each simulation, kinematic parameter errors were identified using L-infinity parameter estimation based on the LINPROG function of the MATLAB Optimization Toolbox. Kinematic parameter identification error was computed as the root mean square value of the difference between the actual kinematic parameter errors and the identified kinematic parameter errors. In order to evaluate the resulting pose accuracy improvement, pose errors were computed before and after kinematic calibration by using the pose error model given in the previous section in this paper. Position error was computed as the maximum absolute value of the error along the x, y and z axes at 100 evaluation poses randomly distributed in the workspace. Orientation error was computed as the maximum absolute value of the error around the x, y and z axes at the same poses as above. All identification simulations where the measurement noise level was less than the kinematic parameter errors resulted in better kinematic parameter error identification and higher pose accuracy.

The effects of pose selection on kinematic calibration are shown in Figures 6–8. Notice that identification of kinematic parameter error obtained by using pose set 1 are consistently worse than those obtained by using pose set 2, even though pose set 1 has more poses than pose set 2. This shows that choosing the poses is more important than the number of poses contained in the pose set. However, very little improvement can be obtained once the number of poses exceeds a certain limit. For the rest of the discussions, kinematic calibration using pose set 3 will be compared, since this pose set yielded good identification results with only 32 poses.

The effect of measurement noise on kinematic calibration is shown in Figures 9 and 10. Notice that pose accuracy improves as measurement noise is reduced, and kinematic parameter errors are perfectly identified when measurement noise is close to zero. This shows that measurement noise should be at least an order of magnitude lower than the desired pose accuracy.

**Figure 6.** Identification error reduction percentage versus pose selection for set I.

**Figure 7.** Identification error reduction percentage versus pose selection for set II.

**Figure 8.** Identification error reduction percentage versus pose selection for set III.

**Figure 9.** Position error reduction percentage versus measurement noise.

**Figure 10.** Orientation error reduction percentage versus measurement noise.

#### *5.3. Comparison Experiments*

The experimental system mainly consisted of a parallel robot, a three-dimensional coordinate-measuring machine and six standard spheres. The experimental system for kinematic calibration based on L-infinity parameter estimation is shown in Figure 11. Pose measurement of the parallel robot was done with a precise three-dimensional coordinate measuring machine, model 3000i manufactured by STAR Tech. The measuring machine has a point repeatability of 0.010 mm and a length accuracy of 0.016 mm in the 1.2 m × 1.2 m × 1.2 m measuring range. Three of these spheres were fixed at three specific locations of the moving platform, and the other three were fixed at three specific base locations. On this basis, pose measurement of the parallel robot was developed, which mainly measured the distances from three standard spheres on the moving platform to three standard spheres on the base by the coordinate-measuring machine. Then, the poses were computed using these distances, as shown in Figure 12. It is worth mentioning that the kinematic calibration experiments were performed in a limited area due to the length measurement limitation of the coordinate-measuring machine.

**Figure 11.** The experimental system.

**Figure 12.** The schematic diagram of pose measurement.

The comparison experiments of kinematic calibration were performed using the conventional least squares algorithm and the proposed L-infinity parameter identification algorithm. The two results were compared according to the following four indicators: (1) maximum error, (2) range of error, (3) average error and (4) root mean square error. According to the pose error model, full pose measurement is needed to solve kinematic parameter errors in the two kinematic calibrations. The full pose could be obtained by using a mobile, flexible triad coordinate measuring machine. On the foundation of the abovementioned identification simulations, a measured pose selection rule was determined to make the comparison more effective and to better carryout the experiment: 32 measurement poses based on pose set 3 were chosen to cover the whole workspace by using the

union of a full factorial exploration and a coordinate exchange algorithm in the comparison experiments. Meanwhile, 24 verification poses evenly distributed in the workspace of the parallel robot were also collected to validate pose accuracy improvement in the experiment.

Pose error measurement and kinematic parameter error identification were accomplished by using the original 32 pose errors at the measurement poses listed in Table 6. Then a new round of pose measurement was performed to evaluate pose accuracy after the two kinematic calibrations. The pose errors at verification poses based on the two kinematic calibrations were obtained and are shown in Figures 13 and 14, and the four pose error indicators before and after kinematic calibration are listed in Table 7. The maximum position error after kinematic calibration by using conventional least squares algorithm was 1.0980 mm, and the maximum position error after kinematic calibration by using the proposed L-infinity parameter identification algorithm was 0.9408 mm. The maximum orientation errors were 0.1037 and 0.0848 degree, respectively. The maximum position error based on least squares was reduced by 84.22%, and the maximum position error based on L-infinity was reduced by 86.48%. The maximum orientation errors were reduced by 85.14% and 87.85%, respectively. The range of position error based on least squares is reduced by 85.76%, and the range of position errors based on L-infinity was reduced by 87.01%. The range of orientation errors were reduced by 87.67% and 88.99%, respectively. The percentage reductions of average error and root-mean-square error for a conventional least squares algorithm were almost identical at 83.37% and 83.42%, respectively. The percentage reductions of average error and root-mean-square error for the L-infinity parameter identification algorithm was similar to the conventional least squares algorithm. The two errors were 85.29% and 85.34%, respectively. Clearly, both kinematic calibrations can improve pose accuracy, while kinematic calibration based on the L-infinity parameter identification algorithm is much better than the conventional least squares algorithm. This verifies that the proposed kinematic calibration based on the L-infinity parameter identification algorithm is effective and can achieve strict bounds on the pose errors produced by the parallel robot.


**Table 6.** The pose errors at measurement poses before kinematic calibration.


**Table 6.** *Cont.*

**Figure 13.** The absolute position errors at verification poses before and after calibration.

**Figure 14.** The absolute orientation errors at verification poses before and after calibration.


#### **6. Conclusions**

A new kinematic parameter error identification algorithm for the kinematic calibration of a parallel robot using L-infinity parameter estimation is developed in this paper. The kinematic parameter error identification procedure is transformed into a linear programming problem that computes kinematic parameter errors for a pose error model of a parallel robot so that the maximum difference between the predictions and measurements across its workspace is minimized. A strict bound on the pose errors produced by the parallel robot is given in the kinematic calibration based on L-infinity parameter estimation. The experimental results show a 14.32% reduction in maximum position errors and a 18.23% reduction in maximum orientation errors by using L-infinity parameter estimation compared to least squares estimation. The comparison results show an 8.76% reduction in range of position errors and a 10.74% reduction in range of orientation errors by using L-infinity parameter estimation compared to least squares estimation. Therefore, this validates that the proposed kinematic calibration method can effectively improve pose accuracy of the parallel robot and determine the range of the pose error. It should be noted that this kinematic calibration method can be used when pose measurement errors are tightly restricted and measurement noise is low.

**Funding:** This research received no external funding.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The author declares no conflict of interest.

#### **References**


## *Article* **Analysis of 3-DOF Cutting Stability of Titanium Alloy Helical Milling Based on PKM and Machining Quality Optimization**

**Xuda Qin, Mengrui Shi, Zhuojie Hou, Shipeng Li \*, Hao Li and Haitao Liu**

Key Laboratory of Mechanism Theory and Equipment Design of Ministry of Education, Tianjin University, Tianjin 300072, China; qxd@tju.edu.cn (X.Q.); shimengrui@tju.edu.cn (M.S.); houzhuojie@tju.edu.cn (Z.H.); haolitju@tju.edu.cn (H.L.); liuht@tju.edu.cn (H.L.)

**\*** Correspondence: shipengli@tju.edu.cn

**Abstract:** Aiming at the requirements of titanium alloy holes in aircraft industry, the 3-DOF cutting stability and surface quality optimization of parallel kinematic manipulator (PKM) are studied. The variation of natural frequencies with the end-effector position of the PKM is analyzed. The cutting force model of titanium alloy helical milling based PKM is developed, and the cutting force coefficients are identified. The prediction model for 3-DOF the stability of helical milling based on the PKM is established through a Semi-Discrete method, and the stability lobes are obtained. The correctness of the stability lobes is verified by subjecting the cutting force signal to time-frequency transformation and roughness detection. The step-cutter is used for machining process improvement to enhance the stability domain. The method proposed in this paper can provide a reference for further optimization of the prediction and optimization of the milling process of difficult-to-process materials based on PKM in the future.

**Keywords:** PKM; helical milling; cutting stability; surface quality; process optimization

#### **1. Introduction**

The quality requirements of the aircraft components are stringent because of their harsh working environment [1]. Besides, the aircraft components have the characteristics of large size, high requirements of precision and surface quality, high mechanical properties and high difficulty of material processing, which have posed great challenges to the traditional processing equipment and technology. Industrial robots have great advantages in milling process on the large aircraft components due to its high reconfigurablity. The hybrid PKM combines the advantages of high flexibility of series manipulator and large working space, high stiffness precision of parallel manipulator. The processing of hole making is an important part of aircraft assembly process in the aircraft industry. Compared with the traditional drilling process, helical milling has the advantages of less cutting force, simple process and low tool loss [2], which makes it more advantageous in the machining process of titanium alloy and other difficult-to-process materials in the aircraft industry. Therefore, it is necessary for the research of helical milling based on the hybrid PKM to improve the precision of hole making and improve the assembly efficiency. However, it is easy to occur the machining instability when machining the difficult-to-process materials, since the stiffness of the hybrid PKM is less than five-axis machine tool. Besides, the parameters of the hybrid PKM may vary with the position. Therefore, it is of great significance to analyze the machining performance of the hybrid PKM under different positions, study its cutting stability and machining quality and optimize the machining parameters, which may improve the machining quality.

Many scholars have carried out some related studies in cutting stability and machining quality. Altintas et al. [3] established a virtual prototype with the structure of the hybrid machine tool, which was used to study the stiffness, dynamics, vibration characteristics and cutting stability of the mechanism. The precision and machining performance of

**Citation:** Qin, X.; Shi, M.; Hou, Z.; Li, S.; Li, H.; Liu, H. Analysis of 3-DOF Cutting Stability of Titanium Alloy Helical Milling Based on PKM and Machining Quality Optimization. *Machines* **2022**, *10*, 404. https:// doi.org/10.3390/machines10050404

Academic Editors: Zhufeng Shao, Dan Zhang and Stéphane Caro

Received: 2 May 2022 Accepted: 19 May 2022 Published: 21 May 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

the hybrid machine tool were systematically analyzed on the basis of the analysis results. Piras et al. [4] analyzed the dynamic characteristics of the planar parallel mechanism with the simplified limbs with the help of the Finite Element Method. The variation of the natural frequency and the mode under different positions and attitude were obtained. Luo et al. [5] established an elastodynamics model which could predict the frequency response function (FRF) of 3-RPS parallel manipulator quickly based on the substructure synthesis technology. The natural frequency, frequency response and vibration mode of the parallel manipulator were simulated, and the variation trend of these parameters among the workspace was given. Law et al. [6] studied FRFs at the end of the system under different configurations based on the PKM by adopting modal polycondensation and substructure synthesis, and solved the cutting stability under different configurations by using a reduced order model. The relationship of dynamic characteristics, cutting stability and configurations was studied. Mousavi et al. [7] established a parameterized model to predict the dynamic characteristics and stability limit along the machining trajectory of the manipulator to achieve the maximum stability domain of the machining process. Li et al. [8] studied the dynamic behavior of the machine milling system and the chatter stability domain according to the stiffness model and the dynamic milling force model. The stability lobes of the whole system were obtained, and the experiments were carried out to verify the results. Shi et al. [9] took TriMule hybrid PKM as an example, and established the overall cutting dynamics model considering the hybrid PKM by analytical method. The cutting stability of TriMule was analyzed in the working space according to the cutting dynamics model. The trend of the 2-dimensional stability lobe diagram in the plane of workpiece with the variation of the position of the end-effector of hybrid PKM was obtained. Cao et al. [10] investigated the interaction mechanism between the spindle-tool system. Based on the process stability and surface quality of workpiece, a cutting parameter selection method is proposed from the perspective of machining stability. Mejri et al. [11] quantify the dynamic behavior s variation of an ABB IRB 6660 robot equipped with a high-speed machining (HSM) spindle in its workspace, and analyze the consequences in terms of machining stability. The results show that an adjustment of the cutting conditions must accompany the change of robot posture during machining to ensure stability.

Titanium alloy is widely used in the aircraft industry due to its excellent material characteristics. However, its surface quality directly affects its mechanical properties and practical life. Therefore, in terms of the surface machining quality and process of titanium alloy, Polini et al. [12] carried out cutting experiments on Ti6-Al4-V using tools of different materials. The influence of cutting force and tool wear on the machining surface quality were analyzed. It is found that TiAlN single-coated carbide tool had the better surface quality and longer tool life. Zain et al. [13] had given the optimal solution of cutting conditions with genetic algorithm to obtain the minimum surface roughness on the basis of radial rake processing parameters. The regression model was established according to the practical machining example. An optimal regression model was established to determine the fitness function of the genetic algorithm. The minimum surface roughness of the samples was reduced by about 27%. Munoz-escalona et al. [14] proposed a geometric model for predicting the surface roughness based on geometric analysis of tool path. The accuracy of surface roughness prediction reached 98% without considering the side wear of the tool, which was suitable for arbitrary diameter, arbitrary number of teeth and arbitrary nose radius of the tool. Liu et al. [15] established a mathematical model to calculate the uncut thickness and to describe the dynamic behavior of micro-milling force, including the combined influences of tool runout, minimum uncut thickness and edge plowing. Zhang et al. [16] designed the two-step milling (roughing and then finishing) experiments of Ti-6Al-4V titanium alloy to analyze the effect of different roughing parameters on the cutting force of roughing and finishing, the residual stress of finishing surface and the microstructure. The microstructural characteristics in terms of residual stress, XRD patterns, phase composition and content and nano-scale crystallite size of machined surface layer

were characterized to reveal the machined surface layer quality adjustment and controlling mechanism from the prospective of the microscopic scale.

The static and dynamic stiffness of hybrid PKM is weaker than that of a 5-axis machine tool due to its structural characteristics. In order to meet the requirements of aircraft industry, it is necessary to study the cutting stability considering the PKM, when the PKM is applied to titanium alloy helical milling. The surface quality is analyzed to optimize the machining parameters and machining processing according to the above analysis. Few of the above studies have concerned this aspect. Therefore, this paper will arrange it as follows: in Section 2, a modal analysis of the PKM is performed and cutting forces model of helical milling based on PKM are established. The cutting forces coefficients are identified and the 3-DOF cutting dynamic model of helical milling-based PKM is established accordingly. In Section 3, the cutting experimental platform and modal experimental platform based on the PKM named TriMule are built, and cutting experiments and hammering modal experiments are performed. In Section 4, the experimentally obtained data are analyzed and the stability lobes for titanium alloy helical milling based PKM are obtained and validated. The stepcutter is used to optimize the machining process to improve the stability domain, and the optimization effect is demonstrated experimentally. The conclusion is given in Section 5.

#### **2. Cutting Stability Analysis Based on Hybrid PKM**

#### *2.1. Modal Analysis of PKM*

The natural frequency of the PKM is the basis for the study of its vibration characteristics. The PKM should be avoided from being excited by its natural frequency as far as possible to ensure the stability in the machining process [17]. The FEA method and experimental method are used to analyze the modal. The accuracy of the results is verified by experiments. The vibration equation of PKM can be expressed as

$$\mathbf{M}\ddot{\mathbf{X}} + \mathbf{C}\dot{\mathbf{X}} + \mathbf{K}\mathbf{X} = \mathbf{F} \tag{1}$$

where **M**, **C** and **K** are the mass matrix, damping matrix and stiffness matrix of the PKM respectively; **X**, **. <sup>X</sup>** and **.. X** are the displacement matrix, velocity matrix and acceleration matrix respectively; **F** is the external excitation load at the end-effector of the PKM.

The damping and external load of the PKM in Equation (1) are zero when free vibration occurs, so the differential equation of free vibration of the PKM can be expressed as:

$$\mathbf{M}\ddot{\mathbf{X}} + \mathbf{K}\mathbf{X} = 0\tag{2}$$

Equation (2) can be solved to obtain the vibration characteristics of the PKM in free vibration state

$$\mathbf{X} = \mathbf{X}\_0 \sin(\omega t + \psi) \tag{3}$$

where **X**<sup>0</sup> is the vibration amplitude of the PKM response; *ω*, *t* and *ψ* are the response frequency, time and original phase angel, respectively.

Substitute Equation (3) into Equation (2):

$$\left(\mathbf{K} - \omega^2 \mathbf{M}\right)\mathbf{x}\_0 = 0\tag{4}$$

Solve the characteristic equation of Equation (4) and obtain *n* different characteristic values *ω<sup>i</sup>* (*I* = 1~*n*), which are arranged in ascending order as follows

$$
\omega\_1 < \omega\_2 < \omega\_3 < \dots < \omega\_l < \dots < \omega\_l
$$

where *ω<sup>i</sup>* is the *i*th-order natural frequency of the PKM, which are related to the mass matrix and stiffness matrix.

The external excitation of the PKM in the process of machining is simple harmonic force, which can be express as

$$\mathbf{F} = \mathbf{F}\_0 \cos(\omega t) \tag{5}$$

where **F** is the external excitation; **F**<sup>0</sup> is the amplitude of the external excitation.

The response of the PKM to harmonic force can be express as:

$$\mathbf{X} = \mathbf{X}\_0 \sin(\omega t) \tag{6}$$

Substitute Equations (5) and (6) into Equation (1), and **H**(*ω*) represents the Frequency Response Runction (FRF) of the end-effector of the PKM, which is also depending on the position of the PKM:

$$\mathbf{H}(\omega)^{-1} = -\omega^2 \mathbf{M} + j\omega \mathbf{C} + \mathbf{K} \tag{7}$$

The PKM used in this paper is a novel 5-DOF hybrid PKM named TriMule, which have been proposed by Tian et al. [18]. As shown in Figure 1, the PKM is composed of a 3-DOF R(2-RPS&RP)&UPS parallel mechanism plus a A/C wrist. Here, R, P, U and S represent revolute, prismatic, universal and spherical joints, respectively, and P denotes an actuated prismatic joint. RPS branch is denoted as limb *i* (*i* = 1, 2); UPS branch is denoted as limb 3; and RP branch is denoted as limb 4. It is necessary to simplify the original complex components and establish their own coordinate system to describe the kinematics model of hybrid PKM. **w***<sup>i</sup>* is defined to represent the direction vector of stretch of limb *i*. The fixed coordinate system *κ* is established with the midpoint A4 of the base link as the origin, and the coordinate system *κ<sup>i</sup>* is established at the intersection of the joint axes of R pair (or U pair) and P pair in limb *i*. **R***<sup>i</sup>* is the attitude matrix of coordinate system *κ<sup>i</sup>* with respect to fixed coordinate system *κ*, which can be expressed as:

$$\mathbf{R}\_{i} = \begin{bmatrix} \mathbf{u}\_{i} & \mathbf{v}\_{i} & \mathbf{w}\_{i} \end{bmatrix} = \begin{bmatrix} \cos\theta\_{2i} & 0 & \sin\theta\_{2i} \\ \sin\theta\_{1i}\sin\theta\_{2i} & \cos\theta\_{1i} & -\sin\theta\_{1i}\cos\theta\_{2i} \\ -\cos\theta\_{1i}\sin\theta\_{2i} & \sin\theta\_{1i} & \cos\theta\_{1i}\cos\theta\_{2i} \end{bmatrix} \tag{8}$$

**Figure 1.** The PKM named TriMule: (**a**) CAD model (**b**) structure diagram with coordinates of TriMule.

Due to the structural characteristics of the PKM, its dynamic performance is varied with the end-effector position of the PKM. Therefore, seven representative positions are selected in the workspace to analyze the dynamic performance in the coordinate of *Omxmymzm*. The origin of the coordinate system *Om*-*xmymzm* is established at the intersection of the A/C wrist, and each axis is parallel to each axis of the coordinate system *κ*. Figure 2 shows the selected representative positions in the workspace. The coordinates of them in the fixed coordinate system *κ* are shown in Table 1.

The modal simulation of the PKM is carried out by using FEA software on the basis of the above analysis. The positions of the end-effector of the PKM as shown in Table 1 were also selected to analyze. Figures 3 and 4, respectively, gave the first 4 modal modes of the PKM at the initial position (Position 1 in Table 1) and the simulation values of natural frequencies at the 7 representative positions. As shown in Figure 4, the natural frequency of the PKM is strongly correlated with the end-effector position. The higher order modes are relatively more influenced by the end-effector position.

**Figure 2.** Seven representative positions in the workspace of TriMule.


**Figure 3.** The mode shapes of the first 4 order simulation modes of the PKM at initial position. (**a**) 1st mode shape of vibration; (**b**) 2nd mode shape of vibration; (**c**) 3rd mode shape of vibration; and (**d**) 4th mode shape of vibration.

**Figure 4.** The natural frequency simulation values of the PKM at position 7.

*2.2. Cutting Forces Modeling and Identification of Cutting Forces Coefficients of Helical Milling Based on PKM*

In order to analyze the 3-DOF cutting stability of helical milling, the cutting forces of the helical milling based on PKM will be established first in this section. Both the side and the bottom edges of the tool are involved in the cutting process. The working state of the side edge can be approximated as an ordinary milling process, while the working state of bottom edge can be approximated as a drilling process. Therefore, the feed motion of helical milling can be divided into two parts, which are axial feed motion *vc* and circumferential feed motion *nc.* The feed trajectory is a spiral line, whose radius is the eccentric distance *e* of the tool and the hole, the pitch is the axial feed *ap* per revolution, the spindle speed is *n*, and the number of tool edges is *N*. The schematic diagram of cutting thickness of helical milling is shown in Figure 5.

The cutting force model of helical milling based on PKM is established according to Literature [8]. According to the cosine theorem, Pc can be expressed as:

$$\left|P\_c O\_w\right|^2 = R\_l^{-2} + e^2 - 2R\_l e \cos(\pi - \varphi) \tag{9}$$

$$P\_{\mathcal{E}}O\_{\mathcal{E}} = P\_{\mathcal{E}}O\_{\mathcal{W}}^2 + e^2 - 2P\_{\mathcal{E}}O\_{\mathcal{W}}\mathfrak{e}\cos\left(\frac{\mathcal{Q}\_k}{2}\right) \tag{10}$$

*ϕ<sup>k</sup>* can be express as:

$$\varphi\_k = 2ar\cos\left(\frac{\varepsilon - R\_l\cos(\varphi)}{\sqrt{\varepsilon^2 + R\_l^2 - 2R\_l\varepsilon\cos(\varphi)}}\right) \tag{11}$$

Therefore, the axial depth of side edge *b*(*ϕ*) in the helical milling can be expressed as:

$$b(\boldsymbol{\varrho}) = a\_{\mathcal{P}} - \frac{a\_{\mathcal{P}}}{\pi} \boldsymbol{ar} \cos \left( \frac{\boldsymbol{\varepsilon} - \boldsymbol{R}\_l \cos(\boldsymbol{\varrho})}{\sqrt{\boldsymbol{\varepsilon}^2 + \boldsymbol{R}^2 - 2\boldsymbol{R}\_l \boldsymbol{e} \cos(\boldsymbol{\varrho})}} \right) \tag{12}$$

*kr*, *kt* and *ka* are the shear effect coefficients of the side edge of tool in radial direction, tangential direction and axial direction in the cutting force model of helical milling, which are the main sources of dynamic cutting force; *kre*, *kte*, *kae* are the friction effect coefficients of side edge of tool in radial direction, tangential direction and axial direction, which are mainly related to static cutting force and can be ignored to analyze the stability; *kFea*, *kFec* are the shear effect coefficient and friction effect coefficient of the bottom edge in the axial

direction, respectively, which are not related to the dynamic cutting chips and stability of the process. Therefore, only *kr*, *kt* and *ka* are considered in the cutting stability analysis.

As shown in Figure 5, radial, tangential and axial cutting forces in relation to the instantaneous cutting chips thickness during the instantaneous cutting process can be expressed as:

> # *ϕj* \$ *hj* # *ϕj* \$

#

\$

#

\$

(13)

*Frj*(*ϕ*) = *krb*

**Figure 5.** The schematic diagram of cutting thickness of helical milling: (**a**) the chip of helical milling; (**b**) the process of helical milling (top view); (**c**) dynamic cutting thickness of the *j*-th cutter tooth in the *xw* direction and *yw* direction of helical milling; and (**d**) dynamic cutting thickness of the *j*-th cutter tooth in the *zw* direction.

Neglecting the effect of static cutting forces, which means neglecting the effect of static cutting thickness, the cutting thickness can be expressed as

$$h(\boldsymbol{\varrho}\_{\dot{\boldsymbol{\eta}}}) = \left[ (\Delta \boldsymbol{x} \sin \boldsymbol{\varrho}\_{\dot{\boldsymbol{\eta}}} + \Delta \boldsymbol{y} \cos \boldsymbol{\varrho}\_{\dot{\boldsymbol{\eta}}}) \sin \boldsymbol{\gamma} - \Delta \boldsymbol{z} \cos \boldsymbol{\gamma} \right] \mathbf{g}(\boldsymbol{\varrho}\_{\dot{\boldsymbol{\eta}}}) \tag{14}$$

where Δ*x*, Δ*y* and Δ*z* are the displacements generated by two adjacent cutter teeth cutting through the workpiece in each direction. *γ* is the cutter helix angle and *g*(*ϕj*) is the function indicating whether the cutter teeth are cutting in, which can be expressed as:

$$\mathcal{g}\left(\boldsymbol{\varrho}\_{\dot{\boldsymbol{\beta}}}\right) = \left\{ \begin{array}{c} 1 \ \boldsymbol{\varrho}\_{\rm sf} < \boldsymbol{\varrho}\_{\dot{\boldsymbol{\beta}}} < \boldsymbol{\varrho}\_{\boldsymbol{\beta}\boldsymbol{\varepsilon}} \\ 0 \ \boldsymbol{\varrho}\_{\dot{\boldsymbol{\beta}}} < \boldsymbol{\varrho}\_{\boldsymbol{\beta}\boldsymbol{\varepsilon}} \text{or } \boldsymbol{\varrho}\_{\dot{\boldsymbol{\beta}}} > \boldsymbol{\varrho}\_{\boldsymbol{\varepsilon}\boldsymbol{\varepsilon}} \end{array} \right. \tag{15}$$

Therefore, the differentiation of the radial, tangential and axial forces of helical milling can be expressed as:

$$
\begin{bmatrix} dF\_{rj} \\ dF\_{tj} \\ dF\_{aj} \end{bmatrix} = b(\theta) \begin{bmatrix} k\_r \\ k\_t \\ k\_a \end{bmatrix} \begin{bmatrix} \sin\varphi\_j \sin\gamma & \cos\varphi\_j \sin\gamma & -\cos\gamma \end{bmatrix} \begin{bmatrix} \Delta x \\ \Delta y \\ \Delta z \end{bmatrix} \tag{16}
$$

Converting the Equation (16) into workpiece coordinate system, it can be expressed as:

$$
\begin{bmatrix} dF\_{xj} \\ dF\_{yj} \\ dF\_{zj} \end{bmatrix} = \begin{bmatrix} -\sin\gamma\sin\varrho\_{\dot{j}} & -\cos\varrho\_{\dot{j}} & -\cos\gamma\sin\varrho\_{\dot{j}} \\ -\sin\gamma\cos\varrho\_{\dot{j}} & \sin\varrho\_{\dot{j}} & -\cos\gamma\cos\varrho\_{\dot{j}} \\ \cos\gamma & 0 & -\sin\gamma \end{bmatrix} \begin{bmatrix} dF\_{rj} \\ dF\_{l\dot{j}} \\ dF\_{\dot{aj}} \end{bmatrix} \tag{17}
$$

Therefore, the cutting forces can be expressed as:

$$\mathbf{F} = \sum\_{j=0}^{N} \mathbf{F}\_j \tag{18}$$

Translating the Equation (18) into matrix form, it can be expressed as

$$\mathbf{F} = \mathbf{A}b(\boldsymbol{\varrho})h(\boldsymbol{\varrho})\tag{19}$$

where **A** is the direction coefficient matrix, which can be expressed as:

$$\mathbf{A} = \begin{bmatrix} h\_{xx}(t) & h\_{xy}(t) & h\_{xz}(t) \\ h\_{yx}(t) & h\_{yy}(t) & h\_{yz}(t) \\ h\_{zx}(t) & h\_{zy}(t) & h\_{zz}(t) \end{bmatrix} \tag{20}$$

In order to analyze the stability of helical milling based on PKM, the cutting force coefficients need to be identified. According to the method given in the Literature [9], the cutting force coefficients of the side edges are identified by means of slot milling experiments. The average cutting force in each direction in the workpiece coordinate system during slot milling (the entry angle is 0 and the exit angle is π) can be expressed as:

$$\begin{cases} \quad \overline{F}\_{\nu x} = \frac{1}{4} N k\_{\tau} a\_{p} s\_{t} + \frac{1}{\pi} N k\_{\tau e} a\_{p} \\ \quad \overline{F}\_{\nu y} = \frac{1}{4} N k\_{t} a\_{p} s\_{t} + \frac{1}{\pi} N k\_{t e} a\_{p} \\ \quad \overline{F}\_{\nu z} = -\frac{1}{4} N k\_{\mu} a\_{p} s\_{t} - \frac{1}{2} N k\_{\mu c} a\_{p} \end{cases} \tag{21}$$

The cutting force coefficient can be identified by linear regression method according to Equation (21).

#### *2.3. 3-DOF Cutting Stability Analysis of Helical Milling Based on the PKM*

The improved Semi-Discrete Time Domain Method is used to analyze the cutting stability of titanium alloy helical milling at 7 positions of TriMule. The differential equations of 3-DOF cutting dynamics for helical milling of TriMule can be expressed as

$$
\begin{pmatrix} \ddot{x} \\ \ddot{y} \\ \ddot{z} \end{pmatrix} + 2 \begin{pmatrix} \omega\_{\text{nx}} \\ & \omega\_{\text{ny}} \\ & & \omega\_{\text{nz}} \end{pmatrix} \begin{pmatrix} \ddot{\xi}\_{\text{x}} \\ \ddot{\xi}\_{\text{y}} \\ \ddot{z} \end{pmatrix} \begin{pmatrix} \dot{x} \\ \dot{y} \\ \dot{z} \end{pmatrix} + \begin{bmatrix} \left(\omega\_{\text{nx}}\boldsymbol{z}^{2} \\ & \omega\_{\text{ny}}\boldsymbol{z}^{2} \\ & & \omega\_{\text{nz}}\boldsymbol{z}^{2} \end{bmatrix} + \mathbf{Q} \end{pmatrix} \begin{pmatrix} \mathbf{x} \\ \mathbf{y} \\ \mathbf{z} \end{pmatrix} = \mathbf{Q} \begin{pmatrix} \mathbf{x}(t-\tau) \\ \mathbf{y}(t-\tau) \\ \mathbf{z}(t-\tau) \end{pmatrix} \tag{22}
$$

$$\mathbf{Q} = \begin{pmatrix} \frac{a\_p h\_{xx}(t)}{m\_{tx}} & \frac{a\_p h\_{xy}(t)}{m\_{tx}} & \frac{a\_p h\_{xz}(t)}{m\_{tx}}\\ \frac{a\_p h\_{yx}(t)}{m\_{ty}} & \frac{a\_p h\_{yy}(t)}{m\_{ty}} & \frac{a\_p h\_{yz}(t)}{m\_{ty}}\\ \frac{a\_p h\_{zx}(t)}{m\_{tz}} & \frac{a\_p h\_{zy}(t)}{m\_{tz}} & \frac{a\_p h\_{zz}(t)}{m\_{tz}} \end{pmatrix} \tag{2.3}$$

where *ωnx*, *ωny* and *ωnz* are the angular natural frequency of the PKM in the direction of *x*, *y* and *z* respectively; *mtx*, *mty* and *mtz* are the modal mass of the PKM in the direction of *x*, *y* and *z* respectively; and *ξx*, *ξ<sup>y</sup>* and *ξ<sup>z</sup>* are the damping ratio. *x*(*t* − *τ*) is the time delay due to the regeneration effect, which is equal to the time between the cutter teeth cutting into and cutting out the workpiece. *T* is the time delay of ordinary cutter with equal pitch. Since the revolution speed *nc* is far less than the spindle speed *n*, *T* can be expressed as:

$$T = \frac{60}{Nn} \tag{24}$$

Transforming kinematics equation into state space equation

$$
\dot{\mathbf{u}}(t) = \mathbf{A}\_i \mathbf{u}(t) + \omega\_d \mathbf{B}\_i \mathbf{u}\_{i-m+1} + \omega\_b \mathbf{B}\_i \mathbf{u}\_{i-m} \tag{25}
$$

where **A***<sup>i</sup>* is the constant matrix; **B***<sup>i</sup>* is the state term; **u***<sup>i</sup>* is the space term. As the time delay is equal to the period, *ω<sup>a</sup>* = *ω<sup>b</sup>* = 1/2. *m* is the integer introduced:

$$m = \text{int}\left(\frac{\tau + \Delta t/2}{\Delta t}\right) \tag{26}$$

The dynamic equation of regenerative cutting can be expressed as:

$$\mathbf{u}\_{i+1} = \mathbf{P}\_i \mathbf{u}\_i + \omega\_a \mathbf{R}\_i \mathbf{u}\_{i-m+1} + \omega\_b \mathbf{R}\_i \mathbf{u}\_{i-m} \tag{27}$$

$$\mathbf{P}\_{i} = \exp(\mathbf{A}\_{i}\Delta t) \tag{28}$$

$$\mathbf{R}\_{i} = \left(\exp(\mathbf{A}\_{i}\boldsymbol{\Delta t}) - \mathbf{I}\right)\mathbf{A}\_{i}^{-1}\mathbf{B}\_{i} \tag{29}$$

**I** represents the identity matrix; (3*m* + 6) dimensional state vector can be expressed as:

$$\mathbf{z}\_{i} = \text{col}\begin{pmatrix} & \mathbf{x}\_{i} & \mathbf{y}\_{i} & \mathbf{z}\_{i} & \dot{\mathbf{x}}\_{i} & \dot{\mathbf{y}}\_{i} & \dot{\mathbf{z}}\_{i} & \mathbf{x}\_{i-1} & \mathbf{y}\_{i-1} & \mathbf{z}\_{i-1} & \cdots & \mathbf{x}\_{i-m} & \mathbf{y}\_{i-m} & \mathbf{z}\_{i-m} \end{pmatrix}$$

Thus, the following mapping can be constructed

$$\mathbf{z}\_{i+1} = \mathbf{D}\_i \mathbf{z}\_i \tag{30}$$

where **D***<sup>i</sup>* is the (3*m* + 6) dimensional coefficient matrix, which can be expressed as:


The state-transition matrix **Φ** can be expressed as:

$$\Phi = \mathbf{D}\_{k-1} \mathbf{D}\_{k-2} \cdots \mathbf{D}\_1 \mathbf{D}\_0 \tag{32}$$

According to Floquent Theory, indicating that the matrix converges, the variation of dynamic cutting thickness has an upper limit when the eigenvalue of the state transition matrix is less than 1. The process of the PKM helical milling is in a stable state. Otherwise, the cutting process is unstable.

#### **3. Experimental Platform Set-Up**

#### *3.1. Cutting Force Coefficients Identification and Stability Verification*

Before analyzing the cutting stability of helical milling based on PKM, it is necessary to model the cutting forces when it is applied to helical milling. The cutting force model of titanium alloy helical milling based on TriMule is established by taking titanium alloy commonly used in aircraft industry as an example in this paper, as shown in Figure 6. Specific modeling methods and experimental methods have been introduced in detail in Literature [8]. In this paper, the angle of A/C wrist is adjusted to 0, and the cutting force coefficients can be identified from the platform.

**Figure 6.** Experimental platform for cutting forces coefficients in TriMule based helical milling.

As shown in Figure 6, a Kistler three-direction dynamometer (9257A) with supporting charge amplifier (type 5070), and data acquisition system and Kistler software were utilized for the cutting force measurement. The workpiece material used in this paper is titanium alloy Ti6Al4V, the physical and mechanical properties of which are shown in Table 2 [19]. The diameter of the helical milling holes in this paper is 19.05 mm, and the carbide helical milling tool with a 12 mm diameter was selected for the helical milling tests. According to the selected tool diameter and the cutting conditions of titanium alloy, the spindle speed

of 2000 rpm is selected to identify the cutting force parameters in order to control the tool wear during machining [20,21]. The helical milling tool is shown in Figure 7, and details about cutting tool are listed in Table 3. Cutting experiments were performed on the experimental platform according to the cutting experimental parameters shown in Table 4, and the cutting forces coefficients were identified.


**Table 2.** Physical and mechanical properties of titanium alloys used in the experiment.

**Figure 7.** Helical milling tool and its 3D model.

**Table 3.** The geometric and property parameters of cutting tool used in the experiment.


**Table 4.** Cutting force identification experimental cutting parameters.


In order to verify the correctness of the stability prediction model of titanium alloy helical milling based on PKM, Position 1 and Position 2 shown in Table 1 are used as the validation positions considering the structural characteristics of the parallel mechanism. Since the change of spindle speed has little effect on the cutting force parameters and can be ignored, the cutting force parameters obtained at the spindle speed of 2000 rpm are used for stability verification experiments [22–24]. The cutting parameters shown in Table 5 are used for the machining experiments.


**Table 5.** Cutting parameters of stability verification experiment.

As the analysis mentioned above, a step-cutter is proposed to reduce the radial cutting depth to improve the stability of helical milling and optimize the machining quality.

The step-cutter is improved the main structure of the helical milling cutter which includes two parts of cutting edge, neck part and shank. The height difference between the two parts of the cutting edge is 1mm. Right-angle transition mode is adopted to reduce impact. The necking part prevents cutting edge of the second part from cutting the surface again. The cutter material is cemented carbide. The cutter structure is shown in Figure 8. The parameters of the cutter are shown in Table 6.

**Figure 8.** The structure of step-cutter.

**Table 6.** The parameters of step-cutter.


#### *3.2. Experimental Platform Set-Up to Indentify of Modal Parameters of TriMule*

In order to verify the correctness of modal simulation, modal experiments are carried out on the 7 positions in Table 1 respectively by hammering experiment. The specific experimental methods and equipment have been described in detail in Literature [8]. The angle of A/C wrist of the PKM change to 0 this time, and the point-line model for hammering tests is re-established. Table 7 shows the modal parameters of the first 4 modes of the PKM. The experimental platform of TriMule helical milling modal tests is presented in Figure 9. The B&K impact hammer and PCB acceleration sensor were used to shock

excitation and pick up the generated vibration signals. The input and output signals are processed through the data collection system of LMS, and the modal data processing is imported into the analysis software. In this paper, the modal tests are carried out by single point impact and single point vibration signal pickup method. As TriMule is a complex high-order system, multiple vibration pickup points were arranged, as shown in Figure 10. At the same time, the impact hammer strikes along different directions of each impact point. In order to reduce the random measurement error, the vibration measurement tests for every pickup point repeat five times. Taking the initial position as an example, the modal parameters of the PKM at this position are obtained as shown in Table 5. Figure 11 shows the variation of natural frequency of the PKM with different position in *x*, *y* and *z* directions to facility the analysis of variation of modal parameters with the configuration of the PKM.


**Table 7.** First 4 modal parameters of the initial position of the PKM.

**Figure 9.** Experimental platform of TriMule based helical milling modal tests.

**Figure 10.** Arrangement of vibration pickup points on TriMule modal test.

**Figure 11.** The first 4 order natural frequencies of the PKM in different positions. (**a**) Natural frequency in the x direction; (**b**) Natural frequency in the z direction; (**c**) Natural frequency in the y direction.

As shown in Figure 11, comparing Position 1 and Position 2 and Position 3, the 1st order natural frequency decreased gradually with the positive deviation of position along the *x*-axis. The bigger the offset is, the more decreased it is. Furthermore, the 3rd order and 4th order natural frequency from the Position 1 to Position 2 are risen sharply, and from the Position 2 to Position 3 are changed slightly. Comparing Position 1, Position 4 and Position 5, the 1st order natural frequency varies slightly along the *z*-axis. The 2nd, 3rd and 4th order natural frequencies all increase along the *z*-axis, and the fourth order natural frequencies increase most obviously. Comparing Position 1, Position 6 and Position 7, the natural frequencies of the first two orders are basically unchanged along the *y*-axis, while the natural frequencies of the 3rd and 4th orders increase significantly with the change of the *y*-axis. Therefore, it can be found that the 1st order natural frequency variation range is the lowest with the position variation. The value of 1st natural frequency decreases at most 18.4% from the initial position. While the 3rd and 4th orders natural frequency vary at most 51.2% from the initial position, which increases the most.

#### **4. Results and Discussion**

#### *4.1. Cutting Stability Lobes of Titanium Alloy Helical Milling Based TriMule*

According to the experimental platform established in Section 3, the cutting force coefficients of the PKM-based titanium alloy helical milling hole were identified and obtained, as shown in Table 8.

In addition, hammering modal tests are performed on the TirMule based on the established experimental platform. Due to the structural characteristics of the PKM, the modal parameters are strongly position-dependent. Therefore, modal tests are conducted for each of the 7 positions shown in Table 1, and the stability domain of the TriMule-based titanium alloy helical milling is analyzed by combining the identified modal parameters and cutting force coefficients.


**Table 8.** Cutting force coefficients of helical milling on titanium alloy based on TriMule.

According to the above analysis, the stability lobes of TriMule at 7 positions are drawn, as shown in Figure 12. The stability of other poses under the spindle speed of 1000 r/min is roughly determined by the 1st mode except Position 6 and 7. By comparing Position 1 and Position 2 and 3, the stability domain of the working condition above 2000 r/min increases significantly when the coordinate of end-effector deviation along *x* direction, and this variation is mainly affected by the 4th mode. When the deviation continues to 400 mm, the stability domain will decrease again. By comparing Position 1 and Position 4 and 5, the stability domain of the PKM decreases slightly at low spindle speed when the end-effector extends 100 mm forward along the *z*-axis, while the stability domain at high spindle speed has no significant change, which is mainly affected by the 4th mode. However, the endeffector retracted 50 mm along the *z*-axis will make the stability domain at high spindle speed significantly increase, which is mainly affected by the 3rd mode. By comparing Position 1 and Postion 6 and 7, the stability domain is mainly affected by the 1st and 3rd order modes after it is moved along the *y*-axis, and the rise of 100 mm along the *y*-axis will greatly improve the stability region at low spindle speed.

#### *4.2. Validation of Cutting Stability Lobes of TriMule Based Titanium Alloy Helical Milling*

It is necessary to verify the correctness of stability lobes of helical milling based TriMule. The acceleration signals in the machining process are collected to time-frequency transformation to determine whether the machining process was unstable. As mentioned in Section 3.1, the correctness of the obtained stability lobes is verified, with Position 1 and Position 2 as examples. The combination of cutting parameters is shown in Table 7. The spectrum of experimental acceleration signal is shown in Figure 13.

**Figure 12.** *Cont*.

**Figure 12.** Stability lobes of helical milling based TriMule in 7 Positions. (**a**) Position 1; (**b**) Position 2; (**c**) Position 3; (**d**) Position 4; (**e**) Position 5; (**f**) Position 6; and (**g**) Position 7.

**Figure 13.** Spectrum of experimental acceleration signal. (**a**) Signal spectrum of acceleration along *x*, *y* and *z* under Position 1 (cutting parameter combine 1); (**b**) Signal spectrum of acceleration along *x*, *y* and *z* under Position 1 (cutting parameter combine 10); (**c**) Signal spectrum of acceleration along *x*, *y* and *z* under Position 2 (cutting parameter combine 1); and (**d**) Signal spectrum of acceleration along *x*, *y* and *z* under Position 2 (cutting parameter combine 10).

As shown in Figure 13, when the spindle speed is 1000 r/min and the axial feed is 0.8 mm, the helical milling of TriMule at Position 1 and Position 2 has a small vibration, and the machining stability is good under other processing parameters. It can be seen that the predicted results are in agreement with the experimental results. In addition, at Position 1, the main components of the acceleration signal spectrum are the passing frequency of the cutter tooth, and its frequency doubling when the spindle speed is 1000 r/min and the axial feed is 0.2 mm per revolution. It can be judged that no instability occurs in the milling process. When the axial feed is increased in the same position, it can be seen that vibration with a different amplitude occurs in the high frequency band of the acceleration signal spectrum in the three directions, and the vibration in the *z* direction is the most obvious. Therefore, it can be judged that instability occurs. At Position 2, when the rotational speed is 1000 r/min, with the increase of axial feed per revolution, the unstable frequency 1247 Hz of acceleration signal in frequency domain is significant, which will obviously affect the milling accuracy.

In addition, the cutting stability will also affect the roughness condition of the inner wall of the hole. Therefore, in verifying the correctness of the above stability leaflet diagram, the inner wall roughness of titanium alloy helical milling holes at different positions of TriMule is measured by the roughness measuring instrument. The results are shown in Figures 14 and 15.

**Figure 14.** Surface roughness of helical milling hole with different processing parameters of TriMule. (**a**) Position 1; (**b**) Position 2; (**c**) Position 3; and (**d**) Position 4.

**Figure 15.** Surface roughness comparison of Position 1 and Position 2 at different spindle speeds. (**a**) *n* = 1000 r/min; (**b**) *n* = 2000 r/min; and (**c**) *n* = 3000 r/min.

As shown in Figure 14, the overall surface roughness increases with the axial feed per revolution increases. This is because the increase of axial feed leads to the increase of spiral feed track pitch, which makes the machining traces on the processed surface more serious, alongside the increase of roughness.

The comparison of the surface roughness of helical milling holes at Position 1 and 2 at each spindle speed shows Figure 15. It can be seen that when the axial feed per revolution is small (less than 0.4 mm), the surface roughness of holes at Position 2 is smaller and the machining quality is better. When the axial feed per revolution is larger (greater than 0.4 mm), the surface roughness of holes at position 1 of is smaller and the machining quality is better.

#### *4.3. Optimization of Cutting Stability Lobes of Titanium Alloy Helical Milling Based TriMule*

The influence of machining instability on machining quality can be reduced by optimizing the cutter. Since the dynamic cutting force that causes the milling instability is from the side edge of the tool, and the radial cutting depth of the side edge will directly affect the cutting force and continuous cutting time of the tool, the use of step-cutters can significantly reduce the radial cutting force to increase the cutting stability domain and reduce the cutting instability.

The ratio *d* of the radial cut depth to the tool diameter is used as a variable to optimize the cutting stability, which are set as 0.8, 0.6, 0.4 and 0.2, respectively. Taking TriMule at initial position as an example, the cutting stability of different radial cutting depths is shown in Figure 16. As shown in the Figure 16, when *d* decreases from 1 to 0.4, the limit cutting depth of the stability region increases slightly. When *d* decreases from 0.4 to 0.2, the ultimate cutting depth in the stability region has also increased, but the increase is small relative to the case where *d* decreases from 1 to 0.4.

**Figure 16.** Stable lobe of TriMule with different radial cutting depths at Position 1. (**a**) *d* = 0.8. (**b**) *d* = 0.6. (**c**) *d* = 0.4. (**d**) *d* = 0.2.

The stability lobe diagrams of TriMule at the initial position with the ordinary helical milling cutter and the step-cutter were drawn respectively in Figure 17, and the cutting forces are collected in Figure 18. As shown in Figures 17 and 18, step-cutters significantly increase the cutting stability domain and reduce cutting forces. Furthermore, the decrease of the period over the same time is conducive to reducing the excitation of the cutter.

The aperture and roundness of the hole containing ordinary and step-cutters to characterize the precision of the milling hole. Figure 19 is shown the accuracy comparison of helical milling hole between ordinary cutter and step-cutter. By comparing the machining accuracy of helical milling with an ordinary cutter and a step-cutter, it can be concluded that the step-cutter can effectively reduce the aperture error under various parameter combinations. When the cutting depth is 0.4 mm and 0.6 mm with the spindle speed of 3000 r/min, the optimization effect is most obvious. The average aperture error decreased by 63.2%. The step-cutter can also effectively reduce the roundness error—particularly in the condition of large cutting depth and low spindle speed, the roundness error optimization is the most obvious. The average roundness error is reduced by 67.7%.

**Figure 17.** Stability lobes of initial position for ordinary helical milling cutter and step-cutter. (**a**) Ordinary helical milling cutter. (**b**) Step-cutter.

**Figure 18.** Cutting force of ordinary and step-cutter (Position 1, *n* = 1000 r/min, *ap* = 0.2 mm). (**a**) Ordinary helical milling cutter. (**b**) Step-cutter.

**Figure 19.** Accuracy comparison of helical milling hole between ordinary cutter and step-cutter. (**a**) Aperture error. (**b**) Roundness.

In order to verify that the step-cutter can effectively improve the quality of the machined surface, the roughness of the inner wall of the hole at different rotational speeds at the same location was measured using a roughness measuring instrument and compared with the roughness of the inner wall of the hole diameter machined with an ordinary cutter, as shown in Figure 20.

**Figure 20.** Roughness of helical milling holes surface with ordinary cutter and step-cutter. (**a**) *n* = 1000 r/min. (**b**) *n* = 2000 r/min. (**c**) *n* = 3000 r/min.

As shown in Figure 20, the surface roughness of helical milling holes is compared between an ordinary cutter and step-cutter at different spindle speeds. It can be found that with the increase of spindle speed, the optimization of step-cutter for surface roughness becomes more obvious. In addition, it can be seen from Figure 20c that the surface processed by step-cutter avoids the dramatic increase in roughness with the increase of axial feed per revolution, and still maintains good reliability. This is because the step-cutter can reduce the cutting force and increase the period of cutting force. The larger the machining parameters are, the greater the cutting force is, and the more obvious the optimization of step-cutter is. The surface roughness of titanium alloy helical milling hole is reduced by 30.7% on average.

#### **5. Conclusions**

The FEA software is used to analyze the variation of the static stiffness of the endeffector of the PKM at different positions. The cutting force model of titanium alloy helical

milling based PKM is established, and the cutting force coefficients are identified. The static stiffness at the initial position is obviously better than that at other positions. The modal parameters and vibration modes of the PKM under different positions are obtained by simulation and hammer tests. The 1st order natural frequency is least affected by position, while the 3rd order natural frequency is most affected. A 3-DOF prediction model for the stability in helical milling based on the PKM is established, and the stability lobe diagram of seven positions and poses is obtained. The influence of position on stability region is analyzed. In order to reduce the influence of cutting instability on the machining quality, the machining process is optimized by using step-cutters. The step-cutter can significantly reduce the aperture error (63.2%), roundness (67.7%) and surface roughness (30.7%). The study of the stability of helical milling on titanium alloy provided a basis for further optimization of machining technology in the future.

**Author Contributions:** Conceptualization, M.S. and Z.H.; methodology, M.S.; software, Z.H.; validation, S.L., H.L. (Hao Li) and X.Q.; formal analysis, S.L.; investigation, M.S.; resources, X.Q.; data curation, S.L.; writing—original draft preparation, M.S.; writing—review and editing, Z.H.; visualization, H.L. (Hao Li); supervision, H.L. (Haitao Liu); project administration, X.Q.; and funding acquisition, X.Q., S.L. and H.L. (Hao Li). All authors have read and agreed to the published version of the manuscript.

**Funding:** This research was funded by National Natural Science Foundation of China (Grant numbers: 51775373 and 52075380), and Natural Science Foundation of Tianjin (Grant number: 19JCYBJC19000).

**Institutional Review Board Statement:** Not applicable.

**Informed Consent Statement:** Not applicable.

**Data Availability Statement:** Not applicable.

**Conflicts of Interest:** The authors declare no conflict of interest.

#### **References**


## *Article* **Elasto-Dynamic Modeling of an Over-Constrained Parallel Kinematic Machine Using a Beam Model**

**Hélène Chanal 1,\*, Aurélie Guichard 2, Benoît Blaysat <sup>1</sup> and Stéphane Caro <sup>3</sup>**


**\*** Correspondence: helene.chanal@sigma-clermont.fr

**Abstract:** This article deals with the development of a simple model to evaluate the first natural frequencies of over-constrained parallel kinematic machines (PKMs). The simplest elasto-dynamic models are based on multi-body approaches. However, these approaches require an expression of the Jacobian matrices that may be difficult to obtain for complex PKMs. Therefore, this paper focuses on the determination of the global mass and stiffness matrices of an over-constrained PKM in stationary configurations without the use of Jacobian matrices. The PKM legs are modeled by beams. Because the legs are connected to a moving platform and the mechanism is over-constrained, constraint equations between the parameters that model the deformation of each leg are determined according to screw theory. The first natural frequencies and associated modes can then be determined. It should be noted that the proposed method can be easily used at the conceptual design stage of PKMs. The Tripteor X7 machine is used as an illustrative example and is characterized experimentally.

**Keywords:** parallel kinematic machine tool; over-constrained system; elasto-dynamic model; screw theory

#### **1. Introduction**

Parallel Kinematic Robots are used in many fields such as medicinal, aerospace, rehabilitation, and astronomy [1]. In industry, parallel kinematic robots are mainly used for pick-and-place operations [2]. However, a few Parallel Kinematic Machine Tools (PKMs) are used in the automotive or aeronautical industries for High-Speed Machining (HSM) operations [3]. Their dynamic performances, in terms of acceleration, are better for an equivalent motorization than Serial Kinematic Machine Tools (SKMs) due their closed-loop architecture [4]. However, the design of these closed-loop architectures imposes to control leg size that reduces mobile masses and leads to a loss of stiffness compared to SKM [5,6].

One way to improve PKM stiffness behavior is to use an over-constrained architecture. To this aim, an over-constrained PKM, named Exechon, was designed by Neumann [7], and the PCI-SCEMM company chose to integrate an Exechon robot into the design of Tripteor X7 machine tool (Figure 1). An over-constrained system is considered to be a hyperstatic system which is defined by the IFToMM terminology as a system in which the distribution of internal forces depends on the material properties of the members of the system [8]. Thus, an over-constrained PKM is defined as a PKM with common or redundant constraints that can be removed without changing the kinematic properties of the mechanism [9]. Thus, the study of an over-constrained mechanism behavior can be complex due to the generation of static indeterminacy and geometric constraints [10].

Previous work highlights the impact on part quality of PKM vibrations during machining [11]. Depending on the machined part position, marks appear on the machined surfaces. To minimize these vibrations, it is of prime importance to express a parameterized elasto-dynamic model for over-constrained PKMs. Such a model enables the prediction

**Citation:** Chanal, H.; Guichard, A.; Blaysat, B.; Caro, S. Elasto-Dynamic Modeling of an Over-Constrained Parallel Kinematic Machine Using a Beam Model. *Machines* **2022**, *10*, 200. https://doi.org/10.3390/ machines10030200

Academic Editor: Antonio J. Marques Cardoso

Received: 4 February 2022 Accepted: 8 March 2022 Published: 10 March 2022

**Publisher's Note:** MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

**Copyright:** © 2022 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https:// creativecommons.org/licenses/by/ 4.0/).

<sup>1</sup> Clermont Auvergne INP, Institut Pascal, CNRS, Université Clermont Auvergne, F-63000 Clermont-Ferrand, France; benoit.blaysat@uca.fr

of static and vibration behavior during the conceptual design stage. Moreover, as PKM behavior is anisotropic and changes regarding the tool pose, the elasto-dynamic model of the PKM should be fast to compute to quickly obtain its stiffness, its first natural frequencies and associated modes throughout the manipulator workspace.

**Figure 1.** Tripteor X7 Parallel Kinematic Machine Tools.

Two main methods are classically used in the literature to express the elasto-dynamic model of an over-constrained PKM:


In this article, multi-body approach, a robust but simple approach to obtain a parameterized elasto-dynamic model, is preferred to the use of complex and time-consuming FEA. The prediction of vibration phenomena requires the determination of the first natural frequencies and their associated modes. In [16,17], this is performed by computing the global mass matrix and the global stiffness matrix. However, the computation of mass and stiffness matrices is complex in the case of over-constrained mechanisms such as Exechon PKM. Indeed, the complex coupling between displacement vector components due to over-constrained properties must be considered during the sub-systems matrix assembly stage. Thus, the application of this approach to over-constrained PKMs requires the determination of Jacobian matrices to characterize kinematic dependencies due to closed-loop over-constrained mechanisms [16,21] or the definition of a complex methodology to merge stiffness matrices of each PKM element [19]. Those Jacobian matrices describe the kinematic behavior of PKMs by derivation of the geometric model as in Germain's [16] and Zhang's [17] works. Geometric model or closed-loop constraints of complex PKM, such as Exechon robot, can sometimes not be computed in a systematic and straightforward way [16,22]. For example, the expression of the geometric model of an Exechon robot is based on a system of nonlinear equations that are not easy to establish [23]. Moreover, its solving requires a numerical optimization with the Newton-Raphson method.

This paper aims to introduce a reliable and simple method to compute global mass and stiffness matrices for over-constrained PKMs, under the assumption of small displacements and using screw theory. This methodology is relevant for high-stiffness architectures such as machine tools and industrial robots where flexibility generates only small displacements. These mathematical tools allow defining geometric dependencies of leg movements without the computation of Jacobian matrices [24]. Screw theory is used both:


There are different ways to parameterize the orientation of a rigid body such as quaternion [27]. The choice of screw theory ensures use of the same representation for the actuation and constraint wrenches applied to the moving platform by the actuators and the geometry of the mechanism.

This second point is the main contribution of our work and allows us to take into account stress due to over-constrained with geometric constraint equations extracted only from the screw theory application to the passive joints. With this method, the computation of global mass and stiffness matrices is easy to implement. It assumes only geometrical constraints between displacement vector components without the introduction of the Jacobian matrices. Global mass and stiffness matrices are then computed to estimate PKM Cartesian stiffness, the first natural frequencies and their associated modes. This work is relevant at the embodiment design stage of the robot when only a parameterized CAD modeling of the PKM under study is available. Indeed, at this stage, a fast computation time is required to assess the capability of the PKM in terms of vibration behavior and to determine the optimal architecture and dimensions of the robot under design. During the next design stages, when accurate simulation results are needed, FEA can be preferred although it is more computation intensive.

It should be noted that the revolute joints of the Tripteor legs are stiff; their stiffness is larger than 1.04 × 109 <sup>N</sup>·m−<sup>1</sup> [28]. Moreover, the stiffness of the spherical wrist of the Tripteor is even more important. As a consequence, and for the sake of clarity, only the deflection of Tripteor X7 PKM legs is considered in what remains. The joint deflection can be taken into account by adding local stiffness such as with the Virtual Joint Method [29].

The paper is organized as follows: Section 2 presents the Tripteor X7 PKM and its parametrization. Section 3 describes the proposed method to express the elasto-dynamic model of PKMs and to compute their natural frequencies. As an illustrative example, the stiffness matrix, the natural frequencies and associated modes of the Tripteor X7 PKM are computed in Section 4. Finally, conclusions and future work are drawn in Section 5.

#### **2. Tripteor X7 PKM**

Tripteor X7 PKM is manufactured by the PCI-SCEMM company in France. It is a hybrid PKM. Its architecture is a combination of a parallel mechanism and a serial wrist mounted in series. Such a hybrid manipulator ensures the decoupling of translational and rotational motion of the end-effector. Moreover, hybrid manipulators usually have a better dexterity than fully parallel manipulators as explained in [30].

Tripteor X7 PKM is a six-axis PKM with the following actuated joint variables (*q*1, *q*2, *q*3, *q*4, *q*5) shown in Figure 2 and one-DoF rotary table represented in Figure 1. The revolute joint variable of this rotary table is denoted as *q*6. A parallel mechanism provides three Degrees of Freedom (DoFs) from the actuation of three ball screw systems (*q*1, *q*<sup>2</sup> and *q*3) and a serial wrist with two DoFs from the actuation of two revolute joints with direct and belt drives (*q*<sup>4</sup> and *q*5). The elongations *q*1, *q*<sup>2</sup> and *q*<sup>3</sup> of Leg 1, Leg 2 and Leg 3 provide translational motions of the moving platform along axis **x***b*, **y***<sup>b</sup>* and axis **z***<sup>b</sup>* with induced rotational motions about axis **x***<sup>b</sup>* and axis **y***m*. The serial wrist ensures rotational motions of the end-effector.

The paper aims to introduce a new methodology to compute natural frequencies of over-constrained closed-loop mechanism in the case of PKM. Thus, only the vibration behavior of the parallel mechanism composed of Leg 1, Leg 2, Leg 3 and the mobile platform (4) is studied in this paper (Figure 2). If a study of the complete PKM should be carried, a simple assembly of global mass and stiffness matrices of the parallel mechanism and the serial wrist can then be carried out.

**Figure 2.** Kinematic model of Tripteor X7 PKM.

Each leg is connected to the mobile platform (4) by a revolute joint and to the fixed platform (0) by two revolute joints which form a universal joint (Figure 2). It is worth noting that Leg 2 has a supplementary revolute joint around its principal axis. Consequently, bending and traction-compression loads are prescribed to Leg 2 whereas Legs 1 and 3 are loaded in bending, traction-compression, and torsion [28]. The mobile platform is supposed to be rigid. Because stiffness and low frequencies are of primal importance in machining [11], an efficient and fast way to compute those frequencies is described in this paper. For this purpose, a local model of a PKM leg under bending, tractioncompression, and torsion loads is introduced before the definition of constraint equations due to mechanism assembly.

#### **3. Elasto-Dynamic Modeling of PKMs**

This section introduces the novel elasto-dynamic modeling approach and its application to PKMs. For the sake of pedagogy, we introduce our method for PKMs with telescopic legs such as the Tripteor X7 (Figure 3). *Ai* and *Bi* are the leg extremities. *Ai* is attached to the PKM base and *Bi* is fixed to the mobile platform. The coordinate system associated with the fixed base is denoted as R*<sup>b</sup>* = (*O*, **x***b*, **y***b*, **z***b*) and with the mobile platform as R*<sup>m</sup>* = (*P*, **x***m*, **y***m*, **z***m*). **z***<sup>i</sup>* is the unit vector along leg *i* direction.

This method can be applied to any PKMs whose legs can be modeled by beams.

**Figure 3.** Definition of used parameters for PKM with telescopic legs.

#### *3.1. Local Modeling of PKM Leg*

First, each leg is modeled assuming the usual Euler-Bernoulli beam theory. It is worth noting that this model considers the usual mechanical loads, which are bending, tractioncompression, and torsion conditions. Each leg is considered to be being connected at one of its ends via a given joint to a fixed part (Figure 4). This boundary condition depends on the joint type used for connecting the leg to the fixed base. In this sub-section, we first study the modeling and the parameter definition of a leg assuming generic boundary conditions to elaborate a leg stiffness matrix **K***e* and a leg mass matrix **M***e* in the leg coordinate system. With a generic beam model, leg kinematics are defined through six displacement functions, which correspond to the displacement of the neutral axis. **u**(*x*) is the vector that collects those displacement functions:

$$\mathbf{u}(\mathbf{x})^T = \begin{bmatrix} u(\mathbf{x}) & v(\mathbf{x}) & w(\mathbf{x}) & \theta\_a(\mathbf{x}) & \theta\_\beta(\mathbf{x}) & \theta\_\gamma(\mathbf{x}) \end{bmatrix}^T \tag{1}$$

*u*(*x*) is the displacement along the neutral axis, *v*(*x*) and *w*(*x*) are the displacements along **fi**-direction and **fl**-direction. *θα*(*x*), *θβ*(*x*), and *θγ*(*x*) correspond to the small rotations about **ff**-axis, **fi**-axis and **fl**-axis, respectively. Using a Bernoulli beam theory, cross-sectional displacements and rotations satisfy the following equations:

**Figure 4.** Local leg model and displacement parameters.

Each kinematic function corresponds to a force function. In the following, **f***beam* denotes the force vector and **m***beam* is the moment vector such that:

$$\begin{cases} \mathbf{f}\_{b\text{cam}}(\mathbf{x}) = N(\mathbf{x})\mathbf{f}\mathbf{f} + T\_{\beta}(\mathbf{x})\mathbf{f} + T\_{\gamma}(\mathbf{x})\mathbf{f} \\ \mathbf{m}\_{b\text{cam}}(\mathbf{x}) = M\_{t}(\mathbf{x})\mathbf{f}\mathbf{f} + M\_{\beta}(\mathbf{x})\mathbf{f}\mathbf{i} + M\_{\gamma}(\mathbf{x})\mathbf{f} \end{cases} \tag{3}$$

where *N*(*x*) is the axial force, *Tβ*(*x*) and *Tγ*(*x*) are the shear forces, *Mt*(*x*) is the torsion moment, and *Mβ*(*x*) and *Mγ*(*x*) are the bending moments. As there is no distributed load, the governing equilibrium equations give:

$$\begin{cases} \frac{dN}{dx}(\mathbf{x}) = 0, \frac{dT\_{\beta}}{dx}(\mathbf{x}) = 0, \frac{dT\_{\gamma}}{dx}(\mathbf{x}) = 0 \\\\ \frac{dM\_{l}}{dx}(\mathbf{x}) = 0, \frac{dM\_{\beta}}{dx}(\mathbf{x}) - T\_{\gamma}(\mathbf{x}) = 0, \frac{dM\_{\gamma}}{dx}(\mathbf{x}) + T\_{\beta}(\mathbf{x}) = 0 \end{cases} \tag{4}$$

In addition, the kinematic and force functions are related to each other as follows:

$$N(\mathbf{x}) = E S \frac{d\mu}{d\mathbf{x}}(\mathbf{x}),\ M\_l(\mathbf{x}) = G I\_G \frac{d\theta\_\mathbf{z}}{d\mathbf{x}}(\mathbf{x}),\ M\_\theta(\mathbf{x}) = E I\_\theta \frac{d\theta\_\mathbf{\bar{\beta}}}{d\mathbf{x}}(\mathbf{x}),\ M\_\gamma(\mathbf{x}) = E I\_\gamma \frac{d\theta\_\gamma}{d\mathbf{x}}(\mathbf{x})\tag{5}$$

where *E* is the material Young's modulus, *S* is the cross-sectional area, and *IG*, *I<sup>β</sup>* and *I<sup>γ</sup>* are moments of area about **ff**-axis, **fi**-axis and **fl**-axis.

Combining Equations (2), (4) and (5), we can conclude that *u*(*x*) and *θα*(*x*) are linear functions, whereas *v*(*x*) and *w*(*x*) are polynomial functions of order 3. In a generic case, all kinematic functions can thus be defined through their nodal values expressed in Equation (6).

**u**(*x*) = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ *u*(0)+ *<sup>x</sup> <sup>q</sup>* (*u*(*q*)−*u*(0)) *v*(0)+*θγ*(0)*x*− <sup>2</sup>*θγ*(0)+*θγ*(*q*) *<sup>q</sup>* <sup>−</sup> <sup>3</sup>(*v*(*q*)−*v*(0)) *q*2 *x*2+ *θγ*(0)+*θγ*(*q*) *<sup>q</sup>*<sup>2</sup> <sup>−</sup> <sup>2</sup>(*v*(*q*))−*v*(0)) *q*3 *x*3 *w*(0)−*θβ*(0)*x*+ 2*θβ*(0)+*θβ*(*q*) *<sup>q</sup>* <sup>+</sup> <sup>3</sup>(*w*(*q*)−*w*(0)) *q*2 *<sup>x</sup>*2<sup>−</sup> *θβ*(0)+*θβ*(*q*) *<sup>q</sup>*<sup>2</sup> <sup>+</sup> <sup>2</sup>(*w*(*q*)−*w*(0)) *q*3 *x*3 *θα*(0)+ *<sup>x</sup> <sup>q</sup>* (*θα*(*q*)−*θα*(0)) *θβ*(0)−2 2*θβ*(0)+*θβ*(*q*) *<sup>q</sup>* <sup>+</sup> <sup>3</sup>(*w*(*q*)−*w*(0)) *q*2 *x*+3 *θβ*(0)+*θβ*(*q*) *<sup>q</sup>*<sup>2</sup> <sup>+</sup> <sup>2</sup>(*w*(*q*)−*w*(0)) *q*3 *x*2 *θγ*(0)−2 <sup>2</sup>*θγ*(0)+*θγ*(*q*) *<sup>q</sup>* <sup>−</sup> <sup>3</sup>(*v*(*q*)−*v*(0)) *q*2 *x*+3 *θγ*(0)+*θγ*(*q*) *<sup>q</sup>*<sup>2</sup> <sup>−</sup> <sup>2</sup>(*v*(*q*)−*v*(0)) *q*3 *x*2 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ (6)

**u***nod* denotes the vector collecting the nodal values of the kinematic functions (Figure 4) and is expressed as a 1 × 12 column vector:

$$\mathbf{u}\_{mod} = \begin{bmatrix} \mathbf{u}(0) \\ \mathbf{u}(q) \end{bmatrix} \tag{7}$$

Vectors **N***u*(*x*), **N***v*(*x*), **N***w*(*x*), **N***θα* (*x*), **N***θβ* (*x*) and **N***θγ* (*x*) express the nodal values as a function of *x* coordinate bounded between 0 and *q*, i.e., *x* ∈ [0, *q*]:

$$\begin{cases} \boldsymbol{u}(\boldsymbol{x}) = \mathbf{N}\_{\boldsymbol{u}}(\boldsymbol{x})^{T}\mathbf{u}\_{nod} \\ \boldsymbol{v}(\boldsymbol{x}) = \mathbf{N}\_{\boldsymbol{v}}(\boldsymbol{x})^{T}\mathbf{u}\_{nod} \\ \boldsymbol{w}(\boldsymbol{x}) = \mathbf{N}\_{\boldsymbol{w}}(\boldsymbol{x})^{T}\mathbf{u}\_{nod} \\ \boldsymbol{\theta}\_{\boldsymbol{a}}(\boldsymbol{x}) = \mathbf{N}\_{\boldsymbol{\theta}\_{\boldsymbol{a}}}(\boldsymbol{x})^{T}\mathbf{u}\_{nod} \\ \boldsymbol{\theta}\_{\boldsymbol{\beta}}(\boldsymbol{x}) = \mathbf{N}\_{\boldsymbol{\theta}\_{\boldsymbol{\beta}}}(\boldsymbol{x})^{T}\mathbf{u}\_{nod} \\ \boldsymbol{\theta}\_{\boldsymbol{\gamma}}(\boldsymbol{x}) = \mathbf{N}\_{\boldsymbol{\theta}\_{\boldsymbol{\gamma}}}(\boldsymbol{x})^{T}\mathbf{u}\_{nod} \end{cases} \tag{8}$$

From [31], the beam potential energy *Ep* is written as:

$$E\_{\mathcal{P}} = \frac{1}{2} \int\_{0}^{q} \left[ ES \left( \frac{du(\mathbf{x})}{d\mathbf{x}} \right)^{2} + GI\_{\mathcal{G}} \left( \frac{d\theta\_{\mathbf{a}}(\mathbf{x})}{d\mathbf{x}} \right)^{2} + EI\_{\mathcal{\boldsymbol{\beta}}} \left( \frac{d\theta\_{\mathbf{\bar{\beta}}}(\mathbf{x})}{d\mathbf{x}} \right)^{2} + EI\_{\mathcal{\boldsymbol{\gamma}}} \left( \frac{d\theta\_{\mathbf{\bar{\gamma}}}(\mathbf{x})}{d\mathbf{x}} \right)^{2} \right] d\mathbf{x} \tag{9}$$

From Equations (8) and (9), *Ep* can be expressed in a compact form as a function of the beam stiffness matrix **K***<sup>e</sup>* and **u***nod* as follows:

$$E\_p = \frac{1}{2} \mathbf{u}\_{mod}^T \mathbf{K}\_\mathbf{e} \mathbf{u}\_{mod} \tag{10}$$

With matrix **K***e* taking the form of Equation (11).

**K***<sup>e</sup>* = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ *ES <sup>q</sup>* 0 0 000 <sup>−</sup> *ES <sup>q</sup>* 0 0 000 <sup>0</sup> <sup>12</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>3</sup> 0 00 <sup>6</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>2</sup> <sup>0</sup> <sup>−</sup> <sup>12</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>3</sup> 0 00 <sup>6</sup>*EI<sup>γ</sup> q*2 0 0 <sup>12</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>3</sup> <sup>0</sup> <sup>−</sup> <sup>6</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>2</sup> 00 0 <sup>−</sup> <sup>12</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>3</sup> <sup>0</sup> <sup>−</sup> <sup>6</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>2</sup> <sup>0</sup> 00 0 *G IG <sup>q</sup>* 0 00 0 0 <sup>−</sup> *G IG <sup>q</sup>* 0 0 0 0 <sup>−</sup> <sup>6</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>2</sup> <sup>0</sup> <sup>4</sup>*EI<sup>β</sup> <sup>q</sup>* 00 0 <sup>6</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>2</sup> <sup>0</sup> <sup>2</sup>*EI<sup>β</sup> <sup>q</sup>* 0 <sup>0</sup> <sup>6</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>2</sup> 0 00 <sup>4</sup>*EI<sup>γ</sup> <sup>q</sup>* <sup>0</sup> <sup>−</sup> <sup>6</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>2</sup> 0 00 <sup>2</sup>*EI<sup>γ</sup> q* <sup>−</sup> *ES <sup>q</sup>* 0 0 000 *ES <sup>q</sup>* 0 0 000 <sup>0</sup> <sup>−</sup> <sup>12</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>3</sup> 0 00 <sup>−</sup> <sup>6</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>2</sup> <sup>0</sup> <sup>12</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>3</sup> 0 00 <sup>−</sup> <sup>6</sup>*EI<sup>γ</sup> q*2 0 0 <sup>−</sup> <sup>12</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>3</sup> <sup>0</sup> <sup>6</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>2</sup> 00 0 <sup>12</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>3</sup> <sup>0</sup> <sup>6</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>2</sup> <sup>0</sup> 00 0 <sup>−</sup> *G IG <sup>q</sup>* 0 00 0 0 *G IG <sup>q</sup>* 0 0 0 0 <sup>−</sup> <sup>6</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>2</sup> <sup>0</sup> <sup>2</sup>*EI<sup>β</sup> <sup>q</sup>* 00 0 <sup>6</sup>*EI<sup>β</sup> <sup>q</sup>*<sup>2</sup> <sup>0</sup> <sup>4</sup>*EI<sup>β</sup> <sup>q</sup>* 0 <sup>0</sup> <sup>6</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>2</sup> 0 00 <sup>2</sup>*EI<sup>γ</sup> <sup>q</sup>* <sup>0</sup> <sup>−</sup> <sup>6</sup>*EI<sup>γ</sup> <sup>q</sup>*<sup>2</sup> 0 00 <sup>4</sup>*EI<sup>γ</sup> q* ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ (11)

From [31], the beam kinetic energy *Ek* is defined as:

$$E\_k = \frac{1}{2}\rho \int\_0^\eta \iint\_S \mathbf{v}\_M^T \mathbf{v}\_M d\mathbf{x} dy dz \tag{12}$$

where *ρ* is the beam material density, and **v***<sup>M</sup>* is the point velocity along the beam expressed as:

$$\mathbf{v}\_M = \left(\dot{\boldsymbol{u}}(\mathbf{x}) + z\dot{\boldsymbol{\theta}}\_{\dot{\boldsymbol{\beta}}}(\mathbf{x}) - y\dot{\boldsymbol{\theta}}\_{\dot{\boldsymbol{\gamma}}}(\mathbf{x})\right)\mathbf{f}\mathbf{f} + \left(\dot{\boldsymbol{\psi}}(\mathbf{x}) - z\dot{\boldsymbol{\theta}}\_{\mathbf{d}}(\mathbf{x})\right)\mathbf{f}\mathbf{i} + \left(\dot{\boldsymbol{w}}(\mathbf{x}) + y\dot{\boldsymbol{\theta}}\_{\mathbf{d}}(\mathbf{x})\right)\mathbf{f}\mathbf{f} \tag{13}$$

Combining Equations (12) and (13) with the hypothesis that **fi**-axis and **fl**-axis are principal axes of inertia, the kinematic energy *Ek* writes:

$$\begin{split} E\_k = \frac{1}{2}\rho \mathbb{S} \int\_0^q \left( \dot{u}(\mathbf{x})^2 + \dot{v}(\mathbf{x})^2 + \dot{w}(\mathbf{x})^2 \right) d\mathbf{x} + \frac{1}{2}\rho I\_{\beta\beta} \int\_0^q \left( \dot{\theta}\_a(\mathbf{x})^2 + \dot{\theta}\_\beta(\mathbf{x})^2 \right) d\mathbf{x} \\ &+ \frac{1}{2}\rho I\_{\gamma\gamma} \int\_0^q \left( \theta\_a(\mathbf{x})^2 + \theta\_\gamma(\mathbf{x})^2 \right) d\mathbf{x} \end{split} \tag{14}$$

with *Iββ* and *Iγγ* the beam inertia about **fi**-axis and **fl**-axis. Equation (14) takes the following compact form:

$$E\_k = \frac{1}{2} \dot{\mathbf{u}}\_{n\alpha d}^T \mathbf{M}\_c \dot{\mathbf{u}}\_{n\alpha d} \tag{15}$$

with **u˙** *nod* the time derivative of vector **u***nod* and **M***<sup>e</sup>* the mass matrix of beam expressed in Equation (16).

**M***<sup>e</sup>* = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ *b* <sup>3</sup> 0 00 0 0 *<sup>b</sup>* <sup>6</sup> 0 00 0 0 0 <sup>13</sup> <sup>35</sup> *<sup>b</sup>*<sup>+</sup> <sup>6</sup>*ρIγγ* <sup>5</sup>*<sup>q</sup>* 00 0 *<sup>ρ</sup>Iγγ* <sup>10</sup> <sup>+</sup> <sup>11</sup>*<sup>c</sup>* <sup>210</sup> <sup>0</sup> <sup>9</sup>*<sup>b</sup>* <sup>70</sup> <sup>−</sup> <sup>6</sup>*ρIγγ* <sup>5</sup>*<sup>q</sup>* 00 0 *<sup>ρ</sup>Iγγ* <sup>10</sup> <sup>−</sup> <sup>13</sup>*<sup>c</sup>* <sup>420</sup> 0 0 <sup>6</sup>*ρ<sup>I</sup> ββ* <sup>5</sup>*<sup>q</sup>* <sup>+</sup> <sup>13</sup> <sup>35</sup> *<sup>b</sup>* <sup>0</sup> <sup>−</sup> *<sup>ρ</sup><sup>I</sup> ββ* <sup>10</sup> <sup>−</sup> <sup>11</sup>*<sup>c</sup>* <sup>210</sup> 0 00 <sup>9</sup>*<sup>b</sup>* <sup>70</sup> <sup>−</sup> <sup>6</sup>*ρ<sup>I</sup> ββ* <sup>5</sup>*<sup>q</sup>* <sup>0</sup> <sup>−</sup> *<sup>ρ</sup><sup>I</sup> ββ* <sup>10</sup> <sup>+</sup> <sup>13</sup>*<sup>c</sup>* <sup>420</sup> <sup>0</sup> 00 0 *a* 0 0 00 0 *<sup>a</sup>* <sup>2</sup> 0 0 0 0 <sup>−</sup> *<sup>ρ</sup><sup>I</sup> ββ* <sup>10</sup> <sup>−</sup> <sup>11</sup>*<sup>c</sup>* <sup>210</sup> <sup>0</sup> <sup>2</sup>*ρ<sup>I</sup> ββq* <sup>15</sup> <sup>+</sup> *<sup>d</sup>* <sup>105</sup> 0 00 *<sup>ρ</sup><sup>I</sup> ββ* <sup>10</sup> <sup>−</sup> <sup>13</sup>*<sup>c</sup>* <sup>420</sup> <sup>0</sup> <sup>−</sup> *<sup>ρ</sup><sup>I</sup> ββq* <sup>30</sup> <sup>−</sup> *<sup>d</sup>* <sup>140</sup> 0 <sup>0</sup> *<sup>ρ</sup>Iγγ* <sup>10</sup> <sup>+</sup> <sup>11</sup>*<sup>c</sup>* <sup>210</sup> 00 0 <sup>2</sup>*ρIγγ<sup>q</sup>* <sup>15</sup> <sup>+</sup> *<sup>d</sup>* <sup>105</sup> <sup>0</sup> <sup>−</sup> *<sup>ρ</sup>Iγγ* <sup>10</sup> <sup>+</sup> <sup>13</sup>*<sup>c</sup>* <sup>420</sup> 00 0 <sup>−</sup> *<sup>ρ</sup>Iγγ<sup>q</sup>* <sup>30</sup> <sup>−</sup> *<sup>d</sup>* <sup>140</sup> *<sup>b</sup>* <sup>6</sup> 0 00 0 0 *<sup>b</sup>* <sup>3</sup> 0 00 0 0 0 <sup>9</sup>*<sup>b</sup>* <sup>70</sup> <sup>−</sup> <sup>6</sup>*ρIγγ* <sup>5</sup>*<sup>q</sup>* 00 0 <sup>−</sup> *<sup>ρ</sup>Iγγ* <sup>10</sup> <sup>+</sup> <sup>13</sup>*<sup>c</sup>* <sup>420</sup> <sup>0</sup> <sup>13</sup> <sup>35</sup> *<sup>b</sup>*<sup>+</sup> <sup>6</sup>*ρIγγ* <sup>5</sup>*<sup>q</sup>* 00 0 <sup>−</sup> *<sup>ρ</sup>Iγγ* <sup>10</sup> <sup>−</sup> <sup>11</sup>*<sup>c</sup>* <sup>210</sup> 0 0 <sup>9</sup>*<sup>b</sup>* <sup>70</sup> <sup>−</sup> <sup>6</sup>*ρIββ* <sup>5</sup>*<sup>q</sup>* <sup>0</sup> *<sup>ρ</sup>Iββ* <sup>10</sup> <sup>−</sup> <sup>13</sup>*<sup>c</sup>* <sup>420</sup> 0 00 <sup>6</sup>*ρ<sup>I</sup> ββ* <sup>5</sup>*<sup>q</sup>* <sup>+</sup> <sup>13</sup> <sup>35</sup> *<sup>b</sup>* <sup>0</sup> *<sup>ρ</sup><sup>I</sup> ββ* <sup>10</sup> <sup>+</sup> <sup>11</sup>*<sup>c</sup>* <sup>210</sup> <sup>0</sup> 00 0 *<sup>a</sup>* <sup>2</sup> 0 0 00 0 *a* 0 0 0 0 <sup>−</sup> *<sup>ρ</sup><sup>I</sup> ββ* <sup>10</sup> <sup>+</sup> <sup>13</sup>*<sup>c</sup>* <sup>420</sup> <sup>0</sup> <sup>−</sup> *<sup>ρ</sup><sup>I</sup> ββq* <sup>30</sup> <sup>−</sup> *<sup>d</sup>* <sup>140</sup> 0 00 *<sup>ρ</sup><sup>I</sup> ββ* <sup>10</sup> <sup>+</sup> <sup>11</sup>*<sup>c</sup>* <sup>210</sup> <sup>0</sup> <sup>2</sup>*ρ<sup>I</sup> ββq* <sup>15</sup> <sup>+</sup> *<sup>d</sup>* <sup>105</sup> 0 <sup>0</sup> *<sup>ρ</sup>Iγγ* <sup>10</sup> <sup>−</sup> <sup>13</sup>*<sup>c</sup>* <sup>420</sup> 00 0 <sup>−</sup> *<sup>ρ</sup>Iγγ<sup>q</sup>* <sup>30</sup> <sup>−</sup> *<sup>d</sup>* <sup>140</sup> <sup>0</sup> <sup>−</sup> *<sup>ρ</sup>Izz* <sup>10</sup> <sup>−</sup> <sup>11</sup>*<sup>c</sup>* <sup>210</sup> 00 0 <sup>2</sup>*ρIγγ<sup>q</sup>* <sup>15</sup> <sup>+</sup> *<sup>d</sup>* 105 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ (16) with *<sup>a</sup>* <sup>=</sup> *<sup>ρ</sup>*(*Iββ*+*Iγγ*)*<sup>q</sup>* <sup>3</sup> , *<sup>b</sup>* = *<sup>ρ</sup>Sq*, *<sup>c</sup>* = *<sup>ρ</sup>Sq*<sup>2</sup> and *<sup>d</sup>* = *<sup>ρ</sup>Sq*3.

To compute the global mass and stiffness matrices, the constraints between the displacements of the leg extremities are determined in the next section.

#### *3.2. Constraint Equations*

The mobile platform is considered to be rigid for the elaboration of the constraint equations between the leg extremities. We therefore express the movement of the mobile platform due to leg flexibility in stationary configurations of the PKM architecture using screw theory [26] (Figure 5).

The small displacement screw T**<sup>m</sup>** of the mobile platform is influenced by displacement and rotation **u***i*(*qi*) of the leg *i* at point *Bi* regarding the movements of passive joints between leg *i* and mobile platform. A normalized screw is used to model passive joint movement [32]. Each movement between leg *i* and mobile platform is model with a one-DoF motion-screw:

$$\mathcal{S}\_{ik} = \begin{bmatrix} \mathcal{S}\_{\text{Fik}} \\ \mathcal{S}\_{\text{Sk}} \end{bmatrix} = \begin{cases} \begin{bmatrix} \mathbf{s}\_{ik} \\ \mathbf{s}\_{ik} \times \mathbf{r}\_{ik} \end{bmatrix} \text{if it is a rotational movement} \\\\ \begin{bmatrix} \mathbf{0} \\ \mathbf{s}\_{ik} \end{bmatrix} \text{if it is a prismatic movement} \end{cases} \tag{17}$$

where *k* = 1 to *ni* (*ni* is the number of equivalent one-DoF joints between leg *i* and mobile platform, *ni* = 1 for the case study), **s***ik* is a unit vector along the axis of the screw S*ik*, **r***ik* is a vector directed from any point on the screw axis to point *Bi*.

The computation of the movement transmitted by the leg to the mobile platform or vice versa can be done using the reciprocal screws of the motion-screws S*ik*. There is a unique normalized reciprocal screw system T <sup>⊥</sup> *ik* of order 5 of S*ik* [32]. For a rotational joint, the reciprocal system is a 5-system which includes all rotational screws whose axes intersect the joint axis and all prismatic screws whose axes are perpendicular to joint axes and all the combinations of the above reciprocal screw [32]. The relation between screw S*ik* and the five one-DoF reciprocal screws S<sup>⊥</sup> *ijk* is:

$$\left( \begin{bmatrix} \mathbf{0} & \mathbf{I}\_3 \\ \mathbf{I}\_3 & \mathbf{0} \end{bmatrix} \mathcal{S}\_{ik} \right)^T \mathcal{S}\_{ijk}^\perp = 0 \tag{18}$$

where **I**<sup>3</sup> is the 3 × 3 identity matrix, **0** is the 3 × 3 zero matrix, *j* = 1 to 5. Then, T <sup>⊥</sup> *ik* = (S<sup>⊥</sup> *ijk* with *j* = 1 to 5).

The small displacement screw is defined as T**<sup>m</sup>** = **! d***Bi* with **!** the rotation vector of the mobile platform and **d***Bi* the small displacement vector of point *Bi* (**d***Bj* = **d***Bi* + **b***ij* × **!** with **b***ji* the vector from *Bj* to *Bi*). For leg *i*, the relation between T*<sup>m</sup>* and **u***i*(*qi*) is written:

$$\prod\_{k=1}^{n\_i} \left( \sum\_{j=1}^{5} \mathcal{S}\_{ijk}^{\perp} \right) \left( \mathbf{u}\_i(q\_i) - \begin{bmatrix} \mathbf{R}\_{l\lproptoi \to l\lspace{0.0cm}m} \mathbf{R}\_{R\_m \to l\lspace{0.0cm}l\space{0.0cm}m} \mathbf{d}\_{B\_i} \\ \mathbf{R}\_{l\lproptoi \to b\small{cam}m} \mathbf{R}\_{R\_m \to l\lspace{0.0cm}l\space{0.0cm}m} \mathbf{1} \end{bmatrix} \right) = \mathbf{0} \tag{19}$$

where **R***legi*→*beam* is the rotational matrix between the beam coordinate system and the leg *i* coordinate system, and **R***Rm*→*legi* is the rotational matrix between the leg *i* coordinate system and the mobile platform coordinate system.

Constraint equations are defined by expressing Equation (19) for each leg and using small displacement screw properties.

In the same way, the nodal displacement **u***i*(0) is limited due to passive joints between the leg *<sup>i</sup>* and the fixed base. We note <sup>S</sup> *ik* the movement-screws between leg *i* and fixed base. Thus, the null nodal parameter is computed from:

$$\left(\prod\_{k=1}^{n\_i'} \left(\sum\_{j=1}^5 \mathcal{S}\_{ijk}^{'\;\;\perp}\right)\right) \mathbf{u}\_i(0) = \mathbf{0} \tag{20}$$

where *n <sup>i</sup>* is the number of equivalent one DoF joints between leg *i* and fixed base. For the case study, *n* <sup>1</sup> = *n* <sup>3</sup> = 2, *n* <sup>2</sup> = 3.

From Equations (19) and (20), constraint equations are grouped together as:

$$\mathbf{L\_D u\_D + L\_I u\_I = 0 \Rightarrow u\_D = -L\_D^{-1} L\_I u\_I} \tag{21}$$

where **uD** is a vector composed of the set of beam nodal dependent parameters extracted from all **u***i*(*qi*). Its size is equal to the rank of the equation system (19) for all legs. **uI** is a vector composed of the set of beam nodal independent parameters, which is not included in **uD**. The choice of **uD** and **uI** is not unique. The components of matrices **LD** and **LI** are the factor of vectors **uD** and **uI** components in Equations (19) and (20).

Equation (21) corresponds to a simple formulation of the closed-loop geometric constraints for over-constrained PKM and is the major contribution of the paper. The determination of stiffness and vibratory behavior of a PKM is based on the definition of its global mass and stiffness matrices. These matrices are defined in the following section.

#### *3.3. Mass Matrix Computation of Mobile Platform*

The mobile platform and the serial wrist are considered to be a point-mass *m* located at its center of mass *G*. Thus, kinematic energy *Ekm* writes:

$$E\_{km} = \frac{1}{2} m \mathbf{v}\_G^T \mathbf{v}\_G \tag{22}$$

**v***<sup>G</sup>* being the linear velocity of point *G*. Under the assumption of small displacement **v***<sup>G</sup>* is expressed as:

$$\mathbf{v}\_G = \dot{\mathbf{d}}\_G = \dot{\mathbf{d}}\_{B\_1} + \mathbf{g}\_1 \times \mathbf{i} \tag{23}$$

where **d***<sup>G</sup>* is the small displacement of point *G*, **d˙** *<sup>G</sup>* is its time derivative and **g**<sup>1</sup> is the vector from *G* to *B*1.

Equation (23) allows defining *Ekm* according to beam nodal parameters:

$$E\_{km} = \frac{1}{2} \begin{pmatrix} \dot{\mathbf{u}}\mathbf{D} \\ \dot{\mathbf{u}}\_{\mathbf{I}} \end{pmatrix}^{\top} \mathbf{M}\_{cm} \begin{pmatrix} \dot{\mathbf{u}}\mathbf{D} \\ \dot{\mathbf{u}}\_{\mathbf{I}} \end{pmatrix} \tag{24}$$

where **M***em* is the mobile platform mass matrix. To compute natural frequency of the system, this mass matrix is added to the legs mass matrix.

#### *3.4. Cartesian Stiffness Computation*

**K** is the global stiffness matrix of the PKM. It is obtained from the assembly of stiffness matrices **K***e* of the three legs such that:

$$\mathbf{K} = \begin{bmatrix} \mathbf{K\_D} & \mathbf{K\_{DI}} \\ \mathbf{K\_{DI}^T} & \mathbf{K\_I} \end{bmatrix} \tag{25}$$

where **KD** is the stiffness matrix corresponding to dependent beam nodal parameters **uD**, and **KI** corresponds to the independent ones **uI**. **KDI** is the coupling matrix.

From Equation (21), a decomposition between dependent and independent beam nodal parameters is used to express the potential energy *Ep*:

$$E\_p = \frac{1}{2} \begin{bmatrix} \mathbf{u\_D} \\\\ \mathbf{u\_I} \end{bmatrix}^T \begin{bmatrix} \mathbf{K\_D} & \mathbf{K\_{DI}} \\\\ \mathbf{K\_{DI}^T} & \mathbf{K\_I} \end{bmatrix} \begin{bmatrix} \mathbf{u\_D} \\\\ \mathbf{u\_I} \end{bmatrix} = \frac{1}{2} \mathbf{u\_I^T} \mathbf{\tilde{K}u\_I} \tag{26}$$

Consequently, this allows the introduction of the condensed matrix form **<sup>K</sup>** of the global stiffness matrix of the studied PKM, which now only depends on the independent beam nodal parameters, such that:

$$\mathbf{\tilde{K}} = \mathbf{L\_I^T} \left( \mathbf{L\_D^{-1}} \right)^T \mathbf{K\_D} \mathbf{L\_D^{-1}} \mathbf{L\_I} - \left( \mathbf{K\_{DI}^T} \mathbf{L\_D^{-1}} \mathbf{L\_I} + \left( \mathbf{K\_{DI}^T} \mathbf{L\_D^{-1}} \mathbf{L\_I} \right)^T \right) + \mathbf{K\_I} \tag{27}$$

The Cartesian stiffness matrix **Kc** can be introduced from the expression of the potential energy *Ep* according to:

$$E\_p = \frac{1}{2} \mathbf{u}\_\mathbf{I}^T \widetilde{\mathbf{K}} \mathbf{u}\_\mathbf{I} = \frac{1}{2} \mathbf{f} \mathbf{f} \mathbf{\hat{x}}^T \mathbf{K}\_\mathbf{c} \mathbf{f} \mathbf{f} \mathbf{\hat{x}} \tag{28}$$

where **ffix** is the small displacement vector of point *Om* expressed in the base frame. Thus, **ffix** = **R**−<sup>1</sup> *<sup>m</sup>* # **d***Bi* + **b***mi* × **!** \$ = **LXIuI** where **R***<sup>m</sup>* is the rotation matrix from the base frame to the mobile platform frame and **b***mi* is the vector from *Om* to *Bi*. Finally, the Cartesian stiffness matrix of the PKM is computed from **<sup>K</sup>**:

$$\mathbf{K\_{c}} = \left(\mathbf{L\_{XI}}\mathbf{L\_{II}^{T}}\right)^{-1} \mathbf{L\_{XI}} \breve{\mathbf{K}} \mathbf{L\_{XI}^{T}} \left(\mathbf{L\_{XI}}\mathbf{L\_{XI}^{T}}\right)^{-1} \tag{29}$$

Note that **Kc** is a 3 × 3 matrix and its components are the stiffness along the PKM base frame vectors.

#### *3.5. Natural Frequency Computation*

The global stiffness matrix **M** of the PKM is obtained from the assembly of the mass matrices **M***e* and **M***em* of the three legs and mobile platform, respectively. It is expressed as:

$$\mathbf{M} = \begin{bmatrix} \mathbf{M}\_{\text{D}} & \mathbf{M}\_{\text{DI}} \\ \mathbf{M}\_{\text{DI}}^{\text{T}} & \mathbf{M}\_{\text{I}} \end{bmatrix} \tag{30}$$

where **MD** is the mass matrix corresponding to dependent beam nodal parameters **uD**, whereas **MI** corresponds to the independent ones **uI**. **MDI** is the coupling matrices.

The decomposition between dependent and independent parameters is used to express the kinetic energy *Ek* as follows:

$$E\_k = \frac{1}{2} \begin{bmatrix} \mathbf{u\_D} \\ \mathbf{u\_I} \end{bmatrix}^T \begin{bmatrix} \mathbf{M\_D} & \mathbf{M\_{DI}} \\ \mathbf{M\_{DI}^T} & \mathbf{M\_I} \end{bmatrix} \begin{bmatrix} \mathbf{u\_D} \\ \mathbf{u\_I} \end{bmatrix} = \frac{1}{2} \mathbf{u\_I^T} \widetilde{\mathbf{M}} \mathbf{u\_I} \tag{31}$$

Consequently, this allows the introduction of the condensed matrix form of the global mass matrix **<sup>M</sup>** , which now only depends on the independent beam nodal parameters:

$$\boldsymbol{\Lambda} \cdot \boldsymbol{\tilde{M}} = \mathbf{L}\_{\mathrm{I}}^{\mathrm{T}} \left( \mathbf{L}\_{\mathrm{D}}^{-1} \right)^{\mathrm{T}} \mathbf{M}\_{\mathrm{D}} \mathbf{L}\_{\mathrm{D}}^{-1} \mathbf{L}\_{\mathrm{I}} - \left( \mathbf{M}\_{\mathrm{D}\mathrm{I}}^{\mathrm{T}} \mathbf{L}\_{\mathrm{D}}^{-1} \mathbf{L}\_{\mathrm{I}} + \left( \mathbf{M}\_{\mathrm{D}\mathrm{I}}^{\mathrm{T}} \mathbf{L}\_{\mathrm{D}}^{-1} \mathbf{L}\_{\mathrm{I}} \right)^{\mathrm{T}} \right) + \mathbf{M}\_{\mathrm{I}} \tag{32}$$

The eigenvalues *λev* and the associated eigenvector **u***ev* are determined from the spectral decomposition of matrix **<sup>M</sup>** <sup>−</sup>1**K**. The eigenvalues are the solutions of the polynomial det **<sup>M</sup>** <sup>−</sup>1**K** <sup>−</sup> *<sup>λ</sup>ev***<sup>I</sup>** = 0. The *i*th natural frequency *f*0*<sup>i</sup>* is expressed as a function of the *i*th

eignevalue *λevi* as follows: *f*0*<sup>i</sup>* = <sup>√</sup>*λevi* <sup>2</sup>*<sup>π</sup>* . The natural modes are the eigenvectors associated with those natural eigenvalues.

#### **4. Natural Frequencies and Modes of Tripteor X7**

The methodology described in Section 3 is applied in this section to calculate the natural frequencies and associated modes of the Tripteor X7 PKM.

#### *4.1. Identification of Null Legs Nodal Parameters*

The null nodal parameters of **u***i*(0) depend on the joint types between the legs and the base as shown in Figure 6. The first joint of Legs 1 and 3 with the base is a revolute joint about **fl**-axis, and the second joint is about **fi**-axis. Thus, for Legs 1 and 3, infinitesimal and reciprocal screw motion are the following:

$$\mathcal{S}'\_{i1} = \begin{pmatrix} 0 \\ 0 \\ 1 \\ 0 \\ 0 \\ 0 \end{pmatrix} \text{ and } \mathcal{S}'\_{i2} = \begin{pmatrix} 0 \\ 1 \\ 0 \\ 0 \\ 0 \\ 0 \end{pmatrix} \Rightarrow \sum\_{j=1}^{5} \mathcal{S}'\_{ij1} = \begin{pmatrix} 1 \\ 1 \\ 1 \\ 1 \\ 1 \\ 0 \end{pmatrix} \text{ and } \sum\_{j=1}^{5} \mathcal{S}'\_{ij2} = \begin{pmatrix} 1 \\ 1 \\ 1 \\ 1 \\ 0 \\ 1 \end{pmatrix} \tag{33}$$

**Figure 6.** Local parameters for Tripteor X7 legs.

Thus, from Equation (20), only *θβi*(0) and *θγi*(0) are not null.

For Leg 2, with the same methodology, we obtain that only *θα*2(0), *θβ*2(0) and *θγ*2(0) are not null (Figure 6b).

To compute the global mass and stiffness matrices, the motion constraints between the extremities of the three legs are explained hereafter.

#### *4.2. Constraint Equations*

The joints between Legs 1 and 3 and the mobile platform are revolute joints about **y***m*-axis (**fi**-axis) and the joint between Legs 2 and the mobile platform is a revolute joint about **x***m*-axis (**fl**-axis) (Figure 7). Thus, the reciprocal motion-screws in the leg coordinate system are:

$$\sum\_{j=1}^{5} \mathcal{S}\_{1j1}^{\perp} = \sum\_{j=1}^{5} \mathcal{S}\_{3j1}^{\perp} = \begin{pmatrix} 1 \\ 1 \\ 1 \\ 1 \\ 0 \\ 1 \end{pmatrix} \text{ and } \sum\_{j=1}^{5} \mathcal{S}\_{2j1}^{\perp} = \begin{pmatrix} 1 \\ 1 \\ 1 \\ 1 \\ 1 \\ 0 \end{pmatrix} \tag{34}$$

**Figure 7.** Parametrization of Tripteor mobile platform movement.

From Equation (19), the equation associated with the motion constraints between the mobile platform and the three legs of Tripteor X7 are the following:

$$\sum\_{j=1}^{5} \mathcal{S}\_{1j1}^{\perp} \left[ \mathbf{u}\_1(q\_1) - \begin{bmatrix} \mathbf{R}\_{l\lpropto1\stackrel{\sim}{\lnot}k\lpropto} \mathbf{R}\_{\mathcal{R}\_{\mathcal{W}}\rightarrow l\lpropto} \mathbf{d}\_{\mathcal{B}\_1} \\ \mathbf{R}\_{l\lpropto\stackrel{\sim}{\lnot}k\lpropto} \mathbf{R}\_{\mathcal{R}\_{\mathcal{W}}\rightarrow l\lpropto} \mathbf{1} \end{bmatrix} \right] = \mathbf{0} \tag{35}$$

$$\sum\_{j=1}^{5} \mathcal{S}\_{2j1}^{\perp} \left[ \mathbf{u}\_2(q\_2) - \begin{bmatrix} \mathbf{R}\_{l\lpropto2} \rightarrow \operatorname{kcam} \mathbf{R}\_{\mathcal{R}\_{\mathcal{W}} \rightarrow l\lpropto2} \mathbf{d}\_{\mathcal{B}\_2} \\ \mathbf{R}\_{l\lpropto2} \rightarrow \operatorname{kcam} \mathbf{R}\_{\mathcal{R}\_{\mathcal{W}} \rightarrow l\lpropto2} \mathbf{1} \end{bmatrix} \right] = \mathbf{0} \tag{36}$$

$$\sum\_{j=1}^{5} \mathcal{S}\_{3j1}^{\perp} \left[ \mathbf{u}\_3(q\_3) - \begin{bmatrix} \mathbf{R}\_{l\text{cg3}\rightarrow\text{bcam}} \mathbf{R}\_{R\_{\text{on}}\rightarrow l\text{cg3}} \mathbf{d}\_{B\_3} \\ \mathbf{R}\_{l\text{cg3}\rightarrow\text{bcam}} \mathbf{R}\_{R\_{\text{on}}\rightarrow l\text{cg3}} \mathbf{1} \end{bmatrix} \right] = \mathbf{0} \tag{37}$$

**z**<sup>1</sup> (resp. **z**<sup>2</sup> and **z**3) is the unit vector along the direction of the *i*th prismatic joint, *i* = 1, 2, 3 as shown in Figure 8. The rotation matrix between the beam coordinate system and the leg coordinate system is expressed as:

$$\mathbf{R}\_{\text{beam}\to\text{lcg}} = \begin{bmatrix} 0 & 0 & 1 \\ 0 & 1 & 0 \\ -1 & 0 & 0 \end{bmatrix} \tag{38}$$

**Figure 8.** Leg and mobile platform coordinate systems and joint parametrization of Tripteor X7.

The angles between the legs and the mobile platform are *ϕ*<sup>24</sup> = (**z***m*, **z**1), *ϕ*<sup>94</sup> = (**z***m*, **z**2) and *ϕ*<sup>54</sup> = (**z***m*, **z**3) (Figure 8). These angles can be measured with a CAD model or computed with the geometric model of the Tripteor PKM described in [33]. With this notation, the rotation matrices between Legs 1, 2 and 3 and the mobile platform coordinate system R*<sup>m</sup>* are:

$$\mathbf{T}\_{\mathbb{I}\lhd\mathbb{1}\rightarrow\mathbb{R}\_{m}} = \begin{bmatrix} \cos\left(\varrho\_{24}\right) & 0 & \sin\left(\varrho\_{24}\right) \\ 0 & 1 & 0 \\ -\sin\left(\varrho\_{24}\right) & 0 & \cos\left(\varrho\_{24}\right) \end{bmatrix} \tag{39}$$

$$\mathbf{T}\_{\mathbb{I}\mathbb{1}\mathbb{X}\_2 \to \mathbb{R}\_m} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & \cos\left(\mathfrak{q}\_{\mathbb{94}}\right) & -\sin\left(\mathfrak{q}\_{\mathbb{94}}\right) \\ 0 & \sin\left(\mathfrak{q}\_{\mathbb{94}}\right) & \cos\left(\mathfrak{q}\_{\mathbb{94}}\right) \end{bmatrix} \tag{40}$$

$$\mathbf{T}\_{I\circ\mathbb{S}\mathbb{S}^{-1}\dashrightarrow R\_{\mathfrak{m}}} = \begin{bmatrix} \cos\left(\varrho\_{54}\right) & 0 & \sin\left(\varrho\_{54}\right) \\ 0 & 1 & 0 \\ -\sin\left(\varrho\_{54}\right) & 0 & \cos\left(\varrho\_{54}\right) \end{bmatrix} \tag{41}$$

Consequently, in the case of Tripteor X7, by the application of a small-displacement screw relation at point *B*<sup>1</sup> and from Equations (35)–(37), nine constraint equations are obtained. Nine dependent parameters are chosen:

$$\mathbf{u}\_{\mathbf{D}}^{\mathrm{T}} = \left(\boldsymbol{u}\_{2}(q\_{2}), \boldsymbol{v}\_{2}(q\_{2}), \boldsymbol{w}\_{2}(q\_{2}), \theta\_{\hat{\mathbb{R}}}(q\_{2}), \boldsymbol{u}\_{3}(q\_{3}), \boldsymbol{v}\_{3}(q\_{3}), \boldsymbol{w}\_{3}(q\_{3}), \theta\_{\mathbf{d}3}(q\_{3}), \theta\_{\boldsymbol{\gamma}^{\mathfrak{3}}}(q\_{\mathfrak{d}})\right) \tag{42}$$

Thus, 16 independent parameters are considered:

$$\mathbf{u}\_{1}^{T} = (\theta\_{\hat{\mathbb{R}}}(0), \theta\_{\gamma1}(0), u\_{1}(q1), v\_{1}(q\_{1}), w\_{1}(q\_{1}), \theta\_{a1}(q\_{1}), \theta\_{\hat{\mathbb{R}}}(q\_{1}), \theta\_{\gamma1}(q\_{1}), \theta\_{a2}(0),$$

$$\theta\_{\hat{\mathbb{R}}}(0), \theta\_{\gamma2}(0), \theta\_{a2}(q\_{2}), \theta\_{\gamma2}(q\_{2}), \theta\_{\hat{\mathbb{R}}}(0), \theta\_{\gamma3}(0), \theta\_{\hat{\mathbb{R}}}(q\_{3}) \text{ (43)}$$

The (9 × 9)-dimensional matrix **LD** and the (9 × 16)-dimensional matrix **LI**, obtained from Equations (35)–(37), and the chosen vectors **uD** and **uI**, are expressed in Equations (44) and (45).

**LD** = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 0 0 0 0 00 0 *sin*(*ϕ*54) −*cos*(*ϕ*54) 0 0 0 0 00 0 *cos*(*ϕ*54) *sin*(*ϕ*54) 0 00 −*sin*(*ϕ*94) 00 0 0 0 0 0 −10 0 0 0 0 −*sin*(*ϕ*94) −*cos*(*ϕ*94) 0 0 00 0 0 0 *cos*(*ϕ*94) −*sin*(*ϕ*94) 0 −*cos*(*ϕ*94)**b**12·**x***<sup>m</sup>* 00 0 0 0 0 00 0 *sin*(*ϕ*54) 0 −*cos*(*ϕ*54) 0 0 0 00 0 0 −10 0 0 0 00 −*cos*(*ϕ*94)**b**13·**x***<sup>m</sup> cos*(*ϕ*54) 0 *sin*(*ϕ*54) 0 0 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ (44) **LI** = ⎡ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎢ ⎣ 000 0 0 −*sin*(*ϕ*24) 0 *cos*(*ϕ*24) 000 0 0 000 000 0 0 −*cos*(*ϕ*24) 0 −*sin*(*ϕ*24) 000 0 0 000 000 0 0 −*cos*(*ϕ*24) 0 −*sin*(*ϕ*24) 000 *cos*(*ϕ*94) 0 000 000 −*sin*(*ϕ*24) *cos*(*ϕ*24) *cos*(*ϕ*24)**b**12·**y***<sup>m</sup>* 0 *sin*(*ϕ*24)**b**12·**y***<sup>m</sup>* 000 0 0 000 000 1 0 −*cos*(*ϕ*24)**b**12·**x***<sup>m</sup>* 0 −*sin*(*ϕ*24)**b**12·**x***MPS* 000 0 0 000 000 −*cos*(*ϕ*24) −*sin*(*ϕ*24) −*sin*(*ϕ*24)**b**12·**y***<sup>m</sup>* 0 *cos*(*ϕ*24)**b**12·**y***<sup>m</sup>* 000 0 −*sin*(*ϕ*94)**b**12·**x***<sup>m</sup>* 000 000 −*sin*(*ϕ*24) *cos*(*ϕ*24) 0 0 0 000 0 0 000 000 1 0 −*cos*(*ϕ*24)**b**13·**x***<sup>m</sup>* 0 −*sin*(*ϕ*24)**b**13·**x***<sup>m</sup>* 000 0 0 000 000 −*cos*(*ϕ*24) −*sin*(*ϕ*24) 0 0 0 000 0 −*sin*(*ϕ*94)**b**13·**x***<sup>m</sup>* 000 ⎤ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎥ ⎦ (45)

#### *4.3. Cartesian Stiffness Matrix*

As discussed in Section 2, Tripteor X7 is modeled as a structural assembly of three legs, which link the rigid fixed platform to the rigid mobile platform. The three legs are considered to be steel beams of rectangular cross-section of size consistent with Tripteor X7 legs (Figure 9).

**Figure 9.** CAD model of the Tripteor X7 PKM and cross-section of its first leg.

To compute the Cartesian stiffness matrix of the robot at point *Om*, the issue is to compute matrix **LXI** (Equation (29)). Finally, we can compute the stiffness map at a level *z* = 1.18 m for example (Figure 10).

**Figure 10.** Principal stiffness coefficients of the Tripteor X7 along X, Y and Z axes in the XY−plane, *z* = 1.18 m.

To plot Figure 11, the method was implemented in Matlab®. To emphasize the benefit of this proposed approach, the calculation was performed on a tablet PC with a I5-7300U processor. The time taken to compute this map is 128.72 s and is mainly due to the time needed to calculate the Inverse Kinematic Model (IKM) of Tripteor X7.

The main advantage of the method is the fast calculation of the natural frequencies and associated modes of over-constrained parallel robots.

#### *4.4. Natural Frequencies*

The proposed method is used for the calculation, with a low computational cost, of the first natural frequencies and associated natural modes of the Tripteor X7 PKM.

For this first computation, the leg lengths are *q*<sup>1</sup> = 1.212 m, *q*<sup>2</sup> = 1.314 m and *q*<sup>3</sup> = 1.22 m, and the mass of the mobile platform is considered to be 8 kg. The approach introduced in Section 3 is applied that gives the following estimations for the first natural frequencies in 0.4 s:

**f0** = ⎛ ⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎝ 46.37 Hz 51.26 Hz 52.35 Hz 90.20 Hz 140.11 Hz 249.16 Hz 297.70 Hz 328.35 Hz 350.00 Hz 389.74 Hz ⎞ ⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎠ (46)

The associated modes of the first three natural frequencies given in Equation (46) are schematized in Figure 11. The variation of first natural frequency value at a level *z* = 1.18 m is illustrated in Figure 12.

**Figure 11.** Modal shapes associated with the first tree natural frequencies of Tripteor X7.

**Figure 12.** Variation of the first natural frequency.

#### *4.5. Comparison with Experimental Results*

In the literature, previous works studied the modal analysis of the Tripteor X7 PKM architecture using a shaker in three configurations [34] (Figure 13). The displacements of several points of the PKM architecture are measured with accelerometers located on the legs, and on the spindle. Nine DoF are considered for each leg, eight about **fi**-axis or **fl**-axis and one about **ff**-axis, and four DoF for the spindle (Figure 14). The obtained results show four natural frequencies close to 40, 50, 70 and 90 Hz.

**Figure 13.** First natural frequency measurement.

**Figure 14.** Configuration of the Tripteor X7 for the experimental measurement.

The same configurations 1, 2 and 3 were considered with the proposed beam approach, and the associated results are given in Table 1. Experimental and simulated results are close for the first mode. For the other modes, the simplification of the legs modeling and the difference of mass distribution between the model and the real machine tool can explain the gap between estimated and measured natural frequencies. Indeed, the modeling of the leg under the assumption that their cross-section area is constant affects the leg stiffness, inertia and the position of its gravity center. This impact is different regarding the leg lengths and so to the studied configuration. It should be noted that this method is dedicated to the embodiment design of parallel manipulators. Therefore, such an error is acceptable, and the simplification of the leg shape allows the reduction of the calculation time of the elasto-dynamic model.


**Table 1.** Comparison of measured natural frequencies and calculated ones with the proposed method.

#### **5. Conclusions**

This paper described a new methodology to compute the first natural frequencies of over-constrained PKMs based on the application of screw theory under the assumption of small displacements. Specifically designed to require few computing resources, the obtained model enables the estimation of stiffness maps, first natural frequencies and associated modes in a simple way without computing any Jacobian matrix. The proposed methodology was validated by comparing the obtained theoretical natural frequencies and associated modes of the Tripteor X7 to the measured experimental values. Errors between experimental and simulated results are less than 13% for the first mode and 33% for the second and third modes.

As a conclusion, the proposed methodology allows the mathematical expression of the simplified elasto-dynamic model of over-constrained parallel robots to reduce considerably the computation time of their natural frequencies. This low computation time allows the designer of over-constrained parallel robots to quickly estimate the natural frequencies of candidate robot architectures at the conceptual design stage and thus make the right choices of robot architecture with respect to required elasto-dynamic performance and a given task.

Later, variations in leg cross-sections will be implemented and joint stiffness will be added as an additional stiffness at beam extremities.

**Author Contributions:** Conceptualization, H.C., A.G., B.B. and S.C.; methodology, H.C. and S.C.; validation, H.C.; formal analysis, H.C., B.B. and S.C.; writing—original draft preparation, H.C.; writing review and editing. All authors have read and agreed to the published version of the manuscript.

**Funding:** This research received no external funding.

**Acknowledgments:** This work was carried out within the Manufacturing 21 working group, which comprises 18 French research laboratories. The topics approached are: modeling of the manufacturing process, virtual machining, emergence of new manufacturing methods.

**Conflicts of Interest:** The authors declare no conflict of interest

#### **Abbreviations**

The following abbreviations are used in this manuscript:



#### **References**


MDPI St. Alban-Anlage 66 4052 Basel Switzerland Tel. +41 61 683 77 34 Fax +41 61 302 89 18 www.mdpi.com

*Machines* Editorial Office E-mail: machines@mdpi.com www.mdpi.com/journal/machines

MDPI St. Alban-Anlage 66 4052 Basel Switzerland

Tel: +41 61 683 77 34

www.mdpi.com

ISBN 978-3-0365-7253-6