An empirical evidence of Braitenberg vehicle 2b behaving as a ...
An empirical evidence of Braitenberg vehicle 2b behaving as a ...
An empirical evidence of Braitenberg vehicle 2b behaving as a ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>An</strong> <strong>empirical</strong> <strong>evidence</strong> <strong>of</strong> <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong><br />
<strong>behaving</strong> <strong>as</strong> a billiard ball.<br />
I. Rañó<br />
Computer Sciences and Systems Engineering Dept.<br />
University <strong>of</strong> Zaragoza,<br />
Spain.<br />
Abstract. <strong>Braitenberg</strong> <strong>vehicle</strong>s have been used for decades on an <strong>empirical</strong><br />
b<strong>as</strong>is to implement different t<strong>as</strong>ks. Grounded on a mathematical<br />
model <strong>of</strong> <strong>vehicle</strong> <strong>2b</strong>, this paper presents <strong>empirical</strong> <strong>evidence</strong> that some<br />
theoretical results from billiard ball dynamics can be used to analyse the<br />
behaviour <strong>of</strong> the <strong>vehicle</strong>. The possibility to use such <strong>vehicle</strong>s to cover a<br />
region is presented <strong>as</strong> a consequence <strong>of</strong> the its behaviour.<br />
1 Introduction<br />
<strong>Braitenberg</strong> <strong>vehicle</strong>s have been used for decades in robotics on an <strong>empirical</strong><br />
and intuitive b<strong>as</strong>is. Each <strong>vehicle</strong> displays a different behaviour according to a<br />
thought experiment presented in [3]. Complexity on their behaviour emerges<br />
from the interaction <strong>of</strong> the <strong>vehicle</strong> with an external stimulus, not from the internal<br />
mechanisms that generate the behaviour. They were used <strong>as</strong> a justification<br />
<strong>of</strong> the simplicity <strong>of</strong> the behaviour b<strong>as</strong>ed approach to robotics [4]. <strong>Braitenberg</strong><br />
<strong>vehicle</strong>s were also successfully used in earlier works <strong>of</strong> artificial life [14] [17], but<br />
they can be used to model animal behaviour <strong>as</strong> well.<br />
Different kinds <strong>of</strong> <strong>Braitenberg</strong> <strong>vehicle</strong>s have been used to provide robots with<br />
several abilities like obstacle avoidance [2], local navigation [18], chemical source<br />
seeking [6] [9], and even complex t<strong>as</strong>ks like football playing [10], yet always<br />
b<strong>as</strong>ed on <strong>empirical</strong> <strong>evidence</strong>. However, since the original work is both qualitative<br />
and very intuitive there h<strong>as</strong> been no effort in trying to build a quantitative<br />
framework for a further development. In fact, besides purely <strong>empirical</strong> implementations,<br />
<strong>Braitenberg</strong> <strong>vehicle</strong>s are used <strong>as</strong> test-bed for evolutive behaviour<br />
generation [15] [7], where usually neural networks act <strong>as</strong> controllers <strong>of</strong> the <strong>vehicle</strong>s<br />
[8]. Neural networks are selected <strong>as</strong> controllers so they can be evolutively<br />
adjusted to perform well, but also because <strong>of</strong> their properties to deal with noise<br />
and approximate any function with no need <strong>of</strong> design knowledge.<br />
As we will see later, one <strong>of</strong> the applications <strong>of</strong> <strong>Braitenberg</strong> <strong>2b</strong> <strong>vehicle</strong>s is<br />
coverage, a well studied problem on robotics with many applications. In [5] a<br />
cl<strong>as</strong>sification <strong>of</strong> coverage techniques <strong>as</strong> heuristic or complete is performed. Complete<br />
techniques treat coverage <strong>as</strong> a multiple sequential planning problem, the<br />
execution <strong>of</strong> a sequence <strong>of</strong> planned trajectories, which turns it into a time expensive<br />
and complexity growing problem. On the other hand, heuristic techniques
are b<strong>as</strong>ed on sequencing behaviours or random motions, making hard to treat<br />
them formally or to me<strong>as</strong>ure its performance. The use <strong>of</strong> <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong><br />
for coverage could be included in the heuristic category, though it can be treated<br />
theoretically under some circumstances. This paper will show that a single mechanism,<br />
the <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong>, can be used to generate covering trajectories<br />
in simple scenarios. Although the simplicity <strong>of</strong> the mechanism, the resulting behaviour<br />
is difficult to analyse, in the most general c<strong>as</strong>e, since it is modelled <strong>as</strong> a<br />
nonlinear differential equation with no equilibrium point. However, we will see<br />
experimentally, that mathematical theory <strong>of</strong> billiard can be used to explain its<br />
behaviour under some circumstances. This allows the application <strong>of</strong> theoretical<br />
results to the behaviour <strong>of</strong> <strong>Braitenberg</strong> <strong>vehicle</strong>s.<br />
The rest <strong>of</strong> the paper is organised <strong>as</strong> follows: Section 2 reviews <strong>Braitenberg</strong><br />
<strong>vehicle</strong> <strong>2b</strong> and presents some results <strong>of</strong> its behaviour under the influence <strong>of</strong> a<br />
bounded stimulus with a single point maximum. When the stimulus maxima can<br />
be approximated by a region a new behaviour appears <strong>as</strong> presented in Section 3.<br />
Conclusions and further work lines are drawn in Section 4. Each section includes<br />
its corresponding simulated results.<br />
2 <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong> in bounded stimuli with<br />
point-like maximum<br />
The <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong> consists on a dual-drive wheeled <strong>vehicle</strong> with two<br />
point-like frontal sensors arranged symmetrically. The connections between the<br />
sensors and the motors are shown in Figure 1. Each sensor is linked to the<br />
wheel on the opposite side in an incre<strong>as</strong>ing way. The sensors capture some scalar<br />
stimulus S(x) from the environment D. The stronger the stimulus is perceived<br />
on the sensor, the f<strong>as</strong>ter the opposite wheel spins, that is what the ‘+’ sign on<br />
the figure means. The overall effect is making the robot turn in the direction<br />
<strong>of</strong> the stimulus. Moreover, <strong>as</strong> the stimulus intensity grows, the linear velocity <strong>of</strong><br />
the <strong>vehicle</strong> incre<strong>as</strong>es, since both wheels turn f<strong>as</strong>ter. Therefore, the <strong>vehicle</strong> heads<br />
the stimulus while incre<strong>as</strong>es its velocity. If the stimulus is generated by a point<br />
source, the <strong>vehicle</strong> will eventually reach the source with a maximal speed, this is<br />
the re<strong>as</strong>on why the behaviour w<strong>as</strong> originally named aggression. Before drawing<br />
any conclusion <strong>of</strong> the behaviour, we will present the formal model <strong>of</strong> the <strong>vehicle</strong><br />
and derive some theoretical results.<br />
Let D ⊂ R 2 denote an open set such that D ∪ ∂D is connected and compact,<br />
this will represent the workspace <strong>of</strong> the <strong>vehicle</strong> and its boundary. A stimulus<br />
function can be modelled <strong>as</strong> a C 2 function S : D∪∂D → R + ∪{0} (a function with<br />
second order continuous derivatives), a single absolute maximum and such that<br />
S(∂D) = 0 but S(D) ≠ 0. This represents a scalar stimulus from a point source<br />
with a bounded effect, vanishing <strong>as</strong> we move away from the source. The stimulus<br />
is time independent, i.e., even there is spatial variation, it remains constant in<br />
time. A <strong>Braitenberg</strong> <strong>2b</strong> connection function is a function F (s), F : R + ∪ {0} →<br />
R + dF (s)<br />
∪{0}, with second order continuous derivatives such that<br />
ds<br />
> 0∀s ∈ R + ∪<br />
{0} and F (0) = 0. This function models the incre<strong>as</strong>ing connection between the
E L<br />
E R<br />
δ<br />
VL<br />
+ +<br />
VR<br />
d<br />
Fig. 1. Internal structure <strong>of</strong> the <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong>.<br />
sensors and the motors. The fact that it cannot take negative values implies the<br />
<strong>vehicle</strong> cannot move backward. This h<strong>as</strong> a biological justification since animals<br />
usually do not move backward. The condition F (0) = 0 can be replaced by<br />
F (S min ) = 0, which makes the <strong>vehicle</strong> move until it reaches a stimulus threshold.<br />
Under these conditions ∂D will be replaced by a closed curve Γ defined by the<br />
level set on S(Γ ) = S min . These two functions are the b<strong>as</strong>is for modelling the<br />
differential equation governing the behaviour <strong>of</strong> the <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong>. The<br />
actual state space <strong>of</strong> the <strong>vehicle</strong> is R 2 ×S 1 since its heading h<strong>as</strong> to be considered.<br />
We will denote the Cartesian coordinates x = (x, y) and θ will be the <strong>vehicle</strong><br />
heading. Therefore, the whole state will be (x, θ) = (x, y, θ).<br />
Assuming the wheel radius is a multiplying factor included in F (s), the<br />
velocities <strong>of</strong> the right and left wheels <strong>of</strong> the <strong>vehicle</strong> are v r = F (S(x l )) and<br />
v l = F (S(x r )), where x r and x l are the positions <strong>of</strong> the right and left sensors<br />
respectively. Since both, functions S(x) and F (s) are C 2 , the velocities can be<br />
approximated <strong>as</strong> a first order Taylor series around the midpoint between the<br />
sensors x <strong>as</strong>:<br />
v r ≈ F (S(x)) + δ 2 ∇F (S(x)) · ê p (1)<br />
v l ≈ F (S(x)) − δ 2 ∇F (S(x)) · ê p (2)<br />
where δ is the distance between the sensors, ∇F (S(x)) is the gradient <strong>of</strong> the<br />
compound connection-stimulus function and ê p = [− sin θ cos θ] T is a unitary<br />
vector orthogonal to the <strong>vehicle</strong>’s head direction pointing to its left. Assuming<br />
a point like differential-drive <strong>vehicle</strong>, its state evolves according to the following<br />
system <strong>of</strong> differential equations:<br />
ẋ = F (S(x)) cos θ (3)
ẏ = F (S(x)) sin θ (4)<br />
˙θ = δ d ∇F (S(x)) · ê p (5)<br />
where d is the wheelb<strong>as</strong>e <strong>of</strong> the <strong>vehicle</strong> (see [13] for more details). It is worth<br />
noting that the dynamical system describing the behaviour <strong>of</strong> the <strong>vehicle</strong> h<strong>as</strong> no<br />
stability point in D since equations (3) and (4) never vanish simultaneously.<br />
Intuitively the <strong>vehicle</strong> will never stop but it will slow down <strong>as</strong> it approaches<br />
∂D since F (s) ∈ C 2 and F (S(∂D)) = 0. It can be proved that the <strong>vehicle</strong> will<br />
not move outside D, i.e. that the solution x(t), θ(t) <strong>of</strong> the Cauchy problem (3),<br />
(4), (5), x 0 ∈ D and θ 0 ∈ (−π, π] stays in D for all t. In fact, the solution <strong>of</strong> the<br />
Cauchy problem will stay on the configuration space D×S 1 . For a solution going<br />
outside the configuration space, the flow defined by the dynamical system (3),<br />
(4) and (5) should have a component pointing outside the surface ∂D×S 1 . Since<br />
the first two components <strong>of</strong> the flow are zero at the boundary (F (S(∂D)) = 0),<br />
and the normal to the boundary h<strong>as</strong> no angular component, the dot product <strong>of</strong><br />
the flow and the normal vector to ∂D × S 1 is zero, and therefore either the flow<br />
vanishes in ∂D×S 1 or is tangent to ∂D×S 1 . From this, we can deduce that there<br />
can be stability points <strong>of</strong> the dynamical system on the boundary <strong>of</strong> D where the<br />
gradient ∇F (S(x)) is orthogonal to ê p . This means that the <strong>vehicle</strong> can, under<br />
some circumstances, move towards some point <strong>of</strong> ∂D, though it can be shown<br />
that these points are unstable equilibria <strong>of</strong> the dynamical system. Formally, the<br />
points (x, θ) ∈ ∂D × S 1 where ∇F (x) · ê p = 0 are unstable equilibria <strong>of</strong> the<br />
dynamical system.<br />
A special c<strong>as</strong>e with analytic solution to the <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong> model<br />
appears when the stimulus function h<strong>as</strong> circular symmetry. This is common for<br />
some real stimulus and is treated in [12]. It can be shown that if a positive real<br />
value r 0 such that F (S(r)) + r δ ∂F (S(r))<br />
d ∂r<br />
= 0 exists, two circular trajectories<br />
<strong>of</strong> radius r 0 are solutions <strong>of</strong> the differential equations with the proper initial<br />
conditions. If equations (3), (4) and (5) are converted to polar coordinates, they<br />
can be linearised around the trajectory r 0 (t) = r 0 , ψ 0 (t) = ω 0 t + ψ 0 and θ 0 (t) =<br />
ω 0 t + ψ 0 − π/2, where (r, ψ) are the polar coordinates. This leads to the system<br />
<strong>of</strong> linear differential equations<br />
⎡ ⎤ ⎡<br />
⎤ ⎡ ⎤<br />
˙˜r<br />
⎢ ⎥ (1<br />
0<br />
)<br />
−v 0 v 0 ˜r<br />
⎣<br />
˙˜ψ ⎦ = ⎣ +<br />
d ω0<br />
δ r 0<br />
0 0 ⎦ ⎣ ˜ψ ⎦ (6)<br />
d ˙˜θ<br />
2 F (r 0)<br />
dr<br />
0 0 ˜θ<br />
2<br />
where the matrix h<strong>as</strong> constant coefficients, v 0 = F (S(r 0 )), ω 0 = F (S(r0))<br />
r 0<br />
and<br />
˜r(t) = r(t) − r 0 , ˜ψ(t) = ψ(t) − ψ 0 (t) and ˜θ(t) = θ(t) − θ 0 (t) are the incremental<br />
variables. The eigenvalues λ i =<br />
{<br />
0, ∓<br />
√v 0<br />
(<br />
δ<br />
d<br />
d 2 F (r 0)<br />
dr 2<br />
− (1 + d δ ) ω0<br />
r 0<br />
) } <strong>of</strong> this matrix<br />
establish the behaviour <strong>of</strong> trajectories close to the equilibrium one. When<br />
the factor inside the square root is negative, the linearised solution oscillates
around the circular trajectory. Moreover, if the quotient <strong>of</strong> ω 0 and the eigenvalue<br />
is an irrational number, the resulting trajectory will be dense in D. This<br />
means that for any point in D there is always a trajectory p<strong>as</strong>sing arbitrarily<br />
close to it, so the <strong>vehicle</strong> will cover that part <strong>of</strong> the workspace.<br />
Algorithm 1 Fixed Point <strong>of</strong> Poincaré Map P (x)<br />
Require: P (x), x 0<br />
Ensure: x m = P (x m)<br />
repeat<br />
j ← 1<br />
x 0 ← x m<br />
S = {x 0}<br />
repeat<br />
x j ← P (x j−1)<br />
S ← S ∪ {x j}<br />
j ← j + 1<br />
until points in S form a closed trajectory<br />
x m ← average(S)<br />
until error > ɛ<br />
return x m<br />
In the general c<strong>as</strong>e <strong>of</strong> non symmetric stimulus, finding an analytic solution to<br />
the differential equation is a hard problem. However, some numerical methods<br />
exist to find periodic solutions <strong>of</strong> nonlinear differential equations [11]. Unfortunately,<br />
either they need knowledge about the period <strong>of</strong> the solution or they only<br />
work for attracting limit cycles. This is not the c<strong>as</strong>e <strong>of</strong> the system at hand, since<br />
the oscillation h<strong>as</strong> constant amplitude around the circle (eigenvalues are pure<br />
imaginary), and therefore the equilibrium is not an attractor. We therefore used<br />
an approximated way <strong>of</strong> computing the periodic solutions.<br />
The trajectories being the superposition <strong>of</strong> two periodic trajectories means<br />
that close to the equilibrium, the trajectory is diffeomorphic to a 2D torus in<br />
the state space (x, θ), and the periodic solution is contained inside the torus.<br />
For such a trajectory, the Poincaré map (the intersection <strong>of</strong> the 2D torus and a<br />
plane on the state space) is diffeomorphic to a circle. Moreover, the closer the<br />
initial condition is to the equilibrium, the more the intersection will look like a<br />
circle. Taking advantage <strong>of</strong> this, we implemented Algorithm 1, which averages<br />
several points <strong>of</strong> the Poincaré map. This algorithm works even for unstable<br />
periodic solutions provided that the initial point is close to the real solution and<br />
the divergent component <strong>of</strong> the map is small enough. The real map will not<br />
be exactly a circle since there will be a divergent component and therefore the<br />
trajectory will look more like the sampling <strong>of</strong> a logarithmic incre<strong>as</strong>ing spiral.<br />
However, when averaging the mean point will get close to the periodic solution,<br />
a fixed point in the corresponding Poincaré map.
2.1 Simulations for point like stimulus<br />
To test the results <strong>of</strong> the previous section we simulated the model on a stimulus<br />
such that the function F (S(x)) w<strong>as</strong>:<br />
[ ]<br />
F (S(x)) = g 0 − ax T Σx = g 0 − ax T 1 0<br />
x (7)<br />
0 α<br />
where g 0 and a are positive constants and α is a parameter <strong>of</strong> the dynamical<br />
system. For this function, the domain D is defined by the equation g 0 > ax T Σx,<br />
and ∂D = {x|g 0 = ax T Σx}. When α = 1 the stimulus function h<strong>as</strong> circular<br />
symmetry and therefore a periodic solution exists for r 0 =<br />
√<br />
g0<br />
a(1+δ/d) . For α ≠<br />
1 the periodic solution w<strong>as</strong> computed numerically using algorithm 1. In the<br />
simulations we used g 0 = 2.5, a = 0.1 and δ/d = 0.85.<br />
As an initial guess for the position <strong>of</strong> the periodic solution the closest known<br />
periodic solution is used. The algorithm w<strong>as</strong> iterated for different (incre<strong>as</strong>ing<br />
and decre<strong>as</strong>ing) values <strong>of</strong> α starting from α close to 1 with initial condition<br />
(3.04, 0, π/2), and the plane to compute the Poincaré map w<strong>as</strong> y = 0. On each<br />
iteration the value <strong>of</strong> the parameter α w<strong>as</strong> slightly changed and the previous<br />
solution <strong>of</strong> the fixed point <strong>of</strong> the Poincaré map w<strong>as</strong> used <strong>as</strong> initial guess on the<br />
algorithm. The Poincaré map w<strong>as</strong> computed using the time halving algorithm<br />
presented in [11].<br />
4<br />
4.0<br />
3<br />
3.5<br />
2<br />
3.0<br />
1<br />
2.5<br />
0<br />
−4 −3 −2 −1 0 1 2 3 4<br />
y<br />
2.0<br />
−1<br />
−2<br />
−3<br />
1.5<br />
1.0<br />
−4<br />
(a) Periodic trajectories.<br />
0.5<br />
0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0<br />
(b) x coordinate <strong>of</strong> the periodic trajectories.<br />
Fig. 2. Periodic trajectories and initial conditions for different α values.<br />
Figure 2(b) shows the resulting x coordinate for the periodic solution. This<br />
coordinate is the fixed point <strong>of</strong> the corresponding Poincaré map, the other coordinates<br />
were θ = π/2 and y = 0. Figure 2(a) shows the simulation <strong>of</strong> periodic<br />
trajectories for different values <strong>of</strong> the parameter α. The trajectories were computed<br />
by integration <strong>of</strong> the system <strong>of</strong> differential equations with initial conditions<br />
(x 0 , 0, π/2) using a fixed step Runge-Kutta4 algorithm. As the value <strong>of</strong> α moves
away from 1 the trajectories differ from the circle. We saw that for circular symmetric<br />
stimulus the trajectories close to the circle oscillate around it, however<br />
nothing can be said for a parabolic shaped stimulus. To obtain information about<br />
the trajectories close to the periodic solutions we computed the characteristic<br />
multipliers <strong>of</strong> the solutions. If we integrate the Jacobi field obtained from the<br />
derivative <strong>of</strong> the vector flow along a periodic trajectory the characteristic multipliers<br />
are the eigenvalues <strong>of</strong> the Jacobian matrix. The eigenvalues <strong>of</strong> this matrix<br />
are related to the stability <strong>of</strong> the corresponding Poincaré map and, therefore,<br />
also to the stability <strong>of</strong> the periodic solution [1]. In our c<strong>as</strong>e all the trajectories<br />
had two complex conjugate eigenvalues and one real. Figure 3(a) shows the absolute<br />
value <strong>of</strong> the three characteristic multipliers <strong>as</strong> a function <strong>of</strong> the parameter<br />
α, the complex ones actually generate the same plot. In the c<strong>as</strong>e <strong>of</strong> circular symmetric<br />
stimulus all the eigenvalues fall into the unit circle <strong>of</strong> the complex plane,<br />
this matches the theoretical result <strong>of</strong> oscillating trajectories around the circular<br />
solution. For α ≠ 1 the absolute value <strong>of</strong> at le<strong>as</strong>t one <strong>of</strong> the eigenvectors h<strong>as</strong><br />
value larger than one, making the Poincaré map and the corresponding differential<br />
equation unstable. In fact, this is the re<strong>as</strong>on why we had to implement<br />
Algorithm 1. However, since at le<strong>as</strong>t one <strong>of</strong> the eigenvalues h<strong>as</strong> absolute value<br />
smaller than one, the fixed point <strong>of</strong> the Poincaré map is actually a saddle point.<br />
1.0025<br />
2.0e−04<br />
1.0020<br />
1.5e−04<br />
1.0015<br />
1.0e−04<br />
1.0010<br />
5.0e−05<br />
1.0005<br />
1.0000<br />
0.0e+00<br />
0.9995<br />
−5.0e−05<br />
0.9990<br />
−1.0e−04<br />
0.9985<br />
0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0<br />
(a) Characteristic Multipliers.<br />
−1.5e−04<br />
0.6 0.8 1.0 1.2 1.4 1.6 1.8 2.0<br />
(b) Lyapunov Exponents.<br />
Fig. 3. Characteristic multipliers and Lyapunov exponents <strong>of</strong> the periodic solution for<br />
different values <strong>of</strong> α.<br />
Figure 3(b) shows the Lyapunov exponents for the periodic trajectories <strong>as</strong><br />
a function <strong>of</strong> the parameter α. If the sum <strong>of</strong> all the exponents is positive but<br />
some <strong>of</strong> them are negative, the corresponding dynamical system will be chaotic.<br />
The relation between the Lyapunov exponents and the characteristic multipliers<br />
is given by the expression λ = 1 T<br />
ln ν, where λ is the Lyapunov exponent<br />
corresponding to the characteristic multiplier ν, and T is the period <strong>of</strong> the solution<br />
trajectory (see [1]). The period can be e<strong>as</strong>ily obtained while computing<br />
the characteristic multipliers, since it is the simulation time needed to get the<br />
Poincaré map. The dotted line represents the sum <strong>of</strong> all Lyapunov exponents.
Since its sum is close to zero we can deduce that the behaviour <strong>of</strong> the <strong>vehicle</strong> is<br />
not chaotic for the given functions and parameters.<br />
3 Wandering on a flat stimulus<br />
So far we saw some results for point like stimulus sources. If the stimulus h<strong>as</strong> no<br />
isolated or single maximum the behaviour <strong>of</strong> the <strong>vehicle</strong> is different and other<br />
analysis techniques need to be used. A special c<strong>as</strong>e is a constant stimulus, for<br />
which ∇F (S(x)) = 0 in some subset <strong>of</strong> D. Clearly, since the rotational speed<br />
<strong>of</strong> the <strong>vehicle</strong> is proportional to this gradient it will not turn, but it will still<br />
move forward since F (S(x)) > 0. However, some <strong>of</strong> the previous results are<br />
still valid; the <strong>vehicle</strong> will move in a bounded area provided F (S(x)) = 0 for<br />
x ∈ ∂D. In fact, the area does not need to be simply connected, since the<br />
contour <strong>of</strong> the obstacles can belong to ∂D, and therefore ∂D will be a set <strong>of</strong><br />
closed curves inside a bigger one. Since F (S(x)) ∈ C 2 and vanishes at ∂D, if<br />
there is a region where ∇F (S(x)) = 0, there must also be a region close to<br />
the boundary where ∇F (S(x)) ≠ 0. Therefore, there will be a region where<br />
the <strong>vehicle</strong> will potentially turn. One way <strong>of</strong> building a stimulus on a bounded<br />
area with obstacles is to generate a function <strong>of</strong> the distance to the obstacles<br />
with continuous derivative. Such function should take a zero value close to the<br />
obstacles and the boundary, and a constant value far from them.<br />
To approximate a flat stimulus keeping the function in C 2 we will compute<br />
the hyperbolic tangent <strong>of</strong> the previously chosen function F (S(x)). Obviously<br />
this function h<strong>as</strong> also a maximum at the same point <strong>as</strong> before, however when<br />
the <strong>vehicle</strong> is far enough from the contour, the gradient is so small that it can<br />
be considered zero and the trajectory can be approximated by a straight line.<br />
Having a close look at the trajectories, we could see they are not straight lines<br />
since the derivative <strong>of</strong> tanh(F (S(x))) does not vanishes. In sum, the trajectory<br />
will almost follow a straight line and will only blend close to ∂D. This behaviour<br />
looks like the one <strong>of</strong> balls on a billiard table with el<strong>as</strong>tic collisions. In fact, the<br />
trajectories described by billiard balls are not C 2 functions, and they follow a<br />
geometric reflection law on the border <strong>of</strong> the table.<br />
It is well known that billiard balls on a circular table can follow periodic<br />
trajectories after several bounces when the angle between the tangent to the<br />
table and the trajectory (φ) is a rational multiple <strong>of</strong> π, otherwise the trajectory<br />
is dense [16]. We simulated <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong> on a circular stimulus with an<br />
almost flat region in the centre and found that it also follows a periodic trajectory<br />
when the proper initial conditions are selected. Figure 4(a) shows the trajectory<br />
described by the <strong>vehicle</strong> starting with initial conditions (1, 0, π/2.715), which<br />
is clearly periodic. <strong>An</strong>other result for unit radius circular billiard table is that<br />
the trajectories are tangent to a circle with radius r int = cos φ [16]. Figure 4(b)<br />
shows that, even the trajectory <strong>of</strong> the <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong> is not the same<br />
<strong>as</strong> the billiard ball, it is tangent to some circle. Given the initial condition <strong>of</strong><br />
the <strong>vehicle</strong> (x, θ) = (1, 0, π/4) and the size <strong>of</strong> the circle r = 2 we can compute<br />
the angle <strong>of</strong> a bouncing billiard ball φ = 65 ◦ and the radius <strong>of</strong> the inner circle
−2.0<br />
2.0<br />
2.0<br />
1.5<br />
1.5<br />
1.0<br />
1.0<br />
0.5<br />
0.5<br />
0.0<br />
0.0<br />
−0.5<br />
−0.5<br />
−1.0<br />
−1.0<br />
−1.5<br />
−1.5<br />
5<br />
−2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0<br />
(a) Periodic trajectory.<br />
−2.0<br />
3<br />
−2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0<br />
(b) Internal circle.<br />
4<br />
3<br />
2<br />
2<br />
1<br />
1<br />
0<br />
0<br />
−1<br />
−2<br />
−1<br />
−3<br />
−2<br />
−4<br />
−5<br />
−2.0 −1.5 −1.0 −0.5 0.0 0.5 1.0 1.5 2.0<br />
(c) Parabolic table.<br />
−3<br />
−4 −3 −2 −1 0 1 2 3 4<br />
(d) Parabolic table and<br />
parabolic obstacle.<br />
Fig. 4. <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>as</strong> a billiard ball.<br />
r cos φ = 0.85, which roughly matches the simulation results for the <strong>Braitenberg</strong><br />
<strong>vehicle</strong>. In fact, the actual radius <strong>of</strong> the internal circle <strong>of</strong> the figure is r = 0.705<br />
slightly smaller. Neither the apparently straight trajectories far from the circle<br />
boundary are straight lines nor the bounces are real bounces, though there is<br />
a clear experimental match between the expected results from the ball and the<br />
simulation <strong>of</strong> the <strong>Braitenberg</strong> <strong>vehicle</strong> pointing to a new way <strong>of</strong> looking at them<br />
and analysing their behaviour.<br />
Other results from billiard theory also apply to <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong>, like<br />
the ones related to trajectories on a elliptic billiard table. However, these results<br />
apply only to a certain limit. Figure 4(c) shows the trajectory <strong>of</strong> a simulated<br />
<strong>vehicle</strong> on an elliptic stimulus with quite different lengths on the principal axis.<br />
Theoretically the resulting trajectory should be tangent to an hyperbola or an<br />
ellipse, but it is clearly not true in this c<strong>as</strong>e. It seems that we moved away from<br />
the parametric region where the billiard ball approximation is valid. Figure 4(d)<br />
shows the simulation <strong>of</strong> a <strong>Braitenberg</strong> <strong>vehicle</strong> inside an elliptic region with an<br />
elliptic obstacle inside. The trajectory is complex to analyse but the simulation<br />
points that it is dense on the free space making the control mechanism look<br />
suitable for coverage t<strong>as</strong>ks.<br />
4 Conclusions and Further Work<br />
This paper shows that there is <strong>empirical</strong> <strong>evidence</strong> to apply the mathematical<br />
results <strong>of</strong> billiard balls to <strong>Braitenberg</strong> <strong>vehicle</strong> <strong>2b</strong>. For simple shapes <strong>of</strong> the en-
vironment the control technique <strong>of</strong> the <strong>vehicle</strong> can be used to generate dense<br />
trajectories, the ones suited on covering t<strong>as</strong>ks. Furthermore, this technique is<br />
clearly much simpler than using algorithms for sequential planning <strong>of</strong> the trajectories.<br />
Obviously these results need a formal support and the conditions under<br />
which the billiard theory can be applied need to be identified.<br />
References<br />
1. V. S. <strong>An</strong>ishchenko, V. Astakhov, A. Neiman, T. Vadiv<strong>as</strong>ova, and L. Schimansky-<br />
Geier. Nonlinear Dynamics <strong>of</strong> Chaotic and Stoch<strong>as</strong>tic Systems. Tutorial and Modern<br />
Developments. Springer, 2002.<br />
2. E. Bicho and G. Schöner. The dynamic approach to autonomous robotics demonstrated<br />
on a low-level <strong>vehicle</strong> platform. Robotics and Autonomous Systems, 21:23–<br />
35, 1997.<br />
3. V. <strong>Braitenberg</strong>. Vehicles. Experiments in synthetic psycology. The MIT Press,<br />
1984.<br />
4. R. A. Brooks. A robust layered control system for a mobile robot. IEEE Journal<br />
<strong>of</strong> Robotics and Automation, 2(1):14–23, 1986.<br />
5. H. Choset. Coverage for robotics – a survey <strong>of</strong> recent results. <strong>An</strong>nals <strong>of</strong> Mathematics<br />
and Artificial Intelligence, 31:113–126, 2001.<br />
6. A. M. Farah and T. Duckett. Reactive localisation <strong>of</strong> an odour source by a learning<br />
mobile robot. In Proc. <strong>of</strong> the 2 n d Sweedish Workshop on Autonomous Robotics,<br />
2002.<br />
7. D. Floreano and F. Mondada. Evolution <strong>of</strong> homing navigation in a real mobile<br />
robot. IEEE Transactions on Systems, Man and Cybernetics, 26(3):396–407, 1996.<br />
8. R.L.B. French and L. Cañamero. Introducing neuromodulation to a <strong>Braitenberg</strong><br />
<strong>vehicle</strong>. In Proceedings <strong>of</strong> the 2005 IEEE International Conference on Robotics<br />
and Automation, pages 4188–4193, 2005.<br />
9. A. J. Lilienthal and T. Duckett. Experimental analysis <strong>of</strong> g<strong>as</strong>-sensitive <strong>Braitenberg</strong><br />
<strong>vehicle</strong>s. Advanced Robotics, 18(8):817–834, 2004.<br />
10. T. Meriçli and H. L. Akın. Soccer without intelligence. In Proc. <strong>of</strong> the 2008 IEEE<br />
Int. Conf. on Robotics and Biomimetics, pages 2079–2084, 2008.<br />
11. T. S. Parker and L. O. Chua. Practical Numerical Algorithms for Chaotic Systems.<br />
Springer-Verlag, 1989.<br />
12. I. Rañó. Hanging around and wandering on mobile robots with a unique controller.<br />
In Proc. <strong>of</strong> the 4 th European Conf. on Mobile Robots, pages 135–140, 2009.<br />
13. I. Rañó. A steering taxis model and the qualitative analysis <strong>of</strong> its trajectories.<br />
Adaptive Behavior, 17(3):197–211, 2009.<br />
14. M. Resnik. LEGO, Logo and Life. In Artificial Life. Proceedings <strong>of</strong> an Interdisciplinary<br />
Workshop on the Synthesis and Simulation <strong>of</strong> Living Systems, pages<br />
397–406, 1987.<br />
15. R. Salomon. Evolving and optimizing <strong>Braitenberg</strong> <strong>vehicle</strong>s by means <strong>of</strong> evolution<br />
strategies. Int. J. Smart Eng. Syst. Design, 2:6977, 1999.<br />
16. S. Tabachnikov. Geometry and Billiards. American Mathematical Society, 2005.<br />
17. M. Travers. <strong>An</strong>imal construction kits. In Artificial Life. Proceedings <strong>of</strong> an Interdisciplinary<br />
Workshop on the Synthesis and Simulation <strong>of</strong> Living Systems, pages<br />
421–442, 1987.<br />
18. X. Yang, R. V. Patel, and M. Moallem. A Fuzzy-<strong>Braitenberg</strong> Navigation Strategy<br />
for Differential Drive Mobile Robots. Journal <strong>of</strong> Intelligent Robotic Systems,<br />
47:101–124, 2006.