You are on page 1of 6

4th

4th International
International Conference
Conference on
on Advances
Advances in in Control
Control and
and
4th
4th International
International Conference
Conference on
on Advances
Advances in in Control
Control and
Optimization
Optimization
4th of Dynamical
of
International
Optimization of
Dynamical
Conference
Dynamical
Systems
Systems
on Advances
Systems in Control and
and
Optimization
February 1-5, of
February 1-5, of
Optimization Dynamical
2016.
2016. NIT Systems Available
Tiruchirappalli,
NIT Tiruchirappalli,
Dynamical Systems India
India
online at www.sciencedirect.com
February 1-5,
February 1-5, 2016. NIT
NIT Tiruchirappalli, India
India
February 1-5, 2016.
2016. NIT Tiruchirappalli,
Tiruchirappalli, India
ScienceDirect
IFAC-PapersOnLine 49-1 (2016) 601–606
Optimal
Optimal Trajectory
Trajectory Generation
Generation for
for Car-type
Car-type Mobile
Mobile
Optimal Trajectory
Optimal Robot
Trajectory Generation
Generation for
for Car-type
Car-type
 Mobile
Mobile
Robot using
using Spline
Spline Interpolation
Interpolation 

Robot using Spline Interpolation
Robot using Spline Interpolation 
Rahee
Rahee Walambe ∗∗∗ Nipun Agarwal ∗∗ ∗∗ Swagatu Kale ∗∗∗
∗∗∗ Vrunda Joshi ∗∗∗∗
Rahee Walambe
Walambe ∗∗ Nipun Nipun Agarwal ∗∗ Swagatu
Swagatu Kale ∗∗∗ Vrunda
Vrunda Joshi
∗∗∗∗
Rahee Walambe Nipun Agarwal ∗∗
Agarwal Swagatu Kale ∗∗∗
Kale Vrunda Joshi ∗∗∗∗
∗∗∗∗
Rahee Walambe Nipun Agarwal Swagatu Kale ∗∗ ∗∗∗ Vrunda Joshi Joshi ∗∗∗∗
∗∗ PVG’s College of Engineering and Technology , Pune,
∗∗∗ PVG’s
PVG’s
PVG’s
College
College of
College of Engineering
Engineering andand Technology
Technology ,,, Pune,
Pune,
PVG’s College of of Engineering
Engineering andand Technology
India(e-mail:rahee.walambe@gmail.com)
India(e-mail:rahee.walambe@gmail.com) Technology , Pune, Pune,
∗∗
∗∗ PVG’s India(e-mail:rahee.walambe@gmail.com)
India(e-mail:rahee.walambe@gmail.com)
College of Engineering and Technology , Pune, India
∗∗ PVG’s India(e-mail:rahee.walambe@gmail.com)
College of Engineering and Technology , Pune, India
∗∗ PVG’s
∗∗
∗∗∗
∗∗∗ PVG’s
PVG’s
PVG’s
College
College
College
College
of
of
of
of
Engineering
Engineering
Engineering
Engineering
and
and
and
and
Technology
Technology
Technology
Technology
,,, Pune,
, Pune,
Pune,
Pune,
India
India
India
India
∗∗∗ PVG’s
∗∗∗ PVG’s College
College of
of Engineering
Engineering and
and Technology
Technology ,
, Pune,
Pune, India
India
∗∗∗∗
∗∗∗ PVG’s
PVG’s
∗∗∗∗PVG’s College
College of
of Engineering
Engineering and
and Technology
Technology ,, Pune,
Pune, India
India
∗∗∗∗ PVG’s College of Engineering and Technology , Pune, India
∗∗∗∗ PVG’s College
College of
of Engineering
Engineering and
and Technology
Technology ,, Pune,
Pune, India
India
∗∗∗∗ PVG’s
PVG’s College of Engineering and Technology , Pune, India
College of Engineering and Technology , Pune, India
Abstract: This paper
Abstract: This
This paper focuses
focuses on on the
the spline
spline based
based trajectory
trajectory generation
generation and and motion
motion planning
planning inin aaa 1:10
1:10
1:10
Abstract:
Abstract: This paper
paper focuses on the spline based trajectory generation and motion planning in
scale
Abstract:
scale down
down This paper focuses
prototype
prototype of
focuses
of aa car.
car.on
on the
The
thecar
The spline
type
spline
car type based
based trajectory
vehicle can be
trajectory
vehicle can be generation
modelled
generationas
modelled asand
and motion
motion planning
aa nonholonomicplanning
nonholonomic in
in aa 1:10
system
system with
1:10
with
scale
scale down
down
constraints prototype
prototype
on sideways of
of aa car.
car.
movement. The
The car
car
The type
type vehicle
vehicle
spline based can
can be
be modelled
modelled
trajectory generation as
as aagives
nonholonomic
nonholonomic
us system
system
continuous, with
with
smooth
scale down on
constraints prototype
sideways ofmovement.
a car. The The car type vehicle
spline based can be modelled
trajectory generation as agivesnonholonomic
us system
continuous, with
smooth
constraints
constraints on sideways
on sideways movement.
movement. The spline based trajectory
trajectory generation gives us continuous,
continuous, smooth
smooth
and optimized
constraints
and optimized
and optimized path trajectories.
on sideways movement.
path trajectories.
path trajectories. The The
The
The
motion
The
motion
motion
spline
spline based
planning algorithm generation
algorithm
based trajectory
planning
planning algorithm
is based
generation
is based
is based on ongives
on the
gives us
nonholonomic
us continuous,model
the nonholonomic
the nonholonomic smooth
model
model
of
of
of
and
and optimized
aa car-type robot
optimized
car-type robotpath
path trajectories.
which is
trajectories.
which is The
differentially motion
The motion
differentially flat
flat in
inplanning
nature.
planning
nature. algorithm
Our
algorithm
Our is based
contribution
is based
contribution on
lies
onin
lies inthe
the
the
thenonholonomic
development
nonholonomic
development model
of
model
of of
spline
of
spline
aabased
car-type
car-type robot
robot which is differentially flat in nature. Our contribution lies in the development of spline
abased
car-type robot which
trajectories
trajectories whichis
which
which differentially
isovercome the
differentially
overcome flat
flat in
in nature.
parametric
the parametric nature.
parametric Our
Our contribution
singularities arising
contribution
singularities from
arising from
fromlies
lies thein
in the
the development
differential
the
differential of
of spline
flatness
development
flatness based
spline
based
based
based trajectories
trajectories
approach. The which
which
spline overcome
overcome
trajectories the
the
also parametric
take care singularities
singularities
of the arising
arising
singularities from
which the
the differential
differential
are otherwise flatness
flatness
observed based
based
in
based trajectories
approach. The which
spline overcome
trajectories the
also parametric
take care singularities
of the arising
singularities from
which the differential
are otherwise flatness
observed based
in
approach.
approach. The spline
The spline trajectories
trajectories also polynomial
also take care
take care ofbased
the singularities
singularities which are otherwise
otherwise observed in
the
the optimization
approach.
optimization process
The spline
process if
trajectories
if the
the cubic take care of
also polynomial
cubic the
ofbased interpolation
the singularities
interpolation which
is
which
is are
implemented.
are otherwise
implemented. The
Theobserved
hardware
observed
hardware in
in
the
the optimizationfor
optimization process
process if the
if the cubic
cubic polynomial based interpolation is implemented.
implemented. The hardware
implementation
the optimizationfor
implementation
implementation for
a prototype
process
aaa prototype
prototype if the of
cubic
of
of carpolynomial
a car
aaa car
type modelbased
model
polynomial
type model
type
is alsointerpolation
also
based
is also
is
presented.
interpolation
presented. Using
presented.
is
Using the
is implemented.
Using concept The
concept
the concept
the
of
The hardware
differential
hardware
of differential
of differential
implementation
flatness, we
implementation
flatness, we for
derive prototype
control
forcontrol
derive a prototype inputs
inputsofwhich
ofwhichcar type
steer
a car steer model
the
type the is
vehicle
model also presented.
along
is also
vehicle this Using
trajectory.
presented.
along this the concept of differential
Using the concept of differential
trajectory.
flatness,
flatness, we
we derive control inputs which steer the vehicle along this trajectory.
flatness, we derive
© 2016, IFAC derive control
control inputs
(International inputs which
whichofsteer
Federation steer the
the vehicle
vehicle
Automatic
along
along
Control)
this
this trajectory.
Hosting trajectory.
by Elsevier Ltd. All rights reserved.
Keywords: Nonholonomy,
Keywords: Nonholonomy,
Nonholonomy, differentialdifferential flatness,
differential flatness, car-type
flatness, car-type vehicle,
car-type vehicle, time-reparameterization,
time-reparameterization, spline
vehicle, time-reparameterization, spline
Keywords:
Keywords:
polynomial Nonholonomy, differentialdifferential flatness,
flatness, car-type
car-type vehicle,
vehicle, time-reparameterization,
time-reparameterization, spline spline
Keywords:
polynomial Nonholonomy, spline
polynomial
polynomial
polynomial
1. INTRODUCTION
1. INTRODUCTION
INTRODUCTION using
using piecewise
piecewise constant
constant inputs.
inputs. Path
Path derived for given initial
1.
1. INTRODUCTION
INTRODUCTION using
using piecewise
piecewise constant
constant inputs.
inputs. Pathinderived
derived for
for given
given initial
initial
1. configuration
using piecewise
configuration and
and final
constant
final inputs. Path
configuration
configuration Pathinderived
Tilbury
derived
Tilbury for
et
for
et given
al. (1995)
given
al. (1995)initial
are
initial
are
configuration
configuration
smoother due and
and
to final
final
the configuration
configuration
polynomial in
in Tilbury
Tilbury
interpolation et
et al.
al.
method (1995)
(1995)
adopted.are
are
In
In thethe last
the last few
last few decades,
few decades,
decades, due due
due to to the
to the increasing
the increasing interest
increasing interest
interest inin mo-
in mo-
mo- configuration
smoother due and
to final
the configuration
polynomial in Tilbury
interpolation et al.
method (1995)
adopted.are
In smoother
smoother
Laumond due
due
et al.to
to the
the polynomial
polynomial interpolation
interpolation method
method adopted.
adopted.
In In
bile
bile the
the last
robots, few
last few
robots, a
a decades,
number
decades,
number of
of due
due to the
autonavigation increasing
to the increasing
autonavigation algorithms
algorithmsinterest
have
interest
havein mo-
been
in been
mo- smoother
Laumond due
et al.to(1994)
(1994) integrate
the polynomial
integrate grid
grid based
interpolation
based planning
methodwith
planning with non-
adopted.
non-
bile robots, aa number of autonavigation algorithms have been Laumond et
Laumond
holonomic etconstraints
al. (1994)
al. (1994) integrate
integrate grid
grid based
based planning
planning with
with non-
non-
bile
bile robots,
developed.
robots,
developed. The The
a number
number
The autonomous of
autonomous
of autonavigation
vehicles
autonavigation
autonomous vehiclesvehicles are arealgorithms
used
algorithms
are used have
extensively
have
used extensively been
in
been
extensively in in Laumond
holonomic al. (1994)using
etconstraints using Reed
integrate
Reed and
grid
and Shepp’s
based
Shepp’s model
planning
model discussed
with non-
discussed
developed.
developed. The autonomous
autonomous vehicles are used extensively in holonomic
holonomic
in Reeds constraints
constraints
and Shepp using
using
(1990). Reed
Reed
While and
and Shepp’s
Shepp’s
these model
model
approaches discussed
discussed
Dubins
different
developed.
different domains
The
domains from
from passenger
passenger car
vehicles
car to
to the
are
the hazardous
used applica-
extensively
hazardous applica-in holonomic
in Reeds constraints
and Shepp using Reed
(1990). While andthese
Shepp’s model discussed
approaches Dubins
different domains from passenger car to the hazardous applica- in
in Reeds
Reeds and
and Shepp
Shepp (1990).
(1990). While
While these
these approaches Dubins
different
tions.
different
tions. In In domains
order
domains
In order
order for from
the
from
for the
the carpassenger
type
carpassenger car
vehicle
type vehicle to the
car to the
vehicle hazardous
maneuver
hazardous
maneuver applica-
smoothly
applica-
smoothly in
in (1961,
in Reeds
(1961, 1957)
andand
1957) andSheppReeds
Reeds and
(1990).
and Shepp
While(1990)
Shepp these approaches
(1990) give
give us
approaches
us the
the Dubins
shortest
Dubins
shortest
tions. order for car
car type vehicle to maneuver smoothly in (1961,
(1961,
paths 1957)
1957)
joining and
and
any Reeds
Reeds
two and
and Shepp
Shepp
configurations, (1990)
(1990)the give
give
main us
us the
the shortest
shortest
aations.
tions.given
givenInworkspace,
In order
workspace,for the
for theaccurate
car typeplanning
type
accurate vehicle
planning to
to maneuver
(motion
maneuver
(motion and
and smoothly
path)
smoothly
path) in
algo-
in
algo- (1961,
paths 1957) and
joining any Reeds
two and Shepp (1990)
configurations, the give
main usdrawback
the shortest
drawback of
of
arithms
a given workspace, accurate planning (motion and path) algo- paths
paths joining
joining any
any two
two configurations,
configurations, the
the main drawback of
givenare
arithms
given workspace,
essential.
workspace,
are essential. accurate
There
accurate
essential. There
There areare planning
various
planning
are various (motion
approaches
(motion
various approaches
approaches toand
and topath) algo-
represent-
path) algo-
to represent-
represent- these
paths
these paths
joining
paths is
is that
anytheir
that two curvature
their configurations,
curvature is
is not
not the main
continuous.
continuous.main drawback
Therefore
drawback
Therefore of
ofaa
rithms are these
these paths
paths is
is that
that their
their curvature
curvature is
is not
not continuous.
continuous. Therefore
Therefore a
rithms
ing
rithms
ing and are
andare essential. There
maneuvering
essential.
maneuvering There are various
various
collision-free
are
collision-free approachesconfiguration
(admissible)
approaches
(admissible) to represent-
to represent-
configuration vehicle
these
vehicle following
paths
following such
is that their
such a path
curvature
aa path has
has to stop
istonot
stop at
continuous.
at each
each Therefore aa
discontinuity
discontinuity
ing and maneuvering collision-free (admissible) configuration vehicle
vehicle
(e.g at following
following
the transition such
such a path
path has
has to
to stop
stop at
at each
each discontinuity
discontinuity
ing and
workspace. maneuvering
Latombe collision-free
(1991) presents (admissible)
these in configuration
detail. Although vehicle
(e.g at following suchbetween
a path has aa to straight
stop atline eachand a circular
discontinuity
ing and maneuvering
workspace.
workspace. Latombe (1991)
Latombe
collision-free
(1991) presents(admissible)
presents these in
these
configuration
in detail.
detail. Although
Although (e.g
(e.g at the
at
transition
thereorient
transition between
between straight
aaa then
straight line
line and
and aaa Incircular
circular
workspace.
these
workspace.
these methods
methods Latombe
are
Latombe
are (1991)
suitable
(1991) for
suitable presents
for these
holonomic
presents these in
holonomic in detail.
tasks,
detail.
tasks, Although
they do
Although
they not
do not
not (e.g at the
segment),
segment), transition
thereorient
transition it
it between
wheels,
between
wheels, and
and straight
then move
straight
move line
line and
and a Incircular
forward.
forward. Balch
circular
Balch
these methods are suitable for holonomic tasks, they do segment),
segment),
(1996) reorient
reorient
Dubins it
it
(1961) wheels,
wheels,
and and
and
Reeds then
then
and move
move
Shepp forward.
forward.
(1990), In
In Balch
Balch
these
hold
these
hold methods
to general
methods
to general are
are suitable
motion
suitable
motion for
planning
for
planning holonomic
problem
holonomic
problem tasks,
where
tasks,
where the
the they
they do
do not
constraints
not
constraints segment),
(1996) reorient
Dubins it wheels,
(1961) and and then
Reeds and move
Shepp forward.
(1990), Inthe
the car
Balch
car
hold
hold to
to general
general motion
motion planning
planning problem
problem where
where the
the constraints
constraints (1996)
(1996)
is Dubins
Dubins
considered (1961)
(1961)
as a point and
and Reeds
Reeds
like object and
and andShepp
Shepp the (1990),
(1990),
optimal the
the
path car
car
is
are
hold nonholonomic.
to general motion
are nonholonomic.
nonholonomic. Motion
Motion planning
planning problem
planning of nonholonomic system
where the constraints
of nonholonomic
nonholonomic system (1996)
is Dubinsas(1961)
considered a point andlike
Reeds
object andand Shepp the (1990), the
optimal path car
is
areare nonholonomic.
nonholonomic. Motion
Motion planning
planning of
of nonholonomic
nonholonomic system
system is
is considered
considered
generally the as
as a
a
shortest point
point
path like
like object
object
between and
and
start and the
the optimal
optimal
end points. path
path
Since, is
is
even
are
even in
in the
the absence
absence of obstacles
Motion
of is
planning
obstacles is difficult
of
difficult problem
problem due
due to non-
system
to non- is considered
generally the as a
shortest point
path like object
between and
start and the optimal
end points. path
Since, is
even in the absence of obstacles is difficult problem due to non- generally
generally
the vehicle the
the shortest
shortest path
path between
between start
start and
and end
end points.
points. Since,
Since,
even
even in
integrable the absence
velocity
in the velocity
integrable absence of of obstacles
constraints.
obstacles is
constraints. is difficult
Rouchon
difficult et
Rouchon problem
et al.
problem
al. due
(2011), to non-
Lami-
due toLami-
(2011), non- generally
the vehicle theis
is assumed
shortest
assumed pathto
to be
be aa point
between pointstartlike
andobject
like object (particle),
end points. Since,
(particle), it
it
integrable velocity constraints. Rouchon et al. (2011), Lami- the
the vehicle
vehicle is
is assumed
assumed to
to be
be a point like object (particle), it
integrable
raux
integrable
raux et et al.
et al. velocity
(1999),
velocity
al. (1999), constraints.
Ramirez and
constraints.
(1999), Ramirez
Ramirez and Rouchon
Agarwal
Rouchon
and Agarwal et
(2004)
Agarwal (2004) et al.
al.
(2004) have (2011),
have
(2011), Lami-
presented
Lami-
have presented
presented is
the
is allowed
vehicleto
allowed toisrotate
assumed
rotate about
about be aa to
to itself
itself point
to orient
point
orientlike
likealong
alongobject
objectthe
the (particle),
path
path in
(particle),
in it
the
it
the
raux
raux et al.
al. (1999),
(1999), Ramirez and Agarwal
Agarwal (2004) haveeffectively
presented is
is allowed
allowed
direction of to
to rotate
rotate
the goal about
about
point. itself
itself
However, to
to orient
orientin a along
along the
the
real-world path
path in
in
car, the
the
this
an
raux
an approach
et
approach wherein
wherein differential
Ramirez and
differential flatness
flatness cancan
(2004)
can be used
have
be used
used presented
effectively is allowedoftothe
direction rotate
goal about
point. itself
However, to orient in a along the path
real-world in this
car, the
an an approach
approach wherein
wherein differential
differential flatness
flatness can be
be used effectively
effectively direction
direction
is not the ofcase.
of the That
the goal point.
goal point.
is why However,
However,
the purely in geometric
in aaa real-world
real-world car, this
car,
techniquesthis
anto find solution
approach
to find
find solution of
whereinthese systems.
differential
of these
these The
systems. flatness important aspect
can be aspect
The important
important of differ-
used effectively
of differ-
differ- direction
is not the ofcase.
the That
goal point.
is why However,
the purely in geometric
real-world car, this
techniques
to solution of systems. The aspect of is
is not
not
developed the
the case.
case.
in That
That
motion is
is why
why the
the purely
purely geometric
geometric techniques
techniques
to to find
ential
find
ential solution
flatness
solution
flatness of
of these
approach
these
approach systems.
is that
systems.
is that it
itThe
can
The
can important
be used
important
be used to
toaspect
aspect of
generate
of
generate differ-
con-
differ-
con- is not the case.
developed in That planning
motion is why thefor
planning for holonomic
purely
holonomicgeometric systems
systems do
techniques
do not
not
ential flatness approach is
is that it
it can
can be
be used
used to generate con- developed
developed in
in motion planning for holonomic systems do not
entialinputs
trol
ential
trol flatness
flatness
inputs approach
without
without numerical
approach is
numericalthat approximations
that it can be
approximations used toand
toandgenerate con-
integration
generate con-
integration apply
apply directly
developed
directly in motion
to
motion
to planning
planning for
nonholonomic
nonholonomic ones.
for
ones. holonomic
In
In nonholonomic
holonomic
nonholonomic systems do
do not
systems model,
model,not
trol inputs without numerical approximations and integration apply
apply directly
directly to nonholonomic ones. In nonholonomic model,
trol
of
trol
of the inputs
the system
inputs
the system without numerical
differential
without numerical
differential approximations
equations. In
approximations
equations. simple
simple and
In simple and integration
terms, flatness
integration
terms, flatness the
apply
the directly to
constraints
constraints are
to
arenonholonomic
applied
nonholonomic
applied and
and the
theones.
ones. smooth
smoothIn
In nonholonomic
path
nonholonomic
path is
is planned
planned model,
from
model,
from
of the system differential equations. In terms, flatness the
the constraints
constraints are
are applied
applied and the
and the smooth pathone is planned
planned from
of of the
represents
represents system
system differential in
controllability
differential
controllability equations.
nonlinear
equations.
in nonlinear Insystems
In simple as
simple
systems terms, flatness
discussed
terms,
as flatness
discussed in
in start
the
start to
to the
constraints
the goal
goal point.
are
point. The
applied
The and the smooth
resultant
resultant path
smooth
path is
is path
the
pathone
the is that
is planned
that an
an from
actual
from
actual
represents controllability in nonlinear systems as discussed in start
start
car to
to
can the
the goal
goal
follow. point.
point.
The The
The
steeringresultant
resultant
method path
path is
is
gives the
the one
one
aa controlthat
that an
an actual
actual
represents
Ramirez
represents
Ramirez and
andcontrollability
Agarwal
controllability
Agarwal in
(2004).
in
(2004). nonlinear
nonlinear systems
systems as
as discussed
discussed in
in start
car to the
can goal point.
follow. The The resultant
steering method path is the
gives one thatalgorithm
control an actual
algorithm
Ramirez
Ramirez and and Agarwal
Agarwal (2004). car
car can
can follow.
follow. The
The steering
steering method
method gives
gives aa control algorithm
Ramirez and Agarwal (2004).
(2004). which
car
whichcansolves
follow.
solves this
thisThepath
path planning
steering
planning problem.
method
problem. givesTheThe a control
idea
control
idea in
in algorithm
this work
algorithm
this work
Murray
Murray et et al.
et al. (1994)
al. (1994)
(1994) useuse the
use the ‘chain-form’transformation
the ‘chain-form’transformation
‘chain-form’transformation and and
and which
which
is to usesolves
solves
cubic this
this path
path
spline planning
planning
based problem.
problem.
interpolation The
The
for idea
idea in
in
trajectory this
this work
work
gener-
Murray
Murray et al. (1994) use the ‘chain-form’transformation and which
is to usesolves
cubic this path
spline planning
based problem.
interpolation The
for idea in
trajectory this work
gener-
find
Murray
find the
the solution
et al.
solution to
(1994)
to the
use
the motion
the
motion planning problem
‘chain-form’transformation
planning problem by
by using
and
using is
is to
to
ation. use
use
As cubic
cubic
oppose spline
spline
to based
based
aa standard interpolation
interpolation
cubic for
for
polynomial trajectory
trajectory gener-
gener-
interpolation,
find
find the solution
theinputs
solution to
to the
the motion
motion planning
planning problem
problem by using
bysignals.
using is to use
ation. As cubic
oppose spline
to based interpolation
standard cubic for trajectory
polynomial gener-
interpolation,
control
find
control the solution
inputs which
to
which are
the
are integrally
motion
integrally related
planning
related sinusoidal
problem
sinusoidal by using
signals. ation.
ation.
the As oppose
As
spline oppose to aa standard
to
interpolation standard
is such cubic
cubic
that itspolynomial
polynomial
point values interpolation,
interpolation,
and its first
control
control inputs
inputs which
which canare integrally
are also
integrally related
related sinusoidal
sinusoidal signals.
signals. ation.
the As oppose
spline to a standard
interpolation is such cubic
that itspolynomial
point values interpolation,
and its first
The car type system be shown to be nilpotent as the the
the spline
spline interpolation
interpolation is
is such
such that
that its
its point
point values
values and
and its
its first
control
The
TheThe
car inputs
car
car type
type
which
type system
system
system
are
can
can
can
integrally
also
also
also
be shown
be
be
related
shown
shown
to be
to
to
sinusoidal
be
be
nilpotentsignals.
nilpotent
nilpotent
as the
as
as
the
the
two
the
two derivatives
spline
derivatives (but
interpolation
(but not
not the
is
the third)
such
third)that are
are continuous
itscontinuous
point values at
at the
the its first
andgiven
given ‘n
first
‘n
higher
The
higher order
carorder Lie
typeLie derivatives
system can also
derivatives vanish and
be shown
vanish and the
the paths
topaths can
be nilpotent
can be
be derived
as the
derived two
two derivatives
derivatives
’points. Having (but
(but
zero not
not the
the
second third)
third)
derivatives are
are continuous
continuous
at the at
at the
the
endpoints given
given
makes ‘n
‘n
higher
higher order
order LieLie derivatives
derivatives vanish
vanish and and the
the paths
paths cancan bebe derived
derived two derivatives
’points. Having (but
zero not the
second third)
derivatives are continuous
at the at the
endpoints given
makes ‘n
higher order Lie derivatives vanish and the paths can be derived ’points.
’points.
it natural. Having
Having
It is thezero
zero second
second
smoothest derivatives
derivatives at
at the
the endpoints
endpoints makes
makes
’points.
it natural. Having
It is thezero second of
smoothest of all
derivatives
all possible
possible at theinterpolating
endpoints curves
interpolating makes
curves

 This work
work is
is carried
carried out
out under
under the
the research
research project
project grant
grant sanctioned
sanctioned under it natural.
it
in natural.
the It is
It
sense is the
the smoothest
smoothest of all
of all possible
possible interpolating
interpolating curves
curves
 This
 This work is carried out under theofresearch project grant sanctioned
under
under it
in natural.
the It isthat
sense that it
it minimizes
the smoothest
minimizes of allthe the integral
possible
integral of
of the
interpolating
the square
curves
square of
of
theThis
the work
WOS-A is
is carried
workscheme by out
by under
under the
Departmenttheofresearch
Science project
Science and grant
grant sanctioned
and Technology (DST), under
(DST), Govt. in
in the sense that it minimizes the integral of the square of
in the sense that it minimizes the integral of the square of
the sense that it minimizes the integral of the square
 WOS-A
This scheme
carried Department
out research Technology
project sanctioned Govt.
under
the
the WOS-A
WOS-A scheme by Department of Science and Technology (DST), Govt. of
of WOS-A scheme by Department of Science and Technology (DST), Govt.
of India.
theIndia. scheme by Department of Science and Technology (DST), Govt.
of
of India.
India.
of India.
Copyright
2405-8963 ©
Copyright 2016
2016 IFAC
© 2016, 601
IFAC (International Federation of Automatic Control)
IFAC 601 Hosting by Elsevier Ltd. All rights reserved.
Copyright
Copyright ©under
Peer review© 2016 responsibility
IFAC 601Control.
Copyright © 2016
2016 IFAC
IFAC 601
of International Federation of Automatic
601
10.1016/j.ifacol.2016.03.121
IFAC ACODS 2016
602 RaheeWalambe et al. / IFAC-PapersOnLine 49-1 (2016) 601–606
February 1-5, 2016. NIT Tiruchirappalli, India

the second derivative, thus giving a smoother and optimized


trajectory.
In this work, we combine the optimization of the path with
spline interpolation to generate trajectories. Initially, we de-
signed the trajectories using cubic polynomial interpolation.
The singularities which arise in the flatness based planning are
handled by time-reparameterization Pedrosa et al. (2003). This
does not provide solution for all cases of angular constraints.
Hence we formulated SIP(Semi -Infinite) optimization problem
which is used for finding the optimized (Minimal length) path.
In our case, the objective being minimization of the length of
the path. It is observed that this optimized cubic polynomial
formulation does not generate the trajectories in certain com- Fig. 1. Generalised co-ordinates of car-type robot
binations of the initial orientation θ0 and final orientations θ f
(e.g. parallel parking scenario where the θ0 and θ f are same). Where
In such cases, the singularities arise which do not give us the dx
required trajectories. Hence we implemented the spline inter- = u1 cos θ (3)
dt
polation based trajectories which overcome this optimization dy
singularity problem and generate smooth and continuous paths. = u1 sin θ (4)
dt
Another contribution lies in designing of spline interpolation
itself which generate the slopes at the start and end points For a car-type robot, the nonholonomic conditions arise because
through the optimization of the above stated SIP problem. We of pure rolling and no slipping constraint on the wheels. Pure
generate the slopes at the knot points (start and end) through rolling implies that the wheels do not slip longitudinally, i.e
the optimization of the objective function. along the direction of motion and no slipping implies that the
wheels do not slip transversally. As a consequence, any path
The paper is organized as follows: Section 2 presents the planned in the work space does not necessarily give a feasible
nonholonomic model of the car. Section 3 discusses differential path for the system.
flatness based nonholonomic motion planning for a kinematic
car in detail. For this class of systems, some singularities are By setting the lateral velocities of the rear wheels to zero and
always associated with differential parameterization provided applying the rigid body constraints of the car we get the state
by flatness property. A property called ‘time-reparameterization space model of the car as:
’shown in Rouchon et al. (2011), Ramirez and Agarwal (2004)      
ẋ cos θ 0
is used for handling such singularities. This is discussed in  ẏ   sin θ  0
section 4 which is based on path planning between any two θ̇  =  tan φ  u1 + 0 u2 (5)
l
points using optimization and spline interpolation. The specific φ̇ 0 1
work in this area is highlighted in this section. Hardware
implementation on 1:10 scale down model is discussed in where u1 and u2 are the control inputs. Besides the nonholo-
section 5 along with results. Section 6 discusses the conclusion. nomic constraints, the steering angle of the car (and hence
it’s turning radius) is restricted to a limiting value due to the
mechanical limitation of steering mechanism of the car and is
2. NONHOLONOMIC MODEL OF A CAR-TYPE ROBOT given by:
|φ | ≤ φmax (6)
The kinematic model of a car is derived using the assumption
of pure rolling which imposes velocity level constraints which where φmax is strictly positive. Fig 1(b) shows the 1:10 scaled
are ‘non-integrable ’. Such systems are classically known as down vehicle platform for the implementation and testing of the
nonholonomic. In addition to these nonholonomic constraints, algorithms. The car is a Swift2drift model from HPI Racing.
there is a holonomic constraint due to the lower bound on
the turning radius of the vehicle Laumond et al. (1994). It is
important to note that the holonomic realization of a car type 3. FLATNESS BASED TRAJECTORY GENERATION
robot is not possible.
The kinematic car is a flat system where the linearizing output
Let A be a rear wheel driven car-type mobile robot capable is the cartesian coordinates of the mid-point of the rear axle of
of both forward and reverse motion (refer Fig. 1(a)). It is the car. Once the linearizing output (x,y) is determined, the path
modelled as a rigid rectangular body moving in a planar (two- planning problem becomes easy: the reference trajectory as
dimensional) workspace. The rear wheels are fixed and aligned well as the corresponding open-loop control can be expressed
with the car while the front wheels are steerable, i.e. they are in terms of (x,y) and a finite number of its derivatives Rouchon
allowed to spin about the vertical axis. et al. (2011). From the mathematical model of the car-type
It has two controls (linear and angular velocities) while it moves robot, we can determine the path the robot would trace if it were
in a 3-dimensional configuration space given by: subjected to certain control inputs u1 and u2 . However more
often than not in the real world, we come across the situation
q = (x, y, θ ) (1)
where we have the path that the robot should follow (or the
However, control space is 2-dimensional: (u1 ,u2 ) with initial and final configurations from which we generate a path)
 and we have to determine the control inputs that will steer the
u1 = ẋ2 + ẏ2 (2) robot along this path.

602
IFAC ACODS 2016
February 1-5, 2016. NIT Tiruchirappalli, India
RaheeWalambe et al. / IFAC-PapersOnLine 49-1 (2016) 601–606 603

3.1 Differential Flatness 4.2 Parameterized trajectory

The notion of differential flatness was introduced by M. Fliess To avoid the case where the control and state trajectories are
et al Lévine (2009). For the car-like robot, the system is flat undefined, we use parameterized trajectory such that the path
with (x,y) as the flat outputs. The kinematic model of a car-type description is separated from the timing information Pedrosa
robot is given by Equation (5). et al. (2003). Let this parameter be denoted by p (for example
arc length s, or a normalized variable τ) and let p = p(t)
All the variables are time dependent. It can be seen from the
be the time history along the trajectory. Therefore the desired
model in Equation (5) that,
 output trajectory is expressed in terms of this path parameter as
u1 = ± ẋ2 + ẏ2 (7) (x(p), y(p)) where p itself is some function of time t. Therefore
the choice of sign depending upon whether we want forward now,
motion (+ sign) or reverse motion (− sign). dx(p) dp
ẋ(t) = · (13)
dp dt
θ = atan2 (ẏ, ẋ) (8) Similarly,
dy(p) dp
which gives us the correct quadrant in which θ lies 1 . ẏ(t) = · (14)
dp dt
and the pseudo-velocity Luca et al. (1998) command is given
ẋÿ − ẏẍ by,
φ = tan−1 l 3 (9) 
(ẋ + ẏ) 2 u1 (p) = ± x (p)2 + y (p)2 (15)
... ...
 (ẋy − xẏ)(ẋ2 + ẏ2 ) − 3(ẋÿ − ÿẋ)(ẋẍ + ẏÿ)
u2 = l ẋ2 + ẏ2 (10) where prime denotes differentiation with respect to path param-
(ẋ2 + ẏ2 )3 + l 2 (ẋÿ − ẍẏ)2 eter. The actual linear velocity is then given as,
Thus we observe from equations (7) through (10) that both 
the control inputs u1 and u2 and state variables θ and φ can u1 (t) = ± ẋ(t)2 + ẏ(t)2
be expressed in terms of the flat outputs and their derivatives.  (16)
Therefore with the knowledge of the output trajectory of the = ± x (p)2 ṗ(t)2 + y (t)2 ṗ(t)2
robot, i.e. the desired path of the robot in terms of the Cartesian
position of the rear wheels (x(t), y(t)), we can compute the dp
control inputs required to reproduce the desired output trajec- u1 (t) = u1 (p) (17)
dt
tory. These depend upon the output trajectory and its third order
derivatives. Hence in order to guarantee its exact reproducibil- Hence, to get
ity, the cartesian trajectory should be three times differentiable u1 (t˜) = 0 for some t˜ ≥ t0
almost everywhere Luca et al. (1998). we set, 
dp 
4. PATH PLANNING BETWEEN TWO POINTS IN = 0 with u1 (p) = 0
OBSTACLE-FREE SPACE dt t=t˜
⇒ x (p) = 0 ; y (p) = 0 ∀p ∈ (0, 1)
4.1 Trajectory Planning and hence the desired orientation, which is then computed as,
θ (p) = atan2 (y (p), x (p)) (18)
The aim of the path planning problem is to determine a path
in configuration space to move the robot from the starting is always well defined. Similarly zero velocity singularities are
position to the goal position while avoiding collisions with avoided in the expressions of φ and u2 .
objects in its workspace. Based on the flat variables, x and y,
given the initial Choice of parameter p We choose p to be a normalised
 and final
 configurations of the car, we construct variable expressed as a polynomial function in time. p being
trajectories x(t), y(t) in time. We assume x(t) and y(t) as
cubic polynomials of the order 3. a normalised variable takes values in the interval [0, 1], with
the mapping between p and t being such that:
when t = 0 → p = 0 (19)
x(t) = a0 + a1t + a2t 2 + a3t 3 (11) and when t = t f → p = 1 (20)
2 3
and y(t) = b0 + b1t + b2t + b3t (12) All other values 0 < t < t f are mapped to corresponding values
in 0 < p < 1. Secondly there is one-to-one mapping between
where a0 , a1 , a2 , a3 and b0 , b1 , b2 , b3 are constants. However the state trajectories in p-domain and t-domain. Which means
the drawback of this construction is that the system is not first that at any time instant t = t˜ such that 0 ≤ t˜ ≤ t f
order controllable at the initial and final points Lévine (2009).
This is because speed of the vehicle is 0 at these points, ⇒ ẋ = 0 x(t˜) = x(p(t˜))
and ẏ = 0. From Equations (8), (9) and (10) it is evident that u2 , y(t˜) = y(p(t˜))
θ , and φ are not defined at these points. As a consequence we θ (t˜) = θ (p(t˜))
are unable to account for the initial and final orientations of the φ (t˜) = φ (p(t˜))
car (θ0 and θ f ) and initial and final steering angles (φ0 and φ f )
in the construction
 of the trajectory. In fact for any point on the As seen in Equation (18) to set velocity to 0 we set ṗ = 0.
trajectory x(t˜), y(t˜) at an instant 0 ≤ t˜ ≤ t f , the control and Similarly it can be proved that to set acceleration to 0 we have
state trajectories are not defined when u1 (t˜) = 0. to set p̈ = 0. Thus we take p as a 5th order polynomial in t –
1 θ ∈ [−π, π] p(t) = α0 + α1 t + α2 t 2 + α3 t 3 + α4 t 4 + α5 t 5 (21)

603
IFAC ACODS 2016
604 RaheeWalambe et al. / IFAC-PapersOnLine 49-1 (2016) 601–606
February 1-5, 2016. NIT Tiruchirappalli, India

to satisfy the following initial and final conditions of position, using an optimization routine. Our objective is to minimize the
velocity and acceleration – length of the path. Hence our objective function is:
 1
p(0) = 0, p(t f ) = 1
min ẋ2 (p) + ẏ2 (p) dp (25)
ṗ(0) = 0, ṗ(t f ) = 0 0
p̈(0) = 0, p̈(t f ) = 0 For the sake of simplicity we use the objective function Egerst-
edt et al. (1997):
Solving for the coefficients we get  1
10 15 6 min (ẋ2 (p) + ẏ2 (p)) dp (26)
p(t) = 3 t 3 − 4 t 4 + 5 t 5 (22) 0
tf tf tf The equivalence of (25) and (26) can be proved as per Lau-
mond et al. (1994). The constraints are the initial and final
Parameterized polynomial Now we define the flat outputs x configurations and the limitation on steering angle given as
and y to be polynomial of cubic order of p. Therefore let, |φ (p)| ≤ φmax ∀p ∈ [0, 1].
x(p) = a0 + a1 p + a2 p2 + a3 p3 (23)  
Thus given the initialconfiguration x(0), y(0),
 θ (0), φ (0) and
andy(p) = b0 + b1 p + b2 p2 + b3 p3 (24) final configuration x(1), y(1), θ (1), φ (1) , the optimization
Thus subjecting them to initial conditions (x0 , y0 , θ0 , φ0 ) and problem can be stated as:
final condition (x f , y f , θ f , φ f ) 2 and solving for the coefficients  1
we get: min (ẋ2 (p) + ẏ2 (p)) dp (27)
0
λ2 3 λ2 (∆y − λ3 ∆x) 2 subject to the constraints
a + a1 +
3 1 λ3 − λ1 

 x(0) = x0
3(∆y − λ1 ∆x)(λ3 ∆x − ∆y) 

(λ1 ∆x − ∆y)a1 + =0 
 y(0) = y0
λ3 − λ1 
 dy
dx (0) = tan θ0 (28)
λ2 3(∆xλ3 − ∆y)  x(1) = xf
a2 = · a2 − 2a1 + 

λ3 − λ1 1 λ3 − λ1 

 y(1) = y f

 dy
a3 = ∆x − a1 − a2
dx (1) = tan θ1
a0 = x0 This problem is called a semi-infinite programming (SIP) prob-
b3 = ∆y − λ2 a21 − λ1 a1 − λ1 a2 lem, since it is an optimization problem with finite number
b2 = λ2 a21 + λ1 a2 of variables, a0 , a1 , a2 , a3 , b0 , b1 , b2 , b3 and infinite number of
constraints,|φ (p)| ≤ φmax ∀p ∈ [0, 1].
b1 = λ1 a1
b0 = y0
The problem can also be solved for any twoarbitrary initial and
where final conditions x(p0 ), y(p0), θ (p0 ), φ (p0 ) and

λ1 = tan θ0 x(p f ), y(p f ), θ (p f ), φ (p f ) .
tan θ0 sec3 θ0
λ2 = Spline Interpolation The above trajectory planning with opti-
2l
mization does not generate solutions for certain configurations
λ3 = tan θ f
of start (θ0 ) and end (θ f ) orientations, specifically in cases
∆x = x f − x0 where the two orientations are parallel (and anti-parallel) to
∆y = y f − y0 each other. To overcome this drawback, spline based trajec-
tories were developed. The basic structure of the polynomial
Optimisation of trajectory
  We thus have a third order remains same as Equations (11) and (12). However, the method
polynomial path x(p), y(p) which satisfies the nonholo- of calculation of coefficients changes. The data required to
nomic constraints
 of the vehicle  and links the initial con- construct the polynomial joining the configuration (x0 , y0 , θ0 , 0)
figuration
 x(0), y(0),θ (0), φ (0) to the final configuration and (x f , y f , θ f , 0) as the parameter p varies from 0 to 1 is x(0),
   
x(1), y(1), θ (1), φ (1) in an obstacle free environment. If we dx dx dy dy
 x(1), y(0), y(1), dp  p=0 , dp  p=1 , dp  p=0 and dp  p=1
consider any arbitrary initial
 configuration x(p0 ), y(p0 ), θ (p0 ), 0
dx dy
But the initial and final values of dp , dp are not known. However
and finalconfiguration  x(p f ), y(p f ), θ (p f ), 0 , then the feasi- dy
ble path x(p), y(p) joining these two points in free space can we do have the value dx = tan θ at p = 0 and p = 1. Expanding
be can be obtained by similar analysis. However it does not by chain rule
necessarily satisfy the curvature constraints, i.e. upper bound dy dy/dp
(φmax ) on steering angle φ (p), ∀p ∈ [0, 1]. If the constraint on φ = (29)
dx dx/dp
is violated, the vehicle will not be able to execute the desired Consider two arbitrary constants k0 and k f and let us re-write
trajectory when subjected to the corresponding control inputs the above expression as
u1 and u2 . Also the path generated by this analysis need not 
necessarily be the path of minimum length. Hence in order to dy/dp  k0 · tan θ0
 = (30)
generate a path which does not violate the constraint on φ and dx/dp p=0 k0
is of minimal length, we modify the coefficients a0 , . . . , b3 by Thus we take
dx 
2 assuming φ0 = φ f = 0 for simplicity
= k0
dp p=0

604
IFAC ACODS 2016
February 1-5, 2016. NIT Tiruchirappalli, India
RaheeWalambe et al. / IFAC-PapersOnLine 49-1 (2016) 601–606 605

and
dy 
= k0 · tan θ0
dp p=0
Similarly
dx  dy 
= k f and = k f · tan θ f
dp p=1 dp p=1
Now all the coefficients of x(p) and y(p) can be written in
terms of k0 and k f . Starting with k0 = k f = 1, we solve
the optimization problem minimizing the objective function
in Equation (27) subject to the constraint |φ | < φmax ∀p ∈
[0, 1]. After implementation of the optimization routine we get
refined values of k0 and k f from which we can determine the Fig. 2. Hardware Setup Consisting of Swift2Drift car model,
coefficients a0 , . . . , b3 . The path (x(p), y(p)) thus obtained is driving motor driver and navstik board
of minimal length and satisfies the curvature constraints of the
car-type robot(for S2D φmax = 28o ).

Flowchart
(1) Input start pose and goal pose from user.
(2) Define total time of travel (tend ).
(3) Determine p(t) as in Equation (22).
(4) Define spline based trajectory as in Equations (23) and
(24).
(5) Calculate the coefficients of x(p) and y(p) by the opti-
mization method discussed above.
(6) Calculate u1 (p) and u2 (p) for all p ∈ [0, 1].
(7) Determine the control inputs as
u1 (t) = u1 (p) · ṗ(t)
and
u2 (t) = u2 (p) · ṗ(t)
for t ∈ [0,tend ].
(8) Generate corresponding PWM signals for the driving and
steering motor controllers.

5. HARDWARE IMPLEMENTATION

The car type robot platform used for the hardware realization
is developed by HPI racing. The Swift2Drft(S2D) Radio Con-
trolled vehicle is employed for the experimentation purpose. Fig. 3. Example 1: Trajectory generated by spline interpolation
The Navstik Ivy Pro board (www.navstik.org) is used as the
navigation platform. The Radio Control of S2D is eliminated
and replaced by the flatness based motion planner running on
navstik. It consists of a number of sensors mounted on a PCB
with Cortex M4 Processor running the Pandapilot RTOS. The
hardware implementation consisted of generating the control
inputs to the motor drivers in the form of PWM pulses. The
motion planner discussed so far generates the driving velocity
u1 and steering angle φ for a number of way points in the spline
based trajectory. The u1 and φ are represented in the PWM
duty cycles and the corresponding PWM pulses are given to the
driving motor driver (Nex Robotics) and steering motor driver.
The vehicle steers according to this trajectory and generates the Fig. 4. Example 1: Path parameters with spline based trajectory
paths in real world. Fig. 2 shows the hardware setup. work is focused on the development of feedback controller
Fig. 5 and Fig. 8 show the real world trajectories generated design and implementation.
for the two test cases presented in matlab simulation results.
In case I, the initial pose is : (0.5,0.3,0) and final pose is : 6. CONCLUSION
(8.8,2.5,0). In case 2, the initial pose is : (1, 2, 0) and final
pose : (8,9,-40). It can be seen that the trajectories generated The paper presented the work carried out towards the devel-
in simulation and in hardware are not exactly matching. The opment of an algorithm for the smooth and continuous path
primary reason being that the control is open loop and there is generation for a car type robot. Nonholonomic motion plan-
no feedback based controller implemented yet. The nonlinear ning generates accurate and smooth trajectories whereas using
feedback controller will improve the hardware results. Current differential flatness, control inputs are generated with actual

605
IFAC ACODS 2016
606 RaheeWalambe et al. / IFAC-PapersOnLine 49-1 (2016) 601–606
February 1-5, 2016. NIT Tiruchirappalli, India

Fig. 5. Example 1: Hardware realization of trajectory on a 1:10 Fig. 8. Example 2: Hardware realization of trajectory on a 1:10
car prototype car prototype
REFERENCES
Balch, T. (1996). Grid-based navigation for mobile robots. The
Robotics Practitioner, 2.
Dubins, L.E. (1957). On curves of minimal length with a
constraint on average curvature and with prescribed initial
and terminal positions and tangents. American Journal of
Mathematics, (79), 497 – 516.
Dubins, L.E. (1961). On plane curves with curvature. Pacific
Journal of Mathematics, 11(2), 471 – 481.
Egerstedt, M., Hu, X., Rehbinder, H., and Stotsky, A. (1997).
Path planning and robust tracking for a car like robot. In
Proceedings of the 5th Symposium on Intelligent Robotic
Systems.
Lamiraux, F., Sekhavat, S., , and Laumond, J.P. (1999). Motion
planning and control for hilare pulling a trailer. IEEE
Transactions on Robotics and Automation, 15(4), 640–652.
Latombe, J.C. (1991). Robot Motion Planning. Kluwer Aca-
demic Publishers, Boston.
Laumond, J.P., Jacobs, P.E., Taix, M., and Murray, R.M. (1994).
A motion planner for nonholonomic mobile robots. IEEE
Transactions on Robotics and Automation, 10(5), 577–592.
Lévine, J. (2009). Analysis and Control of Nonlinear Systems-
A Flatness-based Approach. Springer.
Fig. 6. Example 2: Trajectory generated by spline interpolation Luca, A.D., Oriolo, G., and Samson, C. (1998). Feedback con-
trol of a nonholonomic car-like robot. In J.P. Laumond (ed.),
Robot Motion Planning and Control, 171 –254. Springer.
Murray, R.M., Li, Z., and Sastry, S.S. (1994). A Mathematical
Introduction to Robotic Manipulation. CRC Press.
Pedrosa, D.P.F., Medeiros, A.A.D., and Alsina, P. (2003). Ieee
conference on robotics and automation (icra).
Ramirez, H.S. and Agarwal, S. (2004). Differentially Flat
Systems. CRC Press.
Reeds, J.A. and Shepp, L.A. (1990). Optimal paths for a car
that goes both forwards and backwards. Pacific Journal of
Mathematics, 145(2), 367 – 393.
Rouchon, P., Fliess, M., Levine, J., and Martin, P. (2011). Flat-
Fig. 7. Example 2: Path parameters with spline based trajectory ness and motion planning : the car with n trailers. Automat-
ica.
integration of system differential equations. To avoid the singu- Tilbury, D., Murray, R., and Sastry, S.S. (1995). Trajectory
larities observed in the cubic polynomial based trajectories, the generation for the n-trailor problem using goursat normal
spline based trajectories are implemented. The difference in the form. IEEE Transactions on Automatic Control, (5).
simulation and hardware results is due to absence of feedback
controller. Current work is focused in that direction.

7. ACKNOWLEDGMENT

This work is sponsored by Department of Science and Tech-


nology (DST), Govt. of India under the research project grant
sanctioned under the WOS-A scheme.

606

You might also like