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
. 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
. The manipulator local frame
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 or in (or in ) 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
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
, 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.
where
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
space:
tangent to a curve, ;
normal to a curve, ;
binormal to a curve, .
They can be derived with the following equations [
29]:
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]:
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
.
The evolution of the Serret–Frenet frame is given with the following relation [
22,
24]:
where
, which results from Equation (
1). Let us denote matrix
, comprising the base vectors of the Serret–Frenet frame, i.e.,
. Then, Equation (4) can be rewritten in the concise matrix form
where
is the skew-symmetric matrix comprising the geometric parameters of a curve:
Hence, the frame evolution in time is expressed with the equation
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
where
is the mobile platform state, while
is the vector of manipulator configuration.
Non-holonomic constraints of the mobile platform can be expressed in the Pfaffian form [
13]
where
and
l is the number of independent non-holonomic constraints. The system (
9) can be equivalently transformed to the driftless system [
23]
where
is the vector of auxiliary velocities and
,
, is the control matrix spanning the kernel of the Pfaff matrix
, i.e.,
.
Let us denote
as the position of the manipulator end-effector with respect to the inertial frame. Thus, the end-effector velocities are expressed as
where
is the Jacobian. Considering the non-holonomic constraints of the mobile platform, Equation (
11) can be rewritten as
where
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
where the different elements have the following meanings:
is the inertia matrix;
is the matrix of Coriolis and centrifugal forces;
is the vector of gravity terms. It is assumed that the mobile platform moves on a plane;
is the vector of Lagrange multipliers. The non-holonomic constraints are defined only for the mobile platform;
is the control vector. The vector represents the control torques applied to the platform wheels. It is noteworthy that there are less controls than the platform state variables , that is, . This results from the platform non-holonomy. Moreover, denotes generalized forces to control the manipulator joints;
is the input matrix, where the matrix indicates how controls applied to the mobile platform, , influence the platform state, , and is the identity matrix as torques and forces generated by actuators of the holonomic robotic arm, , impact directly every respective state variable, .
The elements
,
,
, and
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,
. Considering Equation (
10) and its derivative, the following relation is obtained:
where
,
,
, and
.
It is noteworthy that, for mobile manipulators, the skew-symmetry between the inertia matrix,
, and the Coriolis matrix,
, does not hold [
30]. Therefore, a correction matrix,
, is defined, so that
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
. Next, let the projection of point
E onto the path be denoted as
. Without loss of the generality, we can associate point
with the origin of the Serret–Frenet frame, which is defined with the vectors
and evolves along the path. The origin of the Serret–Frenet frame in the inertial frame is equal to
. 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,
, 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:
The position
changes in time according to the relation obtained by differentiating Equation (
16):
Let us notice that the element
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
Moreover, based on Equations (
7) and (
16), it is observed that
where
according to Equation (
6). Hence, considering (
12), (
18), and (
19), the final form of Equation (
17) is derived as
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
where
, for
, are the control points defining the convex surrounding of the curve, and
are base functions of order
k, defined on the set of knots
while the domain of the curve is given by
.
The
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
shapes a curve only if the corresponding base function is non-zero. The base functions of order
k are defined as [
10]
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 and , 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 control points. The number of knots is equal to ;
The boundary conditions and 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
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 times differentiable in the knot point with multiplicity d.
The derivative of order
p of a B-spline curve (
21) is given by
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:
where the coefficients
are given according to the formulas
where
. Again, it is assumed that in the case of a vanishing denominator, the whole coefficient
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,
, have to be performed. However, the auxiliary velocities,
, 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
where
are the reference velocity profiles to satisfy the robot kinematic constraints,
is the desired state with respect to the path,
is the vector of path-following errors,
is the positive-definite matrix of kinematic controller coefficients, and # denotes the Moore–Penrose pseudo-inverse of matrix
, i.e.,
. The reference velocity profiles are performed via the dynamic layer for which the model-based control law is proposed,
where
is the vector of velocity profile following errors, and
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, , and velocity profile following errors, , 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,
. Therefore, system (
20) in the closed control loop with the virtual control defined by (
26) is described with the equation
It is easily observed that system (
28) is the Hurwitz system for a positive-definite matrix
. It corresponds to the assumed properties of the gain matrix. Hence, the kinematic layer is asymptotically stable.
The reference velocity profiles,
, 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:
Let us propose a candidate Lyapunov-like function for the system (
29):
The derivative of function (
30) along the system trajectories is equal to
As
is a quadratic form of the positive-definite matrix,
, it is always non-negative. Thus, the following relation holds
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,
. 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
[
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
whereas the domain was selected as
and the single knot points were uniformly distributed. In the simulation study, spline curves of various order
k, namely
, were taken into account. As a result, curves of classes
and
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
. 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: , ;
robot initial state: , ;
velocity profile along the path: , .
Furthermore, the desired position with respect to the path, , 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
Firstly, the performance of the robot was investigated, when the commanded B-spline curve was of order , which resulted in the class of continuity 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,
, 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
, 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
In contrast to the case described in the previous section, here the desired path created with base functions of order is analysed. The curve is modelled appropriately and, as a result, it has the continuity class 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.,
.
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,
, 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 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.