0 views

Original Title: morinaga2014_2

Uploaded by Amino file

- Team Description Paper
- Mass Moment of Inertia of Flywheel
- Physics
- Ch_IV_Tho
- Dstar
- Comments on `the phenomenon
- Process Control - CHAU
- Ge6253 Emlesson Plan
- Design of Multi-objective Robust HVDC Supplementary Controller Based on Global Signal
- BNJ30703_01
- A Collision Checker for Car-like Robots Coordination
- Comparison of Optimal Solutions to Real-Time Path Planning for a Mobile Vehicle
- Second International Conference on Control, Modeling and Computing (CMC 2016)
- Material Strength
- Obstacle Detection and Collision Avoidance System
- AP Physics B - Kinematics
- Stability
- A Design Methodology for Distributed Control Systems to Optimize
- Obe Nes118
- Stiffness Analysis and Kinematic Modeling

You are on page 1of 10

[21] H. K. Shin and B. K. Kim, “Energy-efficient reference gait generation dynamic formulation. In addition, the problem features a singularity when

utilizing variable ZMP and vertical hip motion based on inverted pendulum the contact trajectory goes along the equatorial line in the plane of the two

model for biped robots,” in Proc. IEEE Int. Conf. Control Auton. Syst. rotors. A motion planning strategy composed of two trivial and one non-

(ICCAS), Oct. 27–30, 2010, pp. 1408–1413. trivial maneuver is devised. The trivial maneuvers implement motion along

[22] F. M. Silva and J. A. T. Machado, “Energy analysis during biped walking,” the geodesic line perpendicular to the singularity line. The construction of

in Proc. IEEE Int. Conf. Robot. Auton. (ICRA), Detroit, MI, USA, May the nontrivial maneuver employs the nilpotent approximation of the orig-

1999, vol. 1, pp. 59–64. inally nonnilpotent robot dynamics, and is based on an iterative steering

[23] D. Goswami, V. Prahlad, and P. D. Kien, “Genetic algorithm-based opti- algorithm. At each iteration, the control inputs are constructed with the

mal bipedal walking gait synthesis considering tradeoff between stability use of geometric phases. The motion planning strategy thus constructed is

margin and speed,” Robotica, vol. 27, pp. 355–365, 2009. verified under simulation.

[24] V. H. Dau, C. Chew, and A. Poo, “Achieving energy-efficient biped walk-

ing trajectory through GA-based optimization of key parameters,” Int. J. Index Terms—Dynamics, motion planning, nonholonomic systems,

Human. Robot., vol. 6, no. 4, pp. 609–629, 2009. rolling constraints, spherical rolling robot.

[25] Z. Liu, L. Wang, C. L. Philip Chen, X. Zeng, Y. Zhang, and Y. Wang,

“Energy-efficiency-based gait control system architecture and algorithm

for biped robots,” IEEE. Trans. Sys. Man. Cybernet. Part C: Appl. Rev.,

vol. 42, no. 6, pp. 926–933, Nov. 2012. I. INTRODUCTION

[26] L. C. Jain and N. M Marti, Fusion of Neural Networks, Fuzzy Systems

and Genetic Algorithms: Industrial Applications. Boca Raton, FL: CRC, In recent years, there has been growing research interest in spherical

2011. rolling robots. They are regarded as nonconventional single-wheeled

[27] R. Sellaouti, O. Stasse, S. Kajita, K. Yokoi, and A. Kheddar, “Faster and locomotion machines that can be helpful when the usage of traditional

smoother walking of humanoid HRP-2 with passive toe joints,” in Proc.

vehicles is limited or undesirable. The motion of such machines is usu-

IEEE/RSJ Int. Conf. Intell. Robots Syst. (IROS), Beijing, China, Oct. 9–15,

2006, pp. 4909–4914. ally generated by creating gravity imbalance with a spherical pendulum

[28] T. Ha and C. H. Choi, “An effective trajectory generation method for or sliders, or by changing the system inertia with the use of internal ro-

bipedal walking,” Robot. Auton. Syst., vol. 55, no. 10, pp. 795–81, 2007. tors. Different designs of spherical mobile robotic systems are reported

[29] A. Goswami, “Postural stability of biped robots and the foot-rotation in [1]–[7]. In this paper, we consider a rolling robot actuated by internal

indicator (FRI) point,” Int. J. Robot. Res., vol. 18, pp. 523–533, 1999.

[30] M. Nahon and J. Angeles, “Minimization of power losses in cooperating rotors. Under proper placement of the rotors, the center of mass of the

manipulator,” J. Dyn. Syst. Meas. Control (Trans. ASME), vol. 114, no. 2, robot is at the geometric center of the sphere and, as a result, gravity

pp. 213–219, 1992. terms do not enter the motion equations [2], [8].

[31] S. K. M. Morisawa, K. Miura, S. Nakaoka, K. Harada, K. Kaneko, One of the key problems in the control of spherical rolling robots

F. Kanohiro, and K. Yokoi, “Biped walking stabilization based on linear

is the construction of motion planning algorithms. In the majority of

inverted pendulum tracking,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots

Syst., Taipei, Taiwan, Oct. 18–22, 2010, pp. 4489–4493. papers in the robotics literature, this problem is considered for the

[32] I. Ha, Y. Tamura, and H. Asama, “Gait pattern generation and stabilization so-called ball–plate system where the sphere is actuated by moving

for humanoid robot based on coupled oscillators,” in Proc. IEEE/RSJ Int. two parallel plates. Under such an actuation, provided that the ball is

Conf. Intell. Robots Syst. (IROS), San Francisco, CA, USA, Sep. 25–30, dynamically symmetric with respect to the plane axes, the spinning of

2011, pp. 3207–3212.

the ball around the vertical axis is canceled out and the ball moves in

the so-called pure rolling mode. As a result, motion planning for such

a system can be conducted in kinematic formulation, and a number of

motion planning algorithms have been developed so far [9]–[14]. In

A Motion Planning Strategy for a Spherical Rolling Robot general, however, the existence of the pure rolling mode in a rolling

Driven by Two Internal Rotors system depends on the inertia distribution as well as on how the system

is actuated.

Akihiro Morinaga, Student Member, IEEE, Addressing the rolling robots actuated by internal rotors, it should

Mikhail Svinin, Member, IEEE, be noted that when the number of actuators is more than two, the

and Motoji Yamamoto, Member, IEEE motion planning problem can be decomposed into the kinematic and

dynamic levels and, in principle, its solution does not represent essential

difficulties. However, for the minimal number of two actuators, such

Abstract—This paper deals with a motion planning problem for a spher- a decomposition is impossible because there appears a constraint on

ical rolling robot actuated by two internal rotors that are placed on orthog-

onal axes. The key feature of the problem is that it can be stated only in the component of the angular velocity of the sphere and this constraint

depends on the inertia distribution [15]. For this reason, the assigned

trajectories for the angular velocity, including those corresponding to

Manuscript received June 2, 2013; revised December 8, 2013; accepted Febru- pure rolling, are not necessarily dynamically feasible and realizable by

ary 14, 2014. Date of publication March 12, 2014; date of current version August

4, 2014. This paper was recommended for publication by Associate Editor M. the robot actuators [15]. As a result, the motion planning problem must

Vendittelli and Editor G. Oriolo upon evaluation of the reviewers’ comments. be considered only in dynamic formulation.

The authors are with the Department of Mechanical Engineering, Faculty of Since the mathematical model of the rolling robot with two rotors

Engineering, Kyushu University, Fukuoka 819-0395, Japan (e-mail: morinaga@ inherits the basic properties of that for the ball–plate system (not dif-

ctrl.mech.kyushu-u.ac.jp; svinin@mech.kyushu-u.ac.jp; yama@mech.kyushu-

ferentially flat, not nilpotent, cannot be represented in a chained form),

u.ac.jp).

This paper has supplementary downloadable material, available at it belongs to a special class of nonholonomic systems, the class for

http://ieeexplore.ieee.org, provided by the authors. It has two files showing which conventional planning techniques are not directly applicable. It

motion of the spherical rolling robot in the simulation example in Section III. is worthwhile, therefore, to look at the two main motion planning ap-

The file animation_k 2.5.mp4 corresponds to the set of parameters k = 2.5 and proaches developed for the kinematic model of pure rolling. The first is

η = 0.6. The file animation_k2.5.mp4 corresponds to the set of parameters k =

10 and η = 0.5. Its size is 20.6 Mb. based on the optimal control theory [10], while the second deals with

Color versions of one or more of the figures in this paper are available online geometric phases [9], [16].

at http://ieeexplore.ieee.org. Numerical implementation of the optimal control approach, apart

Digital Object Identifier 10.1109/TRO.2014.2307112 from the long computation time, can be sensitive to initial guess of the

1552-3098 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.

See http://www.ieee.org/publications standards/publications/rights/index.html for more information.

994 IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014

optimal controls. Even in the case of pure rolling, the structure of the

optimal control exhibits several qualitatively different types of solutions

corresponding to Euler’s elastica [10]. One may expect that the solution

structure becomes more complex if rolling is not restricted to no-

spinning but constrained dynamically [15]. This makes a systematic

construction of the initial guess for the optimal control very difficult.

The geometric phase approach is based on tracing a closed path

on the sphere, which produces a nonclosed path in the contact plane.

For the kinematic model with pure rolling constraint, tracing geodesic

lines on the sphere results in geodesic lines in the contact plane and

vice versa, and many algorithms exploit this property explicitly [9],

[12], [13] or implicitly as a part of a more general procedure [14].

However, if the rolling is constrained dynamically, this property—

geodesic-to-geodesic mapping—does not, in general, hold true [15].

For this reason, the aforementioned algorithms cannot be used without Fig. 1. Rolling system with orthogonal placement of rotors.

essential modifications because the trajectories they produce are not,

in general, dynamically realizable.

To the best of our knowledge, not many results have been reported

so far on the development of motion planning algorithms for the actu-

ation by two rotors. In [2], the motion planning problem was posed in

the optimal control settings using an approximation by the Phillip Hall

basis [16]. However, since the robot dynamics are not nilpotent, this is

not an exact representation of the system and it can result to inaccu-

racies. An exact motion planning algorithm was described in [8], but

the trajectories generated by that algorithm are not always dynamically

realizable [15].

This paper continues our study undertaken in [15], where we devel-

oped a mathematical model of a rolling robot actuated by internal rotors

and analyzed the model’s properties. Here, we solve the motion plan-

ning problem in dynamic formulation by using the iterative steering

approach to control of general (not necessarily nilpotentizable or dif-

ferentially flat) driftless nonholonomic systems, which was formulated

and tested in [17]. The approach employs a nilpotent approximation of

the dynamic model for the synthesis of the control actions. Contrary

to the conventional tangent linearization, the nilpotent approximation

retains the controllability property of the original nonholonomic sys- Fig. 2. Basic frames and contact coordinates.

tem [18], [19]. For the construction of the control inputs, we resort to

the geometric phase approach. At each iteration step, it results, finite two contact frames, one on the object Σc o and one on the plane Σc b .

algebraic expressions for the change of the state variables of the approx- The contact coordinates are given by the angles ϑ and ϕ, describing the

imate nilpotent system, which essentially simplifies the computation contact point on the sphere, by the displacements x and y, describing

of the control inputs. the contact point on the plane, and by the contact angle ψ, which is

The paper is organized as follows. In Section II, a short summary of defined as the angle between the x-axis of Σc o and Σc b (the z-axes of

the mathematical model established in [15] is given. In Section III, a these frames are aligned, as depicted in Fig. 2). It is assumed that the

motion planning strategy, consisting of trivial and nontrivial maneuvers, frame Σc b is parallel to Σb , and in the zero configuration the axes of

is proposed. For the nontrivial maneuver, the nilpotent approximation Σo are parallel to those of Σb .

of the system dynamics is first constructed, and then an iterative steering The position of the contact point on the sphere is parameterized

algorithm is fabricated and verified under a simulation study. Finally, as c(ϑ, ϕ) = [−R sin ϑ cos ϕ, R sin ϕ, −R cos ϑ cos ϕ]T , where R is

conclusions are drawn in Section IV. the radius of the sphere. In this parameterization, the origin is placed

at the south pole of the sphere. In terms of the contact coordinates, the

orientation matrix of the sphere (the orientation of Σo relative to Σb )

II. MATHEMATICAL MODEL

is defined as R(ψ, ϕ, ϑ) = RTz (ψ)RTx (ϕ)RTy (ϑ) = [n1 | n2 | n3 ] ,

Consider a rolling robot composed of a spherical shell (carrier) where Rx (ϕ), Ry (ϑ), and Rz (ψ) are the matrices of elementary ro-

actuated by internal rotors. It is assumed that the rotors have the same tations, and the columns of the orientation matrix are defined as

mass distribution and the center of mass of the system is located at

⎡ ⎤

the geometric center. The rotors are mounted symmetrically along cos ϑ cos ψ + sin ϑ sin ϕ sin ψ

orthogonal axes, as shown in Fig. 1. On each axis, the two diametrically ⎢ ⎥

n1 = ⎣ − cos ϑ sin ψ + sin ϑ sin ϕ cos ψ ⎦ (1)

opposite rotors are actuated in tandem. This scheme, with actuation

along two orthogonal axes, was first proposed in [2] and later on studied cos ϑ cos ϕ

in [8], [15]. ⎡ ⎤

cos ϕ sin ψ

Define the following coordinate frames (see Fig. 2): Σb is a base ⎢ ⎥

(inertial) frame fixed in the contact plane and Σo is a frame fixed at n2 = ⎣ cos ϕ cos ψ ⎦ (2)

the geometric center of the spherical object. In addition, we introduce − sin ϕ

IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014 995

⎡ ⎤

− sin ϑ cos ψ + cos ϑ sin ϕ sin ψ III. MOTION PLANNING

⎢ ⎥

n3 = ⎣ sin ϑ sin ψ + cos ϑ sin ϕ cos ψ ⎦ . (3) The motion planning problem we address in this paper consists of

finding a trajectory x(t), t ∈ [0, T ], given the start state x(0) = xs and

cos ϑ cos ϕ

the final state x(T ) = xf . It should be noted that for the robot under

T

Let ω = {ωx , ωy , ωz } be the angular velocity of the frame Σo , consideration, this problem cannot be solved exclusively at the level

defined in projections onto the axes of Σb . The evolution of the contact of kinematics1 , by dealing only with the system (4) and finding the

coordinates can be established from the Montana equations [16] and appropriate vector of the angular velocity ω(t). The reason is that the

represented as components of the vector ω are dynamically (or, better said, inertially)

ẋ = A(x) ω (4) constrained by the condition n3 · J ω = 0, which follows from (6).

where the state vector x = {ϑ, ϕ, ψ, x, y}T , and The physical meaning of this condition is that the angular momentum

⎡ ⎤ of the rolling carrier must lie in in the plane through the axes of the

− sin ψ/ cos ϕ − cos ψ/ cos ϕ 0

actuated rotors.

⎢ ⎥

⎢ − cos ψ sin ψ 0 ⎥ By checking the Lie algebra rank condition, one can find [15] that the

⎢ ⎥

⎢ ⎥ distribution formed by the vector fields h1 , h2 , h3 = [h1 , h2 ], h4 =

A = ⎢ − sin ψ tan ϕ − cos ψ tan ϕ −1 ⎥ . (5)

⎢ ⎥ [h1 , h3 ], h5 = [h2 , h3 ], where [·, ·] stands for the Lie brackets of two

⎢ ⎥

⎣ 0 R 0 ⎦ vector fields, has full rank unless ϑ = ±π/2, i.e., the contact point lies

−R 0 0 on the great circle in the equatorial plane of the rotors axes (red line in

Fig. 1). However, the distribution formed by h1 , h2 , h3 , h4 , h6 , where

Note that the no-spinning constraint ωz = 0, featuring the pure rolling

h6 = [h1 , h4 ], has full rank at ϑ = ±π/2 and, therefore, the system

mode, is not imposed here.

(7) is controllable.

The dynamic equations for the system under consideration are de-

The existence of the singular line contrasts the robot under consider-

veloped in [15]. Under the assumption that the motion does not start

ation to the ball–plate system. Mathematically, when the contact point

impulsively, the dynamic model admits the following integral

gets into the singular line the degree of nonholonomy of the system

2

(7) changes from three to four. Note that when ϑ = ±π/2, the vec-

J ω + Jr q̇i ni = 0 (6) tor ω is always on the line through the vector n3 and the condition

i= 1

of dynamic realizability, n3 · J ω = 0, is not satisfied. The physical

reflecting the conservation of the total angular momentum of the system meaning of this singularity line, defined by ϑ = ±π/2, is evident—it is

about the contact point, which can be interpreted as the driving principle impossible to generate the rolling motion of the robot along this line

of the robot under consideration. Here, qi is the angle of rotation around when the rotors axes are placed in the equatorial plane.

the axis ni , Jr is the inertia moment of the single rotor around its axis While the system (7) is controllable, it can be shown that it is not

of rotation, and J = diag{Jx x , Jx x , Jz z } is the inertia tensor of the nilpotent, not differentially flat, and cannot be represented in chained

composite system (rolling carrier and the rotors) with respect to the form. The lack of special structure places it into the general class

contact point. Jx x = Jz z + M R2 , Jz z = 23 mo R2 + 2Jp + Jr , where of driftless nonholonomic systems and stipulates the use of general

M is the total mass of the system, mo is the mass of the spherical shell, steering techniques. To facilitate motion planning, one can devise a

and Jp is the inertia moment of the rotor about the plane orthogonal to motion strategy composed of maneuvers for which the construction

the axis of rotation. of movements is relatively easier than that conducted in the general

By combining (4) and (6), one obtains the following five states–two formulation.

inputs driftless affine control system In this paper, we fabricate a motion planning strategy consisting

ẋ = H (x)q̇ = h1 (x)q̇1 + h2 (x)q̇2 (7) of two trivial and one nontrivial maneuver, as depicted in Fig. 3. The

trivial maneuvers are executed right before and right after the nontrivial

where the rates of the rotors angles are considered as the control inputs, one. In the first trivial maneuver, the contact coordinates ϑ and ϕ are

and the columns of the matrix H = −Jr AJ −1 [n1 | n2 ] are defined nullified, while in the second one, they are brought from zeros to desired

as values. Thus, in the nontrivial maneuver, the motion planning problem

⎡ sin ϑ tan ϕ ⎤

⎡ ⎤ is solved under the assumption that at the start and end configurations,

⎢ ⎥ 1 the initial and final values of ϑ and ϕ are zero. The change of the

⎢ ⎥ ⎢ ⎥

⎢ cos ϑ ⎥ ⎢ 0 ⎥ contact coordinates x, y, and ψ corresponding to the trivial maneuvers

⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥ can be computed in advance, and the corresponding initial and desired

⎢ 2 2 ⎥

h1 = c⎢ sin ϑ sin ϕ+k cos ϕ ⎥ , h 2 = c⎢

⎢

(1−k) sin ϕ ⎥. (8)

⎥ values for the nontrivial maneuver can be easily established.

⎢ cos ϕ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ −Rn2 y ⎥ On the whole, this general reconfiguration strategy is comparable

⎢ ⎥ ⎣ ⎦

⎢ ⎥ with those considered in [9], [11]–[13] for the kinematic ball–plate

⎣ −Rn1 y ⎦ Rn2 x

system. Apart from the structural simplicity, the reason the strategy is

Rn1 x divided into trivial and nontrivial maneuvers has also to do with the

Here, n1 x , n1 y , n2 x , n2 y are the corresponding components of the vec- singularity line ϑ = ±π/2. This line is passed only during the trivial

tors n1 and n2 , and the dimensionless constants k = Jx x /Jz z and maneuvers where the singularity does not create any computational

c = Jr /Jx x , defined through the components of the inertia tensor J , problems. Thus, during the nontrivial maneuver, the contact point on

can be represented as the sphere does not leave either lower or upper hemisphere. The details

M R2 of the trivial maneuver are described in the Appendix, and from now

k =1+ 2 (9) on, we concentrate on the nontrivial maneuver.

3

mo R2 + 2Jp + Jr

and 1 This can be done only for some restricted formulations of the motion plan-

Jr k − 1 ning problem, for example, when the evolution of the angular state variables is

c= . (10)

M R2 k not important.

996 IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014

A computational algorithm, solving the motion planning problem Having defined the local coordinates y, one then transforms them to

for the nontrivial maneuver, can be constructed with the use of the privileged coordinates z. In the component form, the transformation is

nilpotent approximation2 of the nonnilpotent system dynamics. The represented as

idea was first proposed in [20] and later developed in [17], [21]. Since w j −1

the control problem for the nilpotent system can be solved exactly, the zj = yj − hk (y1 , · · · , yj −1 ) (15)

control inputs found for the nilpotent system can be used for iterative k=2

steering of the original nonnilpotent system (7). In the remainder of this

where

paper, we compute the nilpotent approximation, construct an iterative

steering algorithm, and verify it under simulation. hk (y1 , . . . , yj −1 )

j −1 α i

α j −1

k −1 , yi

A. Nilpotent Approximation = g α1 1 · · · g j −1 yj + hq (xo )

αi !

Before approximating the original system (7), it is reasonable to |α |= k , w (α )< w j q=2 i= 1

convert it to strictly triangular form. This can be done with the use of (16)

the following input transformation n j −1

! ! ! w(α) = i = 1 wi αi , |α| = i = 1 αi , and the expression in the paren-

q̇1

=

1 0 sec ϑ u1

(11) theses is the Lie derivative of order ji =−11 αi along the vector fields

q̇2 c 1 − tan ϑ tan ϕ u2 g 1 , g 2 , . . . , g j −1 evaluated at the point x0 .

Having constructed the transformation (15), one expresses the sys-

where u1 and u2 are the new control inputs. This results in the following

tem (12) in the privileged coordinates and expands it in Taylor series

representation

at the origin. Finally, the nilpotent approximation of system (12) is ob-

ẋ = G(x)u = g 1 (x)u1 + g 2 (x)u2 (12) tained by collecting in the Taylor series the terms of weighted degree

−1. The approximate system

where the columns of the matrix G are defined as

⎡ ⎤ ⎡ ⎤ ż = G̃(z)u = g̃ 1 (z)u1 + g̃ 2 (z)u2 (17)

1 0

⎢ ⎥ ⎢ ⎥ is nilpotent, controllable, composed of polynomial functions, and has

⎢ 0 ⎥ ⎢ 1 ⎥ the same degree of nonholonomy and the same growth vector as the

⎢ ⎥ ⎢ ⎥

⎢ ⎥ ⎢ ⎥ original system [17], [22].

g 1 = ⎢ (1 − k) sin ϕ ⎥, g 2 = ⎢ k sec ϕ tan ϑ ⎥. (13)

⎢ ⎥ ⎢ ⎥ In our implementation of the nontrivial maneuver, we need to con-

⎢ ⎥ ⎢ ⎥

⎣ −R cos ϕ cos ψ ⎦ ⎣ R sin ψ ⎦ struct the nilpotent approximation only at the south pole of the sphere

R cos ϕ sin ψ R cos ψ where ϑ0 = ϕ0 = 0. When the point the approximation is constructed

at is set as x0 = [0, 0, ψ0 , x0 , y0 ] the calculations are simplified con-

The nilpotent approximation of the system (12) in the neighborhood siderably. In particular, the matrix Γ takes the following form

of some point x0 is obtained as follows [17], [22]. First, one transforms

the original coordinates x to local coordinates y at the point x0 as Γ = [ g 1 (x0 ), g 2 (x0 ), g 3 (x0 ), g 4 (x0 ), g 5 (x0 ) ]−1

follows: ⎡ ⎤

1 0 0 0 0

y = Γ(x − x0 ) (14) ⎢ ⎥

⎢ 0 1 0 0 0 ⎥

where Γ is the inverse of a matrix with columns g 1 , g 2 , g 3 = ⎢ ⎥

⎢ ⎥

[g 1 , g 2 ], g 4 = [g 1 , g 3 ], g 5 = [g 2 , g 3 ]. Let Ls (x0 ) be the vector space =⎢ 0 0 γ3 3 0 0 ⎥ (18)

⎢ ⎥

generated at x0 by the Lie brackets of g 1 and g 2 of length ≤ s, s = ⎢ ⎥

⎣ 0 γ4 2 0 γ4 4 γ4 5 ⎦

1, 2, . . . and ns (x0 ) = dimLs (x0 ), s = 1, . . . , r, where r is smallest

integer such that dimLr (x0 ) = 5. The weight wi of the coordinates xi γ5 1 0 0 γ5 4 γ5 5

is defined by setting wj = s if ns −1 < j ≤ ns , with ns = ns (x0 ) and where the nonzero elements of Γ are obtained as

n0 = 0. Note that r defines the degree of nonholonomy, and the vec- 1 1

tor (n1 (x0 ), . . . , nr (x0 )) is the growth vector of the nonholonomic γ3 3 = , γ4 2 = γ5 1 = (19)

2k − 1 3k − 1

system (12).

sin ψ0 cos ψ0

γ4 4 = −γ5 5 = , γ4 5 = γ5 4 = .

2 The conventional tangent linearization cannot be used for our purpose be-

R(1 − 3k) R(1 − 3k)

cause it does not retain the controllability property. (20)

IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014 997

In addition, when ϑ0 = ϕ0 = 0 the second term of (15) vanishes and (15) the image of the subgoal in the privileged coordinates, z di ,

the privileged coordinates zi coincides with yi . Therefore, the trans- and construct a controller that steers the approximate nilpo-

formation from the original to the privileged coordinates is obtained tent system (17) from the origin to z di in the time interval

as t ∈ [ti , ti + 1 ]. This control problem can be solved exactly, and

the control law found for the nilpotent system is then applied to

z1 = ϑ (21) the original system (12).

z2 = ϕ (22) 3) If the state x(ti + 1 ) the system is brought to by the control action

is far from xf , set i = i + 1 and xi = x(ti + 1 ) and repeat the

z3 = γ3 3 ψ (23) iterative process.

z4 = γ4 2 ϕ + γ4 4 x + γ4 5 y (24) The particular structure of the control law to steer a nilpotent sys-

tem can be constructed in a variety of ways [20], [23]–[25]. In this

z5 = γ5 1 ϑ + γ5 4 x + γ5 5 y. (25) paper, we build it in the spirit of the geometric phase approach [9],

[12] because it results to simple calculations and has a clear geometric

The original system (12), (13), expressed in the privileged coordinates interpretation. Compared with steering the robot under consideration

with the use of (21), (25), becomes by sinusoids at integrally related frequencies [26], it results in well-

structured trajectories and requires less iterations to reach the goal

z˙1 = u1 (26)

state. As in [17], the nontrivial maneuver in our construction is divided

z˙2 = u2 (27) into two parts corresponding to attaining, respectively, the desired ori-

entation and translation. More specifically, reconfiguring the initial

z˙3 = {(1 − k)γ3 3 sin z2 } u1 + {k γ3 3 tan z1 sec z2 } u2 (28) state xs = [0, 0, ψs , xs , ys ] to the final one xf = [0, 0, ψf , xf , yf ] is

" %

z3 z3 described as follows.

z˙4 = R cos z2 γ4 5 sin − γ4 4 cos u1 First Part: In the first part, we steer ϑ, ϕ, and ψ to the desired values

γ3 3 γ3 3

" % 0, 0, and ψf regardless of the values of x and y. The computational

z3 z3 procedure can be summarized as follows.

+ γ4 2 + R γ4 4 sin + γ4 5 cos u2 (29)

γ3 3 γ3 3

1) Set i = 0, ti = 0, xi = [ϑi , ϕi , ψi , xi , yi ] = [0, 0, ψs , xs , ys ].

" %

z3 z3 2) Set ti + 1 = ti + ΔT , define the subgoal ψid = ψi + η(ψf −

z˙5 = γ5 1 − R cos z2 γ5 4 cos − γ5 5 sin u1 ψi ), where η ∈ [0, 1], and compute by (23) its image in the

γ3 3 γ3 3

" % privileged coordinates

z3 z3

+ R γ5 4 sin + γ5 5 cos u2 . (30)

γ3 3 γ3 3 Ψdi = η(ψf − ψi )/(2k − 1) (32)

By expanding this system in Taylor series at the origin and retaining where k > 1 is the inertia ratio given by (9). Let ω = 2π/ΔT .

the terms of weighted degree −1, one obtains the representation (17) Define the control law by

with the vector fields g̃ 1 and g̃ 2 defined as

⎡ ⎤ u1 (t) = ri cos σi ωt (33)

1 ⎡ ⎤

0 u2 (t) = ri sin σi ωt (34)

⎢ ⎥ ⎢ ⎥

⎢ 0 ⎥ ⎢ ⎥

⎢ ⎥ ⎢

1

⎥

⎢ ⎥ ⎢ ⎥ where t ∈ [ti , ti + 1 ] and σi = sign(ψf − ψi ). Geometrically, in

⎢ γ3 3 (1 − k)z2 ⎥ ⎢ γ3 3 kz1 ⎥

⎢ ⎥ the space of the contact coordinates ϑ and ϕ, this control law

g̃ 1 = ⎢ ⎥ , g̃ 2 = ⎢

⎢ γ4 4

⎥.

⎥ (31)

⎢ γ4 5 1 ⎥ ⎢ ⎥ traces a circle of radius ri in the direction defined by σi

⎢ Rz3 + γ4 4 Rz22 ⎥ ⎢ γ3 3 Rz 3 ⎥

⎢ γ3 3 2 ⎥ ⎢ ⎥

⎢ ⎥ ⎣γ ⎦ ri

⎣ γ5 5 1 ⎦ 54 ϑ(t) = sin σi ωt (35)

Rz3 + γ5 4 Rz2 2 Rz3 σi ω

γ3 3 2 γ3 3

ri

ϕ(t) = (1 − cos σi ωt). (36)

The resulting approximate system is polynomial and in triangular form. σi ω

The latter property facilitates the integration of the approximate dynam- Therefore, by the end of the iteration, the contact coordinates ϑ

ics in closed form under some well-defined control inputs. and ϕ remain unchanged.

It should be finally noted that if one sets k = 0 in (31), the approx- By direct integration of the approximate system (17) and (31)

imate system (17) will coincide with that constructed in [17] for the with the control (33) and (34), it can be shown that

kinematic model of a ball–plate system with no-spinning constraint

ωz = 0. However, in our model, such a setting can be only purely z1 (ti + 1 ) = z2 (ti + 1 ) = 0, z3 (ti + 1 ) = σi πri2 /ω 2 . (37)

hypothetical because by definition (9) the inertia ratio k > 1.

The free parameter ri is defined from the condition z3 (ti + 1 ) =

B. Iterative Steering Ψdi , which results in

#

Having constructed the nilpotent approximation (17), one can use ri = ω |Ψdi |/π. (38)

it for the iterative steering of the original system (12) from the initial

xs to a desired state xf . The general idea of this approach can be Thus, the control law defined by (33) and (34) steers the privi-

formulated as follows [17]. leged coordinates z1 , z2 , and z3 from the origin to, respectively,

1) Set i = 0, ti = 0, and xi = xs . 0, 0, and Ψdi . By checking the first three equations of the system

2) Set ti + 1 = ti + ΔT , where ΔT is the movement time allocated (12), (13), one can see that in the original coordinates, we have

for one iteration. Define the subgoal xdi = xi + η(xf − xi ), ϑ(ti + 1 ) = ϕ(ti + 1 ) = 0, but ψ(ti + 1 ) does not necessarily reach

where η ∈ [0, 1] is a sufficiently small number. Compute from ψid .

998 IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014

3) Set xi = xi + 1 , increase the counter i = i + 1, and repeat the Next, since one circle is traced in clockwise direction and the

calculations until ψ(ti + 1 ) reaches a given vicinity of ψf . other in the counterclockwise direction, by the end of the itera-

It should be noted that, since the control law (33) and (34) defines a tion, the angle ψ remains unchanged.

circle in the space of ϑ and ϕ, one has |ϑ(t)| ≤ ri /ω and |ϕ(t)| ≤ ri /ω. By direct integration of the approximate system (17), (31) with

To guarantee that the contact point does not leave the lower hemisphere, the control (43), (44) and (45), (46), it can be shown that

one must have

- .

z1 (ti + 1 ) = z2 (ti + 1 ) = z3 (ti + 1 ) = 0 (51)

ri η |ψ f − ψi | η

= ≤ < π/2 (39) z4 (ti + 1 ) = 2πri3 sin (ψf − θi )/ω 3

(52)

ω (2k − 1)π 2k − 1

z5 (ti + 1 ) = 2πri3 cos (ψf − θi )/ω . 3

(53)

which gives the following estimate

The free parameters ri and θi are defined from the conditions

η < (2k − 1)π 2 /4. (40) z4 (ti + 1 ) = Xid and z5 (ti + 1 ) = Yid , which results in

.

Thus, since the inertia ratio k > 1, for any η ∈ [0, 1] the control law d 2

6 (X i ) + (Yi )

d 2

(33), (34) keeps the contact point away from the singularity line ϑ = ri = ω 2

(54)

4π

±π/2.

1) Second Part: In the second part of the maneuver, we steer x, y θi = ψf − arctan (Xid /Yid ). (55)

to the desired values xf , yf without changing (in the final configura-

Thus, the control law defined by (43) and (44), as well as (45)

tion) ϑ = ϕ = 0 and ψ = ψf . The computational procedure can be

and (46), steers the state variables of the approximate nilpotent

summarized as follows.

system (17) from the origin to, respectively, [0, 0, 0, Xid , Yid ]. By

1) Set i = 0, ti = 0, xi = [0, 0, ψf , x̄s , ȳs ], where x̄s , ȳs are the

the geometric construction, for the original state variables, we

coordinates of the contact point in the plane attained by the end

have ϑ(ti + 1 ) = ϕ(ti + 1 ) = 0, and ψ(ti + 1 ) = ψf , but x(ti + 1 )

of the first part of the maneuver.

and y(ti + 1 ) do not necessarily reach xdi and yid .

2) Set ti + 1 = ti + 2ΔT . Define the subgoal in the contact plane

3) Set xi = xi + 1 , increase the counter i = i + 1, and repeat the

xdi = xi + η(xf − xi ) and yid = yi + η(yf − yi ), where η ∈

calculations until the coordinates of the contact point in the plane

[0, 1], and compute by (24) and (25) the image of the subgoal in

[x(ti + 1 ), y(ti + 1 ) reach a given vicinity of [xf , yf ].

the privileged coordinates

Under the control law (43) and (44), as well as (45) and (46), the

η contact point in the space of the contact coordinates ϑ and ϕ is always

Xid = {sin ψf (xf −xi ) + cos ψf (yf −yi )}

R(1−3k) on the circle of radius ri /ω, with |ϑ(t)| ≤ ri /ω and |ϕ(t)| ≤ ri /ω. To

(41) ensure that the contact point does not leave the lower hemisphere, one

η

needs to have .

Yid = {cos ψf (xf −xi ) − sin ψf (yf −yi )} . ri d 2 d 2

6 (X i ) + (Yi ) π

R(1−3k) = 2

< . (56)

ω 4π 2

(42) By transforming this inequality with the use of (41), (42), one obtains

the following estimate

Let ω = 2π/ΔT . Define the control law by

η π 4 (3k − 1)

u1 (t) = ri cos (θi + ωt) (43) < . (57)

R 32 (xf − xi )2 + (yf − yi )2

u2 (t) = ri sin (θi + ωt) (44)

Thus, if η is selected in accordance with (57), the trajectory of the

for t ∈ [2(i − 1)ΔT , (2i − 1)ΔT ] and contact point on the sphere is kept below the singularity line ϑ = ±π/2.

Two comments are in order.

u1 (t) = ri cos (θi − ωt) (45) 1) For the brevity of presentation, in the iterative scheme described

in this section, the parameter η is a constant that must be tuned

u2 (t) = ri sin (θi − ωt) (46)

to ensure the convergence of the iterative process. A globally

for t ∈ [(2i − 1)ΔT , 2iΔT ]. Geometrically, this control law de- convergent iterative scheme with automatic adjustment of η at

fines two symmetric circles in the space of the contact coordinates every iteration is reported in [27], [28]. In principle, the pre-

ϑ and ϕ sented scheme can be easily adjusted to the settings of [27], [28]

without modification of the control laws. Note, however, that the

ri

ϑ(t) = {sin(θ+ωt)−sin θ} (47) convergence rate for the schemes with constant and nonconstant

ω η can be different.

ri 2) The control laws constructed in this section define a path con-

ϕ(t) = {cos θ−sin(θ+ωt)} (48)

ω necting the initial and final configurations. The timing of trac-

for t ∈ [2(i − 1)ΔT , (2i−1)ΔT ] and ing this path can be readjusted as t = t(τ ), τ ∈ [0, T ], with

uj (τ ) = uj (t)dt/dτ, j = 1, 2. This can also be interpreted as

ri breaking motion planning into path planning and time plan-

ϑ(t) = {sin θ − sin(θ + ωt)} (49)

ω ning [29]. To guarantee that the motion at each iteration does

ri not start and end impulsively, one can set the timing con-

ϕ(t) = {sin(θ + ωt) − cos θ} (50)

ω trol law as t(τ ) = ti + ΔT {10s3 (τ ) − 15s4 (τ ) + 6s5 (τ )},

where s(τ ) = (τ − ti )/ΔT so that t(τi ) = τi = iΔT and

for t ∈ [(2i−1)ΔT , 2iΔT ]. Therefore, the contact variables ϑ

[dt/dτ ]τ = τ i = [dt/dτ ]τ = τ i + 1 = 0.

and ϕ are zero at t = ti + (2i − 1)ΔT , and t = ti + 2iΔT .

IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014 999

Fig. 4. Time histories of x (red line), y (blue line) (top), ψ (blue line), ϑ (red

line), and ϕ (green line) (bottom) during the first part of the maneuver.

C. Simulation

The performance and effectiveness of the motion planning algorithm

are tested under simulation for the nontrivial maneuver. Here, we drive

the system from the initial state x0 = {0, 0, 3π/4, 2.0, 2.0} to the

final state xf = {0, 0, 0, 0, 0}. In the simulation, we set R = 1, ΔT =

1, k = 2.5, and η = 0.6. The units of all the dimensional quantities are

specified in the SI system.

In the first part of the maneuver, where we drive ψ to zero regardless Fig. 5. Time histories of x (red line), y (blue line) (top), ψ (red line), ϑ (blue

line), and ϕ (green line) (bottom) during the second part of the maneuver.

of the attained x and y, we set η = 0.6. Time histories of all the state

variables are shown in Fig. 4. After five iterations the error between

the current and target values of ψ becomes less than 0.001, while ϑ

and ϕ keep zero values at the end of each iteration (integer moments is the selection of the parameter η which defines the convergence and

of time). By the end of the first part of the maneuver, the values of x the number of iterations to reach the goal state. In this connection, it

and y change, respectively, from 2.0 to 1.51 and from 2.0 to 2.85. should be noted that the estimates (40), (57) provide the guidance for

In the second part of the maneuver, where x and y are driven to not crossing the singularity line but have no relation to the convergence

the origin, we set η = 0.6. Time histories of the state variables are of the algorithm.

shown in Fig. 5. After ten iterations the error between the current Let us revisit the simulation example considered before and change

and target position of the contact point on the plane, defined by the the inertia coefficient from k = 2.5 to k = 10. It is found under

Euclidean distance (x(t) − xf )2 + (y(t) − yf )2 , becomes less than simulation trials that to preserve the convergence of the steering al-

0.001, while ϑ, ϕ, and ψ keep zero values at the end of each iteration gorithm, one needs to decrease the parameter η from 0.6 to 0.5. The

(integer moments of time). simulation results, presenting the evolution of the contact point trajec-

The evolution of the contact point trajectory on the sphere and on tory on the sphere and on the plane, are shown in Fig. 7. Note that the

the plane is shown in Fig. 6. Here, each iteration in the first part of the magnitude of the control inputs is directly proportional to the parameter

maneuver is shown in green color. For the second part of the maneuver, η. Therefore, the decrease of η results to smaller circles traced in the

the first half of each iteration, corresponding to the control action (43), contact coordinates ϑ and ϕ, which in turn leads to the increase in the

(44), is shown in red color while the second half, corresponding to (45) number of iterations necessary to reach the goal state.

and (46), is shown in blue color. As can be seen from this figure3 , the The number of iterations as a function of η for different values

magnitude of the change of the state variables is gradually decreasing of the inertia ration k can be estimated under simulation runs. For the

as the robot approaches the target state. example considered in this section, the simulation results, including the

While the results presented demonstrate the computational feasibil- hypothetical case of k = 0, which corresponds to the kinematic model

ity of the proposed motion planning strategy, it would be also interesting of pure rolling, are shown in Fig. 8. As can be seen from this figure,

to analyze the performance of the steering algorithm when the inertia the interval of η on which the iterative steering algorithm converges is

parameter k of the mathematical model is changed. Although a de- gradually decreasing with the increase of the inertia ratio k. This means

tailed theoretical analysis is beyond the scope of this paper, we provide that the accuracy of the nilpotent approximation at a neighborhood of

some simulation results illustrating this issue. The main problem here the south pole of the sphere is decreasing with the increase of k.

A clear interpretation of this fact is not available at the moment as

the thorough estimation of the accuracy of the nilpotent approximation

3 The animation of the simulation results, provided in supplementary down- goes beyond the scope of this paper. It is interesting to note, however,

loadable files, are available at http://ieeexplore.ieee.org. that in the limiting case of k → ∞, the approximate system (17) and

1000 IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014

Fig. 7. Trajectory of the contact point on the plane (top) and on the sphere

(bottom) during the nontrivial maneuver for k = 10. The first part of the ma-

Fig. 6. Trajectory of the contact point on the plane (top) and on the sphere neuver is shown in green color, while the second part is shown in red [as resulted

(bottom) during the nontrivial maneuver for k = 2.5. The first part of the from (43) and (44)] and blue [as resulted from (45) and (46)] colors.

maneuver is shown in green color, while the second part is shown in red [as

resulted from (43) and (44)] and blue [as resulted from (45) and (46)] colors.

Thus, the transformation from the original to privileged coordinates

tends to singularity with the increase of k. Note also that from the

physical point of view, roughly speaking, the dynamic coefficient k

becomes larger with the increase of the ratio of the inertia of the

spherical shell to that of the rotors. Therefore, it is realistic that driving

a heavier spherical shell with lighter rotors would result in the control

inputs of smaller magnitude.

It should be noted that in our algorithm, constructed in the settings

of [17], η is constant for every iteration. The iterative algorithm [27],

[28] with automatic adjustment of η converges for any value of k. In our

Fig. 8. Number of iterations in the second part of the nontrivial maneuver as

numerical experiments, not reported in this paper because of the page a function of η for different values of the inertia ratio k.

limitation4 , the latter algorithm often converges faster than the former

one but not always because the actual convergence rate depends also

on the initial and final configurations. Still, the pattern of the decrease IV. CONCLUSION

of the convergence rate with the increase of k can be witnessed also in

Motion planning for a spherical rolling robot, actuated by two in-

the globally convergent algorithm [27], [28].

ternal rotors that are placed on orthogonal axes, has been studied in

this paper. The problem of finding trajectories of the state variables

given the initial and final configuration of the robot has been consid-

4 However, Mathematica software scripts, implementing the algorithms with ered. One of the characteristic features of this problem is that it can be

constant and nonconstant η, are available from the authors upon request. addressed only in dynamic formulation. The mathematical model of

IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014 1001

Let α be the angle of rotation around the unit vector ns . The matrix

of rotation around ns can be defined by the Rodriguez formula

where Ω(·) is the skew-symmetric matrix used for the matrix repre-

sentation of the vector product (Ω(a)b = a × b), which gives

⎡ ⎤

1−sin2 β(1−cos α) 12 sin 2β(1−cos α) sin β sin α

⎢ ⎥

Rs =⎣ 12 sin 2β(1−cos α) 1−cos2 β(1−cos α) − cos β sin α⎦.

sin β sin α cos β sin α cos α

(59)

The orientation of the sphere at the final configuration can be repre-

sented as

R(ψ0 , 0, 0)Rs (β, α) = R(ψf , ϑf , ϕf ) (60)

where the orientation matrix of the sphere R(ψ, ϑ, ϕ) is defined in

Section II. By solving this equation with respect to the unknown angles

α, β, and ψ0 , one obtains

Fig. 9. Trivial maneuver. cos ϕf sin ϑf

β = arctan (62)

sin ϕf

the robot, represented by a driftless control system, contains a physical sin ϑf cos ψf −cos ϑf sin ϕf sin ψf

ψ0 = β −arctan . (63)

singularity corresponding to the motion of the contact point along the sin ϑf sin ψf +cos ϑf sin ϕf cos ψf

equatorial line in the plane of the two rotors. To solve the state-to-state

Having defined the angles α, β and ψ0 , one finally obtains

transfer problem, a motion planning strategy composed of two trivial

and one nontrivial maneuver has been proposed. The trivial maneuvers x0 = xf − R α cos (β − ψ0 ) (64)

implement motion along the geodesic line perpendicular to the singu-

larity line. The nontrivial maneuver is based on an iterative steering y0 = yf − R α sin (β − ψ0 ). (65)

algorithm and employs the nilpotent approximation of the originally

nonnilpotent robot dynamics. The feasibility of the motion planning It remains to be shown that the motion along the selected geodesic

strategy has been verified under simulation. line is dynamically realizable. When α is changed as a function of time

In future research, apart from the experimental verification of the the orientation matrix of the sphere R is defined by the left hand side

motion planning strategy, it would be interesting to try out different, of (60). Therefore,

more systematic techniques to pass through the singularity line. Theo-

n3 = [sin α(t) sin (β −ψ0 ), − sin α(t) cos (β −ψ0 ), cos α(t)]T .

retical approaches to steering nonholonomic systems with singularities

(66)

are reported in [22], [28]. In principle, these approaches are applicable

Computing ω from Ω(ω) = ṘRT yields

to the rolling robot with two rotors. However, the practical construction

of computationally feasible algorithms based on these approaches is ω = Rα̇(t)[cos (β −ψ0 ), sin (β −ψ0 ), 0]T . (67)

not trivial and requires a special investigation.

Since the last component of ω is zero, the motion is pure rolling and the

contact point on the plane moves along the straight line6 connecting

APPENDIX

(x0 , y0 ) with (xf , yf ). Since J = diag{Jx x , Jx x , Jz z }, it is easily

Here, we consider the trivial maneuver executed in the third step5 of verified that n3 · J ω = 0, and, therefore, the motion is dynamically

the motion strategy and show how to modify the x, y, and ψ components realizable. The velocities of the rotors, realizing this motion, are defined

of the vector x0 so that rolling along a geodesic line on the sphere will from (6) and obtained as

guarantee arrival at the given target configuration xf . The vector x0 is

then set as the target configuration for the nontrivial maneuver executed q̇1 (t) = −(n1 · J ω)/Jr = −(Jx x /Jr )α̇(t) cos β (68)

in the second step of the motion strategy.

q̇2 (t) = −(n2 · J ω)/Jr = −(Jx x /Jr )α̇(t) sin β. (69)

Let ϑf and ϕf be the corresponding components of the vector xf .

The geodesic line connecting ϑf and ϕf with the origin is defined

REFERENCES

uniquely and is perpendicular to the singularity line ϑ = ±π/2. Let

β + π/2 be the angle of orientation of the great circle, formed by this [1] A. Bicchi, A. Balluchi, D. Prattichizzo, and A. Gorelli, “Introducing the

geodesic line, with respect to the frame Σo as shown in Fig. 9. When “Sphericle”: An experimental testbed for research and teaching in non-

the sphere rolls along the geodesic line it rotates around the unit vector holonomy,” in Proc. IEEE Int. Conf. Robot. Autom., Albuquerque, NM,

USA, 1997, vol. 3, pp. 2620–2625.

ns whose components in the frame Σo are [cos β, sin β, 0]T .

6 Note that if a different geodesic line, not orthogonal to the rotors plane and

therefore not passing through the south pole is selected, the trajectory of the

5 The calculations in the first step are similar and can be conducted straight- contact point on the plane will not be a straight line [15] and the motion will

forwardly in much the same way. not necessarily be pure rolling.

1002 IEEE TRANSACTIONS ON ROBOTICS, VOL. 30, NO. 4, AUGUST 2014

[2] S. Bhattacharya and S. Agrawal, “Spherical rolling robot: A design and [28] Y. Chitour, F. Jean, and R. Long, “A global steering method for non-

motion planning studies,” IEEE Trans. Robot. Autom., vol. 16, no. 6, holonomic systems,” J. Different. Equat., vol. 254, pp. 1903–1956,

pp. 835–839, Dec. 2000. 2013.

[3] A. Javadi and P. Mojabi, “Introducing glory: A novel strategy for an om- [29] B. Siciliano, L. Sciavicco, L. Villani, and G. Oriolo, Robotics: Modelling,

nidirectional spherical rolling robot,” ASME J. Dyn. Syst., Meas., Contr., Planning and Control, (ser. Advanced Textbooks in Control and Signal

vol. 126, no. 3, pp. 678–683, 2004. Processing). London, U.K.: Springer-Verlag, 2009.

[4] R. Balasubramanian, A. Rizzi, and M. Mason, “Legless locomotion: A

novel locomotion technique for legged robots,” Int. J. Robot. Res., vol. 27,

no. 5, pp. 575–594, 2008.

[5] 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. Conf. Intell. Robots Syst., St. Louis, MO, USA,

2009, pp. 2446–2451.

[6] V. Joshi, R. Banavar, and R. Hippalgaonkar, “Design and analysis of a

spherical mobile robot,” Mech. Mach. Theory, vol. 45, no. 2, pp. 130–136,

2010.

[7] A. Borisov, A. Kilin, and I. Mamaev, “How to control Chaplygin’s sphere A Selective Retraction-Based RRT Planner for

using rotors: Part II,” Regular Chaotic Dyn., vol. 18, no. 1–2, pp. 144–158, Various Environments

2013.

[8] V. Joshi and R. Banavar, “Motion analysis of a spherical mobile robot,” Junghwan Lee, OSung Kwon, Liangjun Zhang, and Sung-Eui Yoon

Robotica, vol. 27, no. 3, pp. 343–353, 2009.

[9] Z. Li and J. Canny, “Motion of two rigid bodies with rolling constraint,”

IEEE Trans. Robot. Autom., vol. 6, no. 1, pp. 62–72, Feb. 1990.

[10] V. Jurdjevic, “The geometry of the plate-ball problem,” Arch. Rational Abstract—We present a novel randomized path planner for rigid robots

Mech. Anal., vol. 124, no. 4, pp. 305–328, 1993. to efficiently handle various environments that have different character-

[11] A. Marigo and A. Bicchi, “Rolling bodies with regular surface: Control- istics. We first present a bridge line test that can identify narrow passage

lability theory and applications,” IEEE Trans. Autom. Control, vol. 45, regions and then selectively performs an optimization-based retraction only

no. 9, pp. 1586–1599, Sep. 2000. at those regions. We also propose a noncolliding line test, which is a dual

[12] R. Mukherjee, M. Minor, and J. Pukrushpan, “Motion planning for a operator to the bridge line test, as a culling method to avoid generating

spherical mobile robot: Revisiting the classical ball-plate problem,” ASME samples near wide-open free spaces. These two line tests are performed

J. Dyn. Syst., Meas. Contr., vol. 124, no. 4, pp. 502–511, 2002. with a small computational overhead. We have tested our method with

[13] M. Svinin and S. Hosoe, “Motion planning algorithms for a rolling sphere different benchmarks that have varying amounts of narrow passages. Our

with limited contact area,” IEEE Trans. Robot., vol. 24, no. 3, pp. 612–625, method achieves up to several times improvements over prior RRT-based

Jun. 2008. planners and consistently shows the best performance across all the tested

[14] F. Alouges, Y. Chitour, and R. Long, “A motion-planning algorithm for the benchmarks.

rolling-body problem,” IEEE Trans. Robot., vol. 26, no. 5, pp. 827–836, Index Terms—Motion and path planning, sampling-based motion plan-

Oct. 2010. ning, various environments.

[15] M. Svinin, A. Morinaga, and M. Yamamoto, “On the dynamic model

and motion planning for a spherical rolling robot actuated by orthogonal

internal rotors,” Regular Chaotic Dyn., vol. 18, no. 1–2, pp. 126–143,

2013. I. INTRODUCTION

[16] R. Murray, Z. Li, and S. Sastry, A Mathematical Introduction to Robotic Robot motion planning involves computing collision-free paths for a

Manipulation. Boca Raton, FL, USA: CRC, 1994.

[17] G. Oriolo and M. Vendittelli, “A framework for the stabilization of general robot and has many applications, such as part disassembly simulation,

nonholonomic systems with an application to the plate-ball mechanism,” tolerance verification, protein folding, and computer graphics [1], [2].

IEEE Trans. Robot., vol. 21, no. 2, pp. 162–175, Apr. 2005. The motion planning has been actively studied since the 1970s to

[18] H. Hermes, “Nilpotent and high-order approximations of vector field sys- develop a complete solution.

tems,” SIAM Rev., vol. 33, no. 2, pp. 238–264, 1991.

[19] A. Bellaı̈che, “The tangent space in sub-riemannian geometry,” in Sub-

Sampling-based motion planning algorithms have been designed and

Riemannian Geometry, A. Bellaı̈che and J.-J. Risler, Eds. Cambridge, successfully used to compute a probabilistic complete solution for a

MA, USA: Birkhäuser, 1996, pp. 1–78. variety of environments. Two of the most successful algorithms include

[20] G. Lafferriere and H. Sussmann, “A differential geometric approach to the Probabilistic Roadmap Method (PRM) [3] and Rapidly-exploring

motion planning,” in Nonholonomic Motion Planning, Z. Li and J. Canny, Random Tree (RRT) [4]. At a high level, as we randomly generate more

Eds. Norwell, MA, USA: Kluwer, 1993, pp. 235–270.

[21] E. Sachkova, “Approximate solution of a control problem on the basis of samples, these techniques provide collision-free paths by capturing a

the nilpotent approximation,” Different. Equat., vol. 45, no. 9, pp. 1386– larger portion of the connectivity of the free space.

1364, 2009. One of the most challenging cases for sampling-based techniques is

[22] M. Vendittelli, G. Oriolo, F. Jean, and J.-P. Laumond, “Nonhomoge- to efficiently handle narrow passages. In many practical motion plan-

neous nilpotent approximations for nonholonomic systems with singu-

larities,” IEEE Trans. Automat. Contr., vol. 49, no. 2, pp. 261–266, Feb.

ning applications, a robot often needs to pass through narrow passages

2004.

[23] R. Murray and S. Sastry, “Nonholonomic motion planning: Steering using

sinusoids,” IEEE Trans. Autom. Control, vol. 38, no. 5, pp. 700–716, May Manuscript received November 22, 2013; accepted February 28, 2014. Date

1993. of publication May 12, 2014; date of current version August 4, 2014. This paper

[24] S. Agrawal and S. Bhattacharya, “Optimal control of driftless nilpoten was recommended for publication by Associate Editor M. Vendittelli and Editor

systems: Some new results,” in Proc. IEEE/RSJ Int. Conf. Intell. Robots D. Fox upon evaluation of the reviewers’ comments. This work was supported in

Syst., Kyongju, Korea, 1999, vol. 1, pp. 356–361. part by NRF-2013R1A1A2058052, DAPA/ADD (UD110006MD), MEST/NRF

[25] E. Sachkova, “Solution of a control problem for a nilpotent system,” (2013-067321), and the IT R&D program of MOTIE/KEIT [10044970].

Different. Equat., vol. 44, no. 12, pp. 1768–1772, 2008. J. Lee, O. Kwon, and S.-E. Yoon are with the Department of Computer

[26] A. Morinaga, M. Svinin, and M. Yamamoto, “On the motion planning Science, Korea Advanced Institute of Science and Technology, Daejeon, Korea

problem for a spherical rolling robot driven by two rotors,” in Proc. (e-mail: goolbee@gmail.com; miruce78@gmail.com; sungeui@gmail.com).

IEEE/SICE Int. Symp. Syst. Integrat., Fukuoka, Japan, 2012, pp. 704– L. Zhang is with Samsung Research America, San Jose, CA 95134 USA

709. (e-mail: zlj@cs.unc.edu).

[27] F. Jean, G. Oriolo, and M. Vendittelli, “A global convergent steering Color versions of one or more of the figures in this paper are available online

algorithm for regular nonholonomic systems,” in Proc. IEEE Int. Conf. at http://ieeexplore.ieee.org.

Decis. Control, Seville, Spain, 2005, pp. 7514–7519. Digital Object Identifier 10.1109/TRO.2014.2309836

1552-3098 © 2014 IEEE. Personal use is permitted, but republication/redistribution requires IEEE permission.

See http://www.ieee.org/publications standards/publications/rights/index.html for more information.

- Team Description PaperUploaded byNilanjana Bhattacharya
- Mass Moment of Inertia of FlywheelUploaded byabdulaziz
- PhysicsUploaded byPraneeth_001
- Ch_IV_ThoUploaded byapi-3850091
- DstarUploaded byBụi Đường
- Comments on `the phenomenonUploaded byDJ_U
- Process Control - CHAUUploaded byRafael TR Indade
- Ge6253 Emlesson PlanUploaded byNagendran Natarajan
- Design of Multi-objective Robust HVDC Supplementary Controller Based on Global SignalUploaded bysherif_helmy
- BNJ30703_01Uploaded byShahidin Shah
- A Collision Checker for Car-like Robots CoordinationUploaded byRicardo Santos
- Comparison of Optimal Solutions to Real-Time Path Planning for a Mobile VehicleUploaded byhpmeh
- Second International Conference on Control, Modeling and Computing (CMC 2016)Uploaded byCS & IT
- Material StrengthUploaded bydaus_parisi
- Obstacle Detection and Collision Avoidance SystemUploaded byIRJET Journal
- AP Physics B - KinematicsUploaded bytimmyturner100
- StabilityUploaded byfalcon_vam
- A Design Methodology for Distributed Control Systems to OptimizeUploaded byJAY PARIKH
- Obe Nes118Uploaded byCary Bondoc
- Stiffness Analysis and Kinematic ModelingUploaded byTomás Llanos Mess
- BluSTL Controller Synthesis From Signal Temporal Logic SpecificationsUploaded byRaghavendra M Bhat
- Solution 04Uploaded byErika Juarez Martinez
- Frst Order Tym Delay SystmUploaded byAnupama V Kumar
- Turtur, C. & Knapp, W. (2009). Definite Proof for the Conversion of Vacuum-Energy Into Mechanical Energy Based on the Measurement of Machine Power. PHILICA.com Article Number 155Uploaded byDan Beeson
- Chapt09 Lecture UpdatedUploaded byabraga2012
- 201862_Chapter 1 NotesUploaded byYuHua
- perfilesUploaded bygparrat
- two tankUploaded byOluwaseun Godson
- 10ma-leUploaded byabraha gebru
- 10.1016@j.jprocont.2018.07.010Uploaded byMiguel Avendaño

- 01391010.pdfUploaded byAmino file
- sdfsdfshsfUploaded byAmino file
- alouges2010_4Uploaded byAmino file
- f07Uploaded byHimanshu Mishra
- Kyushu Mechanic Entrance ExamUploaded byAmino file
- Bernoulli EquationUploaded byPradip Gupta
- Lecture c2 c3Uploaded byAmino file
- 10.1109@cdc.1994.411344Uploaded byAmino file
- Control of Position a main poUploaded byAmino file
- Murray 1994Uploaded byAmino file
- 10.1007_BF00375605Uploaded byAmino file
- li1990Uploaded byAmino file
- qqq2rUploaded byAmino file
- As Me JournalUploaded byAmino file
- 280633967 George F Simmons Differential Equations With Applications and Historical Notes 2nd Edition McGraw Hill 1991Uploaded byAmino file
- 03_Procedure of MEXT ScholarshipUploaded byAmino file
- KIkuUploaded byAmino file
- li2008.pdfUploaded byAmino file
- f13Uploaded byAmino file
- 10.2307@27642248Uploaded byAmino file
- Presentation SpheretalUploaded byAmino file
- Nonholonomic formUploaded byAmino file
- Mirz3Uploaded byAmino file
- Mirza junUploaded byAmino file
- 06 2016 MEXT Scholarship Univ RecommendationUploaded byAmino file
- lsefse ffUploaded byAmino file
- Analysis of Surfactant Laden LiquidLiquid DispersionUploaded byAmino file

- Replication for Disaster Recovery Essential GuideUploaded byFahre Salchin
- Bios to Uefi on Non-uefi PcUploaded byAlex Dicu
- Ad Hoc NetworksUploaded byapi-3814854
- Thermostat for Room HeaterUploaded bySigid Ariewibowo
- Acra Sys Int Guide LoUploaded byDragan Lazic
- cseUploaded byAhmed Gouda
- Siemens PLM Mitsubishi Pencil Cs Z6Uploaded byShubhan Singh
- Epm InstallUploaded byMushtaq Ahmed
- Aimt Presentation Final UpdateUploaded bydeeptiarora86
- Blocking 3G VMS VersionUploaded byCao Văn Tuấn
- ASSIGNMENT OF SIGNALS AND SYSTEMUploaded byNitish Kumar Yadav
- An Overview of Biometrics IJCSE10!02!07-61Uploaded byIkechukwu Okey
- aaUploaded byweisinx7
- OS NotesUploaded byDilip Matolkar
- thrun.3D-EMUploaded byjimakosjp
- ATV600 Communication Parameters EAV64332 V1.3Uploaded byRicardo Fonseca
- E740163 KX3 Owner's Man Rev C2Uploaded byzascribdot
- Philippine Perspective of Digitizing Printed Heritage Materials (Part1)Uploaded byFe Angela Verzosa
- Real Time Heuristic SearchUploaded byAditya Nambiar
- wap54g_ugUploaded bykevinmarquez
- George Sebastian 12400026Uploaded byYadukrishnansp
- About Us M2UUploaded byBiz2Biz
- SM Lab ManualUploaded byBalaji Duraiyan
- Oracle 11g SQL Fundamentals IIUploaded bychennam1
- 20139 Santa Rosa Water BillUploaded byAce Mereria
- fortiwifi-40C-quickstartUploaded byIsmael Alvarez Diaz
- Density Based Traffic Control SystemUploaded byIRJIE
- Implementation of a Wireless Network for Class Attendance System Using Face Recognition and GSMUploaded bysanthosh_s_17
- SrsUploaded byst57143
- Georgia Petridou SHMUploaded byGeorgia Petridou