Next Article in Journal
Optimization of Minimum Quantity Lubricant Conditions and Cutting Parameters in Hard Milling of AISI H13 Steel
Next Article in Special Issue
The Development of an Optimal Control Strategy for a Series Hydraulic Hybrid Vehicle
Previous Article in Journal
Correlation of Plastic Strain Energy and Acoustic Emission Energy in Reinforced Concrete Structures
Previous Article in Special Issue
Remote Control of a Mobile Robot for Indoor Patrol
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Reconfiguration for the Maximum Dynamic Wrench Capability of a Parallel Robot

1
Graduate Institute of Automation Technology, National Taipei University of Technology, 1, Section 3, Chung-Hsiao E. Road, Taipei 10608, Taiwan
2
Department of Mechatronic Engineering, National Taiwan Normal University, 162, Section 1, He-ping East Road, Taipei 10610, Taiwan
*
Author to whom correspondence should be addressed.
Appl. Sci. 2016, 6(3), 80; https://doi.org/10.3390/app6030080
Submission received: 10 November 2015 / Revised: 16 February 2016 / Accepted: 29 February 2016 / Published: 16 March 2016

Abstract

:
In this paper, a Stewart-platform robot with sliding lockable base joints is proposed for reconfiguration, and it addresses the determination of the optimal configuration for the prescribed motion with maximum allowable dynamic wrench capability subject to the constraints imposed by the kinematics and dynamics of the proposed reconfigurable architecture. The numerical results from the hierarchical optimization process allow us to investigate the effects of the base point locations on the maximum dynamic wrench capability. The effectiveness of the proposed algorithm is demonstrated in the improvement of the maximum allowable dynamic wrench capability of the reconfigurable Stewart-platform robot.

Graphical Abstract

1. Introduction

A parallel robot actually is a machine with a closed kinematic structure having more than 1 degree of freedom, and has therefore been used in a wide variety of applications due to its many advantages such as high stiffness, low inertia, precise positioning capability, and large force/torque capacity over their serial counterparts.
Recently, in the demand for flexibility, rapid changeover, or a specific task within the operational constraints, the reconfigurability of the parallel robot has proved to be important. Moreover, a parallel robot possessing an adjustable architecture can achieve a relatively larger workspace, and avoid singularities and interference among the system components along a prescribed trajectory. For now, two main approaches have been proposed for the reconfiguration of the parallel robot, one is based on a modular design, and the other is via a variable geometry methodology [1]. A modular reconfigurable parallel robot can be made through the integration of a set of adjustable joint modules and link modules, such that the parallel robot can generate various configurations by changing the number and types of the modules [2]. For example, Xi et al. [3] presented a reconfigurable parallel robot constructed by two base tripods, in which the first tripod is fixed to the moving platform, and branches of the second tripod are designed to be detachable from the moving platform such that this parallel robot can be reconfigured from six DOFs to three, four or five DOFs, respectively. Ji and Song [4] designed a reconfigurable 6-DOF Gough-Stewart platform whose reconfiguration is achieved through a modular design, such that any of the leg modules can be replaced by another with a different range of motion, and can be placed on the mobile platform as well as the base at any desired location and orientation. Even when these modules are assembled, the topologies of a parallel robot can be further changed for a task-specific architecture, thus its adaptability for changes can be maximized.
The variable geometry methodology is based on the rearrangement of the leg attachments on the base or on the moving platform so that the parallel robot geometry can be modified to adapt it to particular tasks. Borras et al. [5] presented a 5-SPU platform whose base leg attachments can be easily reconfigured, statically or dynamically, without altering its singularity locus. Kumar et al. [6] made an effort to characterize the parameters for developing a reconfigurable Stewart platform for a contour generation through the variable geometry approach. The trajectory with maximum stiffness for complex contours was then obtained by the generic approach along with the stiffness model. Research also showed that the placements of the legs and the moving ranges of the respective legs have a great effect on the shape and size of the workspace, accommodation of different task requirements, or even improving the stiffness of the parallel robots [4,7].
Although there are many designs to date for reconfigurable robots, most of these proposed systems are lower mobility mechanisms, i.e., three to five DOFs. As a result, it is not sufficiently flexible and reconfigurable for a manufacturing facility. In this paper, a six DOF Stewart-platform robot with sliding lockable base joints is proposed. The advantages of designing such a manipulator allow for added reconfiguration so that the mechanical properties can be changed passively and will improve its various applications. However, multiple configurations of a reconfigurable parallel robot also increase the difficulty of determining the optimum task-based geometry.
The current state-of-the-art as related to the research of the proposed Stewart-platform robot with sliding lockable base joints can be found in [6,8,9,10,11]. In [10], Coppola et al. conducted a multi-objective optimization procedure with weighted stiffness, dexterity and workspace volume as the performance indices to determine the geometric dimensions of a reconfigurable hybrid parallel robot dubbed ReSl-Bot. Therefore, the robot can perform as needed for the task at hand. Finistauri and Xi [11] presents a new method for the combined topological and geometric reconfiguration of a six DOF parallel robot to achieve task-based reconfiguration. Essentially, these reconfigurable parallel robots that vary their architecture to obtain different kinematic properties only consider the kinematics of a parallel robot. It is assured that taking into account the dynamics of a parallel robot for task-based reconfiguration has real application. Especially, to consider the maximum dynamic wrench capability along a specified trajectory and promptly varying the manipulator geometry in an optimal way is practically more useful.
In this paper, the architecture of the proposed Stewart-platform robot with sliding lockable base joints is determined based on the maximum allowable dynamic wrench capability. The dynamic wrench capability of a manipulator along a predefined trajectory is defined as the load which can be applied or sustained by a particular manipulator as the manipulator executes a specified task with the specified precision. Accordingly, the remainder of this paper regarding an optimal task-based reconfiguration study with the maximum dynamic wrench capability is structured as follows: in Section 2, taking into account external dynamic wrenches (applied force and/or moments), the governing equations for a six-DOF Stewart-platform robot with sliding lockable base joints are presented. In Section 3, the determination of the maximal dynamic wrench capability with respect to the locations of the links on the base is cast into the optimization problem, and then a hierarchical optimization process is proposed for the problem. Simulation results are presented and discussed in Section 4. Finally, Section 5 outlines a brief conclusion about this study.

2. Dynamics of the Stewart-Platform Robot with Sliding Lockable Base Joints

The geometric structure of the proposed Stewart-platform robot with sliding lockable base joints is illustrated in Figure 1, in which a base and a moving platform type of end-effector are connected to the base points through six extensible links i (i = 1, …, 6) with a spherical joint Bi at their upper end and a universal joint A i at their lower end. Each link is driven by a motor through a transmission comprising a ball screw system and a connected rod. Both ends of the connected rod are respectively attached to a linear guide installed on the ball screw and to the moving platform. Accordingly, each link in the parallel robot structure can be seen with two parts, i.e., a lower extensible part (designated hereafter as segment (1) comprising the ball screw system, and an upper fixed-length part (designated hereafter as segment (2) consisting of the linear guide and connected rod. When the ball screws are driven by the motors, the connected rods move in a direction along the corresponding link axes such that the positions and orientations of the platform type of end-effector can vary according to a desired task planning. Moreover, in order to optimally adjust the architecture geometry for the required performance, each universal joint A i , i.e., the base point, can be displaced along the linear guideway of the base. In addition, the applied dynamic wrench force f and wrench moment n are also introduced to the center of mass of the moving platform for the maximum dynamic wrench capability analysis of the reconfigurable parallel robot. Therefore, by displacing the base locations of each link along a linear guideway, the proposed reconfigurable parallel robot is capable of varying its geometry to fulfill a specified task with the maximum dynamic wrench capability.
In studying the optimal architecture of a reconfigurable parallel robot for maximum dynamic wrench capability, an appropriate inverse dynamics form is required. In comparing with other formatting algorithms for the dynamic equations of parallel robots, several methods such as the Newton-Euler formulation [12,13,14], virtual work principle [15,16], Kane’s method [17], kinematic influence coefficient theory [18], screw theory [19], and the Lagrangian formulation in generalized coordinates [20,21,22] are proposed to model and simulate the dynamics of parallel manipulators. However, these expressions are not structured enough, and are not appropriate for the dynamic wrench capability analysis. Therefore, following our previous development, the Boltzmann-Hamel-d’Alembert formula will be used to develop the required dynamics.
As shown in Figure 2, the associated frames are first assigned in developing the dynamics of the parallel robot for the dynamic wrench capability analysis. Here, an inertial coordinate system N-frame, x N y N z N , is fixed to the base and a second coordinate system B-frame, x b y b z b , is attached to the moving platform with its origin located at the platform’s center of mass, B, whose position vector with respect to the N-frame is denoted as p. Moreover, two parallel local coordinate systems, i.e., i1-frame and i2-frame with the corresponding origins Ai1 and Ai2, are attached to the segment 1 and segment 2 of the link i, respectively, and the position vector of Ai1 with respect to the N-frame is represented as ai. The position vector of the ball joint Bi with respect to the B-frame is defined as bi, and the length vector of link i from the universal joint Ai1 to the ball joint Bi with respect to the i1-frame is expressed as l i . Because the length vector of each link is an addition of the variable length vector l i 1 of the lower segment to the constant length vector l i 2 of the upper segment, the length vector of link i can be written as
l i = l i s i = l i 1 + l i 2 = ( l i 1 + l i 2 ) s i
where s i is an unit vector along the ith link axis and is expressed in the i1-frame; li, li1 and li2 are the respective length magnitudes of link i, as well as the lower segment and the upper segment of link i.
Because in the parallel robot structure there exist multiple closed-loop chain mechanisms, the geometric constraint equation based on a vector loop relationship can be formulated as
p + R B N b i = a i + R i N l i
In Equation (2), the rotation matrix R L N with subscripts L { B , i ( i = 1 , ... , 6 ) } represents the transformation from a local L-frame to the inertial N-frame. The time derivative of this rotation matrix can be expressed as
R ˙ L N = R L N ω ˜ L
in which ω ˜ L is a skew symmetric matrix formed from the angular velocity ω L = [ ω x ω y ω z ] L T with respect to a local body-fixed L-frame, i.e.,
ω ˜ L = [ 0 ω z ω y ω z 0 ω x ω y ω x 0 ] L
Moreover, the angular velocity ω L can be related to the time derivative of the Euler angles using a corresponding velocity transformation matrix C L such that
ω L = C L γ ˙ L
Taking a derivative on the constraint Equation (2), and using the fact that no spin is allowed about its link axis due to the connection of each link to the base by an universal joint, i.e.,
ω i T s i = 0
Thus, the sliding velocity and the angular velocity of link i with respect to the i1-frame can be obtained as
l ˙ i = l ˙ i 1 = ( R i N s i ) T p ˙ + ( R i N s i ) T R B N ω ˜ B b i
ω i = 1 l i s ˜ i R i N T ( p ˙ + R B N ω ˙ B b i )
where l ˙ i = l ˙ ι 1 implies that the sliding velocity of each link is equivalent to the relative sliding velocity between the two segments of the link. Furthermore, the corresponding sliding acceleration and angular acceleration of link i can be obtained by differentiating the Equations (7) and (8) as
l ¨ i = l ¨ i 1 = l i ( ω i T ω i ) + s i T R i N T ( p ¨ + R B N ω ˜ B ω ˜ B b i + R B N ω ˜ ˙ B b i )
ω ˙ i = 1 l i ( 2 l ˙ i ω i + s ˜ i R i N ( p ¨ + R B N ω ˜ B ω ˜ B b i + R B N ω ˜ ˙ B b i ) )
From Equations (7) and (8), the linear velocities of the links to the linear and angular velocities of the moving platform can be related by the following Jacobian matrix as
[ l ˙ 1 l ˙ 6 ] = J a c o b [ P ˙ ω B ]
where
Jacob = [ ( R 1 N s 1 ) T ( R 1 N s 1 ) T R B N b ˜ 1 T ( R 6 N s 6 ) T ( R 6 N s 6 ) T R B N b ˜ 6 T ]
In addition, each link is driven by a motor through a ball-screw transmission mechanism, so the effect of the ball-screw mechanisms on the dynamics is also included in accordance with
l ˙ i = p i α ˙ ι / 2 π
where the sliding velocity of the link i is related to the angular velocity α ˙ ι of the corresponding motor by means of the pitch (i.e., the advanced distance per revolution) p i of the ith ball screw.
Combining Equations (7) and (8), we can express, then expand these constraint equations in a velocity form as
Jv = J 1 v 1 + J 2 v 22 = 0
where v = [ v 1 T v 2 T ] T = [ p ˙ T ω B Τ l ˙ 11 l ˙ 61 ω 1 T ω 6 T ] T is composed of the corresponding velocities of the moving platform and the six links, and
J 1 = [ Jacob 1 l 1 s ˜ 1 R 1 N T ( 1 l 1 s ˜ 1 R 1 N T ) R B N b ˜ 1 T 1 l 6 s ˜ 6 R 6 N T ( 1 l 6 s ˜ 6 R 6 N T ) R B N b ˜ 6 T ]
J 2 = I 24 × 24 with Ι n × n is a n × n unit matrix.
From Equation (14), v 2 can be parameterized by v 1 as
v 2 = J 1 v 1
and then by differentiating Equation (16), the parameterized acceleration is
v ˙ 2 = J ˙ 1 v 1 + J 1 v ˙ 1
On the basis of the developed structured Boltzmann-Hamel-d’Alembert formulism for a parallel mechanism [23,24,25], the dynamics of the PR can be given as
( M 1 v ˙ 1 + D 1 v 1 + G 1 ) + J 1 T ( M 2 v ˙ 2 + D 2 v 2 + G 2 ) = Jaco b T L 1 τ [ R B N f n ]
in which v 1 = [ P ˙ T ω B T ] T are the velocities of the moving platform, v 2 = [ l ˙ 11 l ˙ 61 ω 1 T ω 6 T ] T are the sliding velocities and the angular velocities of the six links. Moreover, the matrices and vectors in Equation (18) are fully derived and explained in the Appendix. Also, it is noted that the applied dynamic wrench force f and wrench moment n are expressed in terms of the moving platform-fixed B-frame.
Equation (18) can be further simplified using the kinematic relationships Equations (16) and (17) to eliminate v 2 and v ˙ 2 so that the following equations of motion are yielded:
M p v ˙ 1 + D p v 1 + G p = f p
where M p = M 1 + J 1 T M 2 J 1 , D p = D 1 + J 1 T D 2 J 1 + J 1 T M 2 J ˙ 1 , G p = G 1 + J 1 T G 2 , f p = Jaco b T L 1 τ [ R B N f n ] .
Because the expressions for the rotations of the moving platform are in terms of the quasi-velocities and the corresponding derivatives, a velocity transformation matrix relating quasi-velocities to the time derivative of angular orientation coordinates is required for further describing the orientations of the moving platform in space. The velocity transformation is defined as
v 1 = C 1 x ˙
in which x ˙ = [ P ˙ T γ ˙ B T ] T , and γ B , generally defined by a set of Euler angles, specifies the orientations of the moving platform. Also, the velocity transformation matrix C 1 is defined as
C 1 = [ I 3 × 3 0 0 C B ]
where C B is for the angular velocity transformation of the moving platform.
Moreover, the applied wrenches can be expressed as
[ f n ] = [ ( s α f ) ( c β f ) ( s α f ) ( s β f ) c α f 0 0 0 0 0 0 ( s α n ) ( c β n ) ( s α n ) ( s β n ) c α n ] T [ f w n w ] = T w Q w
where fw and nw are the magnitudes of the dynamic wrench force and wrench moment; α and β are the angles of the applied wrenches with respect to the B-frame, and the subscripts f and n in Equation (22) respectively refer to the dynamic wrench force and wrench moment.
For the problem of the dynamic wrench capability, we wish to find the allowable maximum dynamic wrench of the reconfigurable parallel robot along a specified trajectory without the violation of constraints. Accordingly, the objective function is dynamic wrench capability that comprises the dynamic wrench force and wrench moment. Substituting Equation (20) together with its time derivative and Equation (22) into the equations of motion, Equation (19), gives rise to an inverse dynamics equation in true coordinates (p, γ B ):
[ Jaco b T L 1 [ R B N 0 0 I 3 × 3 ] T w ] [ τ Q w ] = M ¯ p x ¨ + D ¯ p x ˙ + G ¯ p
where M ¯ p = M p C 1 , D ¯ p = M ¯ p C ˙ 1 + D p C 1 , G ¯ p = G p , or more compactly,
Α eq ς = b eq
in which ς = [ τ T Q w T ] T include the input torques τ , and the dynamic wrench magnitudes Qw = [fw nw]T. It is seen that the proposed approach to the development of the governing dynamic model for the dynamic wrench capability analysis generates a structured linear parameter matrix-vector form with respect to the input torques and the magnitudes of the dynamic wrench force and wrench moment.

3. Reconfiguration for the Maximum Allowable DWC

In the determination of the maximum allowable dynamic wrench capability while driving the adjustable parallel robot along a specified trajectory, the aim is to find the maximum possible magnitudes of the dynamic wrenches as well as the optimal link attachments of the parallel robot via a reconfiguration. In other words, the position vectors ai of the universal joints Ai1 for the link i are defined as the undetermined design variables. In general, the optimized geometry (i.e., the position vectors ai) depends strongly upon the form of the cost function, the given trajectories, the applied wrench directions with respect to the moving platform and the associated constraints. Accordingly, an appropriate algorithm for optimizing the geometry considering the maximum allowable dynamic wrench capability is developed in this section.

3.1. Wrench Capability Formulation for a Predefined Trajectory

To maximize the dynamic wrenches, a linear weighting combination of the dynamic wrench force and wrench moment is defined as the cost function
G = G ( a 1 , , a 6 ) = λ T ς = [ 0 1 × 6 λ f λ n ] T ς
or equivalently to minimize the following fitness
G ¯ = G = λ T ς
in which the user-defined weighting coefficients λ f and λ n are used to weight the relative importance of the considered applied dynamic wrench force and dynamic wrench moment.
In order to ensure the practical feasibility of the adjustable parallel robot, the reconfiguration must take account of the physical constraints and design specifications imposed by the parallel robot structure as well as the actuator mechanism on the motion of the manipulator. Broadly speaking, the following inequalities are required to model these constraints:
Each motor i has a designed maximum output torque value τ i m a x . Accordingly, the motor torque τi is constrained as
| τ i τ i max | 1 , for    i = 1 , , 6
In addition, due to the specified moving range of the base points Ai, the distance from the origin of the N-frame must be confined to
γ i min | a i | γ i max , for    i = 1 , , 6
In the current study, the aim of this optimization problem is to determine the optimal configuration along the given task trajectory considering the maximum allowable dynamic wrench capability. The allowable dynamic wrench capability is defined as the following: firstly, by discretizing the task trajectory under a presumed configuration ai, the dynamic wrench force f w and wrench moment n w at each spaced point are obtained by minimizing the fitness function given in Equation (26) subject to the equality constraint Equation (22) and the inequality constraints formulated in Equations (27) and (28). Then, the minimal dynamic wrench force and wrench moment are searched along the trajectory and then substituted into the Equation (25) so that the cost function value is defined as the allowable dynamic wrench capability for the task-dependent trajectory.
Conventionally, a discretizing and searching method is applied to this constrained optimization problem by dividing each ai (i = 1, …, 6) into n discrete points between γ i min | a i | γ i max , and then for the specified trajectory, the corresponding allowable dynamic wrench capability for all the n6 configurations of the parallel robot can be determined by the constrained optimization method. Accordingly, the reconfiguration with the maximum allowable dynamic wrench capability can be made by comparing the n6 solutions. However, it is very time-consuming and arduous for a large n. Instead, a hierarchical optimization process is proposed in this paper.

3.2. Solution Procedure by a Hierarchical Optimization Process

In order to determine the position vectors ai which maximize the allowable dynamic wrench capability of the associated motion, a hierarchical optimization process combining two optimization algorithms is proposed. As aforementioned, firstly for the initial presumed position vectors ai (i = 1, …, 6) of the base points and at each discretizing point of the designated trajectory, the fitness function, Equation (26), is minimized under the constraint equations. Thus, the generated optimization process can be realized as a typical linear programming such that the Simplex-type linear programming method can be directly applied to determine the maximal dynamic wrench capability at each discrete point of the given trajectory. Next, from the obtained values, the minimum dynamic wrench force and moment are chosen as the allowable wrenches, and then the allowable dynamic wrench capability for this task trajectory is evaluated by substituting the minimum dynamic wrenches into the cost function, Equation (25).
Afterwards, the position vectors ai of the base points Ai are varied to maximize the allowable dynamic wrench capability. For this optimization process, a population-based optimization technique, differential evolution, is employed. The differential evolution method simulates a natural evolution with a stochastic direct search mechanism according to the distribution of solutions in the current population [26,27]. As the algorithm proceeds, all the chromosomes of the next generation are as good as or better than their counterparts in the current generation, and then the individual chromosomes gradually converge toward an optimal solution. Once the termination criteria have been attained (e.g., a specified number of iterations have been performed or the fitness error satisfies the minimum error requirement, for example), the algorithm terminates, and the current optimal chromosome is taken as the global optimal solution of the problem of interest. Due to a low computational complexity, differential evolution outperforms many other optimization methods in terms of convergence speed and robustness for some benchmark functions. Furthermore, differential evolution has very few control parameters to adjust and has therefore been applied to many diverse fields [28,29,30].
Based on the optimization procedures in the hierarchical optimization process, the differential evolution is a higher-level optimization solver for varying the position vectors of the base points, and the Simplex-type linear programming is designated as the lower-level optimization solver for the determination of the dynamic wrench capability. The procedures for the optimal geometry adjustment for a given trajectory can be described as follows:
(1)
The higher-level optimization process is randomly initialized with P parent individuals according to a uniform probability distribution in the D dimensional problem space. Each parent individual is a set of undetermined position vectors of the base points, namely X ^ p [ x p 1 x pD ] T = [ a p , 1 T ,…, a p , 6 T ] T , p = 1, …, P, and refers to a candidate solution in a D-dimensional space based on the differential evolution algorithm for the optimization problem. Also, these candidate solutions must respect the constraint Equation (28).
(2)
In the lower-level optimization process, for each individual p = 1, …, P, compute and record f w , n p and n w , n p , n = 1 , , N , for N discrete equally spaced points of the given trajectory by solving the linear programming problem for the minimization of the fitness function, Equation (26) with the equality and inequality constraints Equations (24) and (27).
(3)
Find the minimum dynamic wrench force f p , w and wrench moment n p , w for the individual p along the task trajectory by f p , w = min { f w , n p , n = 1 , , N } and n p , w = min { n w , n p , n = 1 , , N } .
(4)
In the ith generation of the differential evolution solution procedure, the allowable dynamic wrench capability G p = λ f f p , w + λ n n p , w in Equation (25) is evaluated using the minimum dynamic wrench force, f p , w and dynamic wrench moment, n p , w of each individual from the step (3).
(5)
Generate mutant individuals by adding a randomly selected individual to the difference of two other randomly selected individuals in the parent population according to the following equation:
Z ^ p ( i + 1 ) = X ^ r 1 ( i ) + f m [ X ^ r 2 ( i ) X ^ r 3 ( i ) ]
where p = 1,2, …, P is the individual’s index of population; i is the generation; Z ^ p ( i ) = [ z p 1 ( i ) , z p 2 ( i ) , , z p D ( i ) ] T represents the pth mutant vector via the mutation operation; r1, r2 and r3 are mutually different indices and also different from the running index, p, randomly selected with uniform distribution from the set {1, 2, …, p − 1, p + 1, …, P}; and fm > 0 is a mutation factor usually taken from the range [0.1, 1], and used to control the amplification of the difference between two parent individuals so as to avoid search stagnation.
(6)
For the components of each mutant vector, an index Rand(p) {1, 2, …, D} is randomly chosen using uniform distribution, and the crossover is employed to create a trial vector U ^ p ( i + 1 ) = [ u p 1 ( i + 1 ) , u p 2 ( i + 1 ) , , u p D ( i + 1 ) ] T by recombining parent and mutant vectors as the followings:
u p , j ( i + 1 ) = { z p , j ( i + 1 ) , x p , j ( i ) , i f ( r a n d ( j ) C R ) ( r a n d ( j ) > C R ) o r ( j = R a n d ( p ) ) ( j R a n d ( p ) )
where j = 1,2, …, D is the component index in D-dimensional individual, and rand(j) is the jth evaluation of a uniform random number generation with [0, 1], and CR is a crossover or recombination rate in the range [0, 1].
(7)
Repeat the steps (2)–(4) to calculate the allowable dynamic wrench capability in G using the trial vectors U ^ p ( i + 1 ) , p = 1, …, P, and then the cost function value of each trial vector U ^ p ( i + 1 ) is compared with that of its parent target vector X ^ p ( i ) . This selection procedure is to decide if the trial vector U ^ p ( i + 1 ) becomes a member of the population of the next generation. Thus,
X ^ p ( i + 1 ) = { U ^ p ( i + 1 ) , X ^ p ( i ) , i f o t h e r w i s e G ( U ^ p ( i + 1 ) ) > G ( X ^ p ( i ) )
In this case, if the allowable dynamic wrench capability in G of the target parent vector X ^ p ( i ) is larger than that of the trial vector, the target is allowed to advance to the next generation. Otherwise, the trial vector replaces the target vector to become a better offspring in the next generation.
(8)
Repeat the steps beginning from step (2) until it has reached a stopping criterion in accordance with the user-defined conditions, usually a maximum generation number is set for the stop criterion. Thus, X ^ best is the best individual vector for the optimal configuration with the best objective function value in this population.

4. Examples

In this section, the optimal locations of the base points for the reconfigurable parallel robot considering the maximum allowable dynamic wrench capability will be determined through numerical simulations. This section commences with the assumptions made in building the parallel robot system and in modeling its kinedynamic response, and then the simulation results are presented when specifying different types of adjustments on the base point locations for a prescribed task trajectory.

4.1. Kinematic Parameters and Differential Evolution Variables

The system parameters used for the simulation are given as the following,
(1)
Platform points in the B-frame:
B 2 j 1 = r B [ cos ( ( 2 j 1 ) π / 3 π / 18 sin ( ( 2 j 1 ) π / 3 π / 18 ) 0 ] T ,
B 2 j = r B [ cos ( ( 2 j 1 ) π / 3 ) sin ( ( 2 j 1 ) π / 3 0 ] T , j = 1 , , 3 with the radius of the moving platform r B = 0.3 m.
(2)
Base points in the N-frame:
A 2 j 1 = r A 2 j 1 [ cos ( 2 ( j 1 ) π / 3 ) sin ( 2 ( j 1 ) π / 3 0 ] T ,
A 2 j = r A j [ cos ( 2 ( j 1 ) π / 3 + π / 18 ) sin ( 2 ( j 1 ) π / 3 + π / 18 0 ] T , j = 1 , , 3 .
in which r A i , i = 1 , , 6 is the distance of the ith base point from the origin of the inertial N-frame. Inasmuch as the disposed base locations may not exceed the specified ranges, the distance of the ith base point can be assigned as
r A i = ( 1 η i ) r B + η i r Amax , 0 η i 1
where r Amax is the maximum allowable distance of the base points, and η i (i = 1, …, 6) are the proportional coefficients such that the positions of each base point will be confined between r B and r Amax = 1.5 m. As a result, the optimal geometry for the reconfigurable parallel robot with the maximum dynamic wrench capability is equivalent to finding the proportional coefficients.
Furthermore, all the links are considered to be identical and to have a lower segment of mass mi1 = 2 kg as well as an upper segment of mass mi2 = 1 kg. The lower segment of each link incorporates a ball-screw system with a pitch p i of 5 mm/rev. The unit vector s i expressed in the i1-frame is given by s i = [ 1 0 0 ] T . The gravity centers of the two segments of each link are respectively d i 1 = [ 0.5 0 0 ] T m and d i 2 = [ 0.5 0 0 ] T m. The constant length of the upper segment 2 is li2 = 1.0 m. The moments of inertia of these two segments of each link about their respective gravity centers in the local frame are I C i 1 = diag [0.001, 1, 1] kg·m2, I C i 2 = diag [0.0001, 0.4, 0.4] kg·m2. The moments of inertia of the segments 1 and 2 of each link about the respective joint points Ai1 and Ai2 in the local frame can be calculated using the parallel axes theorem as I ij = I C ij + m i j d ˜ ij T d ˜ ij , j = 1, 2. The vector of gravity is g = [ 0 0 9 . 81 ] T m/s2.
The trajectory of the center of mass B of the moving platform is given as p = [ 0.25 sin ( 0.4 π t ) 0.3 cos ( 0.4 π t ) 1.2 + 0.1 sin ( 0.8 π t ) ] T and γ Β = [ 0.2 sin ( 0.2 π t ) 0.3 cos ( 0.4 π t ) 0.25 sin ( 0.1 π t ) ] T , and the applied directions of the dynamic wrench force and wrench moment are individually specified as (αf, βf) = (π/6, π/3), and (αn, βn) = (π/3, π/6) with respect to the B-frame. Moreover, it is assumed that this trajectory satisfies the kinematic constraints of the parallel robot systems, i.e., the link lengths, velocities and accelerations. In addition, the maximum motor torques are specified as [ | τ 1 | | τ 6 | ] [3.5 4 2.5 2.5 3 3.5] Nm.
The rotation matrix R L N with subscripts L { B , i ( i = 1 , ... , 6 ) } is defined as
R L N = [ c ψ c θ s ψ c ϕ + c ψ s θ s ϕ s ψ s ϕ + c ψ s θ c ϕ s ψ c θ c ψ c ϕ + s ψ s θ s ϕ c ψ s ϕ + s ψ s θ c ϕ s θ c θ s ϕ c θ c ϕ ] L
where c ( · ) is a shorthand notation for cos ( · ) and s ( · ) for sin ( · ) . The Euler angles vector γ = [ ψ θ φ ] T is used to specify the orientation, which means that the inertial frame is rotated about the Z axis with ψ first, resulting in the primed frame; then about the y axis with θ, resulting in the double primed frame; and finally about the x axis with ϕ , resulting in the local frame. Moreover, the corresponding velocity transformation matrix
C L = [ s θ 0 1 c θ s ϕ c ϕ 0 c θ c ϕ s ϕ 0 ] L

4.2. Results and Discussion

In solving the maximum dynamic wrench capability problem of the reconfigurable parallel robot, the positive weighting numbers in Equations (25) and (26) are specified as [λf λn] = [1.0 2.0] considering the desired relative magnitudes of the dynamic wrench force and wrench moment for this given trajectory. Then, an initial determination of the maximum DWC was carried out in which the proportional coefficients for the base point locations were set to be η i = 0.1, (i = 1, …, 6), or the corresponding distances of the base points are r A i = 0.42 m. The trajectory is discretized into 51 points with the time step Δ t = 0.1 s. The maximum dynamic wrench capability at each point is calculated by the Simplex-type linear programming method, and hence the dynamic wrench force and wrench moment at each point of the prescribed trajectory is shown in Figure 3. It is shown that the minimum dynamic wrench force is 189.6962 N at time t = 2.3 s and the minimum dynamic wrench moment is 38.3488 Nm at time t = 5.0 s. Thus, the allowable dynamic wrench capability is 266.3938 for the specified initial base points.
As in the aforementioned, the proposed hierarchical optimization approach combining the differential evolution and the Simplex-type linear programming is used to perform a series of simulations in which the optimal base point locations for an improvement of the allowable dynamic wrench capability are obtained. Furthermore, the performance of a differential evolution algorithm for the formulated maximum dynamic wrench capability problem usually depends on three variables: the population size P, the mutation factor fm, and the recombination rate CR. Thus, in accordance with the results of a few trial and error simulations, in which P = 25, fm = 0.5 and CR = 0.8 are specified here for a trade-off consideration. In the example, the base points are displaced equidistantly such that only one proportional coefficient η is determined for the maximum allowable dynamic wrench capability. Figure 4 shows that the proposed hierarchical optimization algorithm for the maximum allowable dynamic wrench capability leads to a high convergence rate. The obtained convergent proportional coefficients in Figure 5 are η i = 0.3684, (i = 1, …, 6), or the corresponding distances of the base points are r A i = 0.7421 m. The corresponding allowable maximum dynamic wrench capability, the dynamic wrench force and wrench moment are 408.4895, 224.8770 N and 91.8063 Nm, respectively. It is found that the allowable dynamic wrench capability has been improved. Figure 6 presents the variations of the dynamic wrenches along the prescribed trajectory for this configuration. The minimum dynamic wrench force/moment are still at time t = 2.3 s and at time t = 5.0 s, respectively.
Moreover, Table 1 lists the convergence analyses for different population size P = 15, 25, 35. As shown, the population size P = 35 goes through fewer iterations to reach the specified convergence criteria because of the wider and more random coverage of the search space; however, the computation time increases with an increase in the required function evaluation. Therefore, the population size P = 25 is adopted for the differential evolution algorithm. Finally, the base points of the parallel robot are relocated individually to further improve the maximum allowable dynamic wrench capability using the proposed hierarchical optimization. Figure 7 and Figure 8 respectively present the convergence process for the maximum allowable dynamic wrench capability and the six base point positions. The obtained proportional coefficients are [ η 1 , , η 6 ] = [0.2038, 1.0000, 0.0000, 1.0000, 0.4576, 1.0000], and the corresponding maximum fitness value = 583.9285, the dynamic wrench force is 514.9908 N and the dynamic wrench moment is 34.4688 Nm. Also, the corresponding dynamic wrenches along the prescribed trajectory are shown in Figure 9. It can be found that the improved allowable dynamic wrench capability stems mainly from the increase of the minimum dynamic wrench force.
Table 2 gives the comparisons for the initial base point locations, the equidistant displaced base point locations and the respectively displaced base point locations. It is seen that the base locations have a critical effect on the allowable dynamic wrench capability of the reconfigurable parallel robot. Especially, in this case study, the allowable dynamic wrench capability for the optimal configuration with the respectively displaced base point locations can be increased 119.2%, better than that with the equidistantly displaced base locations which increases by 53.34% in the allowable dynamic wrench capability. Moreover, if we look into the torques for these three configurations as shown in Figure 10, some actuators saturate in order to maximize the dynamic wrench capability. Especially, at time t = 2.3 s, it can be seen that the dominant actuator 3 can exert larger torque through the optimal reconfiguration so that the minimal dynamic wrench force improves more. Finally, the numerical efficiency comparison is shown in Table 3. It is seen that a large amount of time is taken for computation for the conventional discretizing and searching method as compared to the proposed hierarchical optimization algorithm.

5. Conclusions

This study proposes a reconfigurable Stewart-based parallel robot and a scheme for the optimal reconfiguration according to the maximum allowable dynamic wrench capability instead of a trial-and-error selection. In the proposed approach, the closed-form inverse dynamics equation, which is linear with respect to the required dynamic wrenches and input torques, is first developed via a structured Boltzmann-Hamel-d’Alembert formula. Then, a hierarchical optimization process, combining the differential evolution algorithm for the higher-level optimization and the Simplex-type linear programming scheme for the lower-level optimization, is presented to search for the optimal base point locations for the maximal allowable dynamic wrench capability.
It is clear that optimally varying the base point locations leads to a very pronounced increase in the maximum allowable dynamic wrench capability. Finally, the presented generic analysis technique in this study can easily be generalized to the maximum dynamic wrench capability analyses of any other reconfigurable parallel robot domain, and suggests a practically useful way to promptly vary the parallel robot’s geometry.
The reconfigurable parallel robots offer considerably larger potential in optimizing velocities, force capabilities that in general may be presented by manipulability and force ellipsoids, energy-consumption, reduced machining time etc. These topics will be pursued as future works. Moreover, the presented analyses in this paper can be extended to dodecapod-parallel robots with on-line adaptable basis joint positions.

Author Contributions

Chun-Ta Chen conceived the topic and developed the equations; Chih-Jer Lin and Chun-Ta Chen analyzed the results and wrote the paper.

Conflicts of Interest

The authors declare no conflict of interest.

Appendix

Inertia matrix:
M 1 = [ m B I 3 × 3 0 3 × 3 0 3 × 3 I B ] ,
M 2 = [ diag [ m 12 , , m 62 ] diag [ m 12 s 1 T d ˜ 12 T , , m 62 s 6 T d ˜ 62 T ] diag [ m 12 d ˜ 12 s 1 , , m 62 d ˜ 62 s 6 ] diag [ I 1 , , I 6 ] ] ,
and I i = I i 1 + I i 2 m i 2 l i 1 2 s ˜ i 2 + m i 2 l i 1 ( s ˜ i T d ˜ i 2 + d ˜ i 2 T s ˜ i ) , i = 1 , , 6
Coriolis and centrifugal terms:
D 1 = [ 0 3 × 3 0 3 × 3 0 3 × 3 ( I B ω B ) T ] ,
D 2 = [ 0 6 × diag [ m 12 ω 1 T s ˜ 1 ( l 11 s ˜ 1 + d ˜ 12 ) , , m 62 ω 6 T s ˜ 6 ( l 61 s ˜ 6 + d ˜ 62 ) ] diag [ m 12 ( l 11 s ˜ 1 T + d ˜ 12 T ) s ˜ 1 ω 1 , , m 62 ( l 61 s ˜ 6 T + d ˜ 62 T ) s ˜ 6 ω 6 ] diag [ h 1 , , h 6 ] ] ,
where h i = m i 2 l ˙ i 1 ( l i 1 s ˜ i T + d ˜ i 2 T ) s ˜ i + ( ( I i 1 + I i 2 ) ω i ) T + m i 2 l i 1 ( ω i T d i 2 ) s ˜ i T , i = 1 , , 6
gravity vector:
G 1 = [ m B g 0 3 × 1 ] ,
G 2 = [ [ m 1 2 g T R 1 N s 1 m 6 2 g T R 6 N s 6 ] Τ [ g T R 1 N ( m 1 1 d ˜ 11 + m 1 2 l 1 1 s ˜ i + m 1 2 d ˜ 12 ) T g T R 6 N ( m 6 1 d ˜ 61 + m 6 2 l 6 1 s ˜ i + m 6 2 d ˜ 62 ) T ] T ]
The actuating torques: τ = [ τ 1 τ 6 ] T .
J 1 = [ Jacob 1 l 1 s ˜ 1 R 1 N T ( 1 l 1 s ˜ 1 R 1 N T ) R B N b ˜ 1 T 1 l 6 s ˜ 6 R 6 N T ( 1 l 6 s ˜ 6 R 6 N T ) R B N b ˜ 6 T ] ,
L = diag [ p 1 / 2 π p 6 / 2 π ] .
It is noted that the symbol “ ” in D1 and hi denotes a skew-symmetric matrix formed from the matrix-vector product. The skew-symmetric matrix is like the form in Equation (5).

References

  1. Plessis, L.J.; Snyman, J. An optimally re-configurable planar Gough-Stewart machining platform. Mech. Mach. Theory 2006, 41, 334–357. [Google Scholar] [CrossRef]
  2. Bi, Z.M.; Wang, L.H. Optimal design of reconfigurable parallel machining systems. Robot. Comput. Integr. Manuf. 2009, 25, 951–961. [Google Scholar] [CrossRef]
  3. Xi, F.; Xu, Y.; Xiong, G. Design and analysis of a re-configurable parallel robot. Mech. Mach. Theory 2006, 41, 191–211. [Google Scholar] [CrossRef]
  4. Ji, Z.; Song, P. Design of a reconfigurable platform manipulator. J. Rob. Syst. 1998, 15, 341–346. [Google Scholar] [CrossRef]
  5. Borras, J.; Thomas, F.; Ottaviano, E.; Ceccarelli, M. A reconfigurable 5-DoF 5-SPU parallel platform. In Proceedings of the ASME/IFToMM International Conference Reconfigurable Mechanisms Robots, London, UK, 22–24 June 2009; pp. 617–620.
  6. Kumar, S.G.; Nagarajan, T.; Srinivasa, Y.G. Characterization of reconfigurable Stewart platform for contour generation. Robot. Comput. Integr. Manuf. 2009, 25, 721–731. [Google Scholar] [CrossRef]
  7. Ji, Z. Analysis of design parameters in platform manipulators. ASME J. Mech. Des. 1996, 118, 526–531. [Google Scholar] [CrossRef]
  8. Vaida, C.; Plitea, N.; Lese, D.; Pisla, D. A parallel reconfigurable robot with six degrees of freedom. Appl. Mech. Mater. 2012, 162, 204–213. [Google Scholar] [CrossRef]
  9. Yeung, B.; Mills, J. Design of a six DOF reconfigurable gripper for flexible fixtureless assembly. IEEE Trans. Syst. Man Cybern. Part C 2004, 34, 226–235. [Google Scholar] [CrossRef]
  10. Coppola, G.; Zhang, D.; Liu, K. A 6-DOF reconfigurable hybrid parallel manipulator. Robot. Comput. Integr. Manuf. 2014, 30, 99–106. [Google Scholar] [CrossRef]
  11. Finistauri, A.D.; Xi, F. Reconfiguration analysis of a fully reconfigurable parallel robot. ASME J. Mech. Robot. 2013, 5, 17–34. [Google Scholar] [CrossRef]
  12. Do, W.; Yang, D. Inverse dynamic analysis and simulation of a platform type of robot. J. Robot. Syst. 1998, 5, 209–227. [Google Scholar] [CrossRef]
  13. Dasgupta, B.; Mruthyunjaya, T.S. A Newton-Euler formulation for the inverse dynamics of the Stewart platform manipulator. Mech. Mach. Theory 1998, 33, 1135–1152. [Google Scholar] [CrossRef]
  14. Dasgupta, B.; Mruthyunjaya, T.S. Closed-form dynamic equations of the general Stewart platform through the Newton-Euler approach. Mech. Mach. Theory 1998, 33, 993–1012. [Google Scholar] [CrossRef]
  15. Wang, J.; Gosselin, C.M. A new approach for the dynamic analysis of parallel manipulators. Multibody Syst. Dyn. 1998, 2, 317–334. [Google Scholar] [CrossRef]
  16. Tsai, L.W. Solving the inverse dynamics of a Stewart-Gough manipulator by the principle of virtual work. Trans. ASME J. Mech. Des. 2000, 122, 3–9. [Google Scholar] [CrossRef]
  17. Liu, M.J.; Li, C.X.; Li, C.N. Dynamics analysis of the Gough-Stewart platform manipulator. IEEE Trans. Robot. Autom. 2000, 16, 94–98. [Google Scholar]
  18. Wang, S.C.; Hikita, H.; Kubo, H.Y.; Zhao, S.; Huang, Z.; Ifukube, T. Kinematics and dynamics of a 6 degree-of-freedom fully parallel manipulator with elastic joints. Mech. Mach. Theory 2003, 38, 439–461. [Google Scholar] [CrossRef]
  19. Carbonari, L.; Battistelli, M.; Callegari, M.; Palpacelli, M.C. Dynamic modelling of a 3-CPU parallel robot via screw theory. Mech. Sci. 2013, 4, 185–197. [Google Scholar] [CrossRef]
  20. Gregorio, R.D.; Parenti-Castelli, V. Dynamics of a class of parallel wrists. Trans. ASME J. Mech. Des. 2004, 126, 436–441. [Google Scholar] [CrossRef]
  21. Lebret, G.; Liu, K.; Lewis, F.L. Dynamic analysis and control of a Stewart platform manipulator. J. Robot. Syst. 1993, 10, 629–655. [Google Scholar] [CrossRef]
  22. Pang, H.; Shahinpoor, M. Inverse dynamics of a parallel manipulator. J. Robot. Syst. 1994, 11, 693–702. [Google Scholar] [CrossRef]
  23. Chen, C.T.; Liao, T.T. Optimal path programming of the SPM using the Boltzmann-Hamel-d’Alembert dynamics formulation model. Adv. Robot. 2008, 22, 705–730. [Google Scholar] [CrossRef]
  24. Chen, C.T. Hybrid approach for dynamic model identification of an electro-hydraulic parallel platform. Nonlinear Dyn. 2012, 67, 695–711. [Google Scholar] [CrossRef]
  25. Chen, C.T.; Pham, H.V. Trajectory planning in parallel kinematic manipulators using a constrained multi-objective evolutionary algorithm. Nonlinear Dyn. 2012, 67, 1669–1681. [Google Scholar] [CrossRef]
  26. Storn, R.; Price, K. Differential evolution? A simple and efficient heuristic for global optimization over continuous spaces. J. Glob. Optim. 1997, 11, 341–359. [Google Scholar] [CrossRef]
  27. Storn, R. System design by constraint adaptation and differential evolution. IEEE Trans. Evol. Comput. 1999, 3, 22–34. [Google Scholar] [CrossRef]
  28. Hrstka, O.; Kucerova, A. Improvement of real coded genetic algorithm based on differential operators preventing premature convergence. Adv. Eng. Softw. 2004, 35, 237–246. [Google Scholar] [CrossRef]
  29. Price, K.V.; Storn, R.M.; Lampinen, J.A. Differential Evolution: A Practical Approach to Global Optimization; Springer: Heidelberg, Germany, 2005. [Google Scholar]
  30. Coelho, L.S.; Mariani, V.C. Combining of chaotic differential evolution and quadratic programming for economic dispatch optimization with valve-point effect. IEEE Trans. Power Syst. 2006, 21, 989–996. [Google Scholar]
Figure 1. Geometric structure of a reconfigurable motor-driven parallel robot.
Figure 1. Geometric structure of a reconfigurable motor-driven parallel robot.
Applsci 06 00080 g001
Figure 2. Coordinate systems of link and moving platform.
Figure 2. Coordinate systems of link and moving platform.
Applsci 06 00080 g002
Figure 3. Variations of dynamic wrenches at each point of prescribed trajectory.
Figure 3. Variations of dynamic wrenches at each point of prescribed trajectory.
Applsci 06 00080 g003
Figure 4. Allowable dynamic wrench capability versus iteration number for base point locations being displaced equidistantly.
Figure 4. Allowable dynamic wrench capability versus iteration number for base point locations being displaced equidistantly.
Applsci 06 00080 g004
Figure 5. Base point position versus iteration number for base point locations being displaced equidistantly.
Figure 5. Base point position versus iteration number for base point locations being displaced equidistantly.
Applsci 06 00080 g005
Figure 6. Variations of dynamic wrenches along prescribed trajectory for η i = 0.3684.
Figure 6. Variations of dynamic wrenches along prescribed trajectory for η i = 0.3684.
Applsci 06 00080 g006
Figure 7. Maximum allowable dynamic wrench capability versus iteration number for base point locations being displaced individually.
Figure 7. Maximum allowable dynamic wrench capability versus iteration number for base point locations being displaced individually.
Applsci 06 00080 g007
Figure 8. Base point positions versus iteration number for base point locations being displaced individually.
Figure 8. Base point positions versus iteration number for base point locations being displaced individually.
Applsci 06 00080 g008
Figure 9. Variations of dynamic wrenches along prescribed trajectory for [ η 1 , , η 6 ] = [0.2038, 1.0000, 0.0000, 1.0000, 0.4576, 1.0000].
Figure 9. Variations of dynamic wrenches along prescribed trajectory for [ η 1 , , η 6 ] = [0.2038, 1.0000, 0.0000, 1.0000, 0.4576, 1.0000].
Applsci 06 00080 g009
Figure 10. Torques with the maximum dynamic wrench capability for (a) initial; (b) equidistantly displaced; (c) individual displaced base point locations.
Figure 10. Torques with the maximum dynamic wrench capability for (a) initial; (b) equidistantly displaced; (c) individual displaced base point locations.
Applsci 06 00080 g010
Table 1. Convergence analyses for different particle numbers.
Table 1. Convergence analyses for different particle numbers.
Population Size P152535
No. of Iteration404025
Computation Time (s) 1.315 × 10 2 3.286 × 10 2 4.391 × 10 3
Fitness Value221.5172408.4895408.4831
Table 2. Results for three different types of base locations.
Table 2. Results for three different types of base locations.
Results[ η 1 , , η 6 ]Allowable DWC[fw, nw]
Initial base point locations[0.1, …, 0.1]266.394[189.696, 38.349]
Equidistant displaced base point locations[0.3684, …, 0.3684]408.490[224.877, 91.806]
Respectively displaced base point locations[0.2038, 1.0, 0.0, 1.0, 0.4576, 1.0]583.929[514.991, 34.469]
Table 3. Numerical efficiency analysis for different methods.
Table 3. Numerical efficiency analysis for different methods.
AlgorithmDiscretizing & SearchingHierarchical Optimization
Numbern = 25p = 25
Computation time (s) 6.272 × 10 4 8.125 × 10 2
Fitness value571.8061583.929

Share and Cite

MDPI and ACS Style

Lin, C.-J.; Chen, C.-T. Reconfiguration for the Maximum Dynamic Wrench Capability of a Parallel Robot. Appl. Sci. 2016, 6, 80. https://doi.org/10.3390/app6030080

AMA Style

Lin C-J, Chen C-T. Reconfiguration for the Maximum Dynamic Wrench Capability of a Parallel Robot. Applied Sciences. 2016; 6(3):80. https://doi.org/10.3390/app6030080

Chicago/Turabian Style

Lin, Chih-Jer, and Chun-Ta Chen. 2016. "Reconfiguration for the Maximum Dynamic Wrench Capability of a Parallel Robot" Applied Sciences 6, no. 3: 80. https://doi.org/10.3390/app6030080

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop