2. Mathematical Model
The mathematical model presented in this section was developed according to the theory of differentially flat systems [
24] for a robot moving in the horizontal plane.
Figure 1 shows the scheme of the planar robot with 3-DOF with 2 actuated joints and 1 passive joint. In this paper, the actuated joints are considered infinitely rigid. In order to consider the friction in the nonactuated joint, a viscous damper (with viscous coefficient
) was placed in parallel with the torsional spring (with stiffness
).
and
are the angular positions of the actuated joints, whereas
is the angular position of the nonactuated joint. The mass of the
i-th link prior to balancing is denoted by
, while the counterbalancing mass of the
i-th link is denoted by
. The barycentric moment of inertia of the
i-th element prior to balancing is represented by
;
is the distance from the center of mass of the
i-th link to the
i-th joint prior to balancing, and
is the total length of the
i-th link. The distance of the counterbalancing mass from the axis of the
i-th joint is denoted by
. The robot is designed to work in the horizontal plane; hence, the counterbalancing mass of the first joint is not needed [
25].
The mathematical model describing the dynamics of the system can be derived with the Lagrangian approach. The equations of motion in matrix form are:
where
is the moment of inertia of the system regarding joint
i due to the following links (i.e.,
), and
and
are the motor torques applied on the first and second joint, respectively.
It is worth noting that if the conditions for differential flatness reported in
Section 1 are met, the mass matrix is constant (thus, it is independent from the configuration), and the typical nonlinear terms of robot dynamics (Coriolis and centrifugal terms) disappear, as discussed by Agrawal in [
25]. Since the robot considered in this work moves in the horizontal plane, the nonlinear gravitational torque on joint 1, which is present in [
25], disappears as well.
The natural frequencies of the robot can be calculated by setting the motor torques and the damping coefficient to zero and solving the equations of free undamped vibrations assuming a harmonic solution
:
The natural frequencies are the zeros of the determinant of the matrix at the left hand side of Equation (
2). The following equation holds:
Equation (
3) clearly highlights the presence of two null frequencies, corresponding to rigid body motions; and one natural frequency, which is given by the following equation:
This natural frequency corresponds to a mode of vibration that chiefly involves the nonactuated link. It is noteworthy that the natural frequency of the robot depends only on the inertia of the second and the third link. It is worth noticing that
is always finite, since
, independently from the sizes of the two links.
From the equations of motion, the motor torques
and
can be calculated as functions of the desired trajectory. First, by multiplying the second row by
and the third row by
and subtracting the latter to the former, it is possible to obtain motor torque
:
It is worth noting that motor torque
depends only on the joint variable
.
Then, the motor torque
can be expressed as a function of motor torque
and of angular acceleration of the first joint
. By subtracting the second row of Equations (
1) from the first, this expression of the first motor torque (
) holds:
The Laplace transform method is used to define the flat variables, since the equations are linear [
38]. The equations of motion in the Laplace domain can be written as follows:
where
,
and
are the Laplace transforms of joint variables, whereas
and
are the Laplace transform of motor torques. From the last row, the first flat variable in the Laplace domain
can be defined:
The term
is the first flat variable in the Laplace domain, and
can be expressed as a function of only flat variable
as follows:
The second flat variable coincides with the joint variable
:
The Equation (
5) of the motor torque
in the Laplace domain becomes
and introducing Equation (
9) into Equation (
11), it is possible to obtain the torque
as a function of only flat variable
. The following equation holds:
Collecting
from the denominator of the second term of Equation (
12), the expression becomes
In underactuated robots equipped with steel springs and low-friction ball bearings, the equivalent damping coefficient
is rather small with respect to joint stiffness
; hence, the second term of Equation (
13) can be approximated. The factor
has the form
with
and
, and can be approximated by means of the Taylor expansion arrested at the second term:
Hence, Equation (
13) can be written as
Motor torque
in the time domain can be obtained by calculating the inverse Laplace transform of Equation (
16):
The motor torque of joint 1 in the Laplace domain is
and in the time domain, it becomes
In the next sections, the robot is simulated considering a point-to-point motion, and the initial and final configurations of the robot for these simulations are
In a point-to-point motion, the robot moves from one configuration to another, starting and stopping with null velocity. Hence, the derivatives of and are null. Coming to , the torsional spring on the passive joint tries to push towards the rest position, hence at starting and end positions, the passive joint has both null angle and derivatives.
Since Equation (
17) requires the continuity of the fifth derivative of
, this flat variable is calculated by means of an 11-degree polynomial, whereas since Equation (
19) requires only the continuity of the second derivative of
, this flat variable is calculated by means of a 5-degree polynomial. Hence, the initial and final conditions for the flat variables are
It is worth noting that the robot will not fall into singular configurations, since the robot is controlled in the joint space rather than in Cartesian space.
In the framework of this research, a small prototype robot is simulated. The inertial parameters of the robot are summarized in
Table 1, and will be used for the simulations.
The operational scheme utilized to carry out the analysis is illustrated in
Figure 2. Initially, the start point and the end point were selected, and subsequently, the joint variables were determined using inverse kinematics. Following that, the flat variables were computed. Motor torques
and
were calculated using the flat variables and their derivatives. All these calculations were performed analytically.
On the one hand, the torques were employed to simulate the system in Matlab-Simulink solving the equations of motion using standard integration routines. On the other hand, the same torques were used as inputs for the motors in the experimental tests. Finally, the Cartesian trajectories were obtained.
Since neither optimization processes nor stochastic methods were used, time and space complexity are not a concern. The analytical-numerical model is predictable and consistent.
3. Effect of Joint Stiffness on Trajectories
In order to evaluate the effect of joint stiffness of the last nonactuated joint, different simulations were carried out, considering the same motion time () and varying the stiffness of the nonactuated joint in the range .
The considered stiffness values are rather small but are compatible with the inertial parameters of the small robot, which are summarized in
Table 1.
The values of the natural frequency of the robot corroborate this statement. They can be calculated by means of Equation (
4) and are reported in
Table 2. With the smallest value of stiffness considered in the present parametric analysis, the natural frequency of the robot is 1.1 Hz, whereas with the largest value of torsional stiffness, the natural frequency increases to 2.0 Hz. These values are compatible with a small prototype made of light materials.
Since the model includes a viscous damper in parallel with the torsional spring to take into account friction losses, the value of the damping coefficient
has to be defined as well. In this parametric analysis, a constant damping ratio
is assumed [
38]; hence,
is given by the following equation:
The value is adopted, which is compatible with a joint equipped with a ball bearing and a steel spring.
Figure 3 shows the end-effector trajectories obtained considering different stiffness values.
It is worth noting that the end-effector reaches the final position with a negligible positioning error. This result is achieved because the friction of the nonactuated joint is taken into account in the model.
The end-effector trajectories obtained considering large values of stiffness are close to an arc of circumference, which is the trajectory of an equivalent robot with 2-DOF without the nonactuated joint and with the last link length . When torsional stiffness decreases, there is a modification in the central part of the trajectory with a reduction in the swept area and the formation of a protuberance. For larger values of stiffness, the protuberance tends to a cusp. Finally, for very low values of torsional stiffness, the protuberance degenerates into a loop, which is connected with the initial and final part of the trajectory by means of two small loops.
Joint variables corresponding to the trajectories of
Figure 3 are shown in
Figure 4. Joint variable
does not depend on joint stiffness
because
coincides with flat variable
, and the interpolation of the flat variable depends only on the initial and final conditions of the robot and the motion time. Thus, if the motion time is constant, the trajectory is constant as well. Joint variables
and
depend on torsional stiffness
, and their ranges of variation increase as torsional stiffness
decreases.
Motor torques corresponding to the trajectories of
Figure 3 are depicted in
Figure 5. Equations (
17) and (
19) show that both motor torque
and motor torque
depend on the stiffness and damping of the nonactuated joint.
Figure 5 shows that variations in
(with the corresponding variation in
) have small effects on the maximum and minimum values of motor torque
but chiefly shift the peaks, modifying the shape of the curves. Conversely, the variation of
causes large variations in the maximum and minimum values of motor torque
.
The trajectories of the end-effector depicted in
Figure 3 are interesting, but the area of the workplace swept by the links of the robot is a more useful parameter, if the robot has to be implemented in a work cell. In fact, the swept area makes it possible to evaluate the capability of the robot to move in the presence of obstacles in the work cell.
To calculate the area swept by the robot during the motion, a specific algorithm was developed. This algorithm operates as follows: every point of a link in configuration
i is connected to the adjacent points in the same configuration and to the same points in configuration
; some quadrilaterals are defined, which are represented in
Figure 6a using different colors. Such quadrilaterals are joined to define a more complex polygon that describes the area swept by the robot during the motion from configuration
i to configuration
, which is represented in
Figure 6b. The overlapping areas are counted once in the united area. This process is iterated between the initial and the final configuration. This algorithm is suitable both for links represented as segments, which is the case depicted in
Figure 6, and for links described by more complex geometries (e.g., CAD files).
Figure 7 shows the total area swept by the robot considering four different values of torsional stiffness
and the same motion time. The red trajectory is the trajectory of the tip of the end-effector, whereas the blue trajectory is the trajectory of the back-end of the third link (with the counterbalance).
At the beginning and at the end of the motion, the robot moves in the third and in the fourth quadrant, respectively. The areas swept by the robot in the third and fourth quadrants are scarcely influenced by torsional stiffness. However, the reduction in torsional stiffness causes a reduction in the swept area in the first and second quadrants, since the area changes from a semicircle (corresponding to the largest values) to a figure with three lobes. This effect can be exploited to move the robot when obstacles are present in these areas.
It is worth noting that in
Figure 7a, the area swept in the first and second quadrants is largely influenced by the motion of the back-end of the third link that describes a trajectory that is outside the trajectory of the end-effector. In
Figure 7b, almost all of the area swept by the back-end of the third link is inside the trajectory of the end-effector, whereas in
Figure 7c,d, all of the area swept by the back-end of the third link is inside the trajectory of the end-effector.
To quantitatively evaluate the importance of the reduction in the swept area, the areas swept by the underactuated robot are compared with the one swept by an equivalent fully actuated 2-DOF robot having its last link as long as the sum of links 2 and 3:
. Calculated results are summarized in
Table 3. It is important to highlight that when the underactuated robot is equipped with a low stiffness spring, the reduction in the swept area reaches approximately
.
4. Effect of Motion Time on Trajectories
Motion time is a typical parameter of robot motion planning. To perform a parametric analysis, eight different motion times were considered, ranging from
to
, and considering stiffness and damping ratio values equal to
and
, respectively. The corresponding trajectories of the end-effector are represented in
Figure 8.
It is worth noting that the trajectories obtained with varying motion times are similar to the ones obtained in
Section 3. This result suggests that the same end-effector trajectory can be obtained either by selecting the torsional stiffness of the nonactuated joint or by setting the motion time. This is an advantage, because it is possible to operate on two different parameters to achieve the same result.
The joint variables of the robot are depicted in
Figure 9. In this case, the joint variable
depends on motion time, like the other joint variables. It is interesting to notice that the maximum values of
obtained in these simulations are similar to the ones obtained considering different values of joint stiffness
.
Figure 10 depicts motor torques calculated considering different motion times and the same torsional stiffness of the nonactuated joint. In this case, both motor torques change their amplitude and shape when the motion time changes. Finally,
Figure 11 shows the swept areas corresponding to four different motion times. The motion time has a scarce effect on the behavior of the system in the third and fourth quadrants, but the decrease in motion time causes a significant decrease in the swept areas in the first and second quadrants (in the central part of the motion).
Figure 11a,b depict a behavior similar to the one described in the case of stiffness variations. If motion time is short, large accelerations of the last link are required to meet the imposed end conditions; the result is a swept area in which the outermost point is not the tip of the end-effector, but the back-end of the third link (with the counterbalance). In
Figure 11c,d the motion time is longer, and the motion of the third link does not cause the abovementioned phenomenon.
Finally, the swept areas of the underactuated system are compared to those of a fully actuated system with two degrees of freedom (DOF), having
. The calculated results are reported in
Table 4. When the underactuated robot is quickly moved, there is a reduction in swept area of about
.
5. Optimal Combination of Stiffness and Motion Time
In this section, the combined effect of joint stiffness and motion time is considered. Since the moments of inertia are constants, Equation (
4) shows that the variation in joint stiffness corresponds to a variation in the natural period
T defined as:
The main advantage of using T instead of is that T includes the ratio between the moments of inertia and joint stiffness; thus, it can be used with underactuated systems of any size. Moreover, the behavior of the robot is described by means of two time variables, the first related to the natural oscillation of the system, and the second related to the imposed motion.
It is worth noticing that a decrease in leads an increase in the natural period T.
Two figures of merit are considered. The first one is the sum of the motor torques. To take into account that the motor torques change sign during the motion, each motor torque is squared and the integral over motion time is calculated, then the two integrals are added. This figure of merit is related to the energy consumed by the robot to perform the assigned task.
The second figure of merit is the area swept by the links of the robot.
Results are depicted in
Figure 12 as contour plots; lighter colors represent the larger values. The first graph (
Figure 12a) shows the sum of the squared actuator torques, while the second graph (
Figure 12b) shows the area swept by the 3-DOF robot.
Motor torques increase with the decrease in joint stiffness
, which corresponds to the increase in the natural period. This effect happens since torsional stiffness is at the denominator of the terms of Equations (
17) and (
19). For large values of stiffness (short natural periods), motion time has a small effect on torques. Conversely, when the torsional stiffness is small, the motion time has a large effect on the torques and a decrease in the motion time leads to an increase in the torques. This effect is physically intuitive, since shorter motion times require higher accelerations, which in turn produce higher inertia torques. The contour plot of
Figure 12a shows neither minima nor valleys.
Coming to the second figure of merit, variations in the area swept by the robot are mainly related to the rotation of the passive link
. If
is small, links 2 and 3 are nearly collinear; thus, they behave like a single rigid link of length
. In this case, the swept area is close to a section of circle like the one depicted in
Figure 7d and
Figure 11d, and reaches the maximum value. This behavior takes place when the motion time is long, since the acceleration of the passive joint is small, and when the natural period is short, since a large stiffness prevents the rotation of the passive link. These conditions correspond to the right lower corner of
Figure 12b. When
is very large, the area swept by the robot is very different from a circle, but it tends to increase again because the back-end of the third link (with the counterbalance) has a large motion that increases the swept area.
is large both when the motion time is short (i.e., the inertia torques are large) and when the torsional stiffness is small (and the natural period is large). This behavior corresponds to the upper left corner of
Figure 12b. Hence, the contour plot representing the swept area as a function of motion time and natural period shows a valley of minima between the abovementioned corners (red dots of
Figure 12b). In other words, for every value of the natural period, a motion time that minimizes the swept area can be found, and vice versa. This property can be exploited to optimize the motion of the robot in the presence of obstacles. The local minima may change their positions by varying both the motion time and natural period; however, the area swept by the robot remains nearly identical along the entire valley of minima. This result holds true until the motion time reaches low values, which, however, are difficult to obtain in practice. Hence, if there are no constraints on motion time and natural period, the minima can be chosen by introducing other decision factors, such as motor torques (e.g., from
Figure 12a).