Expressive_navigation_and_Local_Path-Planning_of_i
Expressive_navigation_and_Local_Path-Planning_of_i
net/publication/311757314
CITATIONS READS
11 616
2 authors:
All content following this page was uploaded by Horatiu George Todoran on 28 June 2018.
−vc
q T
τω0 (t)= τω0 0 (t) τω1 0 (t) τω2 0 (t) τω3 0 (t)
ωwi (t) = 1 + (xwi 2 + yiw 2 )ρc2 − 2ρc (xwi cos(αc ) + yiw sin(αc )) (5)
rw
cos(αwi (t))
(2)
Note that these equations hold for other kinematic ai (t)= sin(αwi (t)) (6)
parametrizations as well as for other mobile platforms (such xw sin(αw (t)) − yiw cos(αwi (t))
i i
as differential drives or Ackermann drives) through trivial A(t)= a0 (t) a1 (t) a2 (t) a3 (t) (7)
variable substitution.
m v cos(αc )
d b c
B. Feed-forward & State-feedback Control b(t)=−rw mb vc sin(αc ) (8)
dt
Ib ωc
Even though it suffices to model the actuators as linear,
the topology of a I4WS presents unavoidable nonlinearities
A(t)τω0 (t) = b(t) (9)
as well as overactuation. Thus, the control scheme employed
uses feed-forward control by making use of the differentially With similar modelling of the actuator, the rotational
flat parameter set p(t) and applies control allocation to cope actuator torque then becomes:
with overactuation. State-feedback is then performed on the
actuators in the form of a linear quadratic regulator (LQG, τωi (t) = τωi 0 (t) + µω ωwi (t) (10)
[8]) with a Kalman-filter based state observer (through the
actuator sensors and an inertial measurement unit – IMU). C. Parametrizations and Motion Models
Keeping in mind the quasi-linearity present in many ac- Due to the nonlinear nature of the geometrical configura-
tuator designs with the motor-shaft torque, the wheel state tion of an IWS, several parametrizations of its kinematic state
required for the controller is thus defined as: are possible and advisable depending on further application.
For example, the parametrization presented in Section IV
T has the advantage of remaining well defined when the
xiw (t) = αwi (t) α̇wi (t) ταi (t) ωwi (t) τωi (t)
(3)
base velocity tends toward 0, simplifying initial conditions
with ταi (t)
and τωi (t)
representing the feed-forward actu- and parametrization switches in the higher-level modules.
ator torques that control the orientation and the respective However, the trade-off lies on the fact that a singularity
rotation of each wheel. is present when performing pure rotation. An alternative
too expensive to evaluate, together with their reduced accu-
racy. This motivates the main approach towards Local Path-
Planning to be based on optimization i.e. MPC. However,
as described in the following, trajectory sampling still has
a role in the planner in order to provide an initial estimate
of the trajectory when optimization reaches a local-minima.
As many of the approach choices are made while being
sensitive to the optimization requirements and bottlenecks,
the optimization problem will be discussed first, followed
ωb ωc by key elements of the Local Path-Planner.
wheel geometry ICC induced ICC A. The optimization problem
Fig. 4. Global Frame considerations; the vehicles body can rotate as well. Theoretically, finding an optimal local trajectory with
respect to a cost and constraints represents a dynamical
would be to use p = [vc , ωb , αc ], (ωb = −vc /rc ) and avoid
optimization problem [9], as presented in canonical form:
the previous singularity. However, this parametrization is not Z t1
defined at vc → 0. This can be exploited by the fact that min J(u(·)) = ϕ(x(t1 ),t1 ) + l(x(t), u(t),t)dt
when the platform stands still, the wheels do not have to u(·) t0
be synchronized in order to achieve a different initial state subject to: ẋ = f(x(t), u(t),t), x(t0 ) = x0
and thus can rotate at full speed. However, this generally ψ(x(t1 ),t1 ) = 0
complicates the control scheme.
h(x(t), u(t),t) 0, ∀t ∈ [t0 ,t1 ] (12)
Other parametrizations can be used by exploiting global
frame characteristics of the kinematics. More intuitively, with the cost functional J(u(·)), the terminal cost
consider the two situations presented in Fig. 4. On the left, ϕ(x(t1 ),t1 ), the Lagrange density function l(x(t), u(t),t) and
the global frame motion of the platform with a fixed wheel the state transition function f(x(t), u(t),t). In practice, the
geometry ICC is shown. The same trajectory can be achieved problem is discretized, resulting in static optimization over
by modifying αc while the wheels stay parallel. This creates finite space:
an induced ICC and the total trajectory motion curvature can min f (x, u) (13)
u∈U
be interpreted as a superposition of the two: ωtra j = ωb + ωc .
subject to g(x, u)=0 (14)
However, the orientation of the platform is influenced only
by ωb . This motivates the parametrization p = [vc , ωtra j , ωb ] h(x, u)0 (15)
due to the parameter decoupling between trajectory and with the cost function f , equality constraints g and in-
orientation of the platform, a fact that is further exploited in equality constraints h.
the Local Path-Planner in order to achieve trajectories with This introduces another dimension to p, its arc
the platform orientation following a focal point. parametrization (Eq. 17). A popular choice for this parameter
The differential equation that models the kinematics of is time and is usually assumed constant (e.g. time between
the platform is presented in Eq. 11, where all variables control-points). As the optimization problem requires at
can be time-dependent. According to the desired accuracy, least the numerical evaluation of gradients, our approach
discretization is achieved through various methods (e.g. Euler has opted towards reduction of the number of parametrized
or Runge-Kutta). control points by optimizing the trajectory arc-length pa-
˙
rameter. Even though most of the approaches take time as
xb vc cos(θb + αc )
yb vc sin(θb + αc ) a parametrization of choice [9], a considerable portion of
the optimization problem for navigation relies on spatial
θb = ωb (11)
information. By choosing sparse arc-length parametrization
rc −vc /ωb
αc ωc (i.e. distance along trajectory), optimization convergence
speed is significantly (∼ 100%) increased.
Considering that the optimization problem requires numer- Considering the piecewise continuous differential charac-
ical evaluation of gradients, the model numerical stability is ter of the system required in the optimization problem of the
of importance. It is worthy to note that discretized motion Local Path-Planner, the kinematics of the parametrized state
models based on circular considerations are not advised, as suffice a constant parameter velocity model (Eq. 16). Even
they present numerical instability when ω → 0. though higher order splines represent an expressive method
Having had an analysis of the I4WS platform and its low- of parametrizing the control points, due to their difficulty
level control, the next Section will discuss the considerations of arc-length computation, trapezoidal interpolation is used
of trajectory planning using MPC. (Fig. 5 – left).
V. LOCAL PATH-PLANNING pi (t) = pi0 + ṗi t, t − bound by piarc (16)
Especially due to the increase of the control parameter p T
space to 3, sole DWA-based sampling approaches become u = p0 p1 p2 parc , parc ∈ {∆t, ∆s} (17)
ωb (t)
equal distance intervals
– initial state
– end state vb (t)
– control point knot
– temporal evaluation point t
0
– arc length evaluation point equal time intervals
B. Trajectory simulation and evaluation • actuator dynamics (temporal, nonlinear for IWS)
As most of the motion models used in navigation are • base dynamics (temporal, varies with parametrization)
nonlinear, evaluation of trajectories implies numerical simu- • maximum prediction time (affine)
lation. Because of this, trajectory simulation (which is used • arc-parametrization non-negativity (affine)
in most of the path-planning approaches [10]) represents a Having already introduced motion-models and costs, algo-
considerable bottle-neck. Thus, a critical point to developing rithm 1 presents the pseudo-code of the trajectory simulator
an efficient path planner revolves in efficiently computing with on-line evaluation. Starting from the initial state x0 ,
and evaluating trajectories as well as balancing desired run- the simulation computes the time interval until the next
time versus simulation accuracy. evaluation point and advances according to the used motion
Due to the model kinematics nature, the typical constraints model (implemented in sim step(x, u[], dt) ). Depending on
are nonlinear and in general finding a piecewise closed-form the type of the evaluation point, the cost/constraint evaluator
approximation of them is unfeasible. Because of this, a re- computes and stores the afferent data.
laxed assumption of sufficiently small evaluation intervals is Especially in the case of non-linear constraints, the number
typically used. Fig. 5 – right illustrates a simulated trajectory of evaluations per constraint type has to be sufficiently
and its relevant evaluation points. As costs and constraints large (otherwise one might be unable to evaluate a high
present in the problem have dynamic as well as spatial nature constraint violation). An alternative for reduced optimization
(e.g. dynamic motor constraints or distance to obstacles), two constraint space is to perform soft-min of the constraint costs
evaluation lattices are used, one at constant time intervals over a larger interval (e.g. between two parametric knots)
and one at constant arc-length. This way, together with and provide only one entry per interval in the optimization
an analysis of the constraint nature, constraint satisfaction formulation. Note that the piece-wise character of the used
becomes tractable. Good definitions of cost-functions influ- parametric functions can furthermore motivate placing cost
ence heavily the characteristics of the generated trajectories evaluation and constraints at their knots (one might identify
and can lead to unexpected local minima if not chosen piecewise convex formulation of costs/constraints).
carefully. For example, penalizing distance to the end-point When reaching the end of simulation, the partial precom-
might seem intuitive, however it will get stuck at sharp puted costs/constraints are finalized. Note that such an ap-
corners of the route boundary. A better approach is to weight proach is not only parallelizable with respect to the simulated
the distance along path (or traveled distance), especially trajectories but also allows immediate interruption in case
for configurations with relatively small route margins. To of constraint violation, action that is used for speedup and
summarize, the main costs used in this approach due to the efficient pruning of trajectories sampling, as future described
varied characteristics and non-intrusion (they do not typically in Subsection V-C.
form local-minima between themselves) are:
• distance to route (integral/power cost)
Algorithm 1 simulate tra jectory(x0 , u[])
• traveled distance (integral/power cost) 1: t ← 0, x ← x0 , evaluator.init()
• base orientation (integral/power cost) 2: while t < tend do
• trajectory time or average velocity (end cost) 3: (dt, eval type) ← f ind next step(u[],t)
• distance to desired end-pose (end cost, small weight) 4: x ← sim step(x, u[], dt), t ← t + dt
Most of the constraints in this approach are inequality 5: switch (eval type)
constraints (the internal kinematic equality constraints are 6: case dt gitter: evaluator.evaluate@partial time(x,t)
not needed due to the lower-level parametrization). The only 7: case ds gitter: evaluator.evaluate@partial dist(x,t)
equality constraint enforces zero base velocity at the end of 8: case ui end: evaluator.evaluate last u interval(x,t)
the optimized trajectory. This way, the platform is guaranteed 9: case sim end: evaluator. f inish evaluation(x,t)
to not collide with obstacles even when moving at high 10: end switch
speeds. As previously mentioned, the inequality constraints 11: end while
are of different natures:
• maximum distance to route (spatial, nonlinear) Room for computational cost improvement is present also
• minimum distance to obstacles (spatial, nonlinear) in the computation of objective function and constraints
local map initialization initial pose of
gradients, by beginning the simulation and evaluation only the Planner
from the modified region.
t
C. Trajectory sampling
Considering that optimization typically requires an initial depth sensor localization cycle end
estimate, the planner design includes sampling as a pre- data predicted cycle end
liminary step to optimization. This is performed to cope
with the prowess of optimization-based approaches to local- Fig. 6. Pose prediction during one cycle of the planner
minima. Even though during most of the cycles, the previous
the run-time of the optimizer. As piece-wise continuity and
trajectory is sufficient as a starting solution, sampling can
differentiability is required in nonlinear optimization, it is
also provide a layer of redundancy by sampling at every cycle
also advised to perform interpolation on the maps data (e.g.
until a safe trajectory to a platform stop is found. However,
bi-linear).
total space sampling is infeasible especially for I4WS as the
By imposing the route maximum deviation constraint, a
parameter space is cubic.
big part of the obstacle data becomes redundant and is
In a similar fashion with the traditional DWA approach,
excluded from all the other computations (no distance fields
the parameter space is sampled. However, non-expressive
are created for obstacles far away from the route).
parameter combinations are to be avoided as most of the
computation time is reserved for optimization. Another ben- E. Temporal synchronization
efit of the parametrization p = [vc , ωtra j , ωb ] lies on the Especially in asynchronous communication systems such
fact that if not taking into account constraints, only two as Robotics Operating System (ROS), proper data syn-
parameters are influencing the base trajectory, effectively chronisation is vital and must be accounted for. Fig. 6
reducing the sample space for emergency situations. presents the general temporal sequence of data acquisition
D. Preprocessing of external data and processing. In principle, given the previous sequence
of control commands sent by the planner to the low-level
As previously presented in Section III, the Local Path- controller, the pose of the agent is temporally synchronized
Planner requires external data in the form of a route, envi- with various data. Initially, the time delay between the depth
ronment information from a depth-sensor (and additionally sensor measurement and the localization measurement is
static information from a map) as well as the localization compensated by simulating the platform state to the time-
information of the agent. The methods of obtaining a global stamp of the sensor data. Notice that this can be also done
route as well as the localization information are a field of in reversed time.
research themselves and are beyond the purpose of this paper. Regarding the communication with the low-level con-
Regarding localization, the proposed Path-Planner assumes troller, an important point represents the usage of
it is sufficiently accurate but not necessarily temporally parametrized control commands arrays. This way, the planner
synchronized with the rest of the data (except being time- sends to the low-level controller its computed controls for
stamped). the next n - seconds, enabling non-deterministic cycle times
Most on-line global route planners return the shortest to be feasible as well as potentially increased safety with
euclidean path to the goal. Keeping in mind the dynamics respect to planner run-time malfunction.
and constraints of mobile agents as well as their desired As the planner cannot influence any platform physical
trajectory behaviours, accurate following of such paths be- state until its cycle is over, its pose is predicted from the
comes contradictory. As a solution, an additional parameter beginning to that temporal point (which varies typically
is defined, which specifies the maximum allowed deviation between 0.1s - 1s). Even though the optimizer is inherently
from the route. This addition not only increases the search- iterative, in many situations it is preferred to overshoot the
for-optimum space but also allows for a dramatic reduction of desired cycle time for achieving optimization convergence. In
the required vertices of the route graph (envision an A* algo- this sense, assuming that the time interval of an optimization
rithm generated route diagonally on a coarse grid). Especially cycle is relatively small with respect to the platform motion,
for mapped areas, image processing techniques for space additional correction through forward prediction of the initial
skeletization using line-of-sight heuristics/techniques could pose before each optimization iteration can be achieved.
be implemented for efficient and flexible route planning [11].
The route is thus consisted of line-connected consecutive VI. EXPERIMENTAL RESULTS
points of arbitrary distance, the desired end-pose being After an introduction to the implementation specifics, the
represented by the last point and its orientation. modelling and simulation of the robot ”Blue” is being intro-
As we are considering (sufficiently) planar surface nav- duced. Simulation results are then presented, showcasing the
igation, the depth sensor information as well as the map quality of the developed low-level control scheme as well as
is converted to a 2D representation. In practice, distance the capabilities of the proposed Local Path-Planner.
fields of the relevant spatial information are generated and The implementation of the presented work has been done
stored in separate layered maps. This way, data evaluation in C++, making use of GazeboSim as simulation environment
can be done in constant time, a critical factor in the terms of and the Robotics Operating System (ROS). Considering the
0.1 m 1.5
1
x[m]
0.5 Motion-model
0 Measured
0 0.5 1 1.5 2 2.5 3 3.5
y[m]
Fig. 9. Global frame trajectory of the platform
ICC trajectory Even though the results in the local frame are accurate,
Fig. 7. Left: Simulated base of robot Blue, Right: ICC trajectory in local the global-frame motion of the platform compared with
frame of the platform the motion-model used in the Local Path-Planning module
is of importance. The presented motion model has been
development of a low-level controller, increased attention has
discretized using trapeze interpolation and evaluated every
to be payed to the simulated system. Fig. 7 – left illustrates
10 Hz. As it can be seen in Fig. 9, the motion-model used
the simulation of ”Blue”s mobile base, making use of CAx
by the Local Path-Planner accurately predicts the motion that
models of the components as specified by the designer, to-
is eventually undertaken by the agent up to several meters.
gether with component inertial information. General purpose
surface friction parameters have been applied accordingly. The Local Path-Planner has been implemented in C++,
Without loss of generality, the actuators are modeled taking being dependant only on the low-level controller, ROS (for
into account damping and the interface has been designed communication purposes), OpenCV as well as the optimiza-
to apply shaft torques as input. As 3D physics engines tion library Optizelle. The motivation behind the choice
implemented in Gazebo (such as ODE, Bullet or Dart) of the optimization library is its efficiency, State of the
perform typically poor in over-constrained closed kinematic Art implemented algorithms as well as matrix-free design.
chains (such as a I4WS) when force control is used, increased In practice, the optimization problem is solved using the
simulation accuracy is achieved through parameter-tuning of Interior-Point Method with SR1 Hessian estimation, Krylov
the engine (increased iteration count as well as relaxation sub-problem solver and affine line search for the inequality
of the stiffness of the formed contact joints). Additionally, constraints (through problem reformulation). The planner
quantisation noise is modelled for the angular sensors of the typically runs stable at a frequency of 10 Hz on single core
actuators as well as Gaussian noise of the depth sensor. of an Intel i7 processor. However, as discussed, the approach
The developed feed-forward control-scheme, together with is designed to be robust at lower cycle-frequencies as well.
the LQG feed-back has been implemented as a ROS-nodelet Fig. 10 presents some of the behaviours that can be
and has been tested at a frequency of 100 Hz, using sim- obtained by the Local Path-Planner using only three control
ulation ground-truth for validation. For simplicity of data points. The active route for this instance is represented
interpretation, the parametrization p = [vc ρc αc ] is used. by the green dotted line and its afferent distance-field is
Fig. 7 – right presents the local view of the platform as it created. The route far away is not considered locally and
performs a sequence of control commands. For visualization is in this instant inactive (blue). In the presented scenarios,
purposes, the entire parameter trajectory has been computed the parametrization p = [vc ωbase ωc ] has been used as it
initially; however, each cycle computation is performed on- performs superior to other parametrizations when attention-
line during normal operation. Desired versus applied param- focus points are targeted. The agent has an initial velocity of
eter and wheel velocity trajectories are illustrated in Fig. 8 – 0.1 m/s and for all trajectories, the end-constraint of 0 base
left, showcasing the accuracy of the proposed controller. In velocity is imposed. Furthermore, wheel actuator orientation,
Fig. 8 – right, the temporal evolution of the orientation as velocity and acceleration as well as platform base linear and
well as rotation speed of the top-right wheel is illustrated. As lateral acceleration constraints have been enforced. Fig. 10
expected, when the ICC revolutes at a small radius relative a) presents the scenario where route accuracy is desired.
to a wheel (big values of ρc ), the nonlinear character of the As the number of control points is significantly low, high
wheel motion becomes significant. path-following accuracy implies a reduction of the trajectory
1 length. Fig. 10 – b) presents the generated trajectory with
vc [ ms ]
0.6
αwi [rad]
0.5 0.4
0.2
dominant costs towards time-optimality. Notice that the ob-
0
2
0 stacle represents the only active spatial constraint. Fig. 10 –
αc [rad] ρc [ m1 ]
−0.2
1
0
c) and – d) showcase the same scenario when an attention-
−1
−2
0 focus point (to the left and right respectively) is targeted. The
s ]
ωwi [ rad
0.6
−10 increased duration of the generated trajectory d) is mostly
0.4
0.2
−20 due to the internal actuator constraints of such motion. Lastly,
0
0 2 4 6 8
−30
0 2 4 6 8
Fig. 10 – e) illustrates the situation where maximum path
t[s] t[s] deviation is reduced. Notice here the sensed obstacle distance
Fig. 8. Desired (red) vs. Measured (blue) data: left - ICC parameters, right
field kernelization further away from the path, as the path
- orientation and velocity a wheel constraint makes that region automatically infeasible.
1m
sensed
obstacle
attention
points
a) close follow b) fast follow c) attention point d) attention point e) reduced path width
t = 4.76s, s = 3.31m t = 4.822s, s = 5.851m t = 8.432s, s = 6.121m t = 10.06s, s = 5.913m t = 4.726s, s = 5.431m
Fig. 10. Generated trajectories of the Local Path-Planner under different dominating weights