# Motion Control Design for an Omnidirectional Mobile Robot Subject to Velocity Constraints

Authors: Ollin Peñaloza-Mejía; Luis A. Márquez-Martínez; Joaquín Alvarez; Miguel G. Villarreal-Cervantes; Ramón García-Hernández
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

A solution to achieve global asymptotic tracking with bounded velocities in an omnidirectional mobile robot is proposed in this paper. It is motivated by the need of having a useful in-practice motion control scheme, which takes into account the physical limits of the velocities. To this end, a passive nonlinear controller is designed and combined with a tracking controller in a negative feedback connection structure. By using Lyapunov theory and passivity tools, global asymptotic tracking with desired bounded velocities is proved. Simulations and experimental results are provided to show the effectiveness of the proposal.


---

## Body

## 1. Introduction

Control of mobile robots has received great attention in last decades. The interest is motivated by the different potential applications in which these systems are very useful (e.g., indoor/outdoor navigation in wide areas). The fundamental control problems addressed have been regulation and trajectory tracking, and several control techniques have been proposed to successfully solve them (see, e.g., [1]). Also, the demands for mobile robots with high mobility have increased in the last years. Since the conventional mobile robot does not have high mobility due to its nonholonomic constraint, the omnidirectional mobile robot (OMR) has attracted the attention, because of its ability to move simultaneously, and independently in an arbitrary direction in the horizontal plane (translational motion) and with different orientation (rotational motion). Hence, the OMR is a kind of holonomic robot [2]. Because of its Euler-Lagrange dynamics, the recognized “classical” control techniques for robot manipulators [3] have been adapted for controlling this kind of mobile robot. Recently, intensive and notable research has been devoted to this device (see, e.g., [1, 4–6] and references therein).To implement the control strategies, a localization system is required to estimate the actual wheeled mobile robot positions and velocities [7], which are mainly based on the odometric data, the robot kinematics, and the Kalman filter. Nevertheless, since there exists a maximum sampling time to reconstruct the velocity of the wheels, the odometric data could have errors if the Nyquist-Shannon criteria are not satisfied. Hence, the important issue to consider during the control design is the inclusion of the physical limitations of the system, such as bounds in velocities and/or torques. For instance, high velocities developed by the mobile robot can result in a higher probability of wheel slides and deviations from the desired trajectory. In practice, the mobile robot has bounded velocities and torques which should never be exceeded. If the control strategy is designed without considering these constraints, the system could exhibit poor performance and even instability [8].Many control strategies in robotics have been proposed without considering explicitly the physical limits of the system. One of the underlying assumptions is that the robot task can be smoothly tailored in space and scaled in time so as to fit to the system limitations. However, simply scaling of the task commands could recover motion feasibility but may no longer satisfy the tracking performance [9]. The above description requires off-line planning of the desired trajectory. This may result to be impractical in some applications, for example, when the desired trajectory is available while the robot is in motion or under unpredictable situations in human-robot interaction systems, in which the speed and acceleration magnitude become high during a short time interval. Online trajectory scaling schemes have been proposed in [10–13], mainly to satisfy torque limits. Moreover, simple hardware and/or software saturation of the commands results in the lack of execution of the desired motion [14].Control of robots with bounded velocities and torques has proved to be challenging problems, and these have been addressed mainly for robot manipulators. For instance, on one hand, interesting contributions for robot manipulators with bounded torques are reported in [8–17]. On the other hand, control of robot manipulators with bounded velocities is considered in [18–25]. Control of mobile robots with bounded torques is reported in [26] and that with velocity constraints is reported in [27–31]. However, among all these results, a common characteristic is that the considered system is subject to different operation conditions, and its performance is deteriorated when the signals are saturated. Also, some of them do not completely guarantee the given limits during the system transitory stage, even when the initial conditions of the states are within the specified bounds. A formal stability analysis is missed in many of these works, and with few exceptions, the results are mainly valid for set-point regulation or for the case in which the kinematic model of the system is considered.In this paper, we focus our attention on the motion control problem of the OMR subject to velocity constraints. Different from that reported in [27–31], the solution proposed here consists in the redesign of a well-known tracking controller to achieve global asymptotic tracking with desired bounded velocities, considering the dynamic model of the system. The proposed control scheme includes explicitly the desired bounds for the developed Cartesian velocities, which in turn bound the maximal velocities developed by the wheels. These bounds are freely set by the user considering the physical limits of the device. The proposal includes a tracking controller (TC) combined with a passive nonlinear controller (PNC) through a negative feedback connection structure. The TC is used to achieve the desired tracking performance, while the PNC is used to ensure bounded velocities. By using Lyapunov theory and passivity tools, global asymptotic tracking with desired bounded velocities is proved. Simulations and experimental results are provided to show the effectiveness of the proposed control strategy.The rest of the paper is organized as follows. In Section2, the dynamics of the considered mobile robot is given, and the problem formulation is stated. The main result of the proposed control system, and its stability analysis, is presented in Section 3. Simulations and real-time experiments are given in Section 4. Finally, some conclusions and future work ideas are given in Section 5.


## 2. Problem Formulation

### 2.1. Dynamic Model

Consider the OMR shown in Figure1, whose dynamics is described by (1)Σ:Mqq¨+Cq,q˙q˙=Bqτ,where q=xw,yw,ϕw⊤ is the configuration vector, which includes linear and angular positions of the center of mass of the OMR with respect to the inertial frame (Xw,Yw), q˙ is the velocity vector, q¨ is the acceleration vector, and τ∈R3 is the control input which includes the torques applied to the wheels. M(q)∈R3×3 is the inertia matrix, C(q,q˙)q˙∈R3 is the Coriolis and centrifugal force vector, and B(q)∈R3×3 is the input matrix. These are given as(2)Mq=m+3J2r2000m+3J2r2000Iz+3JL2r2,C(q,q˙)=03J2r2ϕ˙w0-3J2r2ϕ˙w00000,B=-12r(sin(ϕw)-3cos⁡(ϕw))1rsin(ϕw)-12r(sin(ϕw)+3cos⁡(ϕw))12r(cos⁡(ϕw)+3sin(ϕw))-1rcos⁡(ϕw)12r(cos⁡(ϕw)-3sin(ϕw))LrLrLr.Figure 1
Diagram of the holonomic omnidirectional mobile robot.The system parameters correspond to those of a physical prototype and are listed in Table1. The dynamics of the OMR has the following properties [1].(P1)
The inertia matrixM(q) and its inverse are symmetric and positive definite for all q. The inverse of the inertia matrix is bounded for all q by a positive constant μ as Mq-1≤μ.(P2)
The Coriolis and centrifugal force vectorC(q,q˙)q˙ satisfies C(q,q˙)q˙≤αq˙2, for all q, q˙, and some positive constant α.(P3)
The input matrixB(q) is positive definite for all q. Its inverse is denoted by B¯(q)=Bq-1.Table 1
Parameters of the omnidirectional mobile robot.
Parameter
Description
Value
Units
δ
1
Angle for position of wheel 1
π
/
6
rad
δ
2
Angle for position of wheel 2
π
/
3
rad
J
Wheel’s inertia
5.82
E
-
4
kg·m2
I
z
Mobile’s inertia
0.0127
kg·m2
m
Mass
11.83
kg
r
Wheel’s radius
0.0625
m
L
Distance to the wheels
0.287
m


### 2.2. Problem Statement

Suppose that there exists a controllerτC which makes the system Σ to asymptotically track a desired trajectory qd(t) (i.e., by choosing for (1) the input τ=τC, the closed-loop system dynamics behaves such that limt→∞q(t)=qd(t)). However, τC has been designed without considering the velocity constraints in the system. So, we are interested in redesigning the given tracking controller to achieve asymptotic tracking with desired bounded velocities.Fori∈{1,2,3}, let q˙i denote the ith velocity of the system Σ. Also, let the negative and positive constants q˙¯iL and q˙¯iU denote the desired lower and upper bounds, respectively, for the ith velocity. These bounds are freely set by the user considering the physical capabilities of the system. Define the following complementary sets:(3)Ii={q˙i∣q˙i∈[q˙¯iL,q˙¯iU]},Oi={q˙i∣q˙i∈{R∖Ii}}.Then, it is said that q˙i is within specifications, if and only if q˙i∈Ii, while it is out of specifications if and only if q˙i∈Oi.Therefore, the controller redesign to be developed must be capable of achieving asymptotic tracking with desired bounded velocities, eitherq˙i∈Ii or q˙i∈Oi. More precisely, the following objectives must be achieved:(4)limt→∞qit-qdit=0,(5)limt→∞q˙it-q˙dit=0,(6)q˙¯iL≤q˙it≤q˙¯iU∀t≥T,for i∈{1,2,3} and some finite time T≥0.Throughout the paper, it is assumed that all variables in the system are measurable, and its parameters are known.


## 2.1. Dynamic Model

Consider the OMR shown in Figure1, whose dynamics is described by (1)Σ:Mqq¨+Cq,q˙q˙=Bqτ,where q=xw,yw,ϕw⊤ is the configuration vector, which includes linear and angular positions of the center of mass of the OMR with respect to the inertial frame (Xw,Yw), q˙ is the velocity vector, q¨ is the acceleration vector, and τ∈R3 is the control input which includes the torques applied to the wheels. M(q)∈R3×3 is the inertia matrix, C(q,q˙)q˙∈R3 is the Coriolis and centrifugal force vector, and B(q)∈R3×3 is the input matrix. These are given as(2)Mq=m+3J2r2000m+3J2r2000Iz+3JL2r2,C(q,q˙)=03J2r2ϕ˙w0-3J2r2ϕ˙w00000,B=-12r(sin(ϕw)-3cos⁡(ϕw))1rsin(ϕw)-12r(sin(ϕw)+3cos⁡(ϕw))12r(cos⁡(ϕw)+3sin(ϕw))-1rcos⁡(ϕw)12r(cos⁡(ϕw)-3sin(ϕw))LrLrLr.Figure 1
Diagram of the holonomic omnidirectional mobile robot.The system parameters correspond to those of a physical prototype and are listed in Table1. The dynamics of the OMR has the following properties [1].(P1)
The inertia matrixM(q) and its inverse are symmetric and positive definite for all q. The inverse of the inertia matrix is bounded for all q by a positive constant μ as Mq-1≤μ.(P2)
The Coriolis and centrifugal force vectorC(q,q˙)q˙ satisfies C(q,q˙)q˙≤αq˙2, for all q, q˙, and some positive constant α.(P3)
The input matrixB(q) is positive definite for all q. Its inverse is denoted by B¯(q)=Bq-1.Table 1
Parameters of the omnidirectional mobile robot.
Parameter
Description
Value
Units
δ
1
Angle for position of wheel 1
π
/
6
rad
δ
2
Angle for position of wheel 2
π
/
3
rad
J
Wheel’s inertia
5.82
E
-
4
kg·m2
I
z
Mobile’s inertia
0.0127
kg·m2
m
Mass
11.83
kg
r
Wheel’s radius
0.0625
m
L
Distance to the wheels
0.287
m


## 2.2. Problem Statement

Suppose that there exists a controllerτC which makes the system Σ to asymptotically track a desired trajectory qd(t) (i.e., by choosing for (1) the input τ=τC, the closed-loop system dynamics behaves such that limt→∞q(t)=qd(t)). However, τC has been designed without considering the velocity constraints in the system. So, we are interested in redesigning the given tracking controller to achieve asymptotic tracking with desired bounded velocities.Fori∈{1,2,3}, let q˙i denote the ith velocity of the system Σ. Also, let the negative and positive constants q˙¯iL and q˙¯iU denote the desired lower and upper bounds, respectively, for the ith velocity. These bounds are freely set by the user considering the physical capabilities of the system. Define the following complementary sets:(3)Ii={q˙i∣q˙i∈[q˙¯iL,q˙¯iU]},Oi={q˙i∣q˙i∈{R∖Ii}}.Then, it is said that q˙i is within specifications, if and only if q˙i∈Ii, while it is out of specifications if and only if q˙i∈Oi.Therefore, the controller redesign to be developed must be capable of achieving asymptotic tracking with desired bounded velocities, eitherq˙i∈Ii or q˙i∈Oi. More precisely, the following objectives must be achieved:(4)limt→∞qit-qdit=0,(5)limt→∞q˙it-q˙dit=0,(6)q˙¯iL≤q˙it≤q˙¯iU∀t≥T,for i∈{1,2,3} and some finite time T≥0.Throughout the paper, it is assumed that all variables in the system are measurable, and its parameters are known.


## 3. Control Design

### 3.1. Tracking Controller

Given the desired vector of referenceqd(t), define the tracking errors:(7)q~=q-qd,q~˙=q˙-q˙d,q~¨=q¨-q¨d,and consider for the system Σ the “classical” computed torque controller [1, 3]: (8)τCT=B¯qMqq¨d-KDq~˙-KPq~+Cq,q˙q˙,where KP, KD are constant positive definite diagonal matrices, which are chosen accordingly to the desired tracking performance (see, e.g., [3]). It is well known that the closed-loop dynamics, obtained by placing (8) in (1) with τ=τCT, is described by the decoupled second-order linear system: (9)q~¨+kDq~˙+kPq~=0,whose stability properties are set through the control gains kP and kD. This tracking controller allows Σ to achieve asymptotic tracking (4)-(5), but not with bounded velocities (6).


### 3.2. Tracking Controller with Desired Bounded Velocities

#### 3.2.1. A Static Nonlinear Function

LetF:R3↦R3 be a continuous nonlinear vector function of the form(10)F(q˙)=f1(q˙1)f2(q˙2)f3(q˙3),whose elements, denoted by fi(q˙i), are defined as follows:(11)fi(q˙i)=1,q˙i<q˙¯iL,1-cos⁡(π/Δi(q˙i+q˙¯iL-Δi))2,-iq˙¯iL≤q˙i<q˙¯iL+Δi,0,q˙¯iL+Δi≤q˙i≤q˙¯iU-Δi,-1+cos⁡(π/Δi(q˙i-q˙¯iU+Δi))2,+.iq˙¯iU-Δi<q˙i≤q˙¯iU,-1,q˙i>q˙¯iU,for i∈{1,2,3}. Note that the proposed function is a combination of a dead zone and a saturation, with a smooth transition interval defined by the small positive constant Δi. Figure 2 shows the shape of fi(q˙i).Figure 2
Shape of the proposed functionfi(q˙i).LetA be a positive definite diagonal matrix. Its elements, denoted by ai, are constant or possibly time-varying. In either case, they are strictly positive for all time; that is,(12)A=diagai>0∀t,i∈1,2,3.The entries ai are yet to be defined.Proposition 1.
LetA be the diagonal matrix (12) and let F(q˙) be the nonlinear function defined in (10)-(11). Then, the product -q˙⊤AF(q˙) is passive.Proof.
By definition offi(q˙i), the product q˙ifi(q˙i) is negative semidefinite for all q˙i, and A is positive definite (12), so(13)-q˙AFq˙=-∑i=13‍q˙iaifi(q˙i)≥0,∀t,q˙.Since the product is positive semidefinite, it is passive.Proposition 2.
Consider the velocity errorq~˙ defined in (7), the diagonal matrix A given in (12), and the nonlinear function F(q˙) defined in (10)-(11). Then, the product -q~˙⊤AF(q˙) is passive if the desired velocity bounds are set freely by the user taking into account the relation:(14)q˙¯iL+Δi≤q˙dit≤q˙¯iU-Δi,∀t,i∈1,2,3.Proof.
Let us write the product-q~˙⊤AF(q˙) in the form (15)-q~˙⊤AF(q˙)=∑i=13‍q˙di-q˙iaifiq˙i.Then the following cases are analysed.(i)
Ifq˙i∈Ii, and if q˙i∈[q˙¯iL+Δi,q˙¯iU-Δi], then fi(q˙i)=0 (see (11) and Figure 2), and therefore the ith element of (15) is zero; that is,(16)q˙di-q˙iaifiq˙i=0.(ii)
Ifq˙i∈Ii, and more precisely, if either q˙i∈[q˙¯iL,q˙¯iL+Δi) or q˙i∈(q˙¯iU-Δi,q˙¯iU], it is clear that q˙di<q˙i from (14). Then, with aid of Table 2, it is concluded that the ith element of (15) is positive definite; that is, (17)q˙di-q˙iaifiq˙i>0.(iii)
Ifq˙i∈Oi, then q˙di<q˙i, and obviously q˙i≠0. As in the previous case, Table 2 helps us to conclude that the ith element of (15) is positive definite; that is, (17) is satisfied again.
From the previous analysis, one has that (15) is either zero or positive definite for all q˙i. Then, (18)-q~˙⊤AFq˙=∑i=13‍q˙di-q˙iaifiq˙i≥0∀t,q~˙,q˙.Since the product is positive semidefinite, it is passive.Table 2
Positivity of theith element of (15).
q
˙
i
q
˙
d
i
(
q
˙
d
i
-
q
˙
i
)
f
i
(
q
˙
i
)
(
q
˙
d
i
-
q
˙
i
)
a
i
f
i
(
q
˙
i
)
−
−
+
+
+
−
+
+
+
+
+
−
−
−
+
+
+
−
−
+


#### 3.2.2. Control Redesign

Now, to bound the velocities of the OMR, the following nonlinear controller is proposed:(19)τLV=B¯(q)M(q)AF(q˙),where the elements of the diagonal matrix A are defined as (20)ai=λi+zi,where λi is a positive constant, and(21)zi=q¨d-kDiq~˙i-kPiq~i.Note that (12) is satisfied with this definition of ai.To achieve asymptotic tracking with desired bounded velocities, the foregoing controller must be used simultaneously with the tracking controller. To this aim, the following bounded-velocity controller for trajectory tracking is finally proposed for the systemΣ:(22)τBV=B¯qMqq¨d-kDq~˙-kPq~+Cq,q˙q˙︸τCT+B¯(q)M(q)AF(q˙)︸τLV,where τCT is exactly the computed torque controller given in (8), used to asymptotically track the desired reference, while τLV is the nonlinear controller (19), used to keep the velocities within its limits.Theorem 3.
Given the OMR dynamics (1), together with its properties, and a smooth desired reference q˙d(t) to be tracked, consider desired bounds for the velocities to be developed by the mobile robot which are freely set considering (14). Then, taking for Σ the control input τ=τBV, where τBV is given in (22), global asymptotic tracking with bounded velocities is achieved.Proof.
Take forΣ the control input τ=τBV (i.e., place (22) in (1)) to obtain the closed-loop dynamics: (23)q~¨+kDq~˙+kPq~-AFq˙=0,which represents the system H, shown in Figure 3, consisting of the negative feedback connection of H1 and H2. These systems are described by(24)H1:q~¨+kDq~˙+kPq~=v1,y1=q~˙,H2:y2=-AF(q˙)=-AF(v2+q˙d)=-AF(q~˙+q˙d),with the connections(25)v1=u-y2,v2=y1,where u≡0. Note that H1 corresponds to (9).
Hereafter, the proof is presented in two steps. First, global asymptotic tracking is proved by showing that the systemH is output strictly passive and zero-state observable (see, e.g., [32, 33] for definitions, properties, and results of dissipative systems). Second, bounded velocities are proved by showing that the set Ii is attractive.
Passivity. We start by proving that both systems H1 and H2 are passive.(i)
First, consider the systemH1 of the feedback connection shown in Figure 3 and described in (24). Take the time derivative of the (radially unbounded) positive definite storage function:(26)S(q~,q~˙)=12q~⊤kPq~+12q~˙⊤q~˙,along H1 to obtain(27)S˙(q~,q~˙)=q~˙⊤v1-q~˙⊤kDq~˙=y1⊤v1-y1⊤kDy1.The foregoing equation clearly states that H1 is output strictly passive. Moreover, H1 is zero-state observable (see Definition  6.5 in [32]), since q~=0 is the unique solution which can stay in the set(28)Z1={q~∈Rn∣y1=0,v1=0}={kPq~=0},for kP positive definite.(ii)
Second, for the static nonlinear function described byH2 in (24), and connected to H1 by the negative feedback connection shown in Figure 3, its input-output product is(29)y2⊤v2=v2⊤y2=q~˙⊤-AFq~˙+q˙d=-q~˙⊤AF(q˙).From Proposition 2, it is clear that H2 is passive.
Then, sinceH1 and H2 are both passive systems, the whole negative feedback connection H is passive (Theorem  6.1 in [32]). Note that the storage function (26) is still valid for system H with the connections (25). The time derivative of the storage is(30)S˙=y1⊤u-y1⊤kDy1-y1⊤y2=y⊤u-y⊤kDy--q~˙⊤AFq˙︸≥0≤y⊤u-y⊤kDy,so H is output strictly passive.
Global Asymptotic Tracking. For system H, take y=0 and u=0 to obtain the set Z={kPq~=0} (note that y=q~˙=0 implies that q˙d≡q˙, and using (14), one obtains qi˙<q˙¯i, so F(q˙)≡0, and therefore -A(t)F(q˙)≡0 in (23)). Since q~=0 is the unique solution which can stay in Z, the system H is zero-state observable. Now, following Lemma  6.7 in [32], since H is output strictly passive and zero-state observable, it is concluded that q~=0 is globally asymptotically stable (the storage function (26) is radially unbounded). This finally proves (4)-(5).
Bounded Velocities. Considering (23), the system is under the action of the proposed controller. Then, if q˙i∈Ii with q˙i∈[q˙¯iL+Δi,q˙¯iU-Δi], one has that fi(q˙i)=0, which implies that τLV=0, and q˙i is driven only with the tracking controller (i.e., τ=τCT). As a consequence, asymptotic tracking of the reference will be achieved, as it was already proved, and the velocities are bounded. However, the tracking controller could make q˙i increase rapidly its speed towards the desired bound q˙¯i. But inasmuch as q˙i approaches the bounds, the magnitude of τLV also increases rapidly in accordance with fi(q˙i), causing q˙i not to leave the set Ii. In case that q˙i∈Oi, one has that q˙i is driven fastly, in finite time, to the set Ii.
The above description corresponds to the attractive behaviour ofIi, which is ensured from (23), and it is now proved. To this aim, define(31)q˙¯i=min⁡q˙¯iL,q˙¯iU,σi=12q˙i2-q˙¯i2>0∀q˙i∈Oi.Note that σi=0 implies that q˙i∈Ii. The dynamics of σi is thus described by(32)σ˙i=q˙iq¨i.
Take the time derivative of(33)Viσi=12σi2,along (32) to obtain (34)V˙i(σi)=σiσ˙i=σiq˙iq¨i.By definition, σi is positive definite, so we focus on the analysis of the product q˙iq¨i.
Considering (7) and (21), the closed-loop dynamics (23) can be written in the form (35)q¨=zi+aifi(q˙i),and then the product q˙iq¨i is written as (36)q˙iq¨i=q˙izi+aifiq˙i≤q˙i·z˙i+q˙iaifi(q˙i).Since q˙i∈Oi, it is true that(37)q˙iaifi(q˙i)=-aiq˙i,and using (20), one has that(38)q˙i·z˙i+q˙iaifiq˙i≤q˙i·z˙i-aiq˙i≤-λq˙i.Therefore,(39)q˙iq¨i≤-λq˙i<0,and going back to (34), one finally has(40)σiσ˙i≤-λσiq˙i<0,which states that σi=0 is reached in finite time (see, e.g., [34]). Moreover, (39) states that the ith velocity and acceleration have opposite signs, which proves that q˙i will not leave Ii. Therefore, Ii is attractive, and the velocities will remain bounded, satisfying (6).Figure 3
Negative feedback connectionH1-H2.


## 3.1. Tracking Controller

Given the desired vector of referenceqd(t), define the tracking errors:(7)q~=q-qd,q~˙=q˙-q˙d,q~¨=q¨-q¨d,and consider for the system Σ the “classical” computed torque controller [1, 3]: (8)τCT=B¯qMqq¨d-KDq~˙-KPq~+Cq,q˙q˙,where KP, KD are constant positive definite diagonal matrices, which are chosen accordingly to the desired tracking performance (see, e.g., [3]). It is well known that the closed-loop dynamics, obtained by placing (8) in (1) with τ=τCT, is described by the decoupled second-order linear system: (9)q~¨+kDq~˙+kPq~=0,whose stability properties are set through the control gains kP and kD. This tracking controller allows Σ to achieve asymptotic tracking (4)-(5), but not with bounded velocities (6).


## 3.2. Tracking Controller with Desired Bounded Velocities

### 3.2.1. A Static Nonlinear Function

LetF:R3↦R3 be a continuous nonlinear vector function of the form(10)F(q˙)=f1(q˙1)f2(q˙2)f3(q˙3),whose elements, denoted by fi(q˙i), are defined as follows:(11)fi(q˙i)=1,q˙i<q˙¯iL,1-cos⁡(π/Δi(q˙i+q˙¯iL-Δi))2,-iq˙¯iL≤q˙i<q˙¯iL+Δi,0,q˙¯iL+Δi≤q˙i≤q˙¯iU-Δi,-1+cos⁡(π/Δi(q˙i-q˙¯iU+Δi))2,+.iq˙¯iU-Δi<q˙i≤q˙¯iU,-1,q˙i>q˙¯iU,for i∈{1,2,3}. Note that the proposed function is a combination of a dead zone and a saturation, with a smooth transition interval defined by the small positive constant Δi. Figure 2 shows the shape of fi(q˙i).Figure 2
Shape of the proposed functionfi(q˙i).LetA be a positive definite diagonal matrix. Its elements, denoted by ai, are constant or possibly time-varying. In either case, they are strictly positive for all time; that is,(12)A=diagai>0∀t,i∈1,2,3.The entries ai are yet to be defined.Proposition 1.
LetA be the diagonal matrix (12) and let F(q˙) be the nonlinear function defined in (10)-(11). Then, the product -q˙⊤AF(q˙) is passive.Proof.
By definition offi(q˙i), the product q˙ifi(q˙i) is negative semidefinite for all q˙i, and A is positive definite (12), so(13)-q˙AFq˙=-∑i=13‍q˙iaifi(q˙i)≥0,∀t,q˙.Since the product is positive semidefinite, it is passive.Proposition 2.
Consider the velocity errorq~˙ defined in (7), the diagonal matrix A given in (12), and the nonlinear function F(q˙) defined in (10)-(11). Then, the product -q~˙⊤AF(q˙) is passive if the desired velocity bounds are set freely by the user taking into account the relation:(14)q˙¯iL+Δi≤q˙dit≤q˙¯iU-Δi,∀t,i∈1,2,3.Proof.
Let us write the product-q~˙⊤AF(q˙) in the form (15)-q~˙⊤AF(q˙)=∑i=13‍q˙di-q˙iaifiq˙i.Then the following cases are analysed.(i)
Ifq˙i∈Ii, and if q˙i∈[q˙¯iL+Δi,q˙¯iU-Δi], then fi(q˙i)=0 (see (11) and Figure 2), and therefore the ith element of (15) is zero; that is,(16)q˙di-q˙iaifiq˙i=0.(ii)
Ifq˙i∈Ii, and more precisely, if either q˙i∈[q˙¯iL,q˙¯iL+Δi) or q˙i∈(q˙¯iU-Δi,q˙¯iU], it is clear that q˙di<q˙i from (14). Then, with aid of Table 2, it is concluded that the ith element of (15) is positive definite; that is, (17)q˙di-q˙iaifiq˙i>0.(iii)
Ifq˙i∈Oi, then q˙di<q˙i, and obviously q˙i≠0. As in the previous case, Table 2 helps us to conclude that the ith element of (15) is positive definite; that is, (17) is satisfied again.
From the previous analysis, one has that (15) is either zero or positive definite for all q˙i. Then, (18)-q~˙⊤AFq˙=∑i=13‍q˙di-q˙iaifiq˙i≥0∀t,q~˙,q˙.Since the product is positive semidefinite, it is passive.Table 2
Positivity of theith element of (15).
q
˙
i
q
˙
d
i
(
q
˙
d
i
-
q
˙
i
)
f
i
(
q
˙
i
)
(
q
˙
d
i
-
q
˙
i
)
a
i
f
i
(
q
˙
i
)
−
−
+
+
+
−
+
+
+
+
+
−
−
−
+
+
+
−
−
+


### 3.2.2. Control Redesign

Now, to bound the velocities of the OMR, the following nonlinear controller is proposed:(19)τLV=B¯(q)M(q)AF(q˙),where the elements of the diagonal matrix A are defined as (20)ai=λi+zi,where λi is a positive constant, and(21)zi=q¨d-kDiq~˙i-kPiq~i.Note that (12) is satisfied with this definition of ai.To achieve asymptotic tracking with desired bounded velocities, the foregoing controller must be used simultaneously with the tracking controller. To this aim, the following bounded-velocity controller for trajectory tracking is finally proposed for the systemΣ:(22)τBV=B¯qMqq¨d-kDq~˙-kPq~+Cq,q˙q˙︸τCT+B¯(q)M(q)AF(q˙)︸τLV,where τCT is exactly the computed torque controller given in (8), used to asymptotically track the desired reference, while τLV is the nonlinear controller (19), used to keep the velocities within its limits.Theorem 3.
Given the OMR dynamics (1), together with its properties, and a smooth desired reference q˙d(t) to be tracked, consider desired bounds for the velocities to be developed by the mobile robot which are freely set considering (14). Then, taking for Σ the control input τ=τBV, where τBV is given in (22), global asymptotic tracking with bounded velocities is achieved.Proof.
Take forΣ the control input τ=τBV (i.e., place (22) in (1)) to obtain the closed-loop dynamics: (23)q~¨+kDq~˙+kPq~-AFq˙=0,which represents the system H, shown in Figure 3, consisting of the negative feedback connection of H1 and H2. These systems are described by(24)H1:q~¨+kDq~˙+kPq~=v1,y1=q~˙,H2:y2=-AF(q˙)=-AF(v2+q˙d)=-AF(q~˙+q˙d),with the connections(25)v1=u-y2,v2=y1,where u≡0. Note that H1 corresponds to (9).
Hereafter, the proof is presented in two steps. First, global asymptotic tracking is proved by showing that the systemH is output strictly passive and zero-state observable (see, e.g., [32, 33] for definitions, properties, and results of dissipative systems). Second, bounded velocities are proved by showing that the set Ii is attractive.
Passivity. We start by proving that both systems H1 and H2 are passive.(i)
First, consider the systemH1 of the feedback connection shown in Figure 3 and described in (24). Take the time derivative of the (radially unbounded) positive definite storage function:(26)S(q~,q~˙)=12q~⊤kPq~+12q~˙⊤q~˙,along H1 to obtain(27)S˙(q~,q~˙)=q~˙⊤v1-q~˙⊤kDq~˙=y1⊤v1-y1⊤kDy1.The foregoing equation clearly states that H1 is output strictly passive. Moreover, H1 is zero-state observable (see Definition  6.5 in [32]), since q~=0 is the unique solution which can stay in the set(28)Z1={q~∈Rn∣y1=0,v1=0}={kPq~=0},for kP positive definite.(ii)
Second, for the static nonlinear function described byH2 in (24), and connected to H1 by the negative feedback connection shown in Figure 3, its input-output product is(29)y2⊤v2=v2⊤y2=q~˙⊤-AFq~˙+q˙d=-q~˙⊤AF(q˙).From Proposition 2, it is clear that H2 is passive.
Then, sinceH1 and H2 are both passive systems, the whole negative feedback connection H is passive (Theorem  6.1 in [32]). Note that the storage function (26) is still valid for system H with the connections (25). The time derivative of the storage is(30)S˙=y1⊤u-y1⊤kDy1-y1⊤y2=y⊤u-y⊤kDy--q~˙⊤AFq˙︸≥0≤y⊤u-y⊤kDy,so H is output strictly passive.
Global Asymptotic Tracking. For system H, take y=0 and u=0 to obtain the set Z={kPq~=0} (note that y=q~˙=0 implies that q˙d≡q˙, and using (14), one obtains qi˙<q˙¯i, so F(q˙)≡0, and therefore -A(t)F(q˙)≡0 in (23)). Since q~=0 is the unique solution which can stay in Z, the system H is zero-state observable. Now, following Lemma  6.7 in [32], since H is output strictly passive and zero-state observable, it is concluded that q~=0 is globally asymptotically stable (the storage function (26) is radially unbounded). This finally proves (4)-(5).
Bounded Velocities. Considering (23), the system is under the action of the proposed controller. Then, if q˙i∈Ii with q˙i∈[q˙¯iL+Δi,q˙¯iU-Δi], one has that fi(q˙i)=0, which implies that τLV=0, and q˙i is driven only with the tracking controller (i.e., τ=τCT). As a consequence, asymptotic tracking of the reference will be achieved, as it was already proved, and the velocities are bounded. However, the tracking controller could make q˙i increase rapidly its speed towards the desired bound q˙¯i. But inasmuch as q˙i approaches the bounds, the magnitude of τLV also increases rapidly in accordance with fi(q˙i), causing q˙i not to leave the set Ii. In case that q˙i∈Oi, one has that q˙i is driven fastly, in finite time, to the set Ii.
The above description corresponds to the attractive behaviour ofIi, which is ensured from (23), and it is now proved. To this aim, define(31)q˙¯i=min⁡q˙¯iL,q˙¯iU,σi=12q˙i2-q˙¯i2>0∀q˙i∈Oi.Note that σi=0 implies that q˙i∈Ii. The dynamics of σi is thus described by(32)σ˙i=q˙iq¨i.
Take the time derivative of(33)Viσi=12σi2,along (32) to obtain (34)V˙i(σi)=σiσ˙i=σiq˙iq¨i.By definition, σi is positive definite, so we focus on the analysis of the product q˙iq¨i.
Considering (7) and (21), the closed-loop dynamics (23) can be written in the form (35)q¨=zi+aifi(q˙i),and then the product q˙iq¨i is written as (36)q˙iq¨i=q˙izi+aifiq˙i≤q˙i·z˙i+q˙iaifi(q˙i).Since q˙i∈Oi, it is true that(37)q˙iaifi(q˙i)=-aiq˙i,and using (20), one has that(38)q˙i·z˙i+q˙iaifiq˙i≤q˙i·z˙i-aiq˙i≤-λq˙i.Therefore,(39)q˙iq¨i≤-λq˙i<0,and going back to (34), one finally has(40)σiσ˙i≤-λσiq˙i<0,which states that σi=0 is reached in finite time (see, e.g., [34]). Moreover, (39) states that the ith velocity and acceleration have opposite signs, which proves that q˙i will not leave Ii. Therefore, Ii is attractive, and the velocities will remain bounded, satisfying (6).Figure 3
Negative feedback connectionH1-H2.


## 3.2.1. A Static Nonlinear Function

LetF:R3↦R3 be a continuous nonlinear vector function of the form(10)F(q˙)=f1(q˙1)f2(q˙2)f3(q˙3),whose elements, denoted by fi(q˙i), are defined as follows:(11)fi(q˙i)=1,q˙i<q˙¯iL,1-cos⁡(π/Δi(q˙i+q˙¯iL-Δi))2,-iq˙¯iL≤q˙i<q˙¯iL+Δi,0,q˙¯iL+Δi≤q˙i≤q˙¯iU-Δi,-1+cos⁡(π/Δi(q˙i-q˙¯iU+Δi))2,+.iq˙¯iU-Δi<q˙i≤q˙¯iU,-1,q˙i>q˙¯iU,for i∈{1,2,3}. Note that the proposed function is a combination of a dead zone and a saturation, with a smooth transition interval defined by the small positive constant Δi. Figure 2 shows the shape of fi(q˙i).Figure 2
Shape of the proposed functionfi(q˙i).LetA be a positive definite diagonal matrix. Its elements, denoted by ai, are constant or possibly time-varying. In either case, they are strictly positive for all time; that is,(12)A=diagai>0∀t,i∈1,2,3.The entries ai are yet to be defined.Proposition 1.
LetA be the diagonal matrix (12) and let F(q˙) be the nonlinear function defined in (10)-(11). Then, the product -q˙⊤AF(q˙) is passive.Proof.
By definition offi(q˙i), the product q˙ifi(q˙i) is negative semidefinite for all q˙i, and A is positive definite (12), so(13)-q˙AFq˙=-∑i=13‍q˙iaifi(q˙i)≥0,∀t,q˙.Since the product is positive semidefinite, it is passive.Proposition 2.
Consider the velocity errorq~˙ defined in (7), the diagonal matrix A given in (12), and the nonlinear function F(q˙) defined in (10)-(11). Then, the product -q~˙⊤AF(q˙) is passive if the desired velocity bounds are set freely by the user taking into account the relation:(14)q˙¯iL+Δi≤q˙dit≤q˙¯iU-Δi,∀t,i∈1,2,3.Proof.
Let us write the product-q~˙⊤AF(q˙) in the form (15)-q~˙⊤AF(q˙)=∑i=13‍q˙di-q˙iaifiq˙i.Then the following cases are analysed.(i)
Ifq˙i∈Ii, and if q˙i∈[q˙¯iL+Δi,q˙¯iU-Δi], then fi(q˙i)=0 (see (11) and Figure 2), and therefore the ith element of (15) is zero; that is,(16)q˙di-q˙iaifiq˙i=0.(ii)
Ifq˙i∈Ii, and more precisely, if either q˙i∈[q˙¯iL,q˙¯iL+Δi) or q˙i∈(q˙¯iU-Δi,q˙¯iU], it is clear that q˙di<q˙i from (14). Then, with aid of Table 2, it is concluded that the ith element of (15) is positive definite; that is, (17)q˙di-q˙iaifiq˙i>0.(iii)
Ifq˙i∈Oi, then q˙di<q˙i, and obviously q˙i≠0. As in the previous case, Table 2 helps us to conclude that the ith element of (15) is positive definite; that is, (17) is satisfied again.
From the previous analysis, one has that (15) is either zero or positive definite for all q˙i. Then, (18)-q~˙⊤AFq˙=∑i=13‍q˙di-q˙iaifiq˙i≥0∀t,q~˙,q˙.Since the product is positive semidefinite, it is passive.Table 2
Positivity of theith element of (15).
q
˙
i
q
˙
d
i
(
q
˙
d
i
-
q
˙
i
)
f
i
(
q
˙
i
)
(
q
˙
d
i
-
q
˙
i
)
a
i
f
i
(
q
˙
i
)
−
−
+
+
+
−
+
+
+
+
+
−
−
−
+
+
+
−
−
+


## 3.2.2. Control Redesign

Now, to bound the velocities of the OMR, the following nonlinear controller is proposed:(19)τLV=B¯(q)M(q)AF(q˙),where the elements of the diagonal matrix A are defined as (20)ai=λi+zi,where λi is a positive constant, and(21)zi=q¨d-kDiq~˙i-kPiq~i.Note that (12) is satisfied with this definition of ai.To achieve asymptotic tracking with desired bounded velocities, the foregoing controller must be used simultaneously with the tracking controller. To this aim, the following bounded-velocity controller for trajectory tracking is finally proposed for the systemΣ:(22)τBV=B¯qMqq¨d-kDq~˙-kPq~+Cq,q˙q˙︸τCT+B¯(q)M(q)AF(q˙)︸τLV,where τCT is exactly the computed torque controller given in (8), used to asymptotically track the desired reference, while τLV is the nonlinear controller (19), used to keep the velocities within its limits.Theorem 3.
Given the OMR dynamics (1), together with its properties, and a smooth desired reference q˙d(t) to be tracked, consider desired bounds for the velocities to be developed by the mobile robot which are freely set considering (14). Then, taking for Σ the control input τ=τBV, where τBV is given in (22), global asymptotic tracking with bounded velocities is achieved.Proof.
Take forΣ the control input τ=τBV (i.e., place (22) in (1)) to obtain the closed-loop dynamics: (23)q~¨+kDq~˙+kPq~-AFq˙=0,which represents the system H, shown in Figure 3, consisting of the negative feedback connection of H1 and H2. These systems are described by(24)H1:q~¨+kDq~˙+kPq~=v1,y1=q~˙,H2:y2=-AF(q˙)=-AF(v2+q˙d)=-AF(q~˙+q˙d),with the connections(25)v1=u-y2,v2=y1,where u≡0. Note that H1 corresponds to (9).
Hereafter, the proof is presented in two steps. First, global asymptotic tracking is proved by showing that the systemH is output strictly passive and zero-state observable (see, e.g., [32, 33] for definitions, properties, and results of dissipative systems). Second, bounded velocities are proved by showing that the set Ii is attractive.
Passivity. We start by proving that both systems H1 and H2 are passive.(i)
First, consider the systemH1 of the feedback connection shown in Figure 3 and described in (24). Take the time derivative of the (radially unbounded) positive definite storage function:(26)S(q~,q~˙)=12q~⊤kPq~+12q~˙⊤q~˙,along H1 to obtain(27)S˙(q~,q~˙)=q~˙⊤v1-q~˙⊤kDq~˙=y1⊤v1-y1⊤kDy1.The foregoing equation clearly states that H1 is output strictly passive. Moreover, H1 is zero-state observable (see Definition  6.5 in [32]), since q~=0 is the unique solution which can stay in the set(28)Z1={q~∈Rn∣y1=0,v1=0}={kPq~=0},for kP positive definite.(ii)
Second, for the static nonlinear function described byH2 in (24), and connected to H1 by the negative feedback connection shown in Figure 3, its input-output product is(29)y2⊤v2=v2⊤y2=q~˙⊤-AFq~˙+q˙d=-q~˙⊤AF(q˙).From Proposition 2, it is clear that H2 is passive.
Then, sinceH1 and H2 are both passive systems, the whole negative feedback connection H is passive (Theorem  6.1 in [32]). Note that the storage function (26) is still valid for system H with the connections (25). The time derivative of the storage is(30)S˙=y1⊤u-y1⊤kDy1-y1⊤y2=y⊤u-y⊤kDy--q~˙⊤AFq˙︸≥0≤y⊤u-y⊤kDy,so H is output strictly passive.
Global Asymptotic Tracking. For system H, take y=0 and u=0 to obtain the set Z={kPq~=0} (note that y=q~˙=0 implies that q˙d≡q˙, and using (14), one obtains qi˙<q˙¯i, so F(q˙)≡0, and therefore -A(t)F(q˙)≡0 in (23)). Since q~=0 is the unique solution which can stay in Z, the system H is zero-state observable. Now, following Lemma  6.7 in [32], since H is output strictly passive and zero-state observable, it is concluded that q~=0 is globally asymptotically stable (the storage function (26) is radially unbounded). This finally proves (4)-(5).
Bounded Velocities. Considering (23), the system is under the action of the proposed controller. Then, if q˙i∈Ii with q˙i∈[q˙¯iL+Δi,q˙¯iU-Δi], one has that fi(q˙i)=0, which implies that τLV=0, and q˙i is driven only with the tracking controller (i.e., τ=τCT). As a consequence, asymptotic tracking of the reference will be achieved, as it was already proved, and the velocities are bounded. However, the tracking controller could make q˙i increase rapidly its speed towards the desired bound q˙¯i. But inasmuch as q˙i approaches the bounds, the magnitude of τLV also increases rapidly in accordance with fi(q˙i), causing q˙i not to leave the set Ii. In case that q˙i∈Oi, one has that q˙i is driven fastly, in finite time, to the set Ii.
The above description corresponds to the attractive behaviour ofIi, which is ensured from (23), and it is now proved. To this aim, define(31)q˙¯i=min⁡q˙¯iL,q˙¯iU,σi=12q˙i2-q˙¯i2>0∀q˙i∈Oi.Note that σi=0 implies that q˙i∈Ii. The dynamics of σi is thus described by(32)σ˙i=q˙iq¨i.
Take the time derivative of(33)Viσi=12σi2,along (32) to obtain (34)V˙i(σi)=σiσ˙i=σiq˙iq¨i.By definition, σi is positive definite, so we focus on the analysis of the product q˙iq¨i.
Considering (7) and (21), the closed-loop dynamics (23) can be written in the form (35)q¨=zi+aifi(q˙i),and then the product q˙iq¨i is written as (36)q˙iq¨i=q˙izi+aifiq˙i≤q˙i·z˙i+q˙iaifi(q˙i).Since q˙i∈Oi, it is true that(37)q˙iaifi(q˙i)=-aiq˙i,and using (20), one has that(38)q˙i·z˙i+q˙iaifiq˙i≤q˙i·z˙i-aiq˙i≤-λq˙i.Therefore,(39)q˙iq¨i≤-λq˙i<0,and going back to (34), one finally has(40)σiσ˙i≤-λσiq˙i<0,which states that σi=0 is reached in finite time (see, e.g., [34]). Moreover, (39) states that the ith velocity and acceleration have opposite signs, which proves that q˙i will not leave Ii. Therefore, Ii is attractive, and the velocities will remain bounded, satisfying (6).Figure 3
Negative feedback connectionH1-H2.


## 4. Simulations and Real-Time Experiments

The aim of this section is to illustrate the effectiveness of the proposed control scheme (22) via numerical simulations and real-time experiments. These consist in the tracking control of an OMR with desired bounded velocities. With the purpose to include a reference to better illustrate the capabilities of the proposal (22), the simulations and experiments are also developed for the OMR with the computed-torque controller (8), which allows the system to be controlled without bounding its velocities.Consider the OMR described in Section2.1, and let the desired smooth trajectory be a “Daisy,” whose parametric equations are [6](41)xd(t)=12+btat+rtcos⁡mωtcos⁡ωt,yd(t)=12+btat+rtcos⁡mωtsin(ωt),ϕd(t)=cos⁡(ωt).The trajectory has an external radius of bt(at+rt) and is centred at the point (in the Cartesian space) x=0.5 [m] and y=0.5 [m]. The values of its parameters are at=1 [m], rt=0.7 [m], bt=0.2 (a scaling factor adjusting the trajectory to the working area), and m=5 (the number of petals). Also, ω=2π/25 leads the OMR to track a whole turn in 25 s.Considering this trajectory, the desired velocity bounds are set as follows:x˙¯L=-0.2 [m/s], x˙¯U=0.25 [m/s], y˙¯L=-0.2 [m/s], y˙¯U=0.25 [m/s], ϕ˙¯L=-0.35 [rad/s], and ϕ˙¯U=0.3 [rad/s]. Also, the parameters for the proposed BV controller are set as Δi=0.0125 and λi=1, for i∈{1,2,3}.In all the graphics to be presented, to distinguish the system performance under the action of the different controllers, the following subscripts are used in the signals:CT for the computed-torque controller (8), and BV for the proposed bounded-velocity trajectory tracking controller (22).


### 4.1. Simulations

Simulations were developed in MATLAB/Simulink with a fixed-step Euler method at 1 ms. The initial condition of the OMR wasq(0)=000000⊤, and the desired tracking performance was specified, following [3], through KP=diag{ωn2}, and KD=diag{2ξωn}, where ξ=0.85 is the desired damping ratio and ωn=5 [rad/s] is the desired undamped natural frequency.Figures4 to 7 show the system behaviour under the action of the CT and BV controllers. For the CT controller, asymptotic tracking is completely achieved in approximately 2.5 s (see Figures 5 and 6, dashed-dot lines), and note that the system develops maximal velocities of about 1.5 rad/s (see Figure 6, dashed-dot lines). Then, for the OMR under the CT controller, it is clear that the desired velocity constraints (dotted lines) are not satisfied with the given tracking performance. However, with the proposed redesign (22), the BV controller, both asymptotic tracking and desired bounded velocities are completely achieved (see Figures 5 and 6, solid lines). This is achieved at the cost of greater convergence times, which is natural as the velocities do remain constrained to the desired maximal values. During the transitory stage, note that the velocity tracking errors are reduced as the velocities remain bounded (with the BV controller, the system velocities are kept closer to the desired velocities to be tracked). Also, as shown in Figure 7, a benefit of having bounded velocities is to require reduced control efforts (because the proposed BV controller dissipates the excess of energy in the system when the velocities remain bounded).Figure 4
Simulation results of the task space trajectories described by the OMR under the action of theCT and BV controllers.Figure 5
Simulation results of the positions and tracking errors of the OMR under the action of theCT and BV controllers.
(a)
Position inx
(b)
Position tracking error inx
(c)
Position iny
(d)
Position tracking error iny
(e)
Angular position
(f)
Angular position tracking errorFigure 6
Simulation results of the velocities and tracking errors of the OMR under the action of theCT and BV controllers.
(a)
Velocity inx
(b)
Velocity tracking error inx
(c)
Velocity iny
(d)
Velocity tracking error iny
(e)
Angular velocity
(f)
Angular velocity tracking errorFigure 7
Simulation results of the torques applied to the OMR under the action of theCT and BV controllers.
(a)
Applied torque to the first wheel
(b)
Applied torque to the second wheel
(c)
Applied torque to the third wheel


### 4.2. Real-Time Experiments

Real-time experiments were carried out in the mobile robot prototype shown in Figure8, which has been designed to maximize its dexterity (see [35]). The dynamics of the system, as well as its parameters, correspond to those given in Section 2.1.Figure 8
Physical prototype of the omnidirectional mobile robot.Considering the CT controller, the desired tracking performance was specified, following [3], through the control parameters kPi=ωni2 and kDi=2ξiωnii, for i∈{1,2,3}. These were set to ωn1=ωn2=23.45, ωn3=31.62 [rad/s], ξ1=ξ2=1.067, and ξ3=0.79. Also, for the BV controller, we have taken Δi=0.01, and λi=0.1.Figures9 to 12 show the real-time system behaviour under the action of the CT and BV controllers. It can be seen in Figure 11 that the CT controller alone does not allow the system to satisfy the desired velocity bounds. This is not the case for the BV controller, which in fact behaves similar to the CT controller when all the velocities are within their limits, but away of the bounds (see Figures 11 and 12). Note that, for both controllers, convergence to the reference trajectory is achieved at almost the same instant of time, but with bounded errors (see Figures 10 and 11). Among other reasons, these errors could have been produced by the inaccuracy of the dynamic model used to derive the control scheme. The experimental results are very similar to those obtained by numerical simulations and are consistent to the theoretical development.Figure 9
Experimental results of the task space trajectories described by the OMR under the action of theCT and BV controllers.Figure 10
Experimental results of the positions and tracking errors of the OMR under the action of theCT and BV controllers.
(a)
Position inx
(b)
Position tracking error inx
(c)
Position iny
(d)
Position tracking error iny
(e)
Angular position
(f)
Angular position tracking errorFigure 11
Experimental results of the velocities and tracking errors of the OMR under the action of theCT and BV controllers.
(a)
Velocity inx
(b)
Velocity tracking error inx
(c)
Velocity iny
(d)
Velocity tracking error iny
(e)
Angular velocity
(f)
Angular velocity tracking errorFigure 12
Experimental results of the torques applied to the OMR under the action of theCT and BV controllers.
(a)
Applied torque to the first wheel
(b)
Applied torque to the second wheel
(c)
Applied torque to the third wheel


## 4.1. Simulations

Simulations were developed in MATLAB/Simulink with a fixed-step Euler method at 1 ms. The initial condition of the OMR wasq(0)=000000⊤, and the desired tracking performance was specified, following [3], through KP=diag{ωn2}, and KD=diag{2ξωn}, where ξ=0.85 is the desired damping ratio and ωn=5 [rad/s] is the desired undamped natural frequency.Figures4 to 7 show the system behaviour under the action of the CT and BV controllers. For the CT controller, asymptotic tracking is completely achieved in approximately 2.5 s (see Figures 5 and 6, dashed-dot lines), and note that the system develops maximal velocities of about 1.5 rad/s (see Figure 6, dashed-dot lines). Then, for the OMR under the CT controller, it is clear that the desired velocity constraints (dotted lines) are not satisfied with the given tracking performance. However, with the proposed redesign (22), the BV controller, both asymptotic tracking and desired bounded velocities are completely achieved (see Figures 5 and 6, solid lines). This is achieved at the cost of greater convergence times, which is natural as the velocities do remain constrained to the desired maximal values. During the transitory stage, note that the velocity tracking errors are reduced as the velocities remain bounded (with the BV controller, the system velocities are kept closer to the desired velocities to be tracked). Also, as shown in Figure 7, a benefit of having bounded velocities is to require reduced control efforts (because the proposed BV controller dissipates the excess of energy in the system when the velocities remain bounded).Figure 4
Simulation results of the task space trajectories described by the OMR under the action of theCT and BV controllers.Figure 5
Simulation results of the positions and tracking errors of the OMR under the action of theCT and BV controllers.
(a)
Position inx
(b)
Position tracking error inx
(c)
Position iny
(d)
Position tracking error iny
(e)
Angular position
(f)
Angular position tracking errorFigure 6
Simulation results of the velocities and tracking errors of the OMR under the action of theCT and BV controllers.
(a)
Velocity inx
(b)
Velocity tracking error inx
(c)
Velocity iny
(d)
Velocity tracking error iny
(e)
Angular velocity
(f)
Angular velocity tracking errorFigure 7
Simulation results of the torques applied to the OMR under the action of theCT and BV controllers.
(a)
Applied torque to the first wheel
(b)
Applied torque to the second wheel
(c)
Applied torque to the third wheel


## 4.2. Real-Time Experiments

Real-time experiments were carried out in the mobile robot prototype shown in Figure8, which has been designed to maximize its dexterity (see [35]). The dynamics of the system, as well as its parameters, correspond to those given in Section 2.1.Figure 8
Physical prototype of the omnidirectional mobile robot.Considering the CT controller, the desired tracking performance was specified, following [3], through the control parameters kPi=ωni2 and kDi=2ξiωnii, for i∈{1,2,3}. These were set to ωn1=ωn2=23.45, ωn3=31.62 [rad/s], ξ1=ξ2=1.067, and ξ3=0.79. Also, for the BV controller, we have taken Δi=0.01, and λi=0.1.Figures9 to 12 show the real-time system behaviour under the action of the CT and BV controllers. It can be seen in Figure 11 that the CT controller alone does not allow the system to satisfy the desired velocity bounds. This is not the case for the BV controller, which in fact behaves similar to the CT controller when all the velocities are within their limits, but away of the bounds (see Figures 11 and 12). Note that, for both controllers, convergence to the reference trajectory is achieved at almost the same instant of time, but with bounded errors (see Figures 10 and 11). Among other reasons, these errors could have been produced by the inaccuracy of the dynamic model used to derive the control scheme. The experimental results are very similar to those obtained by numerical simulations and are consistent to the theoretical development.Figure 9
Experimental results of the task space trajectories described by the OMR under the action of theCT and BV controllers.Figure 10
Experimental results of the positions and tracking errors of the OMR under the action of theCT and BV controllers.
(a)
Position inx
(b)
Position tracking error inx
(c)
Position iny
(d)
Position tracking error iny
(e)
Angular position
(f)
Angular position tracking errorFigure 11
Experimental results of the velocities and tracking errors of the OMR under the action of theCT and BV controllers.
(a)
Velocity inx
(b)
Velocity tracking error inx
(c)
Velocity iny
(d)
Velocity tracking error iny
(e)
Angular velocity
(f)
Angular velocity tracking errorFigure 12
Experimental results of the torques applied to the OMR under the action of theCT and BV controllers.
(a)
Applied torque to the first wheel
(b)
Applied torque to the second wheel
(c)
Applied torque to the third wheel


## 5. Conclusions and Future Work

A solution to achieve global asymptotic tracking with desired bounded velocities for an omnidirectional mobile robot was proposed. It consisted in the redesign of a tracking controller to take into account, explicitly, the velocity constraints of the system. The stability analysis was developed using Lyapunov and passivity tools. Simulation and experimental results showed the effectiveness of the proposal.The ideas proposed here can be extended to use other tracking controllers to further improve the system performance. This can be done immediately with those allowing the preservation of the passivity properties of the closed-loop system. Also, the extension can be done to bound other important variables in the system, like positions, accelerations, and torques. Among others, applications of these ideas in parallel robotics, aerial vehicles, and human-robot interaction are visualized.



---

*Source: 608015-2015-05-18.xml*