In this section, we describe a unicycle controller implementation on the RHex [42, 121] platform that loosely follows the methods presented in Section6.4, specifically the point at- tractor replanner system. The major departure comes from the modeling decisions presented in Chapter 3: the robot is only equipped with local measurements about its environment, and thus, it can not facilitate an internal reference system. Instead, we seek to couple the internal transient system directly with the kinematic unicycle model. Since we have no reference to measure error against, we utilize the obstacle function gradient to excite the transient system.
(a) (b) (c)
Csr=0.0 Csr=7.3 Csr=132.0
Figure 6.4: Plant evolution for the Hopf cycle attractor reference meeting an elaborate obstacle with different transient to reference coupling gains ( (red) plant, (black) reference). (a) The classical trajectory tracker (small or zero csr) gets trapped in the cul-de-sac as expected, and unlike the previous case , even though the reference trajectory gets behind the plant at each period, the plant can not leave the trap. (b),(c) At a sufficiently large csr a qualitative change appears whereby the initial hit excites a successful escape recovery trajectory which returns along the unblocked portion of the cycle to repeat the same pattern, cycle after cycle.
The resulting system is as follows: ˙ q=B(θ) " uku+ 1 µ(∇ϕT∇ϕ)J(∇ϕ)s # (6.25) ˙ s=−kg(I +wsJ)s+ |d| µ(dTd) 1 0 (6.26)
with uku as in (3.62), and d := νψPdi=1∇ψi(p) combined obstacle function gradients as utilized in Section3.2.1.2. To analyze whether the resulting system exhibits anything akin to an ISS or iISS system is beyond the scope of this thesis. There exists the notion of an almost-ISS system [4]. Unfortunately, as stated in Remark 3.2.12, we can’t prove that the kinematic unicycle system is AGAS under (3.62), and thus, we can not follow up with the corresponding analysis.
Figure 6.5: Energy consumed over the course of the Hopf cycle attractor reference with simple obstacle depicted in Fig. 3 as a function of the transient to reference coupling gain. (a) Magnified view of small values of csr; (b) Larger values of csr showing optimum, an approximately linear increase in cost with increased csr, and occasional resonance peaks where cost is larger over a narrow range.
Figure 6.6: Energy consumed over the course of the Hopf cycle attractor reference with elaborate obstacle depicted in Fig. 4 as a function of the transient to reference coupling gain. (a) Magnified view of small values ofcsr; (b) Larger values ofcsr showing optimum, an approximately linear increase in cost with increasedcsr, and occasional resonance peaks where cost is larger over a narrow range.
14 16 18 20 22 24 26
Trajectory
(a) (b)time
Lyapunov Functions
14 16 18 20 22 24 26 10-6 10-5 10-4 10-3 10-2 10-1 100 101 102 103 104 ηe ηe+φs ηe+φs+ηrFigure 6.7: Contributions to total Lyapunov functionηtotalfor one cycle of the Hopf system. The tracking error Lyapunov ηe (red) comprising potential (cyan) and kinetic terms grows rapidly when the obstacle is hit, causing a growth of the transientφs(ηe+φsin green). The ISS Lyapunov functionηtotal(blue) continues to grow until the transient becomes sufficiently small, and then it too decays exponentially.
Chapter 7
A drift-diffusion model for robotic
obstacle avoidance
In Chapter6, we demonstrated a method that can be used for negotiating with more complex obstacles by utilizing an internal model capable of inferring and reacting to the presence of an unexpected obstacle by exciting special behaviors that promote escape. Unfortunately, the problem representation suitable to sound reasoning about the dynamical implications of these methods leaves a substantial gap with respect to the implications relating to knowledge about the geometric properties of the environment–most crucially, the obstacle loci and shape.
In this chapter, we present another extension to our task execution strategies previously published in [114], where we take the very earliest steps toward a fundamentally stochastic approach to reasoning about the interaction between such a system and the geometric prop- erties of its state space that shows promise for meeting up usefully with the deterministic properties of the underlying dynamics. For now, as a first step toward a stochastically- enhanced version of the deterministic replanner [115], we simply replace it and introduce stochastic noise into the otherwise deterministic robot dynamics and reason about the statis-
tics of the resulting interaction with the uncertain local geometric environment. Unsurpris- ingly, this approach allows a more natural representation of that uncertainty. However, at the same time, less obviously, it invites a representation of the deterministic aspects of the obstacle avoidance control strategy in terms of boundary interaction models treated by a growing body of literature on stochastic differential equations (SDEs).
In Section7.1we present the problem statement motivating this work, where the robot and the task are modeled together as a stochastic dynamical system. In Section 7.2, we inves- tigate the robot’s interaction with a single obstacle under this formulation. In Section 7.3, we present a loose interpretation of this method on the RHex robot, where the control law of Section3.2.2.1 is not tuned properly and the robot can be trapped by an undesired fixed point in front of a single obstacle. We document experimental results (Section7.3.3), where the introduction of our approach not only improves the probability of avoiding this undesired fixed point from 50% to 100% but also reduces the average time the robot spends interacting with the obstacle.
7.1
Problem statement
The starting point for our framework is the navigation function method originally proposed in [73]. We model the robot as a point mass traveling in a domainD ⊆R2, so its configura- tion at timet∈Ris given by x(t)∈ D. The domain is cluttered with obstacles, which we model as closed curves inD. We assume the existence of a navigation function φ:D →R,
which is a differentiable function with a unique maximum. The navigation function encodes the robot’s task, which is to find maxima ofφ. The robot achieves its task if its trajectory x(t) obeys
lim
t→+∞x(t) = argmaxx φ(x). (7.1)
so its idealized dynamics are given by ˙
x=u∇φ, u∈R+,
where the quantity u controls the speed at which the robot climbs the gradient. However, there are disturbances to these idealized dynamics due to, e.g., issues measuring the gradient
∇φ, interactions with the environment, as well as disturbances introduced as part of the control scheme. Denote the coordinates on D as (x, y) = x. We model the disturbance
in each coordinate as a Wiener process of strength D(x) ∈ R+, and assume that the two processes are independent. The process noise intensity is the sum of two terms: D(x) = Da(x)+Dc(x), whereDa(x)∈R+is the ambient noise due to the environment andDc(x)∈ R+ is the control noise added added as part of the control strategy.
The noise-corrupted dynamics are described by the following Itˆo stochastic differential equa- tion (SDE) Dx= Dx Dy Dt=u ∂φ ∂x ∂φ ∂y Dt+D(x) DWt DVt , (7.2)
whereD(x) is the strength of the disturbance atx∈ D andDWt and DVt are independent Wiener increments. Dependencies in the disturbances can be modeled by making D(x)
a positive-definite matrix-valued function of x. Standard references for the SDE methods
used in this work are [117] and [43].
Solving Equation (7.2) generates trajectories of a single particle. Solving the equation re- peatedly from the same initial conditions generates different trajectories due to the stochas- tic nature of the dynamics. Alternatively, one can consider the probability distribution p(x, t) of the state x(t) as a function of time t. The probability distribution is a function that gives the probability of finding the robot in a set of states:
Pr [x(t)∈S] =
Z
S
whereS ⊆ D is a subset of the state space.
The time evolution of the distribution p induced by the dynamics (7.2) is given by the following partial differential equation:
∂p ∂t =
1
2∇ ·(D(x)D(x)T∇p)−u∇φ· ∇p. (7.4) Equation (7.4) is known as the Fokker-Planck equation [43, 117]. Equations of this form are studied in the literature on scalar transport phenomena under various names such as the advection-diffusion equation and the drift-diffusion equation.
The following physical analogy is illustrative. Consider a drop of dye in a fluid flow. The functionp(x, t) measures the concentration of dye at the spatial location xat timet. If the dye is initially concentrated at x0, the initial condition for the equation (7.4) is the Dirac
delta function p(x, t0) = δ(x−x0). As time elapses, the dye moves with the fluid, which flows with local velocity ∇φ(x) and diffuses with coefficient D(x). Transport due to the
local velocity is calledadvection, ordrift, while the spreading due to theD(x) term is called
diffusion, and the two terms of the equation are referred to accordingly.
The equations (7.2) and (7.4) define a stochastic dynamical system where u is a control parameter. In future work, we will leverage tools from the stochastic geometry literature to derive ways to tune u such that the robot can navigate through a spatially-distributed obstacle field. A key next step to developing this theory will be the extension of our model to the case of multiple obstacles.