Next Article in Journal
Using a Guidance Virtual Fixture on a Soft Robot to Improve Ureteroscopy Procedures in a Phantom
Previous Article in Journal
Assistive Control through a Hapto-Visual Digital Twin for a Master Device Used for Didactic Telesurgery
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Non-Orthogonal Serret–Frenet Parametrization Applied to Path Following of B-Spline Curves by a Mobile Manipulator

by
Filip Dyba
1,* and
Marco Frego
2
1
Department of Cybernetics and Robotics, Wroclaw University of Science and Technology, 50-370 Wroclaw, Poland
2
Faculty of Engineering, Free University of Bozen-Bolzano, 39100 Bolzano-Bozen, Italy
*
Author to whom correspondence should be addressed.
Robotics 2024, 13(9), 139; https://doi.org/10.3390/robotics13090139
Submission received: 6 August 2024 / Revised: 6 September 2024 / Accepted: 10 September 2024 / Published: 12 September 2024

Abstract

:
A tool for path following for a mobile manipulator is herein presented. The control algorithm is obtained by projecting a local frame associated with the robot onto the desired path, thus obtaining a non-orthogonal moving frame. The Serret–Frenet frame moving along the curve is considered as a reference. A curve resulting from the control points of a B-spline in 2D or 3D is investigated as the desired path. It is used to show how the geometric continuity of the path has an impact on the performance of the robot in terms of undesired force spikes. This can be understood by looking at the curvature and, in 3D, at the torsion of the path. These unwanted effects vanish and better performance is achieved thanks to the change of the B-spline order. The theoretical results are confirmed by the simulation study for a mobile manipulator consisting of a non-holonomic wheeled base coupled with a holonomic robotic arm with three degrees of freedom (rotational and prismatic).

1. Introduction

Collaborative robots (cobots) are a recent and important field of study in robotics and in human–robot interaction (HRI). Manipulators and robotic arms are adopted in many industrial and productive contexts for different tasks and purposes [1]. They are typically attached to a fixed base, like a working table or another type of support, to perform their activities. This can be a limit of the their operational space for certain applications, for instance, picking objects from a place, even in the proximity of the working space, that are out of their grasping reach. An example is a robot that needs to refill the container of components used to assemble a product, which are stored in a drawer or in a warehouse outside the robot’s immediate proximity. Typical cases are given by robots in automated warehouses [2,3,4].
In this field of research, robotic arms mounted over a mobile platform are becoming popular. The scientific challenge of controlling them is that they combine holonomic with non-holonomic constraints. Indeed, typically, the mobile base is a wheeled robot, e.g., unicycle or car-like, whereas the arm is a combination of rotational and prismatic joints. Such a robot is named a mobile manipulator. In the literature, four types of mobile manipulators are distinguished [5]:
  • type (h,h): holonomic mobile platform with a holonomic on-board manipulator;
  • type (nh,h): non-holonomic mobile platform with a holonomic on-board manipulator;
  • type (h,nh): holonomic mobile platform with a non-holonomic on-board manipulator;
  • type (nh,nh): non-holonomic mobile platform with a non-holonomic on-board manipulator. Such a combination is also noted as a doubly non-holonomic mobile manipulator.
In this work, we propose a tool to perform the path-following task of a mobile manipulator [6] constituted by a non-holonomic wheeled base and a holonomic robotic arm; overall, this is a robot of type (nh,h). Such a construction is frequently used in many applications [7,8,9].
The presented control algorithm is suitable for any mobile manipulator of type ( n h , h ) . In our research, we consider an example model consisting of a unicycle base and a manipulator with three degrees of freedom (rotational, prismatic, rotational—a RPR robot); see the scheme of Figure 1. The robotic arm is mounted at distance l from the origin of the mobile platform local frame X p Y p Z p . The manipulator local frame X m Y m Z m is located at that point.
Following the classic paradigm, we split the problem of the trajectory design into geometric path and speed profile, the latter being generated by the proposed control algorithm. We briefly introduce our contribution, which will then be detailed in the following sections.
We model the geometric path with B-splines [10], which are an established way of designing paths starting from a conveniently shaped control polygon. There are several advantages in using B-splines:
  • They are defined over a polynomial basis with only local support, that is, changing a piece of the curve does not require a change in the whole spline;
  • They extend the concept of the Bézier curve and inherit their good properties, like positivity, partition of unity of the basis, etc;
  • They can be used in R 2 or in R 3 (or in R n ) without any particular changes in the code;
  • Their definition, as well as their derivatives, are recursive and, therefore, numerically, they are very stable.
The main disadvantage of B-splines (depending on the application) is that they cannot represent certain curve primitives [10] like ellipses, hyperbolas, parabolas, and more notably, circles, thus, biarcs [11,12] are also excluded. These curves appear typically in milling and machining processes resulting in G-code. However, for a robot moving in space this is not a problem. Moreover, we want to stress that our approach is not dependent on B-splines, which we selected just as an example, but other classes of curves will be possible without changing the essence of our method. Possible alternatives could be other polynomial splines like η 3 D splines, Tychonov-regularised splines, and Pythagorean Hodographs; non-polynomial solution can be biarcs, clothoids, Dubins and Reeds–Shepp curves, Fermat spirals, or more general log-aesthetic curves.
The design of the control law follows two steps, as depicted in a diagram in Section 6. The controller consists of two control laws working in parallel. Firstly, kinematic constraints have to be taken into account. They result from the robot description with respect to the path and are similar to non-integrable constraints of the first order, and other constraints, which usually result from the robot non-holonomy. In particular, the non-holonomic constraints may be introduced to the system by a certain class of the mobile platform. In the case considered in this paper, it is caused by the mobile robot of class ( 2 , 0 ) , namely a unicycle [13]. Based on the kinematic model, a kinematic controller is designed. This gives a formula for the robot velocities to satisfy the kinematic constraints. As the robot velocities cannot be commanded directly, the kinematic controller can be treated as a motion planner, and a layer to perform the reference velocities is required. Therefore, the second layer of the controller, the dynamic controller, is designed based on the robot dynamics model. It plays the role of an execution system. Although some solutions to the path-following problem are limited only to the investigation of a kinematic layer [14,15], in the presented paper the robot dynamics are taken into account as an important aspect for the control law design. The overall process builds a cascaded system following the backstepping integrator philosophy [16]. Such an approach has been eagerly used in many robotic applications considering non-holonomic constraints, e.g., [17,18,19]. The backstepping method was also used for the path-following task in the previous research. For instance, in papers [20,21], control laws for fixed-base manipulators were provided. It shows that this methodology allows us to obtain an effective path-following controller.

Paper Contribution and Structure

We present a tool to perform the path-following task based on the desired control points resulting from a simple motion planner. Background material for the Serret–Frenet frame is introduced in Section 2. In this paper, we consider a non-holonomic mobile manipulator, as it is a complex system of increasing importance in industrial solutions. We provide the robot description in Section 3. In order to obtain the robot description with respect to the path, we use equations introduced in Section 2 and Section 3. We project the robot guidance point onto the orthonormal frame located on the path. In Section 4, the details of the non-orthogonal projection are provided and robot equations with respect to the path are derived. The projection method does not introduce any additional constraints to the robot description, so it is an effective global approach. Combined with the Serret–Frenet frame, it results in the non-orthogonal projection onto the desired path. These results are then applied to a path made of a specific family of curves, the B-splines, which are detailed and analysed in Section 5. In particular, we discuss how the continuity of the path impacts the robot performance in terms of undesired force spikes and how this can be avoided using a proper spline order. Furthermore, we show how to tailor the algorithm based on the non-orthogonal Serret–Frenet parametrization to control a mobile manipulator performing the path-following task. The control law to generate and perform reference velocities that allow the robot to track the path is discussed in Section 6. The overall system is simulated and validated in Section 7. Finally, in Section 8 we draw the conclusions.

2. Serret–Frenet Parametrization

Curvilinear parametrization methods allow defining a local frame associated with a geometrical curve. The frame evolution along the curve is strictly defined by its geometry. One can distinguish different types of the parametrization, namely the normalized description and the general one [22].
In the normalized parametrization, a curve is described with respect to the so-called curvilinear distance, s. It can be interpreted as the length of a string mounted at the point of the motion beginning and laid precisely on the path [23,24]. However, for many curves it is difficult to obtain the explicit normalized equation. It results from the non-linear dependency on the general parameter u.
s ( u ) = 0 u d r ( x ) d x d x ,
where r is the analytical equation of a curve. Therefore, curves are frequently described in terms of general parametrization.
The most popular parametrization method was proposed by Serret [25] and Frenet [26]. This mathematical heritage of the previous century is commonly used in many contemporary problems in robotics, mathematics, or graphics [21,24,27,28]. The Serret–Frenet frame consists of three vectors spanning an orthonormal basis in R 3 space:
  • tangent to a curve, T ;
  • normal to a curve, N ;
  • binormal to a curve, B .
They can be derived with the following equations [29]:
T ( u ) = d r ( u ) d u d r ( u ) d u ,
B ( u ) = d r ( u ) d u × d 2 r ( u ) d u 2 d r ( u ) d u × d 2 r ( u ) d u 2 ,
N ( u ) = B ( u ) × T ( u ) .
The geometrical parameters describing a curve are curvature and torsion. They define a curve swerve from a straight line and a plane, respectively. They are defined with the following equations [22,24]:
κ ( u ) = d r ( u ) d u × d 2 r ( u ) d u 2 d r ( u ) d u 3 ,
τ ( u ) = d r ( u ) d u × d 2 r ( u ) d u 2 , d 3 r ( u ) d u 3 d r ( u ) d u × d 2 r ( u ) d u 2 2 ,
where · , · denotes the scalar product of vectors. The definition of torsion, given by Equation (3b), indicates that the parametrized curve should be of at least class C 3 .
The evolution of the Serret–Frenet frame is given with the following relation [22,24]:
d T ( u ) d u = υ κ ( u ) N ( u ) ,
d N ( u ) d u = υ κ ( u ) T ( u ) τ ( u ) B ( u ) ,
d B ( u ) d u = υ τ ( u ) N ( u ) .
where υ = d s d u = d r ( u ) d u , which results from Equation (1). Let us denote matrix S ( u ) SO ( 3 ) , comprising the base vectors of the Serret–Frenet frame, i.e., S ( u ) = T ( u ) N ( u ) B ( u ) . Then, Equation (4) can be rewritten in the concise matrix form
d S ( u ) d u = d T ( u ) d u d N ( u ) d u d B ( u ) d u = υ S ( u ) W ( u ) ,
where W ( u ) is the skew-symmetric matrix comprising the geometric parameters of a curve:
W ( u ) = 0 κ ( u ) 0 κ ( u ) 0 τ ( u ) 0 τ ( u ) 0 .
Hence, the frame evolution in time is expressed with the equation
S ˙ ( u ) = d S ( u ) d t = d S ( u ) d u u ˙ = u ˙ υ S ( u ) W ( u ) = s ˙ S ( u ) W ( u ) .

3. Non-Holonomic Mobile Manipulator

A mobile manipulator is a robotic system consisting of a mobile platform and an on-board robotic arm [30]. In the paper, we consider a mobile manipulator of type (nh,h), i.e., with a non-holonomic platform and a holonomic manipulator. Hence, the robot state can be denoted as
q = q p q m ,
where q p R p is the mobile platform state, while q m R m is the vector of manipulator configuration.
Non-holonomic constraints of the mobile platform can be expressed in the Pfaffian form [13]
A ( q p ) q ˙ p = 0 ,
where A R l × p and l is the number of independent non-holonomic constraints. The system (9) can be equivalently transformed to the driftless system [23]
q ˙ p = G ( q p ) η ,
where η R n is the vector of auxiliary velocities and G ( q p ) R p × n , n = p l , is the control matrix spanning the kernel of the Pfaff matrix A ( q p ) , i.e., A · G 0 .
Let us denote p ( q ) as the position of the manipulator end-effector with respect to the inertial frame. Thus, the end-effector velocities are expressed as
p ˙ = p q q ˙ = p q p p q m q ˙ = J 1 J 2 q ˙ = J ( q p , q m ) q ˙ = J ( q ) q ˙ ,
where J ( q ) is the Jacobian. Considering the non-holonomic constraints of the mobile platform, Equation (11) can be rewritten as
p ˙ = J 1 J 2 q ˙ p q ˙ m = J 1 J 2 G η q ˙ m = J 1 G J 2 η q ˙ m = J 1 * J 2 z = J * ( q ) z ,
where z = η q ˙ m T is the velocity vector comprising the auxiliary velocities of the mobile platform and general velocities of the on-board manipulator.
Due to the non-holonomy of the mobile platform, the dynamics of the mobile manipulator is derived using the d’Alembert principle [30]. In the general coordinates, it takes the form
Q 11 Q 12 Q 21 Q 22 q ¨ p q ¨ m + C 11 C 12 C 21 C 22 q ˙ p q ˙ m + 0 D 2 = A T λ 0 + B p 0 0 I m u p u m ,
where the different elements have the following meanings:
  • Q ( q ) = Q 11 Q 12 Q 21 Q 22 R ( p + m ) × ( p + m ) is the inertia matrix;
  • C ( q , q ˙ ) = C 11 C 12 C 21 C 22 R ( p + m ) × ( p + m ) is the matrix of Coriolis and centrifugal forces;
  • D ( q ) = 0 D 2 R p + m is the vector of gravity terms. It is assumed that the mobile platform moves on a plane;
  • λ R l is the vector of Lagrange multipliers. The non-holonomic constraints are defined only for the mobile platform;
  • u = u p u m R n + m is the control vector. The vector u p R n represents the control torques applied to the platform wheels. It is noteworthy that there are less controls u p than the platform state variables q p , that is, n < p . This results from the platform non-holonomy. Moreover, u m R m denotes generalized forces to control the manipulator joints;
  • B = B p 0 0 I m R ( p + m ) × ( n + m ) is the input matrix, where the matrix B p R p × n indicates how controls applied to the mobile platform, u p , influence the platform state, q p , and I m R m × m is the identity matrix as torques and forces generated by actuators of the holonomic robotic arm, u m , impact directly every respective state variable, q m .
The elements Q 12 , Q 21 , C 12 , and C 21 in the dynamic model (13) result from the dynamic coupling between the mobile platform and the manipulator. Model (13) can be expressed with respect to the auxiliary velocities vector, z . Considering Equation (10) and its derivative, the following relation is obtained:
Q * ( q ) z ˙ + C * ( q , q ˙ ) z + D * ( q ) = B * u ,
where Q * R ( n + m ) × ( n + m ) , C * R ( n + m ) × ( n + m ) , D * R n + m , and B * R ( n + m ) × ( n + m ) .
It is noteworthy that, for mobile manipulators, the skew-symmetry between the inertia matrix, Q * , and the Coriolis matrix, C * , does not hold [30]. Therefore, a correction matrix, C K * , is defined, so that
Q ˙ * = ( C * + C K * ) + ( C * + C K * ) T .

4. Robot Description with Respect to a Path

In order to describe a robot with respect to the desired path, the robot guidance point has to be projected onto the considered curve. Let us associate the robot guidance point E with the manipulator end-effector. Then, its location in the inertial frame is equal to p . Next, let the projection of point E onto the path be denoted as E . Without loss of the generality, we can associate point E with the origin of the Serret–Frenet frame, which is defined with the vectors { T , N , B } and evolves along the path. The origin of the Serret–Frenet frame in the inertial frame is equal to r . Subsequently, the projection onto the path is performed so that no constraints, e.g., regarding the distance between point E and the frame origin, are introduced. Hence, it is the non-orthogonal projection, which is free of singularities and is global and valid in every point of the space. As the Serret–Frenet frame and the particular projection method are considered, we denote this approach to the description of a robot with respect to the path as non-orthogonal Serret–Frenet parametrization. The essence of the method is to define a vector with three coordinates, d = d 1 d 2 d 3 T , which denotes the position of the robot guidance point E in the local frame on the path. The schematic presentation of the projection procedure is presented in Figure 2.
In fact, the position of the robot guidance point with respect to the Serret–Frenet frame can be computed using the following equation:
d = S T ( p r ) = T , p r N , p r B , p r = d 1 d 2 d 3 .
The position d changes in time according to the relation obtained by differentiating Equation (16):
d ˙ = S T ( p ˙ r ˙ ) + S ˙ T ( p r ) .
Let us notice that the element S T r ˙ defines the linear velocity of the frame associated with the path expressed in that frame. It corresponds to the velocity in the body frame. Therefore, this element is equal to
S T ( u ) r ˙ ( u ) = T , d r d u N , d r d u B , d r d u u ˙ = T , T N , T B , T u ˙ d r d u = u ˙ υ 0 0 = s ˙ 0 0 .
Moreover, based on Equations (7) and (16), it is observed that
S ˙ T ( p r ) = s ˙ W T S T ( p r ) = s ˙ W d ,
where W T = W according to Equation (6). Hence, considering (12), (18), and (19), the final form of Equation (17) is derived as
d ˙ = S T p ˙ s ˙ 0 0 s ˙ W d = S T J * L z s ˙ 1 κ d 2 κ d 1 τ d 3 τ d 2 F = L z + F .
The relation (20) has the form of a non-integrable constraint of the first order. It can be treated as a constraint introduced to the robotic system. If the constraint is satisfied, the robot follows the desired path correctly.

5. B-Spline Curve

According to [10], a B-spline curve of order k is the polynomial given by the equation
r ( u ) = i = 0 r N i , k ( u ) P i ,
where P i , for i { 0 , , r } , are the control points defining the convex surrounding of the curve, and N i , k are base functions of order k, defined on the set of knots
U = { a , , a k + 1 , u k + 1 , , u r , b , , b k + 1 } ,
while the domain of the curve is given by u [ a , b ] .
The N i , k functions are piecewise polynomial functions. They create a base for the vector space of all piecewise polynomial functions of given order and continuity for the set of knots U. Moreover, the base functions have properties similar to Bézier curves [10], e.g., invariance of the transformation or locality. The i-th function is non-zero only on a certain interval of the domain. As a result, the control point P i shapes a curve only if the corresponding base function is non-zero. The base functions of order k are defined as [10]
N i , 0 ( u ) = 1 , if u i u < u i + 1 0 , otherwise ,
N i , k ( u ) = u u i u i + k u i N i , k 1 ( u ) + u i + k + 1 u u i + k + 1 u i + 1 N i + 1 , k 1 ( u ) ,
but in the case of a vanishing denominator in Equation (23b), the whole element is assumed to be equal to zero.
The definition of B-spline curves proposed in [10] guarantees certain properties, including the following:
  • If r = k and U = { 0 , , 0 , 1 , , 1 } , the B-spline curve is equal to the Bézier curve. The base functions have the form of Bernstein polynomials;
  • The base polynomial functions, creating a B-spline curve, are defined on intervals of the domain. The curve is of order k and defined for r + 1 control points. The number of knots is equal to r + k + 2 ;
  • The boundary conditions r ( a ) = P 0 and r ( b ) = P k are satisfied;
  • The polygon defined by the control points is equal to the linear approximation of the B-spline curve. The lower the order of base polynomials, the more precise is the polygon mapped by the B-spline curve. The comparison of B-spline curves built on the same set of control points on a plane is presented in Figure 3. Also, the curvature of the B-spline curves is plotted. It is noteworthy that, in this example, the splines have curvatures equal to zero at certain point. Moreover, for k = 2 the curvature is discontinuous.
  • Continuity and differentiability of B-spline curves result directly from the properties of the base functions. Hence, the curve of order k is smooth inside the intervals defined by knots and at least k d times differentiable in the knot point with multiplicity d.
The derivative of order p of a B-spline curve (21) is given by
d p r ( u ) d u p = r ( p ) ( u ) = i = 0 n N i , k ( p ) ( u ) P i .
Therefore, the derivatives of the base functions along the curve have to be calculated. One of the methods proposed in [10] is defined with the following relation:
N i , k ( p ) = k ! ( k p ) ! j = 0 p a p , j N i + j , k p ,
where the coefficients a p , j are given according to the formulas
a 0 , 0 = 1 , a p , 0 = a p 1 , 0 u i + k p + 1 u i , a p , j = a p 1 , j a p 1 , j 1 u i + k + j p + 1 u i + j , j = 1 , , k 1 , a p , p = a p 1 , p 1 u i + k + 1 u i + p ,
where p k . Again, it is assumed that in the case of a vanishing denominator, the whole coefficient a p , j is equal to 0.

6. Control Law Formulation

The considered control problem is the path-following task performed by a non-holonomic mobile manipulator.
The path-following task is to force a robot to approach the desired path, defined as a purely geometrical curve, and move along it [31]. Moreover, the velocity profile along the path has to be asymptotically tracked. However, it does not influence the geometrical description of the path, which can be defined independently.
The desired path is defined as a B-spline curve. It is assumed that the input data is a set of control points, which can be obtained with the usage of motion planning algorithms. The control points are located in the robot workspace. A collision-free environment is considered.
The control law is formulated for a mobile manipulator of type (nh,h). Therefore, in the robotic system exist kinematic constraints resulting from the platform non-holonomy, Equations (9) and (10), and from the robot description with respect to the path, Equation (20). In order to satisfy the constraints, proper velocities, z , have to be performed. However, the auxiliary velocities, z , belong to the state trajectories and cannot be commanded directly. Hence, the robot dynamics, Equation (13), must be considered. As a result, the system has a cascaded structure in which kinematic and dynamic layers can be distinguished.
In order to design a control law for a cascaded system, the backstepping integrator algorithm [16] can be used. Firstly, a kinematic control law needs to be designed to satisfy the kinematic constraints. Secondly, a dynamic controller is proposed to execute the reference velocity profiles generated on the previous level. The resulting structure of the control system is presented in Figure 4.
Based on the backstepping integrator method, the following control law is proposed to guarantee asymptotic convergence of path-following errors to zero. The kinematic controller takes the form
z ref = L # ( d ˙ d K k e d F ) ,
where z ref are the reference velocity profiles to satisfy the robot kinematic constraints, d d is the desired state with respect to the path, e d = d d d is the vector of path-following errors, K k = diag { k k } is the positive-definite matrix of kinematic controller coefficients, and # denotes the Moore–Penrose pseudo-inverse of matrix L , i.e., L # = L T ( L L T ) 1 . The reference velocity profiles are performed via the dynamic layer for which the model-based control law is proposed,
u = ( B * ) 1 Q * z ˙ ref + C * z ref + D * K d e z C K * e z ,
where e z = z z ref is the vector of velocity profile following errors, and K d = diag { k d } is the positive-definite matrix of control gains. For the proposed controllers, the following theorem is stated.
Theorem 1.
The kinematic controller, Equation (26), and the dynamic controller, Equation (27), working in parallel as a cascaded controller guarantee asymptotic convergence of path-following errors, e d , and velocity profile following errors, e z , to zero.
Proof. 
To begin with, the kinematic controller is considered. According to the backstepping methodology, it is treated as though there were no higher layers of the control cascade. Hence, the kinematic constraints are satisfied if the system trajectories tend to the reference velocity profiles, z ref . Therefore, system (20) in the closed control loop with the virtual control defined by (26) is described with the equation
e ˙ d + K k e d = 0 .
It is easily observed that system (28) is the Hurwitz system for a positive-definite matrix K k . It corresponds to the assumed properties of the gain matrix. Hence, the kinematic layer is asymptotically stable.
The reference velocity profiles, z ref , generated on the kinematic level, are asymptotically tracked by the proposed dynamic controller. The trajectories planned by the kinematic controller are strictly performed on the dynamic level. The control loop at the second stage of the control cascade is closed by putting control law (27) to the robot dynamics model (14). As a result, the following equation is obtained:
Q * e ˙ z + C * e z + K d e z + C K * e z = 0 .
Let us propose a candidate Lyapunov-like function for the system (29):
V ( e z ) = 1 2 e z T Q * ( q ) e z .
The derivative of function (30) along the system trajectories is equal to
V ˙ ( e z ) = e z T Q * e ˙ z + 1 2 e z T Q ˙ * e z = = e z T C * e z C K * e z K d e z ( 29 ) + e z T C * + C K * ( 15 ) e z = = e z T K d e z = W ( e z ) .
As W ( e z ) is a quadratic form of the positive-definite matrix, K d , it is always non-negative. Thus, the following relation holds
V ˙ ( e z ) = W ( e z ) 0 .
By virtue of the LaSalle invariance principle [13], it is concluded that velocity profiles following errors converge to zero asymptotically. As a result, system trajectories tend to the reference velocity profiles, z z ref . Hence, the kinematic constraints are satisfied and it is proven that the robot controlled by the designed cascade controller follows the desired path correctly. □

7. Simulation Results and Discussion

The presented theoretical results were validated in a simulation study. A mobile manipulator of type (nh,h) was considered. It consisted of a mobile platform of class ( 2 , 0 ) [13] and a robotic arm of three degrees of freedom (rotational, prismatic, rotational). A schematic view of the mobile manipulator is presented in Figure 1.
A B-spline curve was commanded as the desired path. The curve was defined by the arbitrarily chosen set of control points
P i 1 0 1 T , 2 0 0 T , 2 2 0 T , 3 3 1 T , 4 2 0 T , 6 0 0 T , 5 1 1 T , 2 1 / 2 1 / 2 T ,
whereas the domain was selected as u [ 0 , 20 ] and the single knot points were uniformly distributed. In the simulation study, spline curves of various order k, namely k { 3 , 4 } , were taken into account. As a result, curves of classes C 2 and C 3 were obtained, respectively. Such a choice is purposeful. As indicated in Section 5, the lower the order k, the better the control points are mapped by a B-spline curve. On the other hand, the Serret–Frenet parametrization requires at least class C 3 . Therefore, it will be verified within the study what happens in the critical step of the requirement violation.
In order to validate the proposed control law, the parameters of the example were selected arbitrarily:
  • control gains: k k = 50 , k d = 500 ;
  • robot initial state: q 0 = 0 0 π / 2 π / 4 1 π / 2 T , z 0 = 0 ;
  • velocity profile along the path: u ˙ ( t ) = 1 2 m s , u ( 0 ) = 0 .
Furthermore, the desired position with respect to the path, d d , was defined so that the mobile manipulator approached the desired path smoothly from the initial state.
In the following subsections, simulation results obtained for different desired paths are presented and discussed.

7.1. The Desired Path of Class C 2

Firstly, the performance of the robot was investigated, when the commanded B-spline curve was of order k = 3 , which resulted in the class of continuity C 2 in the knot points. It is the violation of the requirement necessary for the Serret–Frenet frame definition.
Nevertheless, the path performed by the robot is consistent with the desired path, which is presented in Figure 5. Moreover, no discontinuity can be observed in the local frame evolution along the path. Also, the reference signals, shown in Figure 6, seem to be preserved at a feasible level. The control errors, presented in Figure 7, are also maintained at a satisfactorily low level. Despite the fact that the mobile manipulator is outside the path in the initial state, the path-following errors, shown in Figure 7a, are maintained at low level during the whole manoeuvre. The smooth approach to the desired path results from the value of the desired position with respect to the path, d d , which is presented in Figure 6a. During the first few seconds, the manipulator is smoothly brought to the origin of the Serret–Frenet frame, i.e., zero position with respect to the path. All in all, it can be concluded that, in this case, the path is followed correctly.
However, in the trajectory of torsion, discontinuities are revealed, as presented in Figure 8. In the knot points, the path class is C 2 , which is too low and results in step changes of the torsion value. This causes unachievable values of control commands; see Figure 9. The desired path is performed correctly in the simulation as the requirements are violated only in the knot points. However, this might not be applicable to the physical robot. The controls would have to be saturated and the robot behaviour in the knot points should be better operated. This case highlights the necessity of the precise modeling of B-spline curves, which are a convenient tool to derive an equation of the desired path, based on the set of control points.

7.2. The Desired Path of Class C 3

In contrast to the case described in the previous section, here the desired path created with base functions of order k = 4 is analysed. The curve is modelled appropriately and, as a result, it has the continuity class C 3 in the knot points. This guarantees the continuity of the Serret–Frenet frame evolution.
In Figure 10, the desired path and the Serret–Frenet frame evolution along the curve are presented. In addition, in Figure 11, the geometric parameters of the desired curve are shown. It should be noticed that both curvature and torsion values are variable in time. However, they are continuous due to the chosen order of the base functions, i.e., k = 4 .
Moreover, in Figure 12, the performance of the considered mobile manipulator is visualized. The robot smoothly approaches the given path, and its end-effector, which is associated with the robot guidance point, moves precisely along the curve determined by the control points, Equation (33).
Subsequently, in Figure 13, the reference values for the controllers on both layers of the cascade are presented. The desired position with respect to the path smoothly converges from the initial value to the origin, to follow the desired path correctly; see Figure 13a. Simultaneously, the reference velocity profiles commanded by the kinematic controller can be observed. In the same graph, reference velocities for the platform wheels (indexes 1 and 2), rotational joints (3 and 5), and prismatic joint (4) are plotted. It is noteworthy that the values are rapidly increasing in the sense of absolute value in the last stage of motion. This might result from the fact that the constant velocity profile along the curve, u ˙ d , is considered.
The reference signals can be compared with the errors, which are shown in Figure 14. For both kinematic and dynamic layers, the errors are maintained at a low level. In particular, the path-following errors, Figure 14a, are low during the whole manoeuvre due to the design of the reference value; see Figure 13a. The graphs prove the successful performance of the controller. In fact, the errors are below the precision of the sensors, which indicates that the controller performance is satisfactory. The proposed control law guarantees the successful following of the desired path. At the end of the motion, a negligible excitation can be noticed. This results from the mentioned changes of the reference value. Nonetheless, the excitation is well compensated by the controller. As a result, the errors demonstrate the expected behaviour at satisfactory precision.
Finally, in Figure 15 the generated control commands are presented. The control torques for the platform wheels and rotational joints are shown separately from the control force for the prismatic joint. For a properly modelled path, the obtained control values are acceptable and achievable by real actuators. Therefore, it is indicated that the control law can be successfully applied to practical problems.

8. Conclusions

In the paper, a path-following algorithm based on the Serret–Frenet parametrization and non-orthogonal projection is presented. Its applicability was verified in a simulation study for a non-holonomic mobile manipulator following a B-spline curve.
The considered class of B-spline curves is particularly interesting. It can be easily defined based on the given set of control points. A considerable advantage of B-spline curves is the fact that the desired properties can be simply obtained by tuning the curve parameters. For instance, in Section 5 it was shown how the order of base polynomials impacts the curvature of a spline and the class of continuity in the knot points. The second aspect is particularly important in terms of satisfying the minimal requirements of the selected path parametrization method. In the example simulation study, presented in Section 7, we showed how to model the desired path in order to achieve a continuous performance of the controller. Although the followed curve is complex, as its curvature and torsion are variable along the curve, the proposed controller allows following the path successfully.
Moreover, it is noteworthy that the lower the order of the B-spline curve, the better the control points are mapped. Therefore, the requirement of the Serret–Frenet parametrization for the a class of at least C 3 may sometimes be too strict, and other methods, e.g., the Bishop method, should be considered to describe the path. As a result, a more precise performance in the path-following task may be achieved.
The presented study highlights the usability of the algorithm to control mobile manipulators, since their importance in robotic solutions is constantly increasing. Indeed, in future research, an experimental validation should be additionally performed. The validation methodology may be inspired by the one proposed for a fixed-base manipulator in [32]. Such a process will be important in order to confirm the practical suitability of the control law presented in this paper. It would also be essential to verify the control system behaviour in the knot points of the reduced continuity class.

Author Contributions

Conceptualization, F.D. and M.F.; Methodology, F.D. and M.F. The authors contributed equally to this work. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are available under request to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Popov, V.; Topalov, A.V.; Stoyanov, T.; Ahmed-Shieva, S. Kinematic Modeling with Experimental Validation of a KUKA®–Kinova® Holonomic Mobile Manipulator. Electronics 2024, 13, 1534. [Google Scholar] [CrossRef]
  2. Galati, R.; Mantriota, G. Path Following for an Omnidirectional Robot Using a Non-Linear Model Predictive Controller for Intelligent Warehouses. Robotics 2023, 12, 78. [Google Scholar] [CrossRef]
  3. Shahria, M.T.; Sunny, M.S.H.; Zarif, M.I.I.; Ghommam, J.; Ahamed, S.I.; Rahman, M.H. A Comprehensive Review of Vision-Based Robotic Applications: Current State, Components, Approaches, Barriers, and Potential Solutions. Robotics 2022, 11, 139. [Google Scholar] [CrossRef]
  4. Frego, M.; Bevilacqua, P.; Divan, S.; Zenatti, F.; Palopoli, L.; Biral, F.; Fontanelli, D. Minimum time—Minimum jerk optimal traffic management for AGVs. IEEE Robot. Autom. Lett. 2020, 5, 5307–5314. [Google Scholar] [CrossRef]
  5. Tchoń, K.; Jakubiak, J.; Zadarnowska, K. Doubly nonholonomic mobile manipulators. In Proceedings of the IEEE International Conference on Robotics and Automation, ICRA ’04, New Orleans, LA, USA, 26 April–1 May 2004; Volume 5, pp. 4590–4595. [Google Scholar] [CrossRef]
  6. Cui, S.; Song, H.; Zheng, T.; Dai, P. Trajectory Tracking Control of Mobile Manipulator Based on Improved Sliding Mode Control Algorithm. Processes 2024, 12, 881. [Google Scholar] [CrossRef]
  7. Hamner, B.; Koterba, S.; Shi, J.; Simmons, R.; Singh, S. An autonomous mobile manipulator for assembly tasks. Auton. Robot. 2010, 28, 131–149. [Google Scholar] [CrossRef]
  8. Domski, W.; Mazur, A.; Kaczmarek, M. Extended Factitious Force Approach for Control of a Mobile Manipulator Moving on Unknown Terrain. J. Intell. Robot. Syst. 2019, 93, 699–712. [Google Scholar] [CrossRef]
  9. Burgess-Limerick, B.; Haviland, J.; Lehnert, C.; Corke, P. Reactive Base Control for On-the-Move Mobile Manipulation in Dynamic Environments. IEEE Robot. Autom. Lett. 2024, 9, 2048–2055. [Google Scholar] [CrossRef]
  10. Piegl, L.; Tiller, W. The NURBS Book; Monographs in Visual Communication; Springer: Berlin/Heidelberg, Germany, 1996. [Google Scholar]
  11. Levien, R.; Séquin, C.H. Interpolating splines: Which is the fairest of them all? Comput.-Aided Des. Appl. 2009, 6, 91–102. [Google Scholar] [CrossRef]
  12. Bertolazzi, E.; Frego, M. A Note on Robust Biarc Computation. Comput.-Aided Des. Appl. 2019, 16, 822–835. [Google Scholar] [CrossRef]
  13. Canudas de Wit, C.; Bastin, G.; Siciliano, B. Theory of Robot Control, 1st ed.; Springer: London, UK, 1996. [Google Scholar]
  14. Libal, U.; Płaskonka, J. Noise sensitivity of selected kinematic path following controllers for a unicycle. Bull. Pol. Acad. Sci. Tech. Sci. 2014, 62, 3–13. [Google Scholar] [CrossRef]
  15. Lugo-Cárdenas, I.; Salazar, S.; Lozano, R. Lyapunov Based 3D Path Following Kinematic Controller for a Fixed Wing UAV. IFAC-PapersOnLine 2017, 50, 15946–15951. [Google Scholar] [CrossRef]
  16. Krstić, M.; Kanellakopoulos, I.; Kokotović, P.V. Nonlinear and Adaptive Control Design; John Wiley & Sons, Inc.: New York, NY, USA, 1995. [Google Scholar]
  17. Soetanto, D.; Lapierre, L.; Pascoal, A. Adaptive, non-singular path-following control of dynamic wheeled robots. In Proceedings of the 42nd IEEE International Conference on Decision and Control (IEEE Cat. No.03CH37475), Maui, HI, USA, 9–12 December 2003; Volume 2, pp. 1765–1770. [Google Scholar] [CrossRef]
  18. Chen, Y.; Li, N.; Wu, Y.; Zeng, W. Horizontal Path Following Kinematic Controller for a Small Fixed-wing UAV Using Backstepping and Parameter Optimization. Int. J. Control Autom. Syst. 2023, 21, 1005–1019. [Google Scholar] [CrossRef]
  19. Wojtunik, M.; Rybus, T.; Seweryn, K. An Adaptive Backstepping Control for a Free-Floating Space Manipulator Using a Linearly Parametrized Dynamic Model. J. Aerosp. Eng. 2024, 37, 04023117. [Google Scholar] [CrossRef]
  20. Mazur, A.; Płaskonka, J.; Kaczmarek, M. Following 3D paths by a manipulator. Arch. Control Sci. 2015, 25, 117–133. [Google Scholar] [CrossRef]
  21. Mazur, A.; Dyba, F. The Non-orthogonal Serret–Frenet Parametrization Applied to the Path Following Problem of a Manipulator with Partially Known Dynamics. Arch. Control Sci. 2023, 33, 339–370. [Google Scholar]
  22. Oprea, J. Differential Geometry and Its Applications; Classroom Resource Materials, Mathematical Association of America: Washington, DC, USA, 2007. [Google Scholar]
  23. Siciliano, B.; Sciavicco, L.; Villani, L.; Oriolo, G. Robotics: Modelling, Planning and Control; Advanced Textbooks in Control and Signal Processing; Springer: London, UK, 2010. [Google Scholar]
  24. do Carmo, M.P. Differential Geometry of Curves and Surfaces; Prentice Hall: Hoboken, NJ, USA, 1976. [Google Scholar]
  25. Serret, J.A. Sur quelques formules relatives à la théorie des courbes à double courbure. J. Math. Pures Appl. 1851, 193–207. [Google Scholar]
  26. Frenet, F. Sur les courbes à double courbure. J. Math. Pures Appl. 1852, 437–447. [Google Scholar]
  27. Selig, J.M.; Wu, Y. Interpolated Rigid-Body Motions and Robotics. In Proceedings of the 2006 IEEE/RSJ International Conference on Intelligent Robots and Systems, Beijing, China, 9–15 October 2006; pp. 1086–1091. [Google Scholar] [CrossRef]
  28. Saad, M.K.; Abdel-Baky, R.A.; Alharbi, F.; Aloufi, A. Characterizations of Some Special Curves in Lorentz-Minkowski Space. Math. Stat. 2020, 8, 299–305. [Google Scholar] [CrossRef]
  29. Erkan, E.; Yüce, S. Serret-Frenet Frame and Curvatures of Bézier Curves. Mathematics 2018, 6, 321. [Google Scholar] [CrossRef]
  30. Mazur, A. Model-Based Control for Non-Holonomic Mobile Manipulators; Monograph of Wroclaw University of Science and Technology. 2009. Available online: https://www.dbc.wroc.pl/Content/4192/mazur.pdf (accessed on 9 September 2024). (In Polish).
  31. Hung, N.; Rego, F.; Quintas, J.; Cruz, J.; Jacinto, M.; Souto, D.; Potes, A.; Sebastiao, L.; Pascoal, A. A review of path following control strategies for autonomous robotic vehicles: Theory, simulations, and experiments. J. Field Robot. 2023, 40, 747–779. [Google Scholar] [CrossRef]
  32. Dyba, F. Parallel Position and Orientation Control for a Redundant Manipulator Performing the Path Following Task. In Proceedings of the 2024 13th International Workshop on Robot Motion and Control (RoMoCo), Poznań, Poland, 2–4 July 2024; pp. 199–204. [Google Scholar] [CrossRef]
Figure 1. Schematic view of the mobile manipulator considered in the simulation study.
Figure 1. Schematic view of the mobile manipulator considered in the simulation study.
Robotics 13 00139 g001
Figure 2. Non-orthogonal projection in R 3 space.
Figure 2. Non-orthogonal projection in R 3 space.
Robotics 13 00139 g002
Figure 3. Example of B-spline curves: (a) B-spline curves of various orders k for the same set of control points and knot points (denoted with circles). (b) Curvature of respective B-spline curves. (blue: k = 2 ; red: k = 3 ; magenta: k = 4 ; cyan: k = 5 ; black: control points).
Figure 3. Example of B-spline curves: (a) B-spline curves of various orders k for the same set of control points and knot points (denoted with circles). (b) Curvature of respective B-spline curves. (blue: k = 2 ; red: k = 3 ; magenta: k = 4 ; cyan: k = 5 ; black: control points).
Robotics 13 00139 g003
Figure 4. Control system structure.
Figure 4. Control system structure.
Robotics 13 00139 g004
Figure 5. The desired path definition: (a) Path (blue solid: the desired path; red dashed: the performed path). (b) Local frame evolution.
Figure 5. The desired path definition: (a) Path (blue solid: the desired path; red dashed: the performed path). (b) Local frame evolution.
Robotics 13 00139 g005
Figure 6. Reference signals: (a) Desired position with respect to the path, d d . (b) Reference velocity profiles, z ref , generated by the kinematic controller (26).
Figure 6. Reference signals: (a) Desired position with respect to the path, d d . (b) Reference velocity profiles, z ref , generated by the kinematic controller (26).
Robotics 13 00139 g006
Figure 7. Errors: (a) path-following errors, e d . (b) Velocity profile following errors, e z .
Figure 7. Errors: (a) path-following errors, e d . (b) Velocity profile following errors, e z .
Robotics 13 00139 g007
Figure 8. Geometric parameters: (a) Curvature, κ . (b) Torsion, τ .
Figure 8. Geometric parameters: (a) Curvature, κ . (b) Torsion, τ .
Robotics 13 00139 g008
Figure 9. Control commands (27): (a) Peaks in the control signals. (b) Zoomed view.
Figure 9. Control commands (27): (a) Peaks in the control signals. (b) Zoomed view.
Robotics 13 00139 g009
Figure 10. The desired path definition: (a) Path (blue solid: the desired path; red dashed: the performed path). (b) Local frame evolution.
Figure 10. The desired path definition: (a) Path (blue solid: the desired path; red dashed: the performed path). (b) Local frame evolution.
Robotics 13 00139 g010
Figure 11. Geometric parameters: (a) Curvature, κ . (b) Torsion, τ .
Figure 11. Geometric parameters: (a) Curvature, κ . (b) Torsion, τ .
Robotics 13 00139 g011
Figure 12. Visualization of the mobile manipulator performance: The mobile manipulator mimics the behaviour of the Serret–Frenet frame along the desired path.
Figure 12. Visualization of the mobile manipulator performance: The mobile manipulator mimics the behaviour of the Serret–Frenet frame along the desired path.
Robotics 13 00139 g012
Figure 13. Reference signals: (a) Desired position with respect to the path, d d . (b) Reference velocity profiles, z ref , generated by the kinematic controller (26).
Figure 13. Reference signals: (a) Desired position with respect to the path, d d . (b) Reference velocity profiles, z ref , generated by the kinematic controller (26).
Robotics 13 00139 g013
Figure 14. Errors: (a) path-following errors, e d . (b) Velocity profile following errors, e z .
Figure 14. Errors: (a) path-following errors, e d . (b) Velocity profile following errors, e z .
Robotics 13 00139 g014
Figure 15. Control signals (27): (a) Mobile platform wheels and rotational joints. (b) Prismatic joint.
Figure 15. Control signals (27): (a) Mobile platform wheels and rotational joints. (b) Prismatic joint.
Robotics 13 00139 g015
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

Dyba, F.; Frego, M. Non-Orthogonal Serret–Frenet Parametrization Applied to Path Following of B-Spline Curves by a Mobile Manipulator. Robotics 2024, 13, 139. https://doi.org/10.3390/robotics13090139

AMA Style

Dyba F, Frego M. Non-Orthogonal Serret–Frenet Parametrization Applied to Path Following of B-Spline Curves by a Mobile Manipulator. Robotics. 2024; 13(9):139. https://doi.org/10.3390/robotics13090139

Chicago/Turabian Style

Dyba, Filip, and Marco Frego. 2024. "Non-Orthogonal Serret–Frenet Parametrization Applied to Path Following of B-Spline Curves by a Mobile Manipulator" Robotics 13, no. 9: 139. https://doi.org/10.3390/robotics13090139

APA Style

Dyba, F., & Frego, M. (2024). Non-Orthogonal Serret–Frenet Parametrization Applied to Path Following of B-Spline Curves by a Mobile Manipulator. Robotics, 13(9), 139. https://doi.org/10.3390/robotics13090139

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