face is considered elastic, an atom is bound only to
its neighboring atoms. Hence, the total bond force
on an atom at coordinate (i, j) in the surface is
P
24
x=0
P
24
y=0
~
fb(n(i, j), d(i, j, x, y), n(x, y)) for all
0 < d(i, j, x, y) < 2. Since we do not consider colli-
sions between the atoms in the surface, the total col-
lision force on an atom at coordinate (i, j) in the sur-
face is simply
~
fc(n(i, j), k) +
~
fc(n(i, j), l), where k
and l refer to the falling balls.
Figure 2 visualizes the bouncing of the balls on
the elastic surface. The images in the figure clearly
show how the emergent dynamics reveals realistic de-
tails that we do not explicitly state in the model. For
instance, both of the balls bounce from the surface;
yet, we only define which atoms may collide in the
model. Also, when the balls bounce from the surface,
they generate ripples that gradually progress through-
out the entire surface. This is clearly visible in im-
ages after 250 and 350 iterations. Also, once a ball is
at rest on the surface, the surface caves in due to the
gravity force on the ball. This can be observed from
the images after 450 and 700 iterations. Lastly, as the
surface becomes partially tilted, the balls start sliding
on it. As there is nothing to stop the surface from tilt-
ing, the balls eventually fall out of the surface. This
can be observed from the last image in the figure.
This model is also computationally light; it can be
computed in and rendered in real-time. For instance,
a modest 500MHz PowerPC G3-processor computes
4000 iteration rounds in about 8.3 seconds.
When considering robotics, this example shows
that the atomic approach supports modelling of soft
and elastic surfaces. For instance, we could model
and previsualize a robot moving on an elastic surface.
Such a model could be used for analysing how vari-
ous cruising algorithms function, when the landscape
is no longer even, and when the landscape caves in
underneath the robot.
5 EMERGENT PROPERTIES:
FRICTION AND ROTATION
The advantage of using emergent dynamics in pre-
visualization is that it captures many physical phe-
nomena on its own. Thus, we may omit them in the
model entirely. Some of such phenomena are vibra-
tion, bouncing, friction, and rotation.
We exemplify emergent friction and rotation by vi-
sualizing a non-trivial model, where a ring is dropped
on a surface. The surface is slightly tilted, so that
when the ring bounces on the surface, it gains mo-
mentum and starts rolling. Rolling is due to emerging
friction between the ring and the surface. We show
also two other variants of this example; one, where
the ring is elastic, and another, where the surface soft
like a wet ground.
The ring is modelled as a specific string of atoms,
whereas the surface is modelled as a plane of atoms.
Initially the ring is above the surface and falls down
due to gravity. The initial configuration is shown in
the leftmost image in the top row in Figure 3.
The ring consists of 20 atoms. The atoms are par-
tially overlapping, and form a perfectly aligned ring.
More specifically, the i’th atom of the ring resides at
(4 cos(
iπ
10
)−4.3, 6+4 sin(
iπ
10
), 0). In such a ring, the
distance, d(i, j), between the i’th and j’th atom is
given by
q
(4 − 4 cos(
|i−j|π
10
))
2
+ (4 sin(
|i−j|π
10
))
2
.
We consider this also the desired distance between the
two atoms.
The impulse on an atom in the ring is the sum of a
constant gravity force, and a number of bond forces
and collision forces. The number of the bond forces
in the ring depends on the elasticity of the ring. For
an elastic ring, one atom is bound only to 8 neighbor-
ing atoms in the ring. Let n(i) denote the index of the
i’th atom in the ring, i.e., n(i) = (20 + i) mod 20.
Then, the total bond force on the i’th atom in the
ring is
P
i+4
j=i−4
~
fb(i, d(i, n(j)), n(j)) for all i 6= j.
For an inelastic ring, the total bond force is simply
P
i+9
j=i−9
~
fb(i, d(i, n(j)), n(j)) for all i 6= j. The col-
lision forces, on the other hand, capture the collision
of an atom in the ring with an atom in the surface.
Thus, the total collision force on the i’th atom in the
ring is
P
288
j=0
~
fc(i, j), where j refers to atoms in the
surface.
The tilted surface is modelled using a square with a
side of 17 atoms; thus, the index n(x, y) of an atom at
coordinate (x, y) is 17y+x. The atoms are positioned
sparsely, so the initial distance d(i, j, x, y) between
two atoms at coordinates (i, j) and (x, y) is given
by
p
6.76(x−i)
2
+0.01(x−i)
2
+4(y−j)
2
. We con-
sider this also the desired distance between the two
atoms.
The impulse on an atom in the surface is the
sum of bond forces, collision forces, and a damping
force. The total bond force on an atom at coordinate
(i, j) is
P
16
x=0
P
16
y=0
~
fb(n(i, j), d(i, j, x, y), n(x, y))
for all 0 < d(i, j, x, y) < 2. The collision forces
capture the collision between an atom in the ring
and an atom in the surface. Thus, the total collision
force on an atom at coordinate (i, j) in the surface is
P
19
k=0
~
fc(n(i, j), k), where k refers to atoms in the
ring. The damping force makes the surface to ap-
pear soft. The damping force on an atom at coordi-
nate (i, j) in the surface is
~
fd(n(i, j), 0.04). However,
when the surface is considered totally inelastic, there
is no damping force. Instead, we use a case specific
external force. It is precisely opposite to the current
impulse at each iteration round; thus, preventing the
PREVISUALIZATION IN ROBOTICS: AN ATOMIC APPROACH
115