# Restriction of Transverse Feedback Linearization for Piecewise Linear Paths

Authors: Gildeberto de Souza Cardoso; Leizer Schnitman; José Valentim dos Santos Filho; Luiz Carlos Simões Soares Júnior
Journal: Mathematical Problems in Engineering
 (2021)

---

## Abstract

This work presents a path-following controller for a unicycle robot. The main contribution of this paper is to demonstrate the restriction of transverse feedback linearization (TFL) to obtuse angles on piecewise linear paths. This restriction is experimentally demonstrated on a Kobuki mobile robot, where it is possible to observe, as a result of the limitation of the TFL, the convergence to another domain of attraction.


---

## Body

## 1. Introduction

Mobile robot applications have significantly increased in recent years. Following a general rule of technological evolution, mobile robotics has increasingly prioritized autonomy in relation to the environment, requiring greater efficiency of navigation and control systems. To ensure that a robot follows a reference path or to stabilize a robot at a desired point, a motion control system is needed. According to the type of reference to be followed by the mobile robot, the motion control systems are classified into three types:(1)
Point stabilization(2)
Trajectory tracking(3)
Path followingThe objective of point stabilization is to stabilize the robot in a certain desired position. According to [1], this objective cannot be achieved with continuous or smooth state feedback control laws if the robot is subject to nonholonomic constraints. In this case, approaches such as control laws that vary slightly in time [2] and discontinuous and hybrid feedbacks [3] can be used. Another way to avoid the problem of nonholonomy is the use of Frenet–Serret and Triedro [4] to describe the state space.In trajectory tracking, the control laws that act on the robot must follow a parameterized law of timing associated with the movement.In path following, the robot converges and follows a predefined path. This path does not have any temporal specification. The robot tracks a desired speed profile, and the controller acts on the orientation to drive the robot along the intended path [5].Of the three categories described above, we chose the path-following technique for this work. In the path-following control, the forward speed of the robot tracks the desired speed profile, while the controller acts on the orientation of the robot in order to steer the vehicle along the path. Usually, smoother convergence to a path is achieved when path-following strategies are used compared with trajectory-tracking control laws [6].There are several cases in which a path-following controller is appropriate for nonholonomic robotic systems, such as Samson [7], Morro et al. [8], Pazderski [9], and Soetanto et al. [10].Approach for path following is transverse feedback linearization (TFL). The main advantage of adopting TFL is that the controllers guarantee path invariance. Some path-following control techniques, such as sliding control, do not have this property. Path invariance means that if the robot starts with tangential velocity to the path, the robot will remain on the path for all future time [11].There are many examples in the literature of the use of TFL to control robotics systems.In Nielsen and Maggiore [12], the authors solve the TFL for a car-like robot with fixed translational velocity. Akhtar and Nielsen [13] propose a path-following controller for a kinematic model of car-like mobile robots using TFL and tangential dynamic extension. Akhtar et al. [14] propose a path-following controller for a quadrotor using TFL and tangential dynamic extension. In Hladio et al. [15], the authors propose a path-following controller for a five-bar robotic manipulator using TFL to put the system into a normal form for control design. Akhtar et al. [11] propose path-following controllers for the kinematic model of car-like mobile robots using TFL with dynamic extension. Dovgobrod [16] proposes an algorithm to provide a precision stabilization of a vehicle on a path. Finally, Nguyen et al. [17] design a controller combining model predictive control and TFL techniques.This article analyzes the response of TFL in relation to the piecewise linear path and, as its main contribution, demonstrates analytically the restriction to an obtuse path. This limitation is experimentally verified on a Kobuki mobile robot.


## 2. Problem Formulation

In this section, we demonstrate path-following controllers for a kinematic model of a unicycle. The following properties of the path-following strategy are assumed:(1)
The robot is able to plan a piecewise linear path from the starting position to the goal position(2)
Each line segment of the path should be controlled invariant


### 2.1. Kinematic Model of Robot

Consider the kinematic model of a unicycle mobile robot shown in Figure1:(1)x˙1t=vtcosx3t,x˙2t=vtsinx3t,x˙3t=ωt.Figure 1
Unicycle robot.Here,x1,x2∈ℝ2 represents the robot’s position in the plane, and x3∈S is the robot’s heading. The control inputs are the translational speed v∈ℝ and the angular velocity ω∈S. The output of the system is the robot’s location in the plane, which is given by(2)yt=Cxt=100010xt.The configuration space of (1) is X=ℝ2×S, and the output space of (2) is Y=ℝ2. It is assumed that only the position coordinates of a robot are measured and continuous updates are provided in its state vector x. The heading vector is defined as τx3=sinx3,cosx3; its Euclidean norm equals 1 and it points in the direction the robot is facing Figure 1.


### 2.2. Workspace

The unicycle robot model (1) operates in a workspace W⊂ℝ2. The set W is assumed to be compact and path-connected with a nonempty interior. The output space has a finite number of obstacles Oi⊂ℝ2, i∈1,…,n. Each obstacle Oi is assumed to be a closed, convex set. The free workspace is defined as Wfree=W\O1∪O2∪⋯∪On.The differential drive robot moves in the environment under the assumption that models (1) and (2) have a map of Wfree stored in its memory, which contains two distinguished points pstart, pgoal∈Wfree.


### 2.3. Configuration Map

In order to model the fact that the robot is not simply a point with no area in its workspace, this section introduces the notion of a map.Definition 1.
There exists a set-valued functionB:⇉ called the configuration map that maps each configuration x∈X of robot (1) to the set of all points Bx⊂Y belonging to the robot.As depicted in Figure1, it is assumed that the differential drive robot has a polygonal shape. Therefore, Bx is a polygonal region in the plane, for Bxt⊂Wfree is necessary to ensure that there are no collisions, during the period of time in which the robot is moving from the start to the goal position.


### 2.4. Path-Following Outputs for Path Planners

The path-following output associated to a smooth parameterized curveσ:ℝ⟶ℝp was defined in [18]. It consists of two complementary objects: a transversal output and a tangential output. The transversal output is a smooth function μ:U⊆ℝp⟶ℝp−1 with the property that zero is a regular value of the function and μ−10=σℝ. The tangential output is a projection ϖ:U⊆ℝp⟶ℝ which, given an output location y∈U, returns the value of λ∈ℝ with the property that σλ is the closest point to y on the given curve.The resulting functionhPF:U⊆ℝp⟶ℝp, and y↦ϖy,μy is the path-following output. This virtual output has a clear physical meaning for path-following control design and can be viewed as a local diffeomorphism on the output space of the robot. In this section, keeping in mind that the paths will be generated as a sequence of waypoints, a procedure is presented to generate a set of linear path-following outputs from a sequence of waypoints.Suppose that a sample-based path planner has returned a path frompstart to pgoal as a sequence of points in Wfree which is a subset of a p-dimensional real vector space Y (because the results of this section apply equally well in higher dimensions, we do not assume that the workspace of our robot is a subset of ℝ2 as in the case of the differential drive robot). That is, given a set p1,p2,…,pN−1,pN with p1=pstart, pN=pgoal and each pi∈Y. To avoid trivial cases, assume that, for each i∈ℕN−1, pi≠pi+1. These points represent a planned path consisting of N−1 line segments ℓi=pipi+1¯⊂Y, i∈ℕN−1 of nonzero length. A path-following output hPFi is associated with each line segment ℓi.The span of the vectorpi+1−pi∈Y is a 1-dimensional subspace that is parallel to the (infinite) line passing through the line segment ℓi. The p−1-dimensional subspace Vi=Kerpi+1⊤−pi⊤ consists of vectors which annihilate pi+1−pi⊤. Let Vi:Vi⟶Y be the insertion map. The insertion map is represented by any matrix whose column vectors form a basis for Vi relative to the given basis for Y. Finally, denote its associated dual map by Vi⊤:V′⟶Vi′. By construction, it is determined that Vi⊤pi+1−pi=0. A zero-level set representation of the affine subspace containing ℓi is obtained using(3)di=−Vi⊤pi,where di∈ℝIt is now claimed thatℓi⊂y∈Y:Vi⊤y+di=0. If y∈ℓi, then it can be expressed as a convex combination of pi and pi+1, i.e., y=λpi+1−λpi+1, λ∈0,1. Therefore,(4)Vi⊤y+di=λVi⊤pi−pi+1+Vi⊤pi+1+di=Vi⊤pi+1+di=Vi⊤pi+1−pi=0.The set(5)μiy=Vi⊤y+di,and so the value of the transversal part of the path-following output associated to the line segment ℓi has been calculated. Repeating this for each line segment, a set of pairs S=V1⊤,d1,…,VN−1⊤,dN−1 is generated from the set of waypoints.To compute the tangential part of the path-following output associated toℓi, a constrained optimization problem is solved. To begin, a parametrization of ℓi is generated. Next, li and mi are defined: li=pi−pi+12 and mi=pi−pi+1/li. Then, the curve σi is defined as 0,li⟶Y via σiλ=miλ+pi. It follows that σi0,li=ℓi. Given a point y∈Y, consider the constrained optimization problem.Problem 1.
(6)minimize:y∗y−y∗2,subject to:Vi⊤y∗+di=0.Using Lagrange multipliers, the minimizing argument is given by(7)y∗=I−ViVi⊤Vi−1Vi⊤y+Vi⊤Vi−1di.The value ofλ∗∈0,li for which σiλ∗=y∗ can now be computed yielding the second part of the path-following output for line segment ℓi:(8)ϖiy=mi⊤y∗−pi.In summary, equations (5)–(8) define the path-following output hPFiy=μiy,ϖiy associated to each line segment ℓi=pipi+1¯. This output happens to be a linear affine function of y:(9)hPFiy=mi⊤Vi⊤y+ni⊤Vi⊤Vi−1di−pidi.Using the fact thatmi⊤Vi=0 to simplify notation, let ni=mi⊤Vi⊤Vi−1di−mi⊤pi; then, (9) can be written:(10)hPFiy=mi⊤Vi⊤y+nidi.The set is further defined as follows:(11)T=m1⊤,n1,…,mN−1⊤,nN−1,and then, each line segment ℓi is associated with the pairs(12)Vi⊤,di∈S,mi⊤,ni∈T.


## 2.1. Kinematic Model of Robot

Consider the kinematic model of a unicycle mobile robot shown in Figure1:(1)x˙1t=vtcosx3t,x˙2t=vtsinx3t,x˙3t=ωt.Figure 1
Unicycle robot.Here,x1,x2∈ℝ2 represents the robot’s position in the plane, and x3∈S is the robot’s heading. The control inputs are the translational speed v∈ℝ and the angular velocity ω∈S. The output of the system is the robot’s location in the plane, which is given by(2)yt=Cxt=100010xt.The configuration space of (1) is X=ℝ2×S, and the output space of (2) is Y=ℝ2. It is assumed that only the position coordinates of a robot are measured and continuous updates are provided in its state vector x. The heading vector is defined as τx3=sinx3,cosx3; its Euclidean norm equals 1 and it points in the direction the robot is facing Figure 1.


## 2.2. Workspace

The unicycle robot model (1) operates in a workspace W⊂ℝ2. The set W is assumed to be compact and path-connected with a nonempty interior. The output space has a finite number of obstacles Oi⊂ℝ2, i∈1,…,n. Each obstacle Oi is assumed to be a closed, convex set. The free workspace is defined as Wfree=W\O1∪O2∪⋯∪On.The differential drive robot moves in the environment under the assumption that models (1) and (2) have a map of Wfree stored in its memory, which contains two distinguished points pstart, pgoal∈Wfree.


## 2.3. Configuration Map

In order to model the fact that the robot is not simply a point with no area in its workspace, this section introduces the notion of a map.Definition 1.
There exists a set-valued functionB:⇉ called the configuration map that maps each configuration x∈X of robot (1) to the set of all points Bx⊂Y belonging to the robot.As depicted in Figure1, it is assumed that the differential drive robot has a polygonal shape. Therefore, Bx is a polygonal region in the plane, for Bxt⊂Wfree is necessary to ensure that there are no collisions, during the period of time in which the robot is moving from the start to the goal position.


## 2.4. Path-Following Outputs for Path Planners

The path-following output associated to a smooth parameterized curveσ:ℝ⟶ℝp was defined in [18]. It consists of two complementary objects: a transversal output and a tangential output. The transversal output is a smooth function μ:U⊆ℝp⟶ℝp−1 with the property that zero is a regular value of the function and μ−10=σℝ. The tangential output is a projection ϖ:U⊆ℝp⟶ℝ which, given an output location y∈U, returns the value of λ∈ℝ with the property that σλ is the closest point to y on the given curve.The resulting functionhPF:U⊆ℝp⟶ℝp, and y↦ϖy,μy is the path-following output. This virtual output has a clear physical meaning for path-following control design and can be viewed as a local diffeomorphism on the output space of the robot. In this section, keeping in mind that the paths will be generated as a sequence of waypoints, a procedure is presented to generate a set of linear path-following outputs from a sequence of waypoints.Suppose that a sample-based path planner has returned a path frompstart to pgoal as a sequence of points in Wfree which is a subset of a p-dimensional real vector space Y (because the results of this section apply equally well in higher dimensions, we do not assume that the workspace of our robot is a subset of ℝ2 as in the case of the differential drive robot). That is, given a set p1,p2,…,pN−1,pN with p1=pstart, pN=pgoal and each pi∈Y. To avoid trivial cases, assume that, for each i∈ℕN−1, pi≠pi+1. These points represent a planned path consisting of N−1 line segments ℓi=pipi+1¯⊂Y, i∈ℕN−1 of nonzero length. A path-following output hPFi is associated with each line segment ℓi.The span of the vectorpi+1−pi∈Y is a 1-dimensional subspace that is parallel to the (infinite) line passing through the line segment ℓi. The p−1-dimensional subspace Vi=Kerpi+1⊤−pi⊤ consists of vectors which annihilate pi+1−pi⊤. Let Vi:Vi⟶Y be the insertion map. The insertion map is represented by any matrix whose column vectors form a basis for Vi relative to the given basis for Y. Finally, denote its associated dual map by Vi⊤:V′⟶Vi′. By construction, it is determined that Vi⊤pi+1−pi=0. A zero-level set representation of the affine subspace containing ℓi is obtained using(3)di=−Vi⊤pi,where di∈ℝIt is now claimed thatℓi⊂y∈Y:Vi⊤y+di=0. If y∈ℓi, then it can be expressed as a convex combination of pi and pi+1, i.e., y=λpi+1−λpi+1, λ∈0,1. Therefore,(4)Vi⊤y+di=λVi⊤pi−pi+1+Vi⊤pi+1+di=Vi⊤pi+1+di=Vi⊤pi+1−pi=0.The set(5)μiy=Vi⊤y+di,and so the value of the transversal part of the path-following output associated to the line segment ℓi has been calculated. Repeating this for each line segment, a set of pairs S=V1⊤,d1,…,VN−1⊤,dN−1 is generated from the set of waypoints.To compute the tangential part of the path-following output associated toℓi, a constrained optimization problem is solved. To begin, a parametrization of ℓi is generated. Next, li and mi are defined: li=pi−pi+12 and mi=pi−pi+1/li. Then, the curve σi is defined as 0,li⟶Y via σiλ=miλ+pi. It follows that σi0,li=ℓi. Given a point y∈Y, consider the constrained optimization problem.Problem 1.
(6)minimize:y∗y−y∗2,subject to:Vi⊤y∗+di=0.Using Lagrange multipliers, the minimizing argument is given by(7)y∗=I−ViVi⊤Vi−1Vi⊤y+Vi⊤Vi−1di.The value ofλ∗∈0,li for which σiλ∗=y∗ can now be computed yielding the second part of the path-following output for line segment ℓi:(8)ϖiy=mi⊤y∗−pi.In summary, equations (5)–(8) define the path-following output hPFiy=μiy,ϖiy associated to each line segment ℓi=pipi+1¯. This output happens to be a linear affine function of y:(9)hPFiy=mi⊤Vi⊤y+ni⊤Vi⊤Vi−1di−pidi.Using the fact thatmi⊤Vi=0 to simplify notation, let ni=mi⊤Vi⊤Vi−1di−mi⊤pi; then, (9) can be written:(10)hPFiy=mi⊤Vi⊤y+nidi.The set is further defined as follows:(11)T=m1⊤,n1,…,mN−1⊤,nN−1,and then, each line segment ℓi is associated with the pairs(12)Vi⊤,di∈S,mi⊤,ni∈T.


## 3. Transverse Feedback Linearization

Consider the differential drive robot configurations (1) and (2). Assume that the robot’s translational speed v is a fixed positive constant. In addition, as in Section 2, a sample-based path planner has returned a path from pstart to pgoal as a sequence of points p1,p2,…,pN−1,pN in Wfree⊂ℝ2. Following the construction of Section 2.4, the sets S and T are known. Then, for each i∈ℕN−1, the robot’s path-following output is given by(13)yPFi≔hPFiCx=mi⊤CVi⊤Cx+nidi.The path-following manifold ofℓi is the largest controlled invariant set containing the lift of the path(14)Γi=x∈X:Vi⊤Cx+di=0.It is verified thaty belongs to the line that contains ℓi if and only if x∈Γi. Of course, Γi is not controlled invariant: if the robot is initialized on ℓi but with τx30 parallel Γi to Vi, then the robot must leave the set before possibly returning to the set. From a planning point of view, such behaviors are obviously undesirable because they could lead to large deviations from the planned path and therefore collisions.The direction in which the robot travels along the line depends on its initial conditions, which determine which componentΓ∗i (Γ∗,+i or Γ∗,−i) the robot approaches. In the path-planning framework, the robot must move in a prescribed direction along each segment ℓi. This ensures that the robot always approaches Γ∗,+i so that it moves in the correct direction.The path-following manifold of the lineσiλ=niλ+pi, λ∈ℝ, with respect to the differential drive robot (1) and (2) is given by a union of disjoint closed sets:(15)Γ∗i=Γ∗,+i∪Γ∗,−i,where(16)Γ∗,+i=x∈Γi:Vi⊤τx3,x3=argv2−jv1,(17)Γ∗,−i=x∈Γi:Vi⊤τx3,x3=arg−v2+jv1,and Vi⊤=v1v2. Furthermore, distΓ∗,+i,Γ∗,−i=π, where distA,B=infa−b|a∈A,b∈B.Sets (16) and (17) are disjoint because x3∈S, and set (15) is closed because its complement is open. The complement is given by Γc=ℝp\Γ=y∈ℝp:Vi⊤Cx+di≠0 and the empty set is open by definition.Γ∗ is the controlled invariant set. Physically, it consists of all motions of the unicycle robot (1) for which the output signal (2) can be made to remain on the curve σi.To prove, it is necessary to show thatVi⊤Cx+di has a well-defined relative degree.Proof.
Let(18)ξki=ξ1iξ2i=Vi⊤Cx+diVi⊤τx3.
Recallvt≠0; the denominator of control (20) goes to zero if and only if x3=arctanx2/x1. However, this condition is not allowed on Γ∗. Suppose, by contradiction, that this occurs. Then, because ξ1=ξ2=0, (19)cosx3sinx3−sinx3cosx3x1x2=0,is nonsingular. Because Vi⊤Cx+di=0, it is not possible for x1=x2=0. The function ξk yields a well-defined relative degree n∗=2, where n∗=dimΓ∗.If the inputu:=ω, the feedback controller can be expressed mathematically as follows:(20)u=−ki⊤ξkiVi⊤Rπ/2τx3,where Rπ/2=0−110 and ki∈ℝ≥02.Controller (20) is well defined on the open set X\x∈X:argejx3−x3+=π/2, the feedback controller will result in a closed-loop system whose trajectories approach Γ∗i, and therefore, the output y will approach the line σλ.


## 4. Supervisory Control of TFL Path-Following Controllers

As shown inSection 3, on each line segment ℓi, controller (20) drives the robot to its path-following manifold. This section describes how the robot is switched from one line segment to the next and also how the convergence to Γ∗,+i is ensured.Letη1i=m1⊤Cx+ni. This tangential state describes the robot’s position on ℓi. When ηi=0, the closest point to the robot’s output on the path defined by p1,…,pN−1 is pi. When η1i=li, the closest point is pi+1. With this in mind, the algorithmic state machine shown in Figure 2 is used to supervise our path-following controllers.Figure 2
State diagram of the supervisory controller.In statei, the robot’s control signal is given (10) by Vi⊤,di∈S and mi⊤,ni∈T. The supervisory control monitors how far the robot is from the next waypoint. When that distance is sufficiently small, controller (20) changes its parameters to Vi+1⊤,di+1∈S,mi+1⊤,ni∈T.In principle, controller (20) can use a different set of gains ki∈ℝ≥02 on each line segment. However, as the next proposition shows, a single set of gain values is chosen to ensure that the robot transitions from Γ∗,+i to Γ∗,+i+1 and thus moves in the correct direction along the paths.Proposition 1.
With respect to system (18), a set Ui+ is defined by(21)Ui+=x∈X:argejx3−x3+<π2,where x3+=argv2−jv1 is positively invariant if controller (20) is used with(22)ki⊤=k1k2,withk2>4k1.Proof.
The Laplace transform is used to prove the existence of a domain of attraction for the system under analysis. Those domains of attraction, shown in Figure3, are defined for Γ∗ as(23)Ui+=x∈X:argejx3−x3+<π2,Ui−=x∈X:argejx3−x3−<π2.
It can be stated that path following is an output zeroing problem. Therefore, it is necessary to show thatξ2t≤ξ20,∀t≥0.
ξ2 can be described as follows:(24)ξ2=Vi⊤τxcosϕ.
IfVi⊤ is normalized so that it is equal to 1, τx=1; therefore, it can be deduced that ξ2=0 if and only if ϕ=±π/2. If ϕ=kπ for k∈ℕ. There is a singularity because, in this case, ξ2=±1.
For this case, it is sufficient to prove thatξ2t≤ξ20, see Figure 4(25)ξ˙1=ξ2,(26)ξ˙2=−k1ξ1−k2ξ2.
From expression (25),(27)ξ˙2+k2ξ˙2+k1∫0tξ2τdτ=0.
Developing the above differential equation using the Laplace transform yields the following:(28)sξ^2−ξ20+k2ξ^2=−k1sξ^2,ℒξ2=ξ^2,s+k2+k1sξ2^=ξ20,ξ^2s2+k2s+k1s,=ξ20,ξ^2=sξ20s2+k2s+k1,ξ^2ξ20=ss2+k2s+k1=skwn2s2+2εwns+wn2.
Therefore, ifwn2=k1, ε=k2/2k1 and k=1/wn2; if ε>1, there exist two real poles:(29)Gs=skabs+as+b,ξ2t=ddtkabb−ae−at−e−btξ20,ξ2t=kabb−a−ae−at+be−btξ20.
Recallk=1/k1=1/ab:(30)ξ2t=1b−a−ae−at+be−btξ20.
Therefore, ifk2>4k1, ξ20>ξ2t and U+ is positively invariant, ξ2t,ξ0∈U+,∀t≥0.
Because the transversal proportional controller is given by(31)v⋔ξ=−k⊤ξi,v⋔0, ξ=0 is an equilibrium point of the closed-loop transversal system. As a consequence, path invariance is achieved, meaning that if the robot is initialized in the path, it will remain in the path at all future points.Figure 3
Domains of attraction.Figure 4
ξ2 vs.x3.Thus, any initial condition inUi+ results in trajectories that approach Γ∗,+i, assuming the gains in (20) are chosen properly.As a result when the supervisory control switches at time, from statei to state i+1, the controller will cause the robot to traverse the path in the desired direction so long as(32)xT∈Ui+∩Ui+1+.Because controller (20) exponentially stabilizes Γ∗i, it is reasonable to assume that xT∈Γ∗,+i or is very close to it. As such, the next result says that if the robot is traversing segment ℓi in the correct direction, it will continue to traverse ℓi+1 in the desired direction if Γ∗,+i∩Ui+1+≠∅.


## 5. Results and Conclusion

In this section, simulation results dealing with the TFL and experiments on Kobuki mobile robot are presented. The limitation of the TFL is illustrated by showing the robot’s inability to follow paths with obtuse angles.In order to demonstrate the robot’s inability to correctly follow a path with obtuse angles, a control was implemented to follow the points [0 1; 25 30; 40 10] whose distance between them is Euclidean. The angle between the yellow and red straight segments is102.37∘, and the robot’s initial state was x0=0,1,π/4. As a result, a convergence to another attraction domain was observed; consequently, the robot followed the opposite trajectory, as shown in Figure 5. In this figure, the red straight segment indicates the desired path and the purple straight segment indicates the path followed by the robot.Figure 5
TFL response to the obtuse angle path.Circles were drawn at each point. The radius of these circles,ɛ=0.5, defines the path switching area; if the robot gets close enough as to the target point, the controller can then guide the robot through the next path. Such a transition can be observed in Figure 6.Figure 6
TFL response to the obtuse angle path.Tests were performed on a robotic platform called Kobuki, made by Yujin Robot. It is controlled by an embedded Raspberry Pi 3 microcontroller running ROS (Robotic Operational System). Matlab software on a second computer was used to run the TFL controller, which communicated with the robot through an IEEE 802.11 wireless network.The Kobuki mobile robot was asked to follow a set of points whose distance is Euclidean between them. To demonstrate the robot’s inability to follow an obtuse path, points0,0,0.5,0,0.45,1 were selected as the robot’s path, with the initial position given by x0=0,0,0 and the gains given by k1=2 and k2=2.84. As expected, the robot followed another attraction domain, as shown in Figure 7.Figure 7
Experimental TFL response to the obtuse angle path.On the contrary, when the trajectory has only acute angles, the robot remains on the path. Figure8(a) shows that the robot remains on the desired path Figure 8(b) and follows it. The initial position is given by x0=0,0,0; the points followed by the robot were 0,0, 1,0, 2,1, and 3,1.25; the gains were given by k1=2 and k2=2.84.Figure 8
Experimental TFL response to the acute angle path. (a) Kobuki mobile robot following piecewise linear path. (b) Desired path.
(a)(b)In this paper, a path-following controller has been designed for a Kobuki mobile robot, using transverse feedback linearization for piecewise linear paths. The restriction of TFL was demonstrated using a kinematic model of a unicycle mobile robot. It has been shown that when the path has obtuse angles, the robot follows another domain of attraction, making the TFL unfeasible in these cases.



---

*Source: 8270793-2021-01-30.xml*