01.02.2015 Views

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 ...

SHOW MORE
SHOW LESS

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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!