Next Article in Journal
Exploring Saliency for Learning Sensory-Motor Contingencies in Loco-Manipulation Tasks
Next Article in Special Issue
Special Issue Kinematics and Robot Design VI, KaRD2023
Previous Article in Journal / Special Issue
Posture Optimization of the TIAGo Highly-Redundant Robot for Grasping Operation
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Motion Planning of Differentially Flat Planar Underactuated Robots

Department of Industrial Engineering, University of Padova, 35131 Padova, Italy
*
Author to whom correspondence should be addressed.
Robotics 2024, 13(4), 57; https://doi.org/10.3390/robotics13040057
Submission received: 29 February 2024 / Revised: 21 March 2024 / Accepted: 22 March 2024 / Published: 30 March 2024
(This article belongs to the Special Issue Kinematics and Robot Design VI, KaRD2023)

Abstract

:
Differential flat underactuated robots have fewer actuators than degrees of freedom (DOFs). This characteristic makes it possible to design light and cost-effective robots with great dexterity. The primary challenge associated with these robots lies in effectively controlling the passive joint, in particular, when collisions with obstacles in the workspace have to be avoided. Most of the previous research focused on point-to-point motions without any control on the actual robot trajectory. In this work, a new method is presented to plan trajectories that include one or more via points. In this way, the underactuated robot can avoid the obstacles in the workspace, similarly to traditional fully actuated robots. First, a trajectory planning strategy is analytically described; then, numerical results are presented. The numerical results show the effects of the via points and of the order of the polynomials adopted to define the motion laws. In addition, experimental tests performed on a two-DOF underactuated robot are presented, and their results validate the proposed method.

1. Introduction

Most mechanical systems used in engineering applications have one controlled actuator for each degree of freedom (DOF) or have no actuator and are driven by external forces that cannot be controlled. The first class includes machine tools and robots, and the second class includes vibrating systems excited by base motion, unbalance, wind, and other physical phenomena. Underactuated mechanical systems are less common and have more DOFs than actuators [1,2]. In recent years, the interest in underactuated systems has increased in the field of robotics [3,4,5] and legged locomotion [6,7].
Underactuated robots are a promising solution for applications requiring an increase in dexterity and, at the same time, decreases in the cost, encumbrance, and weight of the robot [8,9]. In this class of robots, one or more joints of the kinematic chain are not driven by motors but are equipped with springs. From the mathematical point of view, underactuated robots are characterized by the presence of nonholonomic second-order constraints that represent the dynamics of the passive joints [10,11]. The main problem of underactuated robots is control, since the passive joints have to be indirectly controlled by the motors of the commanded joints.
A great deal of research has been carried out on the planning of point-to-point motions exploiting differential flatness properties [12,13,14,15]. In order to achieve differential flatness, the last links of the robot must have a particular mass distribution with the center of mass (COM) of some links lying on joint axes [12,16]. This property simplifies the last rows of the mass matrix and leads to the cancellation of some gravity, Coriolis, and centrifugal torques, and the nonholonomic constraint becomes integrable [10]. When a mechanical system— in particular, a robot—is differentially flat, a set of variables can be defined to express the state variables, which are called flat variables [8,12]. The number of flat variables is equal to the number of actuated DOFs. The relationship between state variables and flat variables is called diffeomorphism [17]. Actually, the diffeomorphism transforms a system of second-order differential equations into a reduced set of higher-order equations.
In robotic applications, often there are obstacles in the workspace. The possibility of avoiding an obstacle can be strongly increased by not only specifying the initial and final configurations but also introducing one or more via points that modify the trajectory of the end effector near the obstacle [18,19]. However, to the best of the authors’ knowledge, the trajectory planning for differentially flat underactuated robots has never been performed including via points. In fact, many aspects of the control of differentially flat robots have been studied over the years, but only point-to-point motions have been considered [13,20], leaving a research gap to be filled. It is worth noticing that trajectory planning with via points for underactuated robots has been studied before (e.g., for mobile robots [21,22]), but not in the case of differentially flat robots. For this reason, this paper deals with motion planning of differentially flat underactuated robots with one or more via points.
The main contribution of the paper is the development and validation of a general trajectory planning algorithm in the space of flat variables. It is worth noting that for this class of robots, trajectory planning is not a purely kinematic problem, but it is influenced by dynamics, since the last joint is not directly driven.
The paper is organized as follows. In Section 2, the conditions of differential flatness are stated, and the equations of motion of the planar underactuated robot are presented and their special features are discussed. Section 3 discusses the main point of the research and deals with path planning considering one or more via points. In Section 4, numerical results are presented and discussed. An experimental validation of the method is presented in Section 5. Finally, conclusions and possible future developments are presented in Section 6.

2. Mathematical Model of the Underactuated Robot

In the framework of this research, the analyzed robots are differentially flat since they comply with the requirements of the theory of differential flatness [8] as follows:
  • The last link center of mass (n) lies on the axis of the n-th joint;
  • The overall center of mass of the links n and n 1 lies on the axis of the ( n 1 ) -th joint.
Such requirements remain valid for the last j links (i.e., n , n 1 , , n j + 1 ), where j 1 is the number of passive joints. As a result, the center of mass of the last j links lies on the ( n j + 1 ) -th joint axis, and the final j links are considered “fully balanced”.
To achieve controllability of the passive joints, a torsional spring is placed on the last j 1 joints.
This work focuses solely on a single passive joint; therefore, j = 2 . Therefore, only the joints n and n 1 are fully balanced.
The scheme of the robot is depicted in Figure 1, in which for each i-th link, q i is the joint angle, a i is the link length, a G i is the position of the center of mass with respect to the joint axis, and m i and I G i are the mass and the moment of inertia about the center of mass, respectively. In the fully balanced links, a c i is the distance of the balancing mass m c i from joint i. At the passive joints, the torsional spring has stiffness k i . A viscous damper with coefficient c i is included to introduce dissipative phenomena in the model. Neither elastic nor dissipative phenomena are included in the actuated joints because it is assumed that the control system of the actuated joints compensates for such effects.
The equations of motion of the planar robot can be obtained using Lagrange’s method. The system of equations of motion can be expressed in matrix form as follows [15]:
M n ( q ) q ¨ + C n q ˙ + K n q + b ( q , q ˙ ) + g ( q ) = τ M n ( q ) q ¨ 1 q ¨ 2 q ¨ n 2 q ¨ n 1 q ¨ n + C n q ˙ 1 q ˙ 2 q ˙ n 2 q ˙ n 1 q ˙ n + K n q 1 q 2 q n 2 q n 1 q n + b 1 ( q , q ˙ ) b 2 ( q , q ˙ ) b n 2 ( q , q ˙ ) 0 0 + g 1 ( q ) g 2 ( q ) g n 2 ( q ) 0 0 = τ 1 τ 2 τ n 2 τ n 1 0
where M n ( q ) is the mass matrix; matrices C n and K n contain the joint damping and stiffness terms, respectively; vector b ( q , q ˙ ) contains the Coriolis and centrifugal terms; vector g ( q ) contains the gravitational terms; and vector τ contains the motor torques. The following three features of the system of Equation (1) are worth noting:
  • There are neither gravitational nor Coriolis-centrifugal torques on the last joints because the last two links are fully balanced (the last two elements of vectors b ( q , q ˙ ) and g ( q ) are null);
  • The last element of τ is null because there is no motor on the last joint (i.e., a passive joint);
  • Matrices C n and K n are entirely null except the last bottom-right element, in which there are the torsional stiffness ( k n ) and damping coefficient ( c n ) of the passive joint; this happens because neither elastic nor dissipative phenomena are included in the actuated joints.
Matrix M n ( q ) is configuration-dependent. However, since the robot satisfies the conditions of differential flatness, the last [ n 1 , n ] rows and columns of the matrix are constant:
M n ( q ) = I n 1 * I n * I n 1 * I n * I ( n 2 ) × ( n 2 ) * ( q ) I n 1 * I n * I n 1 * I n 1 * I n 1 * I n * I n * I n * I n * I n *
Addtionally, only the submatrix I ( n 2 ) × ( n 2 ) * ( q ) depends on the robot configuration. I n 1 * and I n * are the moments of inertia reduced to joints n 1 and n, respectively.
The theory of differential flatness is then used to define a reduced set of variables y (called flat variables), equal to the number of actuators [23]. For a planar robot equipped with only one passive joint, the flat variables are defined as follows [15]:
y 1 = i = 1 n q i y i = q i 1 with i = 2 , 3 , , n 1
The flat variables are used to manipulate Equation (1), performing a diffeomorphism that maps the joint values into the flat variables, i.e., q R n y R n 1 .
The last row of Equation (1) becomes
I n * q ¨ 1 + q ¨ 2 + + q ¨ n 1 + q ¨ n + c n q ˙ n + k n q n = 0
which can be rewritten through the flat variable:
I n * y ˙ 1 + c n q ˙ n + k n q n = 0
This equation is linear since the inertia term I n * is constant. As a result, the Laplace transform can be calculated [15]:
I n * s Y 1 ( s ) + ( c n s + k n ) Q n ( s ) = 0
From this equation, the last joint rotation can be related to the flat variable:
Q n ( s ) = I n * c n s + k n s 2 Y 1 ( s )
Collecting the torsion spring stiffness k n , the right term of the equation can be rearranged as
Q n ( s ) = I n * k n 1 + c n k n s 1 s 2 Y 1 ( s )
If low-friction bearings are used, the torsion spring stiffness is much larger than the damping coefficient c n . Hence, using the first-order Taylor expansion, the term ( 1 + c n / k n s ) 1 can be simplified, yielding the following:
Q n ( s ) = I n * k n 1 c n k n s s 2 Y 1 ( s ) = I n * k n s 2 Y 1 ( s ) + I n * c n k n 2 s 3 Y 1 ( s )
Finally, the passive joint position can be expressed as a function of time using the inverse Laplace transform, in which the initial conditions are null:
q n ( t ) = I n * k n y ¨ 1 ( t ) + I n * c n k n 2 y 1 ( 3 ) ( t )
It is worth noting that Equation (10) is more complex than the one usually found in the literature. Actually, many papers (e.g., [24,25]) simplify the system by neglecting damping (thus, c n = 0 ) so that q n is related only to the second derivative of y 1 rather than to a combination of y ¨ 1 and y 1 ( 3 ) . For this reason, the following sections will deal with trajectory planning for robots with both damped and undamped passive joint.
The dynamic model of Equation (1) contains joint accelerations. Hence, Equation (10) must be derived twice to obtain the passive joint acceleration, which depends on the flat variable:
q ¨ n ( t ) = I n * k n y 1 ( 4 ) ( t ) + I n * c n k n 2 y 1 ( 5 ) ( t )
Joint rotations q i ( t ) should be twice continuously differentiable ( C 2 ) to avoid vibratory phenomena. As a result, Equation (11) yields that y 1 ( t ) must be continuously differentiable five times ( C 5 ). The other flat variables ( y 2 , , y n 1 ) are equal to the actuated joint values; hence, to avoid vibratory phenomena, these flat variables must be twice continuously differentiable ( C 2 ).

3. Trajectory Planning

The typical trajectory planning of differentially flat underactuated robots considers only point-to-point movements and is performed in the space of flat variables. These movements provide fixed initial and final conditions for joint positions and their derivatives. The conditions for joint positions are the joint angles required to complete the task, apart from the passive joints, whose angles are set to zero to ensure the static equilibrium of the torsional spring. The conditions for the joint variable derivatives are null values at the beginning and at the end of the motion.
In trajectory planning with via points, the trajectories of fully actuated robots are usually planned in the joint space so that the via points are reached by the robot in specific configurations (i.e., joint variables), while the derivatives of joint variables are typically different from zero. Even if joint velocities and accelerations can be imposed, the continuity of joint variable derivatives is more important than the specific values. As a result, the conditions in the via points are limited to the joint positions and the continuity of joint variable derivatives. (please note that trajectory planning can also be performed in the Cartesian space by choosing proper Cartesian via points; however, Cartesian trajectory planning can be converted into joint space via robot inverse kinematics).
Considering an n-DOF robot equipped with only one passive joint, trajectory planning with via points is again performed in the space of flat variables. Since there are n 1 flat variables, the definition of the values of flat variables at the via point does not completely define robot configuration. This problem is solved by including at the via point a further condition that comes from the last equation of motion (Equation (10)) and links the joint variable of the passive joint with the derivatives of the first flat variable.
Trajectory planning can be performed through very different motion laws [26]. In this paper, polynomial laws are used; such laws ensure the continuity of the derivatives and the polynomial degree can be changed according to the conditions.
The planning of the i-th flat variable (with i > 1 ) can be performed via any function that can satisfy the condition on the double continuity ( C 2 ). The damping of the passive joint has no effect since the flat variable depends only on the joint variable of the actuated joint (Equation (3)). Hence, this paper focuses on the first flat variable y 1 ( t ) .
The trajectory of y 1 ( t ) is planned using polynomial functions between each pair of points. Hereby, the j-th polynomial of the trajectory is named y 1 j ( λ ) , with λ = ( t t j , 0 ) / T j [ 0 , 1 ] , t j , 0 is the initial time of the polynomial, and T j is the polynomial duration. The final polynomial is named y 1 f ( λ ) . The polynomials of degree p are defined in the following way:
y 1 j ( τ ) = k = 0 p a j k λ k
The i-th derivative of the j-th polynomial with respect to real time t can be calculated as follows:
y 1 j ( i ) ( λ ) = d i y 1 j ( λ ) d t i = d λ i d t i d i y 1 j ( λ ) d λ i = 1 ( t j t j 1 ) i d i y 1 j ( λ ) d λ i = 1 T j i d i y 1 j ( λ ) d λ i

3.1. Undamped Robot ( c n = 0 )

If damping in the passive joint of the underactuated robot can be neglected, Equation (11) shows that y 1 must be continuously differentiable four times ( C 4 ). If there are n v i a via points, n v i a + 1 polynomials are needed.
The conditions at the initial point, the generic via point, and the final point are as follows:
  • Initial point: Initial values of flat variable y 1 are based on the initial values of joint variables, and flat variable derivatives are set to zero:
    y 11 ( 0 ) = i = 1 n q i , 0 y ˙ 11 ( 0 ) = y ¨ 11 ( 0 ) = y 11 ( 3 ) ( 0 ) = y 11 ( 4 ) ( 0 ) = 0
  • Via point: The value of flat variable y 1 is based on joint values at the via point, with continuity of the flat variable derivatives and Equation (10) with c n = 0 :
    y 1 j ( 1 ) = i = 1 n q i , v i a y 1 j ( 1 ) = y 1 , j + 1 ( 0 ) , y ˙ 1 j ( 1 ) = y ˙ 1 , j + 1 ( 0 ) , y ¨ 1 j ( 1 ) = y ¨ 1 , j + 1 ( 0 ) y 1 j ( 3 ) ( 1 ) = y 1 , j + 1 ( 3 ) ( 0 ) , y 1 j ( 4 ) ( 1 ) = y 1 , j + 1 ( 4 ) ( 0 )
    y ¨ 1 j ( 1 ) = q n , v i a ( t ) k n I n *
  • Final point: The final joint values of flat variable y 1 are based on the final values of joint variables, and flat variable derivatives are set to zero:
    y 1 f ( 1 ) = i = 1 n q i , f y ˙ 1 f ( 1 ) = y ¨ 1 f ( 1 ) = y 1 f ( 3 ) ( 1 ) = y 1 f ( 4 ) ( 1 ) = 0
The conditions of Equations (15) and (16) are repeated for each via point that the robot has to reach, while the conditions of Equations (14) and (17) are applied to the first and last polynomial, respectively. If n v i a via points are used, the total number of conditions n c o n d on the trajectory is
n c o n d = 10 + 7 n v i a
Such conditions can be enforced by using polynomials of specific degrees. In particular, since, for a polynomial of p-th degree, there are p + 1 coefficients, the degrees of the polynomials can be calculated as follows:
( p 1 + 1 ) + ( p 2 + 1 ) + ( n v i a 1 ) ( p v i a + 1 ) = n c o n d
where p 1 and p 2 are the degrees of the first and last polynomials, respectively, and p v i a is the degree of the polynomials connecting via points (if needed). For a single via point, it yields
p 1 + p 2 = 15
As a result, for a single via point the degree of the two polynomials cannot be the same. In this work, two polynomials of 8-th degree and 7-th degree are chosen. Such polynomial differentiability class is greater than C 4 ; thus, the conditions are met.
If multiple via points are employed ( n v i a 2 ), p 1 = 8 , and p 2 = 7 , Equations (18) and (19) yield
p v i a = 7 n v i a 7 n v i a 1 1 = 6
It is worth noticing that Equation (19) allows for multiple polynomial combinations. However, the proposed solution with p 1 = 8 , p 2 = 7 , and p v i a = 6 ensures constancy in the degree of the polynomials even with many via points.

3.2. Damped Robot ( c n 0 )

If the passive joint presents some damping ( c n 0 ), the first flat variable must be continuously derivable five times ( C 5 ). Also, in this case, n v i a + 1 polynomials are needed.
The conditions are similar to the one stated in Section 3.1, with some notable exceptions:
  • Initial point: Initial values of flat variable y 1 are based on the initial values of joint variables, and flat variable derivatives are set to zero up to the fifth derivative:
    y 11 ( 0 ) = i = 1 n q i , 0 y ˙ 11 ( 0 ) = y ¨ 11 ( 0 ) = y 11 ( 3 ) ( 0 ) = y 11 ( 4 ) ( 0 ) = y 11 ( 5 ) ( 0 ) = 0
  • Via point: The value of flat variable y 1 is based on joint values at the via point, with continuity of the flat variable derivatives and Equation (10):
    y 1 j ( 1 ) = i = 1 n q i , v i a y 1 j ( 1 ) = y 1 , j + 1 ( 0 ) , y ˙ 1 j ( 1 ) = y ˙ 1 , j + 1 ( 0 ) , y ¨ 1 j ( 1 ) = y ¨ 1 , j + 1 ( 0 ) y 1 j ( 3 ) ( 1 ) = y 1 , j + 1 ( 3 ) ( 0 ) , y 1 j ( 4 ) ( 1 ) = y 1 , j + 1 ( 4 ) ( 0 ) , y 1 j ( 5 ) ( 1 ) = y 1 , j + 1 ( 5 ) ( 0 )
    q n , v i a = I n * k n y ¨ 1 j ( 1 ) T j 2 + I n * c n k n 2 y 1 j ( 3 ) ( 1 ) T j 3
  • Final point: The final joint values of flat variable y 1 are based on the final values of joint variables, and flat variable derivatives are set to zero up to the fifth derivative:
    y 1 f ( 1 ) = i = 1 n q i , f y ˙ 1 f ( 1 ) = y ¨ 1 f ( 1 ) = y 1 f ( 3 ) ( 1 ) = y 1 f ( 4 ) ( 1 ) = y 1 f ( 5 ) ( 1 ) = 0
Following Section 3.1, the total number of conditions n c o n d for a damped system passing through n v i a via points is
n c o n d = 12 + 8 n v i a
since, in the case of multiple via point, the conditions of Equations (23) and (24) are repeated for each via point that the robot must reach, while the conditions of Equations (22) and (25) are applied to the first and last polynomial, respectively.
Equation (19) holds true for a damped system as well. Thus, for a single via point, it yields
p 1 + p 2 = 18
In this work, two polynomials of 9-th degree are chosen. The differentiability class of these polynomials is larger than C 5 ; thus, the conditions are met.
If multiple via points are employed ( n v i a 2 ) and p 1 = p 2 = 9 , Equations (26) and (19) yield
p v i a = 8 n v i a 8 n v i a 1 1 = 7
The condition stated in Equation (24) is difficult to manipulate for a general function since it is a differential equation. However, since y 1 j is a polynomial function, the condition can be manipulated by introducing the polynomial derivatives. For the first via point, ( j = 1 ) y 11 is a 9-th degree polynomial function; thus, its second and third derivatives are
d 2 y 11 ( λ ) d λ 2 = 1 T 1 2 72 a 19 λ 7 + 56 a 18 λ 6 + 42 a 17 λ 5 + 30 a 16 λ 4 + 20 a 15 λ 3 + 12 a 14 λ 2 + 6 a 13 λ + 2 a 12
d 3 y 11 ( λ ) d λ 3 = 1 T 1 3 504 a 19 λ 6 + 336 a 18 λ 5 + 210 a 17 λ 4 + 120 a 16 λ 3 + 60 a 15 λ 2 + 24 a 14 λ + 6 a 13
which, combined with the conditions of Equation (22) in Equation (24), yield
a 19 504 c n T 1 72 k n + a 18 336 c n T 1 56 k n + + a 17 210 c n T 1 42 k n + a 16 120 c n T 1 30 k n = q n , v i a k n 2 T 1 2 I n *
For the following via points, y 1 j are 7-th degree polynomials; thus, the derivatives are
d 2 y 1 j ( λ ) d λ 2 = 1 T j 2 42 a j 7 λ 5 + 30 a j 6 λ 4 + 20 a j 5 λ 3 + 12 a j 4 λ 2 + 6 a j 3 λ + 2 a j 2
d 3 y 1 j ( λ ) d λ 3 = 1 T j 3 210 a j 7 λ 4 + 120 a j 6 λ 3 + 60 a j 5 λ 2 + 24 a j 4 λ + 6 a j 3
which, introduced in Equation (24), yield
a j 7 210 c n T j 42 k n + a j 6 120 c n T j 30 k n + a j 5 60 c n T j 20 k n + + a j 4 24 c n T j 12 k n + a j 3 6 c n T j 6 k n + a j 2 30 k n = q n , v i a k n 2 T j 2 I n *
Equations (31) and (34), although limited to the polynomial trajectories, can be easily implemented in a linear system to obtain the polynomial coefficients.

4. Numerical Results

To test the proposed approach, a two-DOF robot was simulated in Matlab. The robot lies on the horizontal plane; thus, g ( q ) = 0 . Link 2 is symmetric and complies with the requirements of the differential flatness theory.
The geometrical and inertial parameters of the robot are summarized in Table 1.
Simulations aim to show that the introduction of proper via points allows the robot to avoid obstacles in the workspace. The simulations comprise eight tests.
The first six tests are summarized in Table 2. They differ in the number of obstacles and in the damping value ( c n = 0 or c n 0 ). The number of via points is set equal to the number of obstacles. The damping coefficient c n can take different values in the trajectory planning and in the dynamic model:
  • c n = 0 both for planning and in the model. This is the case of an ideal robot;
  • c n = 0 for planning and c n 0 in the model. This test shows the effect of neglecting the damping during trajectory planning, whereas the actual robot has relevant damping phenomena in the passive joint;
  • c n 0 both for planning and in the model. This test is the most realistic case. Because of the presence of damping, the polynomial orders increase [15].
The motion parameters are listed in Table 3, considering that the initial joint values are zero for both joints. It is worth noting that for an underactuated system, the trajectory depends on robot dynamics, which is influenced by the total motion duration ( t f ) and the real time when the robot passes through the via point ( t v i a ). At the moment, this is a limitation of the proposed trajectory planning and will be studied in future works.
Figure 2, Figure 3 and Figure 4 show the simulated trajectory with one obstacle. The obstacle is a cylinder of radius 35 mm; the center of the base of the cylinder is placed at the point with coordinates [ 75 , 182 ] mm in the base reference system. For completeness, in Figure 2 and Figure 4, the trajectories without via points and with the same final configuration q f and t f are shown. It is clear how the robot, without a via point, is not able to avoid the collision with the obstacle. The Cartesian trajectories of the end effector (Figure 2) are similar, although Test 3 (Figure 2c) shows an entangled path in the middle of the trajectory. The flat variables (Figure 3) are very similar in magnitude; this result is expected since the Cartesian trajectories are similar and the Cartesian trajectory is the result of the joint trajectories, which, in turn, are the result of the flat variables. For the flat variable derivatives, Figure 3 shows the continuity of the derivatives up to the fourth order. Moreover, the regularity of the fourth derivative of the flat variable in Test 3 confirms the continuity of the fifth derivative. The same behavior cannot be found for Tests 1 and 2.
Tests 1 and 3 show no oscillations of the end effector around the final point of the trajectory (Figure 4a,c). This is an expected result since the model used for trajectory planning is the same one adopted for simulation. Conversely, the dynamic model of Test 2 is different from the one assumed in the planning phase. The result is that the robot mathematically does not exactly pass on the via point since all conditions of Section 3.2 are not met. This phenomenon is not highlighted in Figure 2b since the difference is very small; however, this difference may increase for different values of the via points q v i a and t v i a . Finally, a wide natural oscillation of q 2 can be found after the end of the trajectory (Figure 4b).
The results of the simulations with two obstacles in the workspace are reported in Figure 5, Figure 6 and Figure 7. The obstacles are the cylinder of Tests 1, 2, and 3 (in the same position) and a cube of 50 mm per side. The centroid of the cube is placed at the point with coordinates [ 80 , 178 ] mm in the base reference system, with the sides parallel to the base reference system axes. In this case, two via points are considered. Test 5 shows that when there is a relevant damping value, but trajectory planning is carried out neglecting damping, oscillations appear at the end of the motion, and the via points positions are not reached.
At the Cartesian trajectories (Figure 5), two results can be note. Firstly, the trajectory shapes are rather different between Tests 4, 5, and 6; this is due to the fast movements, which results in different shapes of the polynomials. In particular, the trajectory of the damped robot (Figure 5c) does not present the entanglement of Tests 4 and 5. Secondly, the trajectory of Test 5 collides with both obstacles, although the trajectory of Test 4 does not; this aspect may be crucial in very tight environments.
Finally, it is worth noting that the designer must be aware of the trajectory of the back of link 2 (black lines of Figure 2 and Figure 5) since this point may collide with the obstacle, especially for high displacements of q 2 .
The last two tests highlight how the trajectory changes when different via points are chosen. In Figure 8, two different trajectories (orange and green lines) are shown, which are obtained with c n 0 and t f = 0.64 s (the same as Test 3) but different via points and t v i a . In particular, the orange trajectory is obtained with a via point placed at q v i a = [ 80 , 75 ] and t v i a = 0.11 s; the green trajectory is obtained with a via point placed at q v i a = [ 55 , 70 ] and t v i a = 0.32 s. The results show that the obstacle can be avoided with very different via points and t v i a . An optimization of via point placement will be the focus of future work.

5. Experimental Validation

The proposed approach was adopted for trajectory planning of a prototype two-DOF planar underactuated robot with the same inertial properties as the one simulated in Section 4. The task of the robot was to move from one point to another, avoiding two obstacles. Although no damper was installed on the passive joint, damping phenomena due to friction were present. Friction torques are usually proportional to velocity [27]; hence, when the robot performed fast trajectories, damping could not be neglected. The experimental validation is equivalent to Test 6 of Section 4.
The first link was directly connected to the motor, which was a brushed DC motor (Portescap 35NT2R82 426SP by Mclennan Servo Supplies Ltd., Surrey, UK). The rotation of this joint was acquired by means of an incremental encoder Baumer BHK 16.05A2000-I8-5 (by Baumer Italia S.r.l., Milan, Italy) mounted on the motor. The joint was controlled using a Teensy 4.0 and employing a feed-forward control strategy with PD to compensate for uncertainties. The passive joint torsional spring stiffness ( k 2 = 0.0026 Nm/rad) and damping ( c 2 = 2.4704 × 10 5 Nms/rad) were identified by means of experimental modal analysis [28]. The trajectory of link 2 was recorded using a high frame-rate camera for industrial use (Dalsa Genie Nano GM30-M2050 by Teledyne DALSA, Waterloo, ON, Canada) that detects the white markers fixed to the second link. For this camera, at the maximum resolution ( 2064 × 1544 pixels), the maximum frame rate is 187 fps. However, the frame rate was increased to 280 fps by setting a region of interest (ROI) of dimensions 1600 × 800 pixels.
The test setup is shown in Figure 9a. To replicate the simulation, a paper cylinder and a paper cube were placed in the work area in the same position as in the simulation. The two obstacles are shown in Figure 9b. The movement was performed with the via points of Test 6 but with a different set of t v i a ( t v i a = 0.175 s for the first via point, and t v i a = 0.4185 s for the second via point).
Before the recording, the camera was calibrated on the plane containing the markers to remove any distortions and to ensure a correct mm/pixel ratio. The camera feed was post-processed after the robot movement, and the marker positions were measured. The coordinates of marker 2 (Figure 9a) were compared to the end effector trajectory of the numerical simulation (i.e., the point placed at a distance a 2 with respect to joint 2). At the same time, since no position sensors were located on joint 2, the joint trajectory q 2 ( t ) was obtained by measuring the absolute angle of the line connecting marker 1 and 2 and by subtracting the joint 1 trajectory q 1 ( t ) .
Both Cartesian and joint trajectories (Figure 10a and Figure 10b, respectively) showed very good agreement between experimental and numerical results. The overshoot that can be seen at the end of the Cartesian trajectory is present both in the numerical and experimental trajectories and is due to robot dynamics. The robot was able to reach the via points according to the planning, and no noticeable oscillations of the passive joint were present at the end of the movement. It is worth noting that the movement was very fast ( t f = 0.7 s); thus, the inertial forces play a relevant role in the system dynamics. The fact that the robot is differentially flat ensures that the centrifugal and Coriolis forces of the last links are zero; thus, the dynamic model becomes very accurate.
The result was obtained without having any feedback on the position of the last joint; in fact, both the Cartesian and joint trajectories were post-processed from the video captured by the camera and were not used in the control system. Conversely, the robot was driven by calculating the trajectory of the first joint after the planning of the flat variable and the employment of the dynamic model.

6. Conclusions

The main contribution of this paper is the development and validation of a method for motion planning in the space of flat variables considering the presence of via points. It is an extension of the approach adopted for point-to-point motion. A general formulation with n v i a via points and the flat variables interpolated by high-order polynomial functions has been presented. Since the number of flat variables is lower than the number of DOFs, the indetermination of the configuration of the robot at the via point is solved, adding another condition that comes from the equations of motion.
A series of numerical simulations and an experimental test on a prototype were carried out to assess the validity of the proposed method. The results show that the introduction of one or more via points strongly increases the possibility of avoiding obstacles in the workspace. The numerical results show that the trajectories of the robot in the Cartesian space depend on the position of the via points, the total duration of the motion, and the duration of the various motion sections between the via points.
Since, in actual industrial applications, these parameters can be varied within assigned ranges, future research will deal with the optimization of these parameters. The goal of the optimization can be the minimization of the distance from the obstacles or the minimization of the torques demanded by the actuated joints for an assigned distance of the robot path from the obstacles. Further developments will deal with the interpolation of the flat variables by means of different families of functions as well.

Author Contributions

Conceptualization, M.T., A.D., M.B. and G.R.; methodology, M.T., A.D., M.B. and G.R.; software, M.T. and M.B.; validation, M.T., M.B. and A.D.; formal analysis, M.T., A.D., M.B. and G.R.; investigation, M.T., M.B. and G.R.; writing—original draft preparation, M.T. and M.B.; writing—review and editing, A.D. and G.R.; supervision, A.D. and G.R. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the University of Padova grant number BOTT_BIRD23_01.

Data Availability Statement

The raw data supporting the conclusions of this article will be made available by the authors on request.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Deng, M.; Kubota, S. Nonlinear Control System Design of an Underactuated Robot Based on Operator Theory and Isomorphism Scheme. Axioms 2021, 10, 62. [Google Scholar] [CrossRef]
  2. Zhang, T.; Zhang, D.; Zhang, W. Task-based configuration synthesis of an underactuated resilient robot. Robotics 2023, 12, 121. [Google Scholar] [CrossRef]
  3. Firouzeh, A.; Salehian, S.S.M.; Billard, A.; Paik, J. An under actuated robotic arm with adjustable stiffness shape memory polymer joints. In Proceedings of the 2015 IEEE International Conference on Robotics and Automation (ICRA), Seattle, WA, USA, 26–30 May 2015; pp. 2536–2543. [Google Scholar]
  4. Qin, G.; Ji, A.; Cheng, Y.; Zhao, W.; Pan, H.; Shi, S.; Song, Y. Design and motion control of an under-actuated snake arm maintainer. Robotica 2022, 40, 1763–1782. [Google Scholar] [CrossRef]
  5. Quaglia, G.; Tagliavini, L.; Colucci, G.; Vorfi, A.; Botta, A.; Baglieri, L. Design and Prototyping of an Interchangeable and Underactuated Tool for Automatic Harvesting. Robotics 2022, 11, 145. [Google Scholar] [CrossRef]
  6. Gupta, S.; Kumar, A. A brief review of dynamics and control of underactuated biped robots. Adv. Robot. 2017, 31, 607–623. [Google Scholar] [CrossRef]
  7. He, B.; Wang, S.; Liu, Y. Underactuated robotics: A review. Int. J. Adv. Robot. Syst. 2019, 16, 1729881419862164. [Google Scholar] [CrossRef]
  8. Franch, J.; Agrawal, S.K.; Sangwan, V. Differential Flatness of a Class of n-DOF Planar Manipulators Driven by 1 or 2 Actuators. IEEE Trans. Autom. Control 2010, 55, 548–554. [Google Scholar] [CrossRef]
  9. Tonan, M.; Doria, A.; Bottin, M.; Rosati, G. Influence of Joint Stiffness and Motion Time on the Trajectories of Underactuated Robots. Appl. Sci. 2023, 13, 6939. [Google Scholar] [CrossRef]
  10. Oriolo, G.; Nakamura, Y. Control of mechanical systems with second-order nonholonomic constraints: Underactuated manipulators. In Proceedings of the 30th IEEE Conference on Decision and Control, Brighton, UK, 11–13 December 1991; Volume 3, pp. 2398–2403. [Google Scholar]
  11. De Luca, A.; Oriolo, G. Trajectory planning and control for planar robots with passive last joint. Int. J. Robot. Res. 2002, 21, 575–590. [Google Scholar] [CrossRef]
  12. Agrawal, S.; Sangwan, V. Differentially flat designs of underactuated open-chain planar robots. IEEE Trans. Robot. 2008, 24, 1445–1451. [Google Scholar] [CrossRef]
  13. Sangwan, V.; Kuebler, H.; Agrawal, S.K. Differentially flat design of under-actuated planar robots: Experimental results. In Proceedings of the 2008 IEEE International Conference on Robotics and Automation, Pasadena, CA, USA, 19–23 May 2008; pp. 2423–2428. [Google Scholar]
  14. Bottin, M.; Rosati, G. Comparison of Under-Actuated and Fully Actuated Serial Robotic Arms: A Case Study. J. Mech. Robot. 2022, 14, 034503. [Google Scholar] [CrossRef]
  15. Tonan, M.; Doria, A.; Bottin, M.; Rosati, G. Oscillation-free point-to-point motions of planar differentially flat under-actuated robots: A Laplace transform method. Robotica 2024, 1–19. [Google Scholar] [CrossRef]
  16. Franch, J.; Reyes, À.; Agrawal, S.K. Differential flatness of a class of n-DOF planar manipulators driven by an arbitrary number of actuators. In Proceedings of the 2013 European Control Conference (ECC), Zurich, Switzerland, 17–19 July 2013; pp. 161–166. [Google Scholar]
  17. Sangwan, V.; Agrawal, S.K. Robustness of a flatness based controller against parametric uncertainties for a class of under-actuated planar manipulators. In Proceedings of the 2017 American Control Conference (ACC), Seattle, WA, USA, 24–26 May 2017; pp. 3735–3740. [Google Scholar]
  18. Chettibi, T. Smooth point-to-point trajectory planning for robot manipulators by using radial basis functions. Robotica 2019, 37, 539–559. [Google Scholar] [CrossRef]
  19. Gasparetto, A.; Boscariol, P.; Lanzutti, A.; Vidoni, R. Path Planning and Trajectory Planning Algorithms: A General Overview. In Motion and Operation Planning of Robotic Systems: Background and Practical Approaches; Springer International Publishing: Cham, Switzerland, 2015; pp. 3–27. [Google Scholar]
  20. Sangwan, V.; Agrawal, S. Effects of viscous damping on differential flatness-based control for a class of under-actuated planar manipulators. IEEE Control Syst. Lett. 2018, 2, 67–72. [Google Scholar] [CrossRef]
  21. Wang, C.; Savkin, A.V.; Garratt, M. Collision free navigation of flying robots among moving obstacles. In Proceedings of the 2016 35th Chinese Control Conference (CCC), Chengdu, China, 27–29 July 2016; pp. 4545–4549. [Google Scholar]
  22. Wang, J.; Wang, J.; Han, Q.L. Receding-Horizon Trajectory Planning for Under-Actuated Autonomous Vehicles Based on Collaborative Neurodynamic Optimization. IEEE/CAA J. Autom. Sin. 2022, 9, 1909–1923. [Google Scholar] [CrossRef]
  23. Agrawal, S.K.; Sangwan, V. Design of under-actuated open-chain planar robots for repetitive cyclic motions. In Proceedings of the International Design Engineering Technical Conferences and Computers and Information in Engineering Conference, Philadelphia, PA, USA, 10–13 September 2006; Volume 42568, pp. 1057–1066. [Google Scholar]
  24. Chen, W.; Xiong, C.; Chen, W.; Yue, S. Mechanical adaptability analysis of underactuated mechanisms. Robot. Comput. Integr. Manuf. 2018, 49, 436–447. [Google Scholar] [CrossRef]
  25. Narikiyo, T.; Sahashi, J.; Misao, K. Control of a class of underactuated mechanical systems. Nonlinear Anal. Hybrid Syst. 2008, 2, 231–241. [Google Scholar] [CrossRef]
  26. Biagiotti, L.; Melchiorri, C. Trajectory Planning for Automatic Machines and Robots; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2008. [Google Scholar]
  27. Trinh, M.; Schwiedernoch, R.; Gründel, L.; Storms, S.; Brecher, C. Friction Modeling for Structured Learning of Robot Dynamics. In Proceedings of the Congress of the German Academic Association for Production Technology; Springer: Berlin/Heidelberg, Germany, 2022; pp. 396–406. [Google Scholar]
  28. Tonan, M.; Bottin, M.; Doria, A.; Rosati, G. A Modal Approach for the Identification of Joint and Link Compliance of an Industrial Manipulator. Mech. Mach. Sci. 2022, 122, 628–636. [Google Scholar]
Figure 1. Scheme of a robot with n degrees of freedom (DOFs) equipped with one passive joint.
Figure 1. Scheme of a robot with n degrees of freedom (DOFs) equipped with one passive joint.
Robotics 13 00057 g001
Figure 2. Simulated trajectories. with one via point. The white points are the two extremities of the underactuated link, and the filled points represent the passive joint.
Figure 2. Simulated trajectories. with one via point. The white points are the two extremities of the underactuated link, and the filled points represent the passive joint.
Robotics 13 00057 g002
Figure 3. Simulated flat variables with one via point. The different colors represent the different polynomial functions joining the subsequent pairs of points.
Figure 3. Simulated flat variables with one via point. The different colors represent the different polynomial functions joining the subsequent pairs of points.
Robotics 13 00057 g003
Figure 4. Simulated joint values with one via point.
Figure 4. Simulated joint values with one via point.
Robotics 13 00057 g004
Figure 5. Simulated trajectories with two via points. The white points are the two extremities of the underactuated link, and the filled points represent the passive joint.
Figure 5. Simulated trajectories with two via points. The white points are the two extremities of the underactuated link, and the filled points represent the passive joint.
Robotics 13 00057 g005
Figure 6. Simulated flat variables with two via points. The different colors represent the different polynomial functions joining the subsequent pairs of points.
Figure 6. Simulated flat variables with two via points. The different colors represent the different polynomial functions joining the subsequent pairs of points.
Robotics 13 00057 g006
Figure 7. Simulated joint values with two via points.
Figure 7. Simulated joint values with two via points.
Robotics 13 00057 g007
Figure 8. Two different trajectories with two different via points but the same obstacle within the workspace.
Figure 8. Two different trajectories with two different via points but the same obstacle within the workspace.
Robotics 13 00057 g008
Figure 9. (a) Prototype of the two-DOF robot used for the experimental validation. (b) The two obstacles positioned in the working area.
Figure 9. (a) Prototype of the two-DOF robot used for the experimental validation. (b) The two obstacles positioned in the working area.
Robotics 13 00057 g009
Figure 10. Experimental results with a two-DOF robot: Cartesian trajectories (a) and joint values (b).
Figure 10. Experimental results with a two-DOF robot: Cartesian trajectories (a) and joint values (b).
Robotics 13 00057 g010aRobotics 13 00057 g010b
Table 1. Geometrical and inertial parameters of the 2-DOF robot.
Table 1. Geometrical and inertial parameters of the 2-DOF robot.
ParametersUnitsLink 1Link 2
m i kg 3.0 × 10 2 1.2 × 10 2
m c i kg0 1.2 × 10 2
I G i kg · m2 5.8 × 10 5 4.9 × 10 5
a i m 1.3 × 10 1 8.5 × 10 2
a G i m 7.1 × 10 2 0
a c i m0 8.5 × 10 2
Table 2. Numerical tests.
Table 2. Numerical tests.
Test n via c n in Planning c n in ModelOrder of Polynomials
11008-7
210≠08-7
31≠0≠09-9
42008-6-7
520≠08-6-7
62≠0≠09-7-9
Table 3. Numerical tests motion parameters. Each couple of q v i a and each value of t v i a are related to one via point.
Table 3. Numerical tests motion parameters. Each couple of q v i a and each value of t v i a are related to one via point.
Test q via ( ) q f ( ) t via (s) t f (s)
1, 2, 3 [ 95 , 87 ] [ 180 , 0 ] 0.170.64
4, 5, 6 [ 104 , 92 ] , [ 80 , 88 ] [ 180 , 0 ] 0.27, 0.520.7
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Tonan, M.; Bottin, M.; Doria, A.; Rosati, G. Motion Planning of Differentially Flat Planar Underactuated Robots. Robotics 2024, 13, 57. https://doi.org/10.3390/robotics13040057

AMA Style

Tonan M, Bottin M, Doria A, Rosati G. Motion Planning of Differentially Flat Planar Underactuated Robots. Robotics. 2024; 13(4):57. https://doi.org/10.3390/robotics13040057

Chicago/Turabian Style

Tonan, Michele, Matteo Bottin, Alberto Doria, and Giulio Rosati. 2024. "Motion Planning of Differentially Flat Planar Underactuated Robots" Robotics 13, no. 4: 57. https://doi.org/10.3390/robotics13040057

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