ATT13 Iecon
ATT13 Iecon
ATT13 Iecon
Abstract—In this article, a robot motion planning scheme for and a lower level using a potential-field based control method
3D-terrains is developed. Given the terrain profile and various to track it. Eathakota et al. [11] use a variable of RRT’s
obstacles on it, a navigation function is created. A geodesic to produce a slipping free trajectory for a wheeled mobile
based shortest path algorithm is developed to find the optimal robot. Waheed and Fotouhi [12] use a path planning method
lengthwise path towards the goal position. The path is then based on cubic splines with a trajectory generation method to
converted into a continuous smooth trajectory via an optimization
scheme relying on a Bézier curve parametrization that satisfies
calculate the velocity profile for each spline segment for indoor
the robot’s kinodynamic constraints. The efficacy of the proposed environments. Singh et al. in [13] use a two-stepped control
method is tested in various simulation studies. strategy to navigate a wheeled robot in a free configuration
space, where they create a trajectory by ignoring the vehicle
dynamics, and then employ a non-linear scaling transformation
I. I NTRODUCTION to satisfy stability constraints such as no-slip and permanent
Area surveillance and patrolling, exploration of unknown ground contact. Tahirovich and Magnani in [14] propose a
and/or hazardous environments, search and rescue missions, passivity-based non-linear model predictive controller as an
are applications of mobile robots that demand a motion plan- extension of the Dynamic Window Approach for navigation
ning [1] algorithm. The area of motion planning has been on rough terrains. Miro et al. [15] propose a fast marching
extensively researched over the recent decades and extensive algorithm to utilise with a kinodynamic metric to calculate a
results have appeared [2]. Khatib in [3] proposed the idea stable path. In most of these cases, a distinguished vehicle
of Artificial Potential Fields (APFs) created from the envi- design is utilised, resulting into complicated motion planning
ronment’s obstacles and the target area that steer the robot algorithms.
towards a desired position; within the APF-theory the notion of The main novelty of the present case study is a layered
a steering function for guiding a mobile robot is encountered. method to solve the motion planning problem of a differential
Rimon and Koditschek [4] focus on the navigation function drive robot in 3D-terrains. Initially, a simple geodesic based
and Borenstein and Koren [5], propose the use of vector field navigation function is utilised that solves the path planning
histogram which steers the robot towards the direction of low problem and creates a collision free path. Then a trajectory
obstacle density areas. Kavraki et al. [6] propose the creation extraction method based on Bézier curves [16] generates the
of a graph whose nodes are collision free configurations and its trajectory (from the path), ensuring that the resulting (angu-
edges are paths between these configurations followed by the lar/linear) velocities are well within the velocity feasible area
use of a query method to find a feasible path between the start of the robot, while remaining close to the original path.
and goal node. Kuffner and LaValle [7] propose the creation of
two Rapidly-exploring Random Trees (RRT) both at start and The paper is structured as follows: In Section II the
goal position, which explore free space and advance towards path planning algorithm is presented followed by the Bézier-
each other with the help of a greedy heuristic. curve based trajectory generation method in Section III. In
Section IV multiple simulation results that prove the efficacy
Most of the encountered motion planning works have been of the proposed scheme are offered, while in Section V,
implemented for navigation on planar (2D) terrains. To account conclusions are drawn.
for the robot’s velocity and acceleration constraints the notion
of Kinodynamic Motion Planning [8] is introduced. II. G EODESIC -M ETRIC PATH P LANNING
Recently, there has been an effort to extend these theories A. Mathematical Preliminaries
for 3D-terrains to account for other issues such as slippage,
Consider a smooth Riemannian 2D-manifold in Ω ⊂ ℜ3 ,
maximum inclination that ought to be considered. Page et al.
described by:
in [9] propose the use of Artificial Potential Fields method
H(x, y, z) = 0 . (1)
on 3D-terrains to avoid: a) ridges in the covert path case,
and/or b) valleys in the surveillance path case. Iagnema et Rather than using the Euclidean metric to define the distance
al. [10] propose a layered control strategy with a high level between two points on H, the more appropriate Geodesic met-
layer creating the desired trajectory represented via waypoints ric, dg (X1 , X2 ) can be utilized, defined as the infimum of the
Authorized licensed use limited to: COVENTRY UNIVERSITY. Downloaded on June 12,2020 at 05:42:18 UTC from IEEE Xplore. Restrictions apply.
length Lg taken over all continuous, piecewise continuously To compute the desired path with the shortest length, the
differentiable curves γ(s) : [a, b] → Ω such that γ(a) = X1 utilization of the deepest gradient descent method generates
and γ(b) = X2 . The length Lg in this case can be defined as: the j-th path point, Xj , as:
Z b ∇φ
Xj = Xj −1 − α , j = 1, . . . , Ñ ,
q
(4)
Lg (γ) = gγ (γ̇(t), γ̇(t))dt , (2) k∇φk
a
where 0 < α corresponds to a small step-size.
where gγ is a Riemannian metric. A Riemannian metric gγ
is a differentiable map γ 7→ gγ : Tγ Ω × Tγ Ω → ℜ, where
III. K INODYNAMIC T RAJECTORY G ENERATION
Tγ Ω is Ω’s tangential space, such that gγ is: 1) Bilinear:
gγ (αY1 + βY2 , Y3 ) = αgγ (Y1 , Y3 ) + βgγ (Y2 , Y3 ), 2) Sym- The path points, Xj , found from the geodesic path planning
metric, gγ (Y1 , Y2 ) = gγ (Y2 , Y1 ), and 3) Positive Definite, algorithm provide a discrete description of the path. A trajec-
gγ (Y, Y ) > 0 for Y 6= 0. tory generation algorithm must be then utilised, that will meet
the kinodynamic constraints imposed by the wheeled robot and
A manifold is considered compact in a topological sense; that the resulting trajectory will be a smooth continuous curve.
in our case in a simplified interpretation let the projection of Ω
on the xy-plane be projxy (Ω) ⊂ ℜ2 , then the projection of any
minimum length geodesic curve on Ω between any two points A. Robot’s Kinodynamic Model
X1 , X2 ∈ Ω should belong to projxy (Ω) ⊂ ℜ2 . Two distinct A differential drive robot is assumed with its kinematic
cases of a compact and a non compact manifold appear in equations be defined as:
Figure 1. "
ẋ cos(θ) 0
#
ẏ = sin(θ) 0 υ
, (5)
ω
θ̇ 0 1
where υ(ω) is the tangential(angular) velocity of the robot,
x(y) is the horizontal(vertical) displacement, and θ ∈ [−π, π]
is the heading of the robot. In a differential drive robot, its
motion is directly controlled by the right υR and left υL wheel
velocities of the vehicle’s two motor wheels, which affect the
following expressions for υ and ω, as:
υL + υR
υ = , (6)
2
υR − υL
ω = , (7)
λ
where λ is the distance between the two wheels. The velocity
constraints depend on the maximum allowable velocities of
the two wheels. Given that υL (υR ) ∈ [−υmax , υmax ], hard
velocity bounds are:
υ ∈ [−υmax , υmax ] , (8)
2υmax 2υmax
ω ∈ [−ωmax , ωmax ] = [− , ]. (9)
λ λ
Fig. 1. Compact [top] and non-compact [bottom] manifolds
The feasible kinodynamic area (ω × υ) within which a
differential–drive motor can operate is (ω×υ) = ± λ2 (υ±υmax;
depending on the sign, the area’s four boundary edges can be
B. Geodesic Based Path Planning computed.
A closed (with boundary) compact smooth Riemannian B. Bèzier Curve Based Trajectory Optimization
2D-manifold Ω is a typical configuration space of mobile
robots that move on 3D-terrains. The robot’s motion on this Based on the kinodynamic model of the robot (5-7) and its
manifold can be occluded by: a) obstacles, or b) areas where constraints, the trajectory generation method can be derived
the slope of the surface becomes too steep thus increasing the relying on Bèzier curves [17, 18]. Given n + 1 3D-control
slippage and possible overturning. These areas are removed points (P0 , P1 ...Pn ), the n-th order Bèzier curve [19] is given
from the manifold thus possibly resulting in a non-convex non- from:
compact manifold, Ψ = Ω \ Σ, where Σ corresponds to the Xn
n
union of all restricted regimes. P (t) = (1 − t)n−i ti Pi , t ∈ [0, 1] . (10)
i=0
i
Let the robot’s position be X = (x, y, z) ∈ Ψ, and its
target position PT , then the robot’s navigation function is: If the curve must be traversed in time τ ∈ [τ0 , τf ] then t
is given from t = ττf−τ 0
−τ0 . Bèzier curves have two distinct
φ = dg (X , PT ) . (3) properties: 1) the starting and ending segment of the curve
4145
Authorized licensed use limited to: COVENTRY UNIVERSITY. Downloaded on June 12,2020 at 05:42:18 UTC from IEEE Xplore. Restrictions apply.
is tangent to the first (P0 P1 ) and last (Pn−1 Pn ) edges, and 2) coordinate is calculated then from equation (1) (projection of
P (t) ∈ convex hull(P0 , P1 ...Pn ). the 2D-trajectory back to the manifold).
The created trajectory must be accurate relative to the The length of each dual-projected Bezier-based curve is
initial path whilst smoothing out any sharp turns caused by given from,
the navigation function. For this reason, a segmented trajectory Z 1q
is created, consisting of sequential third order Bèzier curves, Li = ẋ2i (t) + ẏi2 (t) + żi2 (t)dt , (15)
an extension in 3D-space of the proposed method introduced 0
in [20]. while its curvature is:
−
Given the path’s points Xi , i = 1, . . . , Ni (Ni ≤ Ñ ), two
d→
T i
control points Ai+1
i , Bii+1 are introduced for each Xi Xi+1 κi =
, (16)
segment, as shown in Figure 2. These control points are
ds
selected as, →
−
where T is the unit tangent vector of the curve and s is the
Ai+1
i li1
= Xi + (Xi+1 − Xi ) , (11) arc length parametrization.
Bii+1 = Xi+1 + li2 (Xi+1 − Xi+2 ) . (12) Given the time-parametrization of the curve, (16) is:
−
These four control points define a specific plane Πi in 3D
d→ d−→
T i
1 ri
space. Whilst this selection ensures that each path point is κi =
− , where →
−
v = . (17)
→
dt
k v k dt
G1 continuous (maintains first order geometric continuity),
the resulting trajectory does not lay on the manifold. The The unit tangent vector can be calculated as:
final trajectory is created in a two-step process; 1) project the
trajectory Ñ -P (t) segments on the xy-plane, and 2) project →
− →
−v
the 2D-trajectory back to the manifold. Ti= − → , (18)
kvk
Equation (10) for n = 3 can be rewritten: and its time derivative:
3
P (t) = (1 − t) Xi + 3(1 − t) t(Xi + 2
li1 (Xi+1
− Xi )) +
→
− d→
−v −→ → dk→
− −
vk
dT i dt k v k − v dt
= , where (19)
3(1 − t)t2 (Xi+1 − li2 (Xi+2 − Xi+1 )) + t3 Xi+1 . (13) dt k−
→
v k2
→
− →
−
dk−
→vk v · ddtv
To simplify the trajectory generation procedure, the nor- = .
kX Ai+1 k dt k−
→vk
malised length ℓi = kXii Xii+1 k is utilised, and the assumption
that kXi Ai+1
i k = kBii+1 Xi+1 k, (li1 = li2 ) is made. Also, the Equations (17) and (19) provide the the curve’s curvature
projection of the Bii+1 control point should be at the semi–axis in 3D-space. This curvature κi of the 3D-curve lying on the
Ai+1
i Xi+1 , or 2D-manifold can be further split into
−−i+1
−−−−−−−−−→ −−−−−−−→
q
Ai proj(Bii+1 ) · Ai+1 Xi+1 ≥ 0 , (14) κi = (κgi )2 + (κni )2 , or (20)
i
in order to avoid self–loops of the Bèzier. 1) the normal curvature κn which corresponds to the curva-
ture’s segment due to the manifold
Bii +1 →
−
Xi ∇H d T i
Yi κni = · (21)
k∇Hk dt
and 2) the geodesic curvature κg which is the projection on
Aii +1 the tangent plane.
proj (Bii +1 ) X i +1 qi
From equations (20) and (21), the geodesic curvature can
be calculated, parametrized by parameter ℓi . The projection of
Y Aii++12 a geodesic curve onto the tangent plane is a straight line with
zero geodesic curvature. Given the robot’s velocity constraints,
X i +3 a kinodynamic planning must be used for the selection of
parameter ℓi and the time Ti needed to traverse each curve.
X
In general, the requirements for the resulting trajectory are:
i+2 X i+2 1) force the robot in traversing each segment with constant
Bi +1 translational speed, 2) smoothing out any sharp turns while
staying as close as possible to a geodesic curve. These require-
Fig. 2. Bèzier curve’s control points on plane Πi
ments amount to: a) 0 ≤ υ = L Ti ≤ υmax , and b) decrease the
i
4146
Authorized licensed use limited to: COVENTRY UNIVERSITY. Downloaded on June 12,2020 at 05:42:18 UTC from IEEE Xplore. Restrictions apply.
amounts to the following optimization problem for the ℓi - IV. S IMULATION S TUDIES
selection
In this section simulation results which prove the efficacy
ℓi = arg min{max |κgi (t; ℓi )|} (22) of the proposed algorithm are presented. The utilised robot has
velocity constraints υmax = 0.5 m/sec and ωmax = 3 rad/sec.
1
subject to 0 ≤ ℓi ≤ , where (23) The area under investigation is the non compact case of
1 + cos θi Figure 1, which corresponds to four Gaussian distributions,
−−−−−→ −−− −− −−→
Xi Xi+1 Xi+1 Bii+1 or
θi = · . (24)
kXi Xi+1 k kXi+1 Bii+1 k 4
X −
(x−xi )2
2
2σx
−
(y−yi )2
2
2σy
H(x, y, z) = z − Ai e i i ,
The constraint for this non–linear optimization problem is i=1
posed in order to avoid self–loop in the Bèzier curve.
where Ai = {2, 4, 6, 3} , xi = {2, 10, 10, 2} , yi =
The angular velocity of the robot is the rate of rotation {2, 2, 10, 10} , σxi = {1, 1, 2, 1} , σyi = {1.5, 1.5, 2, 1.5} ,
of the heading of the robot around the normal vector of the for i = 1, . . . , 4. The ‘prohibited’ (obstacle) area is marked
surface it moves on. Taking into account that its motion lies by three obstacles bounded by their xy-corners located at
on the tangent plane of this surface, the part of the curvature Obstacle 1: [(5,2);(9,2);(9,4);(5,4)], Obstacle 2: [(5,8);(9,8);(9,
that relates to this rotation is the geodesic curvature (since it 9);(5,9)], Obstacle 3: [(11,5);(13,5);(13,8);(11,8)]. This man-
is the projection of the curvature on the tangent plane), and ifold is constrained in a xy-square of 15 × 15; the target
the angular velocity can be calculated as: position is PT = (10, 12, 3.64), while the robot is initially
at X = (9.8, 1, 3.14).
ωi (t) = υi κgi (t) . (25) In the absence of the obstacles, the geodesic path appears
in Figure 3 with a length of Lg = 14.2m.
Hence the velocity constraints of the robot
4147
Authorized licensed use limited to: COVENTRY UNIVERSITY. Downloaded on June 12,2020 at 05:42:18 UTC from IEEE Xplore. Restrictions apply.
3
−1
−2
−3
0.1 0.15 0.2 0.25 0.3 0.35 0.4 0.45 0.5
Tangential Velocity υ (m/sec)
V. C ONCLUSIONS
In this paper a motion planning algorithm for 3D-terrains
was presented. Firstly a navigation function based on the
geodesic distance for path creation was analysed. The path Fig. 8. Footprint of the Kinodynamicaly Constrained Trajectory for Ni = 14
is transformed into a continuous trajectory via a Bèzier curve
4148
Authorized licensed use limited to: COVENTRY UNIVERSITY. Downloaded on June 12,2020 at 05:42:18 UTC from IEEE Xplore. Restrictions apply.
3
Proceedings. ICRA ’00. IEEE International Conference on, vol. 2, 2000,
pp. 995 –1001 vol.2.
2 [8] B. Donald, P. Xavier, J. Canny, and J. Reif, “Kinodynamic motion
planning,” J. ACM, vol. 40, no. 5, pp. 1048–1066, Nov. 1993.
Angular Velocity ω (rad/sec)
4149
Authorized licensed use limited to: COVENTRY UNIVERSITY. Downloaded on June 12,2020 at 05:42:18 UTC from IEEE Xplore. Restrictions apply.
Powered by TCPDF (www.tcpdf.org)