An Alternative Method for Shaking Force Balancing of the 3RRR PPM through Acceleration Control of the Center of Mass

The problem of shaking force balancing of robotic manipulators, which allows the elimination or substantial reduction of the variable force transmitted to the fixed frame, has been traditionally solved by optimal mass redistribution of the moving links. The resulting configurations have been achieved by adding counterweights, by adding auxiliary structures or, by modifying the form of the links from the early design phase. This leads to an increase in the mass of the elements of the mechanism, which in turn leads to an increment of the torque transmitted to the base (the shaking moment) and of the driving torque. Thus, a balancing method that avoids the increment in mass is very desirable. In this article, the reduction of the shaking force of robotic manipulators is proposed by the optimal trajectory planning of the common center of mass of the system, which is carried out by “bang-bang” profile. This allows a considerable reduction in shaking forces without requiring counterweights, additional structures, or changes in form. The method, already presented in the literature, is resumed in this case using a direct and easy to automate modeling technique based on fully Cartesian coordinates. This permits to express the common center of mass, the shaking force, and the shaking moment of the manipulator as simple analytic expressions. The suggested modeling procedure and balancing technique are illustrated through the balancing of the 3RRR planar parallel manipulator (PPM). Results from computer simulations are reported.


Introduction
One important problem in the operation of many industrial manipulators is the transmission of vibrations to the fixed frame during their high-speed motion. These vibrations are produced by the unbalanced inertia forces that increase the shaking force and shaking moment. Thus, a traditional and still very important research topic in robot design is finding new methods to remove or decrease these alternating dynamic loads transmitted to the base And, in this way, to reduce wear, allowing to increase the operating velocities.
The shaking force balancing, i.e., the reduction or, in the best case, elimination of the variation in the force transmitted to the base, is a problem that has been solved in different ways. One of the most popular and effective is mass redistribution. This method proposed by different authors was successfully introduced in Reference [1] using the "linear independent vectors" method. In general terms, the objective is to find the appropriate location of the center of mass of the links of the mechanisms in order to make the general Center of Mass (CoM) stationary for any motion of the manipulator.
Practical ways to move the CoM of the system and to make it stationary have been to add a set of counterweights [2][3][4][5], to add auxiliary structures [6][7][8][9], or to modify the form of the links from the early design phase [10][11][12]. A comprehensive review of the methods with illustrative examples can be seen in Reference [13]. Specific applications to robotics can be seen in Reference [14][15][16][17][18][19][20], and a review of these kinds of applications is in Reference [21].
However, all these methods imply a considerable increment in the mass of the system, causing the shaking moment and, hence, the driving torque to grow; see Reference [22]. An additional drawback of these methods is that they also imply modification of the original system, making its application somehow hard or complicated, leading to relatively complex mechanical systems increasing their size.
Recently, a new approach has been proposed. It is based on the optimal control of the manipulator global CoM [23,24]. The method is based on planning the displacements of the total CoM of the moving links. Its trajectory is defined as a straight line with "bang-bang" motion profile, ensuring solely the initial and final positions of the end-effector. This approach allows the reduction of the maximum value of the acceleration of the CoM, leading to a reduction in the shaking force.
In this work, this approach is resumed and presented using fully Cartesian coordinates, also known as natural coordinates [25]. The application of natural coordinates to the dynamic balancing of mechanisms in the plane has been explained in Reference [26]. An application to obtain the balancing conditions of planar mechanisms is described in Reference [27]. A specific application to the dynamic balancing of the four-bar mechanism, explaining the way to obtain the dynamic reactions to be used in an optimization procedure, can be found in Reference [28]. Initial efforts to use this approach to obtain the balancing conditions in spatial mechanisms can be seen in Reference [29].
The methods presented in References [23,24] use reference-point coordinates to calculate the position of the global CoM. Then, this position has to be expressed in terms of the degrees of freedom and some convenient relative coordinates. In this process, the kinematic constraints (vector closed-loop equations) that relate the reference-point coordinates and the selected relative coordinates are used. The process becomes somehow cumbersome when dealing with closed-loop mechanisms, especially in three-dimensional space.
One advantage of using fully Cartesian coordinates is that, in complex multibody systems, points and vectors can be chosen at the joints usually shared by contiguous bodies, contributing to a definition of joints with few or no constraint equations while keeping moderate the number of variables. Thus, the expressions necessary to calculate the general CoM, the shaking force, and the shaking moment of the system can be obtained in a direct and automated way. Another advantage is that the force balancing conditions, directly expressed in terms of the local coordinates of the CoM of the bodies, are obtained directly from the terms in the mass matrix. In the authors' perspective, this contributes to making the method based on the optimal control of the robot-manipulator center of mass faster and easy to perform.
In this article, the natural coordinates are used to obtain the analytical expressions to calculate the position of the general CoM, the shaking force, and the shaking moment of the 3RRR planar parallel manipulators (PPM).
The expressions to calculate the shaking force are used for the force balancing of the mechanisms applying the method based on the optimal control of the global CoM of the manipulator, as presented previously in References [23,30,31]. As a first approach, the acceleration of the global CoM is reduced using "bang-bang" law, proposing to partially balance the the manipulator without any addition of supplementary masses. As a second approach, a two-stage method is proposed. The first stage consists of the optimal redistribution of the driving links' masses using counterweights, securing convergence of the end-effector trajectory and the CoM of the manipulator. This mass redistribution is done without increasing the total mass of the original system, keeping the masses of the driving links the same value. In a second stage, the optimal control of the end-effector acceleration according to the "bang-bang" law is developed. The expressions for the shaking moment are used to verify the behavior of the mechanism before and after the force balancing.
The rest of the article is organized as follows: in Section two, a description of the modeling using fully Cartesian coordinates (natural coordinates), stressing the importance of the mass matrix of the body, is presented. Special attention is given to the mass of a link represented with two and three "basic points". Additionally, a general and easy to automate method to calculate the global CoM, the shaking force, and the shaking moment is introduced. In Section three, the method described in Section two is applied to calculate the shaking force balancing conditions of the 3RRR PPM and the partial force balancing following the approaches described in the previous paragraph. In Section four, all analytical expressions developed in Section three are used in a numerical example for an specific manipulator. Comparative results from computer simulations are presented. Finally, conclusions are given in Section five.

Modeling Using Fully Cartesian Coordinates
The idea behind the fully Cartesian coordinates, also known as natural coordinates, is to use the Cartesian coordinates of a set of appropriate points, the "basic points", to define the position of a solid in the plane or in the three-dimensional space. These coordinates are dependent, related by the rigid body conditions that keep constant distances and angles. The kinematic constraint equations can be formulated using the scalar product (dot product) of vectors, leading to quadratic constraint equations and linear terms in the Jacobian matrix.
The core application of this kind of coordinates is that, in a complex system, points can be shared between contiguous bodies. This contributes to the definition of joints with few or no additional constraint equations. Thus, a single set of variables define the position and the geometry of the bodies, directly in the global reference frame [32].
From the dynamics point of view, the mass of the bodies can be distributed among the points used for the model. These punctual masses are then related by the general mass matrix that holds implicitly the kinematic relations when properly assembled. This allows to treat the system as a cloud of moving points, avoiding the use of angular coordinates and consequently the direct use of the moment of inertia. Thus, the key point of the modeling technique is the assembly of the mass matrix of the system.

Mass Matrix of a Body in the Plane
When dealing with mechanical systems in the plain, natural coordinates introduce a set of points to define a body, two "basic points"; see [25] for a detailed explanation. These points concentrate the mass of all the bodies in the mechanical system in accordance to their relation among each other, expressed though the mass matrix. To calculate or assemble the mass matrix of the system, it is necessary to calculate the mass matrix of the elements first.
In planar systems, the standard model of a body is made with a pair of points, for example, A and B, as seen in Figure 1. In this figure, it can be noted an inertial fixed reference frame XY and a local reference frame xy attached to the moving body at the basic point A, its origin. It is also noted that the second basic point B has its position in local coordinates at (l b , 0) and that the CoM of the body, point g b , has local coordinates (x b , y b ).
Considering that the body b has its mass concentrated at g b equal to m b and that its polar moment of inertia with respect to the origin of the local reference frame (point A) is J b , it is possible to distribute the whole mass into the basic points A and B to form the constant mass matrix of a body as follows: Note that J b can be expressed in terms of the mass m b ; thus, the mass matrix can be expressed solely in terms of the mass of the body. In the same way as for the mass matrix in the model with two "basic points", this mass matrix has been obtained by applying the virtual power method [25].

Calculation of the Global Center of Mass of the System
When the model of a body is made with a pair of "basic points", a vector of four coordinates q b representing the positions vector of body b is introduced and can be expressed as follows: where q A and q B are the position vectors of points A and B, respectively. In this way, the position g b of the CoM of body b with respect to the global reference frame can be calculated by the following: In matrix form, it can be expressed as follows: where the matrix B b is introduced here to arrange the terms of the matrix multiplication to obtain the result in Equation (16). This matrix is composed by a set of (2 × 2) identity matrices, I 2 , that in number are equal to the number of basic points involved in the multiplication. In this case, matrix B b is as follows: As aforementioned, the system can be seen as a cloud of points coming from the corresponding model of each body. Thus, for a system with n bodies, the general position of the CoM, g, can be calculated by the following: where the total mass of the system, m, is: Using the points shared among bodies and following a proper assemblage procedure, the global CoM of the system can be calculated in a simple and easy to automated matrix multiplication as follows: The terms in Equation (21) will be exemplified in following sections by examples. The assembling procedure will be clear then.

Calculation of the Shaking Force of the System
Once the location of the global CoM of the system in Equation (21) is defined, its linear momentum can be calculated as its time derivative in a straightforward way: noting that B and M are constant matrices. The vectorq represents the time derivatives of the coordinates in q, meaning the velocities vector. The vectorġ represents the velocity of the CoM of the system. The shaking force of the system is in turn the time derivative of the linear momentum. Thus, in this case, the shaking force, f sh , can be calculated in a direct form as follows: whereq is the vector of accelerations of the coordinates of the points in the system, the accelerations vector, and whereġ is the acceleration of its CoM. It is important to note that some points are fixed; thus, its acceleration is zero. This simplifies the calculation in Equation (23).

Calculation of the Shaking Moment of the System
The shaking moment can be calculated as the time derivative of the angular momentum of the system. The angular momentum can be calculated straightforward, noting that the system is composed solely of a cloud of points. Thus, the angular momentum, h, can be calculated by the following: where p is the total number of points in the system, q i is the position vector of point i,q j is the velocity vector of point j, and M ij is the corresponding element of the mass matrix of the system at row i and column j. Note that the mass matrix is symmetric. The angular momentum in Equation (24) can be expressed in matrix form as follows: h =qMq (25) whereq is a row vector representing all the vector products in Equation (24) and has the following form: The shaking moment, τ sh , can be obtained by the time derivative of Equation (25) and can be expressed as follows: andq i = −ẏ iẋi . It is important to note that some points are fixed; thus, their velocities and accelerations are zero, simplifying the calculation in Equation (27). This advantage will be illustrated in the following sections with the application to a PPM.

Generic Model of the 3RRR PPM
In this case, the model of a 3RRR PPM manipulator, represented in Figure 3, is presented using fully Cartesian coordinates (natural coordinates), taking full advantage of this technique to obtain the global CoM position, the shaking force, and the shaking moment, as explained in Section 2. These equations in conjunction with the kinematic equations-positions, velocities, and accelerations-are used to develop a new and general procedure to solve this kind of problem either for planar or spatial mechanisms.

Kinematic Model of the 3RRR PPM in Fully Cartesian Coordinates
The fixed platform is an equilateral triangle defined by three points: A 1 , A 2 , and A 3 . The mobile platform is also an equilateral triangle defined by points: C 1 , C 2 , and C 3 . The three limbs, with two links each, are defined by points A 1 , B 1 , C 1 ; A 2 , B 2 , C 2 ; and A 3 , B 3 , C 3 , respectively. As it can be seen, all "basic points" in the model-A 1 , A 2 , A 3 , B 1 , B 2 , B 3 , C 1 , C 2 , and C 3 -are shared among the bodies. Point H represents the end-effector and is not part of the "basic points".
These points introduce a vector, q, of 18 Cartesian coordinates: Note the way that the coordinates are organized. This is very important in the assemblage procedure of the mass matrix of the system. Any order is possible, but once selected, it must be maintained throughout all the calculation. Vector q constitutes a set of dependent Cartesian coordinates related by a set of constraint equations.

Constraint Equations and Solution to the Positions Problem
The manipulator has three degrees of freedom; thus, the dependent coordinates in q are related by a set of 15 constraint equations, obtained from the constant distant condition among bodies. The vector of constraint equations, Φ(q) = 0, is presented in Equation (30).
Note that the equations in Equation (30) are nonlinear but quadratic, very simple, and easy to differentiate to get the a linear Jacobian matrix. Thus, the solution of the positions problem though numerical iterative procedures could be faster with the aid of symbolic computing software.

Solution to the Velocities Problem
The velocities problem can be solved differentiating Equations (30) with respect to time as follows: where ∂φ ∂q ≡ J is the Jacobian matrix and whereq is the vector of velocities of the Cartesian coordinates: The equations in Equation (31) are linear simultaneous and lead to the solution of the velocities problem.

Solution to the Accelerations Problem
The accelerations problem can be solved differentiating Equation (31) with respect to time as follows: Jq +Jq = 0 whereJ is time derivative of the Jacobian matrix and whereq is the vector of accelerations of the Cartesian coordinates:

Calculation of the Global CoM Location
To calculate the global CoM location, Equation (21) can be used. It is necessary to calculate or assembe the global mass matrix first. Thus, it is important to note that point B 1 is shared by bodies 1 and 2, point B 2 is shared by bodies 3 and 4, point B 3 is shared by bodies 5 and 6, point C 1 is shared by bodies 2 and 7, point C 2 is shared by bodies 4 and 7, and point C 3 is shared by bodies 6 and 7. In this case, following the same order specified in the positions vector, Equation (29), the (18 × 18) mass matrix is assembled as follows: In this case, matrix B has nine (2 × 2) identity matrices: Multiplying the terms in Equation (21) and simplifying, the final expression to calculate the global CoM position is as follows:

Calculation of the Shaking Force
Deriving Equation (37) once with respect to time, it is possible to calculate the linear momentum of the manipulator. Noting thatq A1 =q A2 =q A3 = 0, the linear momentum is expressed as follows: where l is the linear momentum andġ is the velocity vector of the global CoM. This equation, along with Equation (31), is very useful to solve the velocities problem.
To calculate the shaking force of the system, it is necessary to simply derive Equation (37) twice with respect to time. In this process, we have to note thatq A1 =q A2 =q A3 = 0; thus, the shaking force can be expressed by the following: where f sh is the shaking force andg is the acceleration vector of the global CoM.

Calculation of the Shaking Moment
To calculate the shaking moment of the manipulator, it is possible to use Equation (27). It is important to take into account that the velocities and accelerations of points A 1 , A 2 , and A 3 are zero. Multiplying and simplifying the terms in Equation (27), it is possible to write the following: where, in this case,q

Shaking Force Reduction of the 3RRR PPM
In this section, the partial shaking force balancing of the 3RRR PPM is presented. The solution is proposed with two different approaches: 1.
The first one is based on the optimal trajectory planning of the common CoM of the manipulator, which is carried out by "bang-bang" profile. This approach was introduced in Reference [13] and applied to a 3RRR PPM in Reference [31].

2.
The second one is implemented in two stages: the first stage consists of the optimal redistribution of the driving links' masses using counterweights, reaching the convergence of the end-effector's trajectory and the global CoM of the manipulator. The second stage consists of the development of an optimal control of the end-effector's acceleration according to the "bang-bang" law. A solution using this approach has been presented in Reference [30].
Unlike the solutions presented in References [30,31], in this case, the equations derived in the previous section were used, pointing out the calculation procedure as well as the advantages.
The application of the method developed in the previous section is illustrated with an specific 3RRR PPM, with the mass and length parameters specified in Table 1. The fixed points of the manipulator are located according to the following values:

Optimal Trajectory Planning of the Common CoM
A common problem in robotics is to impose a trajectory to the end-effector in order to comply with a specific task. In a simple way, without regarding the obstacle avoidance and the singular positions, this is done by defining the initial point and the final point of the tool's trajectory and then by applying a feasible law of motion between them. Usually a straight line imposes the appropriate velocity and acceleration conditions at the beginning and at the end.
If a cycloidal motion is imposed, assuring zero velocity and zero acceleration at the beginning and at the end of the trajectory, the motion law completed in a total time T and traveling a total distance L can be expressed as follows: where S is the distance traveled in function of time.
In this case, a manipulator with the parameters defined in Table 1  To calculate the global location of the CoM corresponding to a specific point of the tool, it is necessary to solve the initial position problem. This consists of determining the position of all the "basic points" in the system by knowing the positions of the fixed and input points, which can also be called guided or driven points, in this case, point H. Mathematically, the initial position problem in this case is reduced to calculate the position of the CoM corresponding to the input coordinates of the end-effector by solving the set of nonlinear Equations (30) and (37) simultaneously.
Conversely, now, it is desired to guide or drive the CoM of the manipulator to generate a corresponding trajectory for the end-effector. In this case, the trajectory imposed to the global CoM from its initial position to its final position follows a "bang-bang" profile as presented in Figure 5.
To calculate the trajectory of point H, corresponding to the defined trajectory of the CoM, it is necessary to solve the set of nonlinear equations in Equations (30) and (37) simultaneously for the known positions of the CoM. In this case, the resulting trajectory is presented in Figure 6.  As it can be seen in Figure 6, the trajectory of the CoM is a straight line. The corresponding trajectory of the end-effector of the manipulator is not straight; there is no linear relation between both trajectories. Note that, doing this, it can only be assured the initial and the final position of the original trajectory of the tool.
Once the positions of the manipulator are solved using Equations (30) and (37), it is possible to solve velocities and linear momentum, using Equations (31) and (47) simultaneously. Note that this new set of equations is linear; no iterative solution is required. Once the positions and velocities are known, it is possible to calculate the accelerations and the shaking force solving simultaneously Equations (33) and (48). Note again that this set of equations is linear. The result from guiding the CoM with a "bang-bang" profile, assuring a constant acceleration during its motion, is an elimination of the variation of the shaking force and a reduction in its magnitude as it can be seen in Figure 7. Once the positions, velocities, and accelerations of the "basic points" are solved, it is possible to calculate the shaking moment using Equation (49). Although guiding the CoM, assuring a constant acceleration, is focused on the elimination of the variation of the shaking force, it can also contribute to the reduction of the shaking moment and its variation. A shaking moment comparison is presented in Figure 8. The moment is calculated with respect to the origin of the global reference frame shown in Figure 3.

Redistribution of the Driving Links' Masses
A second strategy is to eliminate the variation of the shaking force of the manipulator following a two-stage procedure. The first stage is to redistribute the mass of the driving links in order to get a linear relation between the motion of the end-effector and the motion of the global CoM. This can be done by eliminating all the terms (making them equal to zero) in the matrices-C B1 , C B2 and C B3 -described in Equations (39), (42) and (45); thus, Equation (48) can be changed to calculate the shaking force as follows: Note that, in Equation (53), the terms in matrices C C1 , C C2 , and C C3 are constant. Additionally the motion of points C 1 , C 2 , and C 3 can be expressed in terms of the motion of point H and the rotation of the mobile platform (body 7). In this way, a linear relation between the motion of the end-effector and the motion of the CoM is achieved. Thus, assigning a "bang-bang" profile to the trajectory of the the tool and solving the corresponding inverse kinematics problem, it is possible to determine the motion of the driving motors, a very common problem in robotics.
As an advantage of using fully Cartesian coordinates modeling, it can be pointed out that the necessary conditions to redistribute the mass among the driving links are expressed directly in terms of the mass and the location of the CoM of the links 1 through 6. The conditions related to limb 1 are as follows: The conditions related to limb 2 are as follows: Finally, the conditions related to limb 3 are as follows: The easiest way to comply with the conditions of Equations (55), (57) and (59) is having the CoM of links 2, 4, and 6 inline between their respective joints. This is the case of the manipulator illustrated in this example; see the parameters in Table 1.
To comply with the conditions in Equations (54), (56) and (58), it is proposed to leave links 2, 4, and 6 as they are and to relocate the CoM of the driving links 1, 3, and 5 by adding counterweights or by changing their form (redistribution of mass). In this case, all links are equal; thus relocation of the CoM of the driving links can be done alike for the driving links. In this case, the relocation of the CoM in these links is achieved just by moving them in the x direction, keeping the following relation: where i = 1, 3, 5 and j = 2, 4, 6.
To keep the explanation of the method simple and to not distract attention from its application, the mass of the driving links are maintained in the same value: m 1 = m 3 = m 5 = 1 kg. Thus, the new location of the CoM of the driving links can be calculated by substituting values in Equation (60) as follows: With these new parameters, a "bang-bang" motion profile to the straight line trajectory of the end-effector is imposed from its initial point H i to its final point H f . Figure 9 shows the trajectories generated for the tool and for the CoM. Note the linear relation between them; the trajectory of the CoM is exactly over the trajectory imposed to the end-effector.
Once the positions of the manipulator are solved using Equations (30) and (37) as in the previous case, it is possible to solve velocities and linear momentum. Then, it is possible to calculate the accelerations and the shaking force solving simultaneously Equations (33) and (53). Note that this set of equations is linear. The corresponding calculated shaking force is presented and compared to the original case in Figure 10. Once the positions, velocities, and accelerations are solved, it is possible to calculate the shaking moment using Equation (49). The shaking moment comparison is presented in Figure 11. The moment is calculated with respect to the origin of the global reference frame shown in Figure 3.  . Shaking moment comparison: The blue curve is the shaking moment in the original manipulator. The red curve is the shaking moment when the mass of the driving links are redistributed and the tool is guided with a "bang-bang" profile.

Discussion
This paper has presented an alternative method, based on fully Cartesian coordinates for the modeling and generation of the shaking force and shaking moment reactions of mechanical systems in general. No angular variables were used at all. Different advantages with respect to previous modeling techniques have been pointed out, such as the ease to be automated and the direct way to get the dynamic reactions in analytical form. It has been also clear that the balancing conditions can be identified directly from the generated mathematical expressions. All these expressions are written in terms solely of the mass and of the local coordinates of the CoM of each body, making the them more clear.
The application to a 3RRR PPM is illustrated, and some interesting results have been presented. It is worth to mention that the nonlinear relation between the trajectory of the end-effector and the trajectory of the CoM of the manipulator is clearly shown. The advantages of guiding the CoM to minimize the shaking force are presented in a clear way, and the effects on the shaking moment are pointed out. Finally, the alternative of a mixed technique, combining balancing by redistributing the mass and the kinematic guidance of the end-effector using a proper motion profile, bang-bang in this case, is presented and its advantages are also shown. This research will continue for applications in spatial parallel manipulators and mechanical systems in general. Special attention will be paid additionally to the reduction or elimination of the shaking moment, following an alternative techniques different from the redistribution of mass. Kinematic redundancy combined with actuation redundancy could be a promising direction. Funding: This research was funded by Fomento a la Investigación UP 2019 for the project Balanceo Dinámico de Robots.

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