Adaptive Trajectory Tracking Control for the Ball ... - IEEE Xplore

4 downloads 0 Views 1MB Size Report
Adaptive Trajectory Tracking Control for the Ball-Pendulum System with Time-Varying Uncertainties. Yang Bai, Mikhail Svinin, and Motoji Yamamoto.
2017 IEEE/RSJ International Conference on Intelligent Robots and Systems (IROS) September 24–28, 2017, Vancouver, BC, Canada

Adaptive Trajectory Tracking Control for the Ball-Pendulum System with Time-Varying Uncertainties Yang Bai, Mikhail Svinin, and Motoji Yamamoto Abstract— An adaptive trajectory tracking problem for a spherical rolling robot driven by a 2DOF pendulum is considered in this paper. A feedback controller is proposed for the goal of tracking the trajectory for the full configuration of the spherical robot. To deal with time-varying uncertainty of the system dynamics, an adaptation mechanism is included in the trajectory tracking controller by parameterizing the system uncertainty with a polynomial function, weighted by unknown constant parameters adjustable by the defined update law. The constructed controller is first tested for the planar hoop-pendulum and then applied to the ball-pendulum system. The convergence to the desired trajectories under the control law is proved and then verified by simulations for tracking circular motions under perturbation.

I. I NTRODUCTION Research on spherical rolling robots has been drawing increasing attention in recent years. Depending on the driving principles, the spherical robots can be classified into three types depending on the driving principles: changing the mass center [1]–[4], changing the angular momentum [5]–[9] and changing the outer shape [10]. A review of the design based on these driving principles can be found in [11]. In this paper we explore a trajectory tracking problem for a class of spherical rolling robots actuated by a pendulum with two degrees of mobility since two is the minimal number of the control inputs necessary to move the spherical shell. The control problem can be stated as follows. Given a reference motion trajectory of the spherical robot, construct a tracking control law such that the error between the ideal and actual configurations of the spherical rolling robot converges to zero. This problem is difficult because the ball-pendulum system is nonholonomic, underactuated, and has non-zero drift term. Due to these difficulties, the approaches reported in the robotics literature [12]–[15] only solved the tracking problem partially. They either track the motion trajectory for only the orientation or only the position. In our previous work [16], we proposed a backstepping framework for the control process of tracking the motion trajectory for the full configuration of the sphere, including both its position and orientation. However, the constructed input torque contains acceleration term which is difficult to measure in the application. In this paper, we improve it by restructuring the backstepping process such that acceleration term will be excluded from the input law. Also it should Y. Bai and M. Yamamoto are with the Mechanical Engineering Department, Faculty of Engineering, Kyushu University, 744 Motooka, Nishi-ku, Fukuoka 819-0395, Japan. [email protected],

[email protected] M. Svinin is with the Information Science and Engineering Department, Ritsumeikan University, 1-1-1 Noji-higashi, Kusatsu, Shiga 525-8577, Japan. [email protected]

978-1-5386-2682-5/17/$31.00 ©2017 IEEE

be noted that in [16], we assumed that the mathematical model perfectly described the relation between the input and the output. However there are always errors between the mathematical model and the actual mechanical system due to inaccurately measured system parameters, un-modeled dynamics or unexpected external perturbation. These errors refer to the general uncertainties [17], which may cause deviations of the system trajectory from the desired one when the control inputs are constructed from the ideal model. To correct these deviations, an adaptive trajectory tracking controller is necessary. The development of such a controller constitutes the main goal of this paper. The adaptation problem is commonly addressed by the well-known model reference adaptive control schemes (MRAC). The controller is formed by combining on-line parameter estimators, which provide estimates of unknown parameters at each instant, with a control law motivated from the known parameter case. However, in practical applications, there always exist non-parametric, or time-varying uncertainties such as un-modeled dynamics or external disturbance. The traditional MRAC method is not feasible for dealing with these conditions. To control a rolling robot with timevarying uncertainties, we adopt a new adaptive controller design method based on function approximation technique (FAT) [18]–[23]. Compared with the traditional MRAC, the advantage of the FAT-based control is in the representation of the general uncertainties by a set of given basis functions weighted by a set of unknown constant parameters [17]. Thus the problem of eliminating the influence of general uncertainties is transformed to the estimation of parametric errors. Then Lyapunov designs are applied to derive proper update laws adjusting the estimates of the unknown parameters. In this paper, the adaptive trajectory tracking controller for the ball-pendulum system is constructed under backstepping framework and the adaptation mechanism is designed via the FAT. The backstepping process combines two steps. A feedback velocity control input, denoted by angular velocity of the spherical shell, is first designed for the kinematic steering system. Then the specific robot dynamics are taken into account to convert a steering command into control torque acting on the pendulum. Note that in either step the subsystem to be controlled is underactuated and the FAT cannot be directly applied. Therefore, the main contribution of this work is in the modification of the FAT-based adaptive control method such that it becomes applicable to the class of underactuated systems corresponding to rolling robots. The paper is organized as follows. First, in Section II we review the mathematical models of the ball-pendulum system and its planar case, the hoop-pendulum system. In Section III

2083

and Section IV, we state the trajectory tracking problem and construct the adaptive controllers for both the planar and full 3D cases respectively. The constructed adaptive trajectory tracking controllers are verified under simulations. Finally, conclusions are drawn in Section V.

The dynamics of the rolling robot are described by the following equations [16]        H oo H op ω˙ ho 0 + = , (2) ¨ H po H pp q hp τ

II. M ATHEMATICAL MODEL

 ˆpρ ˆ c , H op = J p + mp ρ ˆcρ ˆ p S, H oo = J c + mp ρ  ˆpρ ˆ c , H pp = S > J p S, H po = S > mp ρ ˆcρ ˆ p )s + ω p × J p ω p − ρp × mp g ho = (J p + mp ρ  −ρc × mp ω p × (ω p × ρp ) ,

where

In this section we bring into consideration and review the mathematical model of a ball-pendulum system [16], and its planar case the hoop-pendulum system [24].

hp = S > (J p s + ω p × J p ω p − ρp × mp g).

A. Ball-pendulum system The coordinate frames used to describe the contact kinematics are shown in Fig. 1, where Σb is an inertial frame fixed at the base, Σo is a frame fixed at the geometric center of the sphere. In addition, to the contact point we attach the contact frame of the object Σco , and the contact frame of the plane, Σcb , which is parallel to Σb .

Here in the equations, q = (q1 , q2 ) denotes the generalized coordinates for the pendulum. The angular velocity of the pendulum ω p = S q˙ where S = [s1 |s2 ], s = (s1 × s2 )q˙1 q˙2 and s1 = (0, 1, 0), s2 = (cos q1 , 0, − sin q1 ). τ = (τ1 , τ2 ) is the vector of the control torques. By hat we denote the ˆ b. skew-symmetric operator such that a×b ≡ a B. Hoop-pendulum system A planar case of the ball-pendulum system can be called the hoop-pendulum system. The kinematics of the system

Z

Σo

φ

q2

q1 Y

X

s = − Rφ c (u o , vo )

Σ co

c (u b , vb )

Σ cb

l

τ

ψ

Fig. 2.

Σb

θ

Hoop-pendulum system

are reduced to one equation ˙ s˙ = −Rφ,

Fig. 1.

Ball-pendulum system

The contact coordinates are given by the angles uo and vo , describing the contact point on the sphere, and ub and vb , describing the contact point on the plane, and by the contact angle ψ which is defined as the angle between the x-axis of Σco and Σcb . The evolution of the contact coordinates is described by Montana’s equations [25], [26], which in our parameterization take the following form     u˙ b 0 R 0    v˙ b   −R 0 0  ωx    u˙ o  = − sin ψ/ cos vo − cos ψ/ cos vo 0   ωy  ,     v˙ o  − cos ψ sin ψ 0  ωz ˙ − sin ψ tan vo − cos ψ tan vo −1 ψ (1) where ω = (ωx , ωy , ωz ) denotes the angular velocity of the frame Σo .

(3)

which describes the relation between the linear and angular velocity of the rolling robot and the dynamics are reduced to two equations that govern the relation between the input torque and corresponding motion of the system,        Hoo Hop φ¨ ho 0 + = , (4) Hpo Hpp hp τ θ¨ where Hoo = Jc − mp Rl cos θ, Hop = Jp − mp Rl cos θ, Hpo = −mp Rl cos θ, Hpp = Jp ,  ho = mp l sin θ Rθ˙2 + g , hp = mp gl sin θ. Note that the mathematical model for the hoop-pendulum system has the same structure as that of the ball-pendulum system. Thus the hoop-pendulum system can be viewed as a test bed for the control design process of the ball-pendulum system.

2084

III. T RAJECTORY TRACKING CONTROL FOR THE HOOP - PENDULUM SYSTEM In this section, we study the adaptive trajectory tracking problem for the hoop-pendulum system, for the sake of providing a framework for solving the tracking problem of the ball-pendulum system. A. Trajectory tracking problem statement The trajectory tracking problem for the hoop-pendulum system is posed as follows. Given a reference trajectory of the rolling hoop sr (t), construct input torque τ acting on the pendulum such that lim (sr (t) − s(t)) = 0. Here s(t) t→∞ and sr (t) define the actual and desired displacement of the center of the hoop with respect to time, respectively. B. Adaptive controller design We construct in this section the tracking controller for the hoop-pendulum system expressed by (3) and (4), based on the backstepping technique. To follow backstepping techniques, it is required to rewrite the motion equations in the pure feedback form [17] form x˙ = fx (x, z), z˙ = fz (x, z, u).

(5a) (5b)

Here for the hoop-pendulum system, x is chosen as the displacement of the hoop s, z is chosen as the angular velocity of the hoop φ˙ and the input u is the torque τ . Apparently, the kinematics (3) of the ball-pendulum system satisfy the form of (5a). The following steps are made to convert the system dynamics (4) into the form of (5b). Rewrite the system dynamics (4) as 

φ¨ θ¨



 =

Hoo Hpo

Hop Hpp

−1 

−ho τ − hp

e˙ = s˙ r − s˙ = s˙ r + Rωd .

(8)

We are to find a feasible input ωd such that the output e converges to 0, based on the Lyapunov method. Construct a scalar Lyapunov function candidate as 1 2 e . (9) 2 The convergence of the e can be guaranteed if the derivative of the Lyapunov function candidate V˙ k ≤ 0, where V˙ k is calculated as V˙ = e(s˙ r + Rωd ). Constructing a velocity control law ωd as  1 s˙ r + ke , (10) ωd = − R where k > 0, yields V˙ k = −ke2 ≤ 0, implying the error e converges to zero. It should be noted that the constructed velocity control law ωd cannot be perfectly realized in the real implementation since the angular velocity of the hoop cannot be directly controlled. In the next step we will design the input torque τ such that the actual angular velocity φ˙ converges to ωd . 2) Step 2: construct an input torque τ such that lim (ωd − t→∞ ˙ = 0. Defining the deviation of ωd from φ˙ as error eω = φ) ¨ the error state of the total ωd − φ˙ such that e˙ ω = ω˙ d − φ, system can be written as xe = (e, eω ) and the error dynamics are formulated as V =

e˙ = s˙ r + Rωd = s˙ r + Rωd − Reω , e˙ ω = Hτ + h, where

 .

(6)

Note from the second line of (6) that φ¨ can be expressed by a function of τ . Together with the system kinematics (3), one obtains the mathematical mode for the hoop-pendulum system as ˙ s˙ = −Rφ, Hop hp − Hpp ho − Hop τ . φ¨ = Hoo Hpp − Hop Hpo

1) Step 1: In this step, we examine the kinematics (7a) only. Define error between the real and reference trajectories for the displacement of the hoop as e = sr − s. Assuming the angular velocity of the hoop can be perfectly realized, that is φ˙ = ωd , the error dynamics are formulated as

(7a) (7b)

Applying the backstepping technique, we solve the tracking problem in two steps. In the first step, we select a velocity control φ˙ for the steering system (7a), such that lim (sr − t→∞ s) = 0. The control law constructed for φ˙ is specified as ωd . Note that in the practical application, we cannot control the angular velocity of the rolling robot φ˙ directly and thus φ˙ 6= ωd . Therefore in the second step, by taking into account the robot dynamics (7b), we construct an input torque τ such ˙ = 0. Let us discuss the construction of that lim (ωd − φ) t→∞ tracking controller in detail.

H=

Hop Hpp ho − Hop hp , h = ω˙ d + . Hoo Hpp − Hop Hpo Hoo Hpp − Hop Hpo

Note that there are always errors between the mathematical model and the actual mechanical system due to inaccurately measured system parameters or unexpected perturbation such as friction. These errors may cause deviations of the system performance from the desired, under control inputs derived from the ideal model. To correct these deviations, the extension to adaptive control is conducted in this step. To construct an adaptive trajectory tracking controller, we still follow the backstepping process. The error dynamics for the actual mechanical system are formulated as e˙ = s˙ r + Rωd − Reω , e˙ ω ≡ fmodel + d = Hτ + h + d,

(11a) (11b)

where d represents for the influence caused by the deviation of the mathematical model from the actual mechanical system. Note that d includes the effect of both the inaccurately measured system parameters and the external perturbation. To determine and eliminate the effect of d, the function approximation technique is adopted. Specifically, we use a

2085

polynomial function, weighted by unknown parameters di referring to the plant parameters, to estimate d as d≈

N X

di ti .

(12)

i=0

These plant parameters di are estimated at each time t denoted by adjustable dˆi (t), referring to the control parameters, using an update law that we are to define from the following process. Therefore a feasible Lyapunov candidate function would be N 2 1 1 1 Xˆ V = e2 + e2ω + di (t) − di , (13) 2 2 2 i=0 that combines both the state error and the difference between the plant parameters and the control parameters. Note that the plant parameters di in (13) is constant such that d˙i = 0. Hence the derivative of the Lyapunov function is calculated as N   X ˙ V˙ = ee˙ + eω e˙ ω + dˆi (t) − di dˆi (t) i=0 N     X = e s˙ r + Rωd − Reω + eω Hτ + h + di ti i=0

+

N X

˙ dˆi (t)dˆi (t) −

i=0

N X

˙ di dˆi (t).

(14)

i=0

Note that the term d˙i does not appear in (15) since di are constants and d˙i = 0. To further simplifying the (14), substituting the constructed the velocity input ωd in form of (10) into (14), rearranging which gives   V˙ = −ke2 + eω Hτ + h − Re +

N X

N   X ˙ ˙ dˆi (t)dˆi (t) + di eω ti − dˆi (t) .

i=0

V¨ = −2kee˙ − 2kω eω e˙ ω .

C. Simulation results Note from (17) that the constructed adaptive controller varies from a conventional non-adaptive one that it contains an adaption mechanism τa = −

i=0

˙ dˆi (t) = eω ti ,

(16)

and substitute this update law (16) into the derivative of the Lyapunov candidate function (15). Then all terms with di in (15) are cancelled and the derivative of the Lyapunov function is rewritten as N   X V˙ = −ke2 + eω Hτ + h − Re + dˆi (t)ti , i=0

Choosing input torque as N  X 1 Re − h − kω eω − dˆi (t)ti , H i=0

(17)

where kω is a positive constant, yields V˙ = −ke2 − kω e2ω ≤ 0,

(18)

(19)

As the Lyapunov function V is bounded, so are its components e and eω . According to (18) that V˙ is only composed of variables e and eω , V˙ is bounded and thus so are its components e, eω and e, ˙ e˙ ω as shown in (14). Therefore V¨ is bounded since it only contains bounded elements e, eω and e, ˙ e˙ ω , shown by (19). Hence, V˙ is uniformly continuous. Application of the Barbalat’s lemma then indicates that e and eω converge to zero when t → ∞. It should be noted that the error between the plant parameters and the control parameters dˆi (t) − di is not necessarily asymptotically stable. However, dˆi (t) − di is shown to be bounded because it is one of the components of bounded function V˙ as shown in (14).

(15)

As the control law to be constructed cannot contain unmeasurable elements, the unknown plant parameters di in the derivative of the Lyapunov function need to be excluded. To eliminate the terms with di in (15), define the update law

τ=

which indicates the convergence of e and eω . The asymptotic stability of the closed-loop system formulated by the plant (11a) and (11b) and the constructed input (17) can be proved based on the following [27] Lemma 3.1: If a scalar function V satisfies the following conditions 1) V is lower bounded 2) V˙ is negative-semidefinite 3) V˙ is uniformly continuous in time then V˙ → 0 as t → ∞. Note that the Lyapunov function V expressed by (18) satisfies the first and second conditions. To follow the Lyapunovlike analysis, we need to show the uniform continuity of V˙ . This can be done by proving that V¨ is bounded, where

N 1 Xˆ di (t)ti , H i=0

dealing with the un-modeled factors for the hoop-pendulum system. To demonstrate the effectiveness of the adaption mechanism, in this section we conduct simulations for the perturbed hoop-pendulum system under the control law with and without τa respectively. We present simulation results for the hoop-pendulum system tracking rest-to-rest motion. Let the reference trajectory sr (t) for the displacement of the hoop be a rest-to-rest function obtained from the motion planning [24]. The motions of the hoop-pendulum system under controller with and without τa are illustrated by Fig. 3 and Fig. 4. In both graphs, the blue dashed curve and the red curve represent for the actual and reference motion trajectories respectively. It can be seen from the graphs below that under the adaptive controller, even with un-modeled dynamics and external disturbance, the system output still converges to the desired. The numerical values used in the simulation are as follow. We assume that the modeled parameters are m = 0.5kg, mp = 1kg, R = 0.2m, l = 0.15m, g = 9.8m/s2 while

2086

0.5

0.8

0.4

Error [m]

Displacement [m]

1.0

0.6 0.4 0.2

¨ into (20a) and together with Substituting the expression of q the kinematics, one obtains the mathematical model for the ball-pendulum system in the backstepping form (5a) and (5b)

0.3 0.2 0.1

5 5

10

15

Time [s]

15

x˙ = Aω,

20

Time [s]

ω˙ =

1.0

0.5 0.8

0.6 0.4

0.2

5

10

Time [s]

Fig. 4.

15

20

0.4 0.3 0.2 0.1

5

10

15

20

Time [s]

Motion of the hoop-pendulum system under adaptive control

the actual parameters are m = 0.55kg, mp = 1.2kg, R = 0.22m, l = 0.16m, g = 9.85m/s2 , the total time interval T = 5s and the gains k = 18, kω = 35. The un-modeled disturbance d = 5 cos(10t). The order of the polynomial basis functions is chosen to be two since a higher order may lead to overfitting problems. IV. T RAJECTORY TRACKING CONTROL FOR THE BALL - PENDULUM SYSTEM In this section, we construct the adaptive tracking controllers the ball-pendulum system with time varying uncertainties, mimicking the controller design for its planar case, the hoop-pendulum system. A. Trajectory tracking problem statement The trajectory tracking problem is posed as follows. Given a reference motion trajectory of the spherical shell xr (t), construct an input torque τ such that lim (xr − x) = 0. t→∞ Here in this equation, xr (t) = (u∗b , vb∗ , u∗o , vo∗ , ψ ∗ ) is the reference configuration of the spherical shell where (u∗b , vb∗ ) and (u∗o , vo∗ , ψ ∗ ) represent respectively the desired smooth trajectories for its position of the geometric center and for its orientation. B. Adaptive controller design We construct in this section the adaptive tracking controller for the ball-pendulum system expressed by (1) and (2) with time-varying uncertainties, based on the backstepping techniques, mimicking the planar case. To apply backstepping techniques, it is required to rewrite the motion equations in form of (11a) and (11b). Apparently, the contact kinematics (1) of the ball-pendulum system satisfy the form of (11a). The following steps are made to convert the system dynamics (2) into the form of (11b). Rewrite the system dynamics (2) as ¨ − H −1 ω˙ = −H −1 oo H op q oo ho , ¨ = τ − H po ω˙ − hp , H pp q

(20a) (20b)

and from (20a) and (20b), one obtains the second derivative for the pendulum coordinates −1  ¨ = H pp − H po H −1 q τ + H po H −1 oo H op oo ho − hp .

(21a)

−H −1 oo H op

H pp −

−1 H po H −1 τ oo H op



  −1 −H −1 oo H op H po H oo ho − hp + ho . (21b)

Motion of the hoop-pendulum system under non-adaptive control

Error [m]

Displacement [m]

Fig. 3.

10

20

The input torque τ is constructed in two steps, following the backstepping technique. First, find a control law for the velocity input ω to the kinematic steering system (21a) such that lim (xr − x) = 0. The control law is specified as ω d . t→∞ Then, taking into account the robot dynamics (21b), construct an input torque τ such that lim (ω d −ω) = 0. Let us discuss t→∞ the construction in detail. 1) Step 1: In this step we examine the kinematics (21a) only. Define error between real and reference configuration of the sphere, including both its position and orientation, as e = xr − x = (e1 , e2 , e3 , e4 , e5 ). Assuming the angular velocity of the spherical shell can be perfectly realized, that is ω = ω d , the error dynamics can be described by e˙ = x˙ r − x˙ = x˙ r − Aω d .

(22)

We are to find a feasible input ω d such that the output e converges to 0. Note that the major difference between the velocity controller design process for the ball-pendulum and for the hooppendulum is (22) is an underactuated system such that A−1 does not exist and the FAT-based control algorithm is not directly applicable. To deal with this problem, by introducing an auxiliary input ω ∗ ∈ R5 such that ω d = (A> A)−1 A> ω ∗ = A+ ω ∗ ,

(23)

we reformulate (22) as e˙ = x˙ r − AA+ ω ∗ + ω ∗ − ω ∗ = x˙ r − ω ∗ + a, +

(24)



where a = (I − AA )ω . Note that a can be viewed as the time-varying uncertainty of system (24). Then the control problem is restated as constructing ω ∗ such that lim e = 0, t→∞ with the variation a unknown. Here we use a polynomial function weighted by constant parameters ai to approximate the unknown function a as a≈

N X

ai ti .

(25)

i=0

To eliminate the influence of a to the control process, the unknown parameters ai , referring to the plant parameters, are required to be identified. These plant parameters ai are estimated at each time t denoted by the adjustable control ˆ i (t) using an update law that we are to define parameters a from the following process. To construct a feedback velocity control ω ∗ that steers ˆ i (t), a feasible e to zero and an update law that defines a Lyapunov candidate function would be

2087

N

Vk =

>   1 X 1 > ˆ i (t) − ai ˆ i (t) − ai , e e+ a a 2 2 i=0

(26)

which incorporates both the state error e and the estimation ˆ i (t) − ai between the plant parameters ai and their error a ˆ i (t). Note that in (26), the parameters ai are estimates a constants, which implies a˙ i = 0. Therefore the derivative of the Lyapunov function candidate is   V˙ k = e> x˙ r − ω ∗ +

N h X

 i i ˙ i (t) . (27) ˆ i (t)> a et − a ˆ a ˆ˙ i (t) + a> i

i=0

As the constructed control law cannot contain unmeasurable elements, the unknown parameters ai in the derivative of Lyapunov function need to be excluded. To cancel the terms with ai , define the update law a ˆ˙ i (t) = eti ,

(28)

which leads to N   X ˆ i (t)ti − ω ∗ . V˙ k = e> x˙ r + a i=0

where −1 −1 H = H −1 , oo H op H pp − H po H oo H op    −1 h = ω˙ d + H −1 oo H op H po H oo ho − hp + ho , and d represents for the effects caused by the inaccuracy of the mathematical model and the external disturbance. Due to that (31b) is underactuated and H −1 does not exist, we follow the same restructuring process conducted in step 1. By introducing an auxiliary input τ ∗ ∈ R3 such that τ = (H > H)−1 H > τ ∗ = H + τ ∗ , we reformulate (31b) as e˙ ω = h + d + HH + τ ∗ + τ ∗ − τ ∗ = τ ∗ + h + δ, (34) where δ = (HH + − I)τ ∗ + d. Note that δ represents the total influence caused by the general uncertainties of system (34). Then the control problem is restated as constructing τ ∗ such that lim eω = 0, with δ unknown. Here we use a t→∞ polynomial function to estimate δ as

Constructing the auxiliary velocity input ∗

ω = x˙ r + Ke +

N X

N X

δ = (δx , δy , δz ) ≈ i

ˆ i (t)t , a

(35)

These constant plant parameters δ i are estimated at each time t denoted by adjustable δˆ i (t), referring to the control parameters, using an update law that we are to define from the following process. To incorporate both kinematics and dynamics, a feasible Lyapunov candidate function would be

where K is a positive definite matrix, yields V˙ k = −e> Ke ≤ 0, which implies the convergence of e. Hence the velocity input ω d can be calculated from (23) as

N

V =

(30)

It should be noted that in Step 1, we assume that the angular velocity of the sphere can be perfectly realized, namely ω = ω d . However, in the real implementation, as we cannot directly control the angular velocity of the spherical robot, there exists a deviation of ω from the desired angular velocity input ω d . In the next step we design input torque τ such that the real ω converges to ω d . 2) Step 2: construct torque τ such that lim (ω d −ω) = 0. t→∞ Define the deviation of actual angular velocity of the sphere ˙ from the desired as eω = ω d − ω, such that e˙ ω = ω˙ d − ω. Then the error state of the total system is expressed as xe = (e, eω ). Despite of the state error, however, note that there are errors between the mathematical model and the actual ball-pendulum system as well, which may cause deviations of the system performance from the desired under control inputs derived from the ideal model. This type of error refers to the model uncertainty. By involving the consideration of the model uncertainty, the error dynamics for the actual mechanical system are formulated as

>   1 X 1 > ˆ i (t) − ai ˆ i (t) − ai e e+ a a 2 2 i=0 N

>   1 X ˆ 1 δ i (t) − δ i δˆ i (t) − δ i , (36) + e> ω eω + 2 2 i=0

i=0

e˙ = x˙ r − Aω d + Aeω , e˙ ω ≡ f model + d = Hτ + h + d,

δ i ti .

i=0

(29)

i=0

N   X ˆ i (t)ti . a ω d = A+ x˙ r + Ke +

(33)

where the first line of (36) has the same structure the Lyapunov function candidate (26) selected for the kinematic steering system. As the plant parameters ai and δ i in (36) are constant such that a˙ i = 0 and δ˙ i = 0, the derivative of the Lyapunov function candidate is calculated as N    X > ˆ i (t) − ai a V˙ = e> x˙ r − Aω d + Aeω + a ˆ˙ i (t) i=0



∗ +e> ω τ +h+

N X i=0



δ i ti +

N  X

δˆ i (t) − δ i

>

ˆδ˙ i (t). (37)

i=0

Note the first line of (37) varies from V˙ k expressed by (27), that its contains a factor e> Aeω , which is a scalar function > such that e> Aeω = e> ω A e. Hence the derivative of the Lyapunov function candidate (37) can be rewritten as   > ∗ V˙ = V˙ k + e> ω A e+τ +h

(31a) (31b) 2088

+

N X i=0

˙ δˆ i (t)> ˆδ i (t) +

N X i=0

  ˙ i ˆ δ> e t − δ (t) . (38) ω i i

Adopting the velocity input ω d in the form of (30) constructed in Step 1, yields V˙ k = −e> Ke. Then, as the controller τ ∗ to be constructed cannot contain unmeasurable term, to eliminate unknown plant parameters ˙ δ i by bringing its coordinate eω ti − ˆδ i (t) to zero, define the update law ˆδ˙ i (t) = eω ti , (39)

mimicking the form of (1), where the reference angular velocity of the spherical robot ω r is specified as  πt  πt ω r = cos , − sin , 0 , 10 10 that realizes a circular motion. Note that ω r is different from ω d which is the velocity input to be designed. The vector that demonstrates the influence caused by the modeled system dynamics and the external disturbance, is assumed to be   d = 50 cos(3πt), 50 sin(2πt), 0 , (42)

which leads to

It should be noted that the error between the plant parameters and the control parameters δˆ i (t) − δ i are not necessarily asymptotically stable. However, according to (40) that the derivative of the Lyapunov function of the closed loop system is negative semi-definite, δˆ i (t) − δ i is bounded. C. Case study Note from (41) that the constructed adaptive controller varies from a conventional non-adaptive one that it contains an adaption mechanism τ a = −H

+

N X

δˆ i (t)t , i

0.5 0.4 0.3 0.2 0.1

5

10

15

20

15

20

15

20

Time [s] 3

2

1

5

10

Time [s] 1.0

0.5

5

10

-0.6

Velocity error [rad/s] Orientation error [rad] Position error [m]

i=0

-0.4

which implies the convergence of e and eω . The asymptotic stability of the closed-loop system can be proved similarly to the hoop-pendulum case. The actual input torque is calculated as N   X τ = −H + A> e + h + K ω eω + δˆ i (t)ti . (41)

-0.2

(40)

-0.5

i=0

-1.0

that deals with the un-modeled factors for the ball-pendulum system. To demonstrate the effectiveness of the adaption mechanism, in this section we conduct simulations for the perturbed hoop-pendulum system under the control law with and without τ a respectively. We present simulation results for the ball-pendulum system tracking circular motion. Let the reference trajectory for the displacement and orientation of the spherical robot be obtained by solving the following group of differential equations   0 R 0 −R 0 0    x˙ r = − sin ψ ∗ / cos vo∗ − cos ψ ∗ / cos vo∗ 0  ω r ,  − cos ψ ∗ sin ψ ∗ 0 − sin ψ ∗ tan vo∗ − cos ψ ∗ tan vo∗ −1

Fig. 5.

Time [s]

-0.5

˙ ω = −e> Ke − e> V˙ = e> e˙ + e> ωe ω K ω eω ≤ 0,

1.0

where K ω is a positive definite matrix, yields

0.5

i=0

0.2

N   X τ ∗ = − A> e + h + K ω eω + δˆ i (t)ti ,

0.4

Constructing the auxiliary input

Trace on the contact plane

i=0

Set the initial state error as the position error e1 (0) = 1.5m and e2 (0) = 1.5m, the orientation error e3 (0) = e4 (0) = e5 (0) = π6 rad and the velocity error e6 (0) = e7 (0) = e8 (0) = 0rad/s. The numerical values used in the simulation are m = 0.5kg, mp = 1kg, R = 0.2m, l = 0.15m, g = 9.8m/s2 and the gain matrices K = diag(35, 20, 0.1, 1, 0.8) and K ω = diag(6, 5, 1). The motion of the ball-pendulum system under nonadaptive and adaptive control laws are illustrated by Fig. 5 and Fig. 6. In the parametric plots, the blue dashed curve and the red curve represent for the actual and reference traces on the contact plane respectively. It can be seen from the following graphs that under the adaptive controller, even with un-modeled dynamics and external disturbance, the system output still converges to the desired. The order of the polynomial basis functions is chosen to be two since a higher order may lead to overfitting problems.

0.6

N   X > > > ∗ ˙ V = −e Ke + eω τ + h + A e + δˆ i (t)ti .

Motion of ball-pendulum system under non-adaptive control

V. C ONCLUSION A trajectory tracking problem for the ball-pendulum system, a spherical rolling robot driven by a 2DOF pendulum has been considered in this paper. An adaptive controller based on the backstepping technique was first constructed for the planar hoop-pendulum system with time-varying uncertainties and then extended to the three dimensional ballpendulum system. The convergence of system motion to the desired trajectories was proved and verified by simulations for tracking circular motions under perturbation.

2089

Velocity error [rad/s] Orientation error [rad] Position error [m]

0.5 0.4 0.3

1.0

0.2

15

20

2.0 1.5 1.0 0.5

5

10

Time [s]

0.6

1.0

0.5

5

10

-0.6

20

2.5

-0.4

15

3.0

-0.2

20

0.5

15

0.2

10

Time [s]

0.4

5

Trace on the contact plane

0.1

-0.5

-0.5

-1.0

Time [s]

Fig. 6.

Motion of ball-pendulum system under adaptive control

In this paper, the ball-pendulum system, of which both the kinematics and dynamics are underactuated, played an important role as the testbed for our modified FAT-based adaptive control algorithm. In the controller design process, there are two noteworthy points. First, we restructured the kinematics and dynamics of the rolling robot respectively, as the combination of a fully-actuated system and the variation from it. The variation part was then included into the general uncertainty term that represents for the total influence to the control process caused by mismeasured system parameters, un-modeled dynamics and external perturbation. Second, by parameterizing the general uncertainty term with selected basis functions weighted by unknown parameters, we simplified an adaptation problem for system with time-varying uncertainties to a parameter identification problem. Note that the selection of basis functions depends on the types of mechanical systems and system uncertainties. To widen the range of application of our modified FAT-based algorithm on a class of underactuated systems, in the future study we plan to analyze the advantages and disadvantages of polynomial basis functions which we chose in this paper, and other possible candidates. It may give rise to an interesting topic of how to select or design basis functions based on the consideration of the accuracy of their parametrization of the uncertainty term and the computational cost. On the practical side, we plan to conduct the experimental verification of the developed controller. R EFERENCES [1] T. Das, R. Mukherjee, and H. Yuksel, “Design considerations in the development of a spherical mobile robot,” in Proc. 15th SPIE Annual International Symposium on Aerospace/Defense Sensing, Simulation, and Controls, vol. 4364, Orlando, Florida, April 2001, pp. 61–71. [2] A. Javadi and P. Mojabi, “Introducing glory: A novel strategy for an omnidirectional spherical rolling robot,” ASME Journal of Dynamic Systems, Measurement, and Control, vol. 126, no. 3, pp. 678–683, September 2004. [3] M. Ishikawa, Y. Kobayashi, R. Kitayoshi, and T. Sugie, “The surface walker: a hemispherical mobile robot with rolling contact constraints,” in Proc. IEEE/RSJ Int. Conference on Intelligent Robots and Systems, St. Louis, USA, October 10–15 2009, pp. 2446–2451.

[4] J. Shen, D. Schneider, and A. Bloch, “Controllability and motion planning of a multibody chaplygin’s sphere and chaplygin’s top,” Int. Journal of Robust and Nonlinear Control, vol. 18, no. 9, pp. 905–945, 2008. [5] S. Bhattacharya and S. Agrawal, “Spherical rolling robot: A design and motion planning studies,” IEEE Transactions on Robotics and Automation, vol. 16, no. 6, pp. 835–839, December 2000. [6] V. Joshi and R. Banavar, “Motion analysis of a spherical mobile robot,” Robotica, vol. 27, no. 3, pp. 343–353, May 2009. [7] V. Joshi, R. Banavar, and R. Hippalgaonkar, “Design and analysis of a spherical mobile robot,” Mechanism and Machine Theory, vol. 45, no. 2, pp. 130–136, February 2010. [8] T. Fukui, A. Morinaga, M. Svinin, and M. Yamamoto, “Motion experiments with a spherical rolling robot actuated by internal rotors,” in Proc. Annual RSJ/JSME Conference ROBOMECH’13, no. 2A2– P09, Tsukuba, Japan, May 23–24 2013, (In Japanese). [9] T. Urakubo, M. Monno, S. Maekawa, and H. Tamaki, “Dynamic modeling and controller design for a spherical rolling robot equipped with a gyro,” IEEE Transactions on Control Systems Technology, vol. 24, no. 5, pp. 1669–1679, September 2016. [10] K. Wait, P. Jackson, and L. Smoot, “Self locomotion of a spherical rolling robot using a novel deformable pneumatic method,” in Proc. IEEE Int. Conference on Robotics and Automation, Anchorage, Alaska, USA, May 3–7 2010, pp. 3757–3762. [11] R. Chase and A. Pandya, “A review of active mechanical driving principles of spherical robots,” Robotics, vol. 1, no. 1, pp. 3–23, 2012. [12] A. Meghdari, M. Rajaei, A. Tadayon, and Y. Radparvar, “Geometric and control of a spherical mobile robot,” in Proc. of the 2nd WSEAS Int. Conference on Applied and Theoretical Mechanics, Venice, Italy, November 20–22 2006, pp. 91–96. [13] E. Kayacan, E. Kayacan, H. Ramon, and W. Saeys, “Adaptive neurofuzzy control of a spherical rolling robot using sliding-mode-controltheory-based online learning algorithm,” IEEE Transactions on Cybernetics, vol. 43, no. 1, pp. 170–179, February 2013. [14] D. V. Balandin, M. A. Komarov, and G. V. Osipov, “A motion control for a spherical robot with pendulum drive,” Journal of Computer and Systems Sciences International, vol. 52, no. 4, pp. 650–663, 2013. [15] T. B. Ivanova and E. N. Pivovarova, “Dynamics and control of a spherical robot with an axisymmetric pendulum actuator,” Nonlinear Dynamics & Mobile Robotics, vol. 1, no. 1, pp. 71–85, 2013. [16] Y. Bai, M. Svinin, and M. Yamamoto, “Backstepping trajectory tracking control for a spherical rolling robot,” in Proc. IEEE Int. Conference on Intelligent Robots and Systems, Daejeon, Korean, Octobor 9–14 2016, pp. 298–303. [17] A. Huang, Y. Chen, and C. Kai, Adaptive Control of Underactuated Mechanical Systems. Singapore: World Scientific, 2015. [18] F. Tyan and S. Lee, “An adaptive control for rotating stall and surge of jet engines - a function approximation approach,” in Proc. 44th IEEE Conference on Decision and Control, and the European Control Conference 2005, Seville, Spain, December 12–15 2005, pp. 5498– 5503. [19] M. Chien and A. Huang, “Adaptive control for flexible-joint electrically driven robot with time-varying uncertainties,” IEEE Transactions on Industrial Electronics, vol. 54, no. 2, pp. 1032–1038, April 2007. [20] Y. Tsai and A. Huang, “Fat-based adaptive control for pneumatic servo systems with mismatched uncertainties,” Mechanical Systems & Signal Processing, vol. 22, pp. 1263–1273, 2008. [21] Y. Liang, S. Cong, and W. Shang, “Function approximation-based sliding mode adaptive control,” Nonlinear Dynamics, vol. 54, pp. 223– 230, November 2008. [22] N. Azlan and H. Yamaura, “Fat based adaptive impedance control for unknown environment position,” International Journal of Mechanical, Aerospace, Industrial, Mechatronic and Manufacturing Engineering, vol. 6, no. 8, pp. 1538–1543, August 2012. [23] H. Al-shuka, B. Corves, and W. Zhu, “Function approximation technique-based adaptive virtual decomposition control for a serialchain manipulator,” Robotica, vol. 32, pp. 375–399, May 2014. [24] Y. Bai, M. Svinin, and M. Yamamoto, “Motion planning for a hoop-pendulum type of underactuated systems,” in Proc. IEEE Int. Conference on Robotics and Automation, Stockholm, Sweden, May 16–21 2016, pp. 2739–2744. [25] D. J. Montana, “The kinematics of contact and grasp,” The International Journal of Robotics Research, vol. 7, no. 3, pp. 17–32, 1988. [26] R. Murray, Z. Li, and S. Sastry, A Mathematical Introduction to Robotic Manipulation. Boca Raton: CRC Press, 1994. [27] J. Slotine and W. Li, Applied Nonlinear Control. Englewood Cliffs, New Jersey: Prentice Hall International Inc., 1991.

2090