Contents
Technicalities
Browser
First you have to tell your browser to execute the scripts behind the green
experiment links.
Depending on your browser the handling may be different, see table 1.1
for details.
Table 1.1: Settings to execute files in browsers. |
Browser | selection required | Comment |
Firefox | yes, type /bin/bash | it remember the choice, you have to agree each time |
Konqueror | no | it will ask each time for a confirmation |
Opera | not supported | use another browser |
Google Chrome | not supported | use another browser |
We examplify this with the Firefox browser:

Select
“Open with:” → Other and then type
/bin/bash
as:

In some environments you have to enable the editing of the location with the right mouse button on the navigation line.
Typically it is not recommended to select the “Do this automatically” check box, because
then the browser will not ask for a confirmation on executing shell scripts, which
may be a security risk.
Try Test experiment which should open a simulation with a humanoid robot. Close the simulation by pressing Esc.
Optimization Procedures
In order to have fun, several optimization steps for your computer can be taken.
To let the simulations run fluently you need to have OpenGL graphics driver installed.
You can also choose between different shadow types and frame rates.
Now that you have optimized your setup, you can have fun with the experiments below.
OpenGL Graphics Driver
In order to obtain fluent and fast simulations you need to set up your computer to
have hardware acceleration enabled for 3D graphics. Depending on the
vendor of your graphics card you need to install the right drivers, which are typically not
installed by default for licensing reasons.
Modern distributions provide front ends to install hardware drivers.
On Ubuntu/Mint it is in the Menu under System→Hardware Drivers.
Otherwise try start/install jockey
.
On other distributions use may use envy
(google “envy graphics driver”)
or google for e. g. “Suse nvidia driver” or “Fedora ATI driver” or the like.
To find out what graphics card is in your computer type lspci
on a console and search for the line with “VGA compatible controller”.
If you have no 3D graphics card then you have to probably tune the shadow and frame rate parameters below.
back to optimizations
Configuration: Select Shadow, Window Size, and Frame Rate
Here you can change the settings of our simulator in order to make them suitable for your machine.
On some computers certain shadow implementation don’t work or the simulations are just too slow.
In table 1.2 you can check different settings.
By clicking at any entry in the table, a simulation with a humanoid robot is launched.
Close the simulations by pressing Esc.
The version without shadow is supposed to work in any case.
If not check whether you have used the appropriate binary package.
Try the other shadow types and see which one works best. If possible, use
parallel shadow maps because it is the only method that enables shadows everywhere. The other
types only render shadows inside of the small arenas (if present).
After you found the best type start the appropriate simulation in the Use/store row
to store your choice for all simulations.
Don’t be surprised, these programs will quit immediately.
Table 1.2: Testing and setting of the shadow type. |
If the simulations are running very slowly
(see the “Speed” displayed in the bottom line, which should be 1.0)
you may change the frame rate and the window size in the following table:
Table 1.3: Frame rate and window size. |
back to optimizations
Chapter 3 The Sensorimotor Loop
3.2 Dominated by Embodiment: The Barrel
3.2.2 Open Loop Control
Experiment 3.1: Open loop control of Barrel |
First, we will describe the handling of the software in more
detail here.
For each simulation a terminal window and a graphical window opens.
The latter shows the rendered scene.
At the same time the terminal window shows a welcome text and the parameters that are used. While working with the simulator both windows are important.
The terminal window allows to check and change parameters via a text-based console,
which can be entered by pressing <Ctrl>+C in the terminal window.
A prompt appears (>) and you can type
>help<Enter>
to obtain a list of possible commands.
The graphical window allows to observe and possibly interact
with the robots. For a list of keystrokes and mouse actions type h (make sure
the focus is on this window).Our first experiment is Open loop control of Barrel.
The simulation is now running with the default parameters:
period=300 given in control steps (1/50 s) and
phaseshift=1 given in multiples of π.
Changing parameters of the robot or controller is done by using the pattern
“Parameter=Value”
on the command prompt.
For instance, in order to decrease the period duration (increase frequency) of the sine
signal type (after pressing <Ctrl>+C in the terminal window)
>period=200<Enter>
If done correctly, the actually set value is echoed, i. e. period = 200.0000,
otherwise the parameter name was probably misspelled. Hint: you can use the <Tab> key to do automatic completion.
In the default situation there is no rolling friction. The barrel does not
move with a constant speed but oscillates instead. Switch on the friction by
>friction=0.1
Now, decrease the period further, try: >period=100,50,10.
Note, that the robot cannot follow the periodic commands if too fast.
You can also change to another control mode for instance by using a colored noise
with the parameters
>strength=Strength
>color=Correlation time of the noise in 1/50 s
Try >strength=1, >color=100 and disable the sine generator with
>amplitude=0
Most of the parameters of the simulation can be monitored by starting the GuiLogger
by pressing <Ctrl>+G in the graphical window. Then a new window
appears where you may tick the boxes for the on-line display of sensor and/or
motor values.
Alternatively you can invoke the MatrixViz with <Ctrl>+M, which is especially handy in highdimensional systems.
3.2.3 Closed Loop Control
Experiment 3.2: Closed loop control of Barrel |
Start the simulation Closed loop control of Barrel.
The simulation is now running with the
C matrix as C11 =C22 =1, C12 =− C21 =.1 and h0=h1=0.
Change the parameters coupling1 for the diagonal and coupling2 for the non-diagonal matrix elements of C, e. g. try
>coupling2=-0.1
This will invert the velocity. Try further combinations like coupling1=0.5,coupling2=-0.5 which will speed up the robot.
Use the GuiLogger (<Ctrl>+G) for watching the sensor values, which are a
good indicative for the behavior of the Barrel.
In order to select random control parameters in the interval (−5,5) press r
on the graphical window.
The new parameters are printed on the terminal and you can
use the GuiLogger for monitoring all parameters (x,y, C, h).
To randomize also the bias terms h in the interval (−3,3) press R (<Shift>+R),
which results in even more different behaviors.
With L (Shift+L) you can set to C11=C12=2, C21=C22=−1, which will cause the robot to
roll and jump such that we call it the lolloping mode.
3.3 Analyzing the Loop
3.3.5 Effective Bifurcation Point and Explorative Behavior
Experiment 3.3: Closed loop control of wheeled robots. |
For this experiment you have two choices:
(a) a single wheeled robot in a square arena and
(b) a chain of robots.
The simulations start with the coupling set to C=1.2 and the noise strength
set to noise=0.1 (D=0.01).
Decrease the coupling constants by entering:
>coupling=value
until the behavior starts to change frequently, which should happen around Ceff=1.05.
This is especially visible in simulation (b), where below Ceff the chain barely moves.
In order to exert external forces to the robots use either <Ctrl>+<left Mouse button> or <Ctrl>+<right Mouse button>.
You can add/remove random obstacles by pressing o or O in all simulations.
Experiment 3.4: Expanding the body. |
Start the simulation
Expanding the Body (FourWheeled).
Some obstacles are placed in the environment, you may add more with o and remove them with O. The color of the obstacles corresponds to their material: white=plastic, yellow=foam, gray=metal, and black=rubber. Note that for instance rubber has a very high friction so that the robot can get stuck at the obstacle.
Try different coupling strengths for the IR sensors by entering:
>alpha=value
The default value is 1.0.
The coupling matrix set to Bij = α
(
−1 | −0 | − 1 | 0 | 1 | −1 |
−0 | −1 | −1 | 1 | 0 | 1 |
) , which leads to an obstacle avoidance behavior.
You can also change each individual entry with the parameters B11-B26
to get a different behavior.
Alternatively you can try
Expanding the Body (LongVehicle)
where only four infrared sensors are used.
Chapter 4 Principles of Self-Regulation — Homeostasis
4.2 Self-Regulation
4.2.2 Learning the Controller from Specialized Models
Experiment 4.1: Learning controller from forward model |
Start the simulation Learning controller from model.It is now running with єc=epsC=0, єA=epsA=0.1.
Check the convergence of the matrix A using the GuiLogger (<Ctrl>+G).
After convergence stop learning of the model by entering
>epsA=0
Change the behavior by pressing ‘s’ or ‘S’ (in the graphical window) multiple times
which scatters the parameters of C
by random values in [−0.2,0.2] or [−0.5,0.5] respectively. Switch on learning of the controller:
>epsC=0.1
Watch whether the previous behavior is reestablished.
Try more drastic changes by pressing ‘r’ or ‘R’ to reinitialize C randomly (see Experiment 3.2).
Eventually you may wish to start anew with switching to exclusive model learning using epsC=0, epsA=0.1.
4.2.3 Homeostasis: Self-Regulated Stability
Experiment 4.2: Homeostatic control of the Barrel |
The simulation Homeostatic control of Barrel
starts with the robot at rest and will not leave this state by itself.
The parameters are єc=epsC=0.1, єA=epsA=0.1.
Exert external forces to the Barrel by pressing ‘x’ or ‘X’ (in the graphical window)
or use <Ctrl>+<left Mouse button> or <Ctrl>+<right Mouse button>.
You can speed up/slow down the simulation by pressing ‘+’/‘-’.
Surprisingly the robot does not always come to rest but enters a periodic forward/backward
locomotion behavior.
Try different learning rates when the robot is in such a mode for instance:
>epsA=0.005
The interval of forward and backward motion becomes longer.
Try >epsC=0.5 and >epsA=0.5.
and observe the behavior.
Eventually the robot will stabilizes into the “do nothing” regime, since the model
can learn the behavior quick enough.
You may reinitialize both the parameters of the controller and the forward model randomly as described in Experiment 3.2.
For large learning rates the system comes to rest in almost any case. For low learning rates
we observe often oscillatory behavior.
Chapter 5 A General Approach to Self-Organization — Homeokinesis
5.2 Homeokinetic Learning
5.2.3 Self-Actualization, Adaptivity, and Sensitivity — Example
Experiment 5.1: Sensitivity and adaptation to environmental changes. |
Start the simulation Wheeled robot (1D-case) with trailer.
At the beginning there are no obstacles except the walls of the arena.
Watch how, after initialization, the robot just fluctuates until the critical value
of the feedback strength is reached when the robot starts driving into one direction, eventually
bouncing at the wall.
Note that the h dynamics is disabled.
If the robot is away from the walls press b to add a trailer box, which
is connected automatically to the robot. Observe how the actions become more and more
committed until the behavior without the trailer is being reestablished.
You may remove the trailer with B.
Use the GuiLogger to watch evolution of the sensor values, motor values and parameter dynamics of C, and A.
You can change the friction of the trailer with the ground by adjusting the parameter friction (default=1.8).
To reproduce the parameter divergence on the “dark side” you can
set C to a negative value by for instance coupling=-0.5.
Divergence is stopped by the intertia effects of the physical system at about C=−5.
Remember that you can always speed up/slow down the simulation by pressing ‘+’/‘-’.
Chapter 6 From Fixed-Point Flows to Hysteresis
Oscillators
6.4 Embodiment and Situatedness — Robotic Experiments
6.4.1 Wheeled Robots
Experiment 6.1: Emerging search with mobile robots |
For this experiment you have two choices:
(a) Different wheeled robots (learning) in a square arena without
obstacles and (b) five
LongVehicles in a maze (learning).
Remember that you can always speed up/slow down the simulation by pressing ‘+’/‘-’.
During the simulation you may change the parameters epsC to speed up or slow down the learning speed. Try for instance
>epsC=.005 or >epsC=.05
Use the GuiLogger to watch sensor values and motor values and parameter evolution.
Consider the dependence of the motion patterns on both the morphology of the robot, the obstacle situation in the playground and the parameters.
6.4.2 Spontaneous Cooperation in a Chain of Wheeled Robots
Experiment 6.2: Spontaneous cooperation in a chain of robots |
Start the simulation Spontaneous cooperation in a chain of robots.
Try different parameters for
>epsC.
Also check the difference to the case without learning by putting
>epsC=0 and >coupling=1.1
The latter sets the coupling strength C to the given value and resets the bias to h=0.
6.4.3 Emergent Locomotion of the Slider Armband
Experiment 6.3: Spontaneous cooperation in high-dimensional systems. |
The simulation Spontaneous cooperation in high-dimensional systems
starts with a the Slider Armband placed in a square arena.
You may change the parameters epsC, epsA, and noise. Try
>epsC=0
to switch off learning of the controller. Try also other values between 0.01 and 10.
Use the GuiLogger for watching sensor values, motor values and the parameters for the controller of the first joint. (The parameters of the other controllers are not visible). Study the dependence of the emerging motion patterns on the learning rate and the noise strength.
Chapter 7 Symmetries, Resonances, and Second Order Hysteresis
7.2 Homeokinetic Learning
7.2.2 Oscillatory Behavior
Experiment 7.1: Oscillatory behavior in 2D |
When you start the simulation
Oscillatory behavior in 2D short-circuit you won’t see the graphical window.
Instead the GuiLogger opens and displays the evolution of the state and the parameters.
You can interrupt by pressing <Ctrl>+C and change parameters.
With
>rotation=φ
you can re-initialize the controller matrix
with the specified angle φ (in degree). Try rotation= 30, 60, 90, and 120.
Try also to randomize the controller matrix with random=1 several times.
To close the simulation type >quit.
7.3 Second Order Hysteresis
7.3.3 Frequency Sweeping in Real Systems
Experiment 7.2: Homeokinetic control of Barrel |
The simulation Homeokinetic control of Barrel
starts with the robot at rest. Observe the generated behavior and the parameter dynamics
with the GuiLogger. Remember, that you can change the simulation speed with ‘+’/‘-’.
Try different learning rates for instance by entering
>epsC=value
You may re-initialize both the parameters of the controller and the forward model randomly as described in Experiment 3.2. For many conditions the dynamics will come back to the sweeping
behavior, but there are also initial conditions (especially if the Det(C)<0)
where the dynamics will lead to strange and often fixed behaviors.
In order to exert external forces to the barrel use either the <Ctrl>+<left Mouse button> or the <Ctrl>+<right Mouse button>.
Chapter 8 Low Dimensional Robotic Systems
8.2 Spherical
Experiment 8.1: Self-exploration and situatedness with Spherical. |
For this experiment you have two choices:
(a) Spherical on flat ground, or
(b) Spherical in a basin. In (a) observe
how the controller explores the different rolling modes.
The learning rate is set very high (єc=1), such that the modes are quickly changed.
You may start GuiLogger or MatrixViz and select C, A and y.
Decrease the learning rate to 0.3 or below and see how the modes get more stable.
Eventually the robot might have left the virtual world and the colored ground ends. Use <Ctrl>+H to get it back to the initial position.
In (b) you can reproduce the results of the robot in the circular basin. You can press * on the numerical keypad or >realtimefactor=0 on the console to set to maximum speed.
After at most two hours (a few minutes in the speed up mode)
the robot will manage to escape from the basin.
Use <Ctrl>+H to get it back to the initial position.
8.2 Barrel
Experiment 8.2: Precession mode Barrel. Creativity in unpredictable situations. |
In the simulation Homeokinetic control of Barrel(upright)
the robot is in an upright position.
In video Creativity in unexpected situations the controller gets negative diagonal elements
such that we initialized here with C11=C22 = −0.1
and C12=−C21=0.05.
The experiment is run with a high value of the creativity parameter,
so that the noise has a strong influence on the behavior. If the precession mode does not
emerge after longer time, then restart the simulation.
Observe the parameters evolution with the GuiLogger and remember that you
can speed up or slow down the simulation. If the robot manages to get free you can
try to put it up again using the external forces (<Ctrl>+Mouse).
Chapter 10 High-Dimensional Robotic Systems
New: Force Boosting
The force boosting unit: The experiment kit comes with a new feature—the so-called force
boosting—not yet contained in the book.
This feature helps stabilizing the algorithm essentially in the applications to the more complex
robots like the Humanoid or the Hexapod. Without this new mechanism, it very often happens that the robot gets stuck in situations like lying on the ground due to the forces of inertia. In other situations
like the humanoid or the snake in the pit, the configuration of the robot’s limbs may become so intricate that normal forces are not sufficient to counteract.
Such an unnatural configuration may last over a very long time
causing the learning algorithm to adapt such that the world model and the controller reconfigure to that situation.
Then, if the situation is resolved, returning to the normal configuration may take too long so that
the robot gets stuck in the next strange situation with ensuing readaptation. The sequence of such
steps may well lead to the divergence of the learning algorithm.
The main reason for the occurrence of such situations is seen in the fact that often the forces
the motors can exert are too weak to counteract such a situation right from the beginning.
Actually a good servo motor with a strong integration term should cope with the problem.
However, as we have observed, the integration term should be readapted for each robot,
possibly taking account of the special environmental conditions the robot is in.
Therefore, we introduced a force integration term into the wiring unit which is part of the
robot (the ForceBoostWiring) and can be tuned from outside specifically to every robot.
This unit realizes just the integration of the difference between the nominal value y of a joint angle, say,
and the observed value x integrating a vector e called error as
Δ e = β ( y − x ) − γb e .
|
where β is called booster in the algorithm and γb realizes a damping of the boosting strength.
In the applications it is often helpful to vary the booster tentatively in order to get the effect
without giving the boosting mechanism too much influence.
In the standard applications, a “sound” choice is reflected by a
controller matrix C with the non-diagonal elements being quite small (of the order of 0.1).
10.1 Underactuated and Compliant
Experiment 10.1: Swinging legs. The heavily underactuated dog. |
Start the simulation Dog with swinging legs where
the robot is fixed in the air.
Default values of the parameters are set such that you will observe after some time coordinated motion patterns.
You may wish to change the following parameters:
powerfactor (this is a relative quantity multiplying the force of the motors, default value is 1)
and the learning rates for controller and model (epsC, epsA) (default is 0.1).
Use the GuiLogger and MatrixViz for monitoring the parameters (x, y, C, h).
Experiment 10.2: Bungee jumping. |
Start the simulation Bungee jumping.
Default values of the parameters are set such that you will observe after some time
the robot taking all kinds of whole body motion patterns.
You may wish to change the following parameters:
powerfactor (this is a relative quantity multiplying the force of the motors, default value is 0.2), gravity (default is -6),
learning rates for controller and model (epsC, epsA) (default is 0.01).
The robot is lifted by a spring force (bungee) that you can adjust with
force (default 30) and
point_z that specifies the height of the spring origin (default is 3).
The force is always perpendicular to the ground.
You may apply additional forces to the center of the trunk by using <Ctrl>+<left mouse button>.
Use the GuiLogger and MatrixViz for monitoring the parameters (x, y, C, h).
Experiment 10.3: Multilayer networks for forward model and controller. |
Start the simulation Multilayer networks: Bungee.
Both controller and forward model are now networks with two layers of equal number of neurons.
You can also start Bungee redundancy where the
number of hidden units is twice the number of input units.
You may wish to suppress learning with epsC=0 from time to time
to observe the emerging modes with these more complex networks.
See Experiment 10.2 for further details.
Use the MatrixViz for monitoring the parameters (x, y, C1, C2, A1, A2).
10.2 Dog and HippoDog
Experiment 10.4: Dog surmounting barriers. |
Start the simulation Dog Inside Barriers,
which starts with the Dog fixed in air. You may drop it by pressing x.
You may change the parameters distance, height, and heightincrease
to arrange the arena.
The Dog is prevented from falling over by an external force active
if a certain angle of the trunk is being exceeded (see the yellow bubbles).
You may change the parameters as described in Experiment 10.1
in particular changing the boosting rate booster (see description above) is seen to strongly
influence the behavior.
Experiment 10.5: The HippoDog. |
Start the simulation HippoDog .
Choose arena and parameters as in Experiment 10.4.
10.3 Humanoid
Experiment 10.6: Humanoid |
Start the simulation Humanoid.
The robot is not connected to a spring so that it falls down freely.
You may wish to change the following parameters:
powerfactor (overall factor for strength of motors, default 1.5),
booster (see description above),
gravity and the learning rates for controller and model
(epsC, epsA).
There are many more other parameters as seen in console output.
Press l to relocate the robot to the initial configuration. You can do this repeatedly
in order to see how the behavior develops although the physical conditions are the same.
Alternatively you can start the simulation Humanoid with multilayer networks.
Both controller and forward model are now networks with two layers of equal number of neurons.
You may wish to suppress learning with epsC=0 from time to time
to observe the emerging modes with these more complex networks.
See Experiment 10.2 for further details.In another simulation you can try the Humanoid in a rescue setup
.
You can change the pitsize and height to modify the physical environment.
Use the GuiLogger and MatrixViz to monitor all parameters (x,y, C, h).
High Bar and Rhönrad - Feeling the Body
Experiment 10.7: Humanoid at high bar |
Start the simulation High Bar where the humanoid is hanging on a fixed high bar.
The robot can move along the bar and of course swing axially.
You may change the height of the bar by pressing b/B in the graphical window
and the relative force of the arms with relforce.
The other parameters are the same as in Experiment 10.6.
Experiment 10.8: Rhoenrad |
Start the simulation Rhoenrad.
Change the parameters as in Experiment 10.6.
Occasionally you may wish to push the wheel (<Ctrl>+<mouse buttons>).
Alternatively you can start Rhoenrad multilayer
so that the multilayer version (soml algorithm) of the controller is used.
Fighting
Experiment 10.9: Fighting |
Start the simulation Fighting.
There are two Humanoids in the arena.
A fictive force is applied to prevent the robots to escape from the arena (visualized by a disc).
We implemented a gripping mechanism if a hand touches the opponent.
The grip is held for a certain time (gripduration, default 10 s) and
released afterwards for at a time (releaseduration, default 5 s).
For other useful parameters see Experiment 10.6.
10.4 Snakes — Adaptation and Spontaneity
Start the simulation Snakes.
Initially there is one Snake, falling into a circular pit.
You can change the height of the pit with pitheight and its size with pitsize.
By pressing i/I you can add/remove a snake inside the pit
and with s/S add into/remove from the surrounding.
You may wish to change the following parameters: motorpower and booster.
10.6 World of Playful Machines
Experiment 10.11: The world of playful machines |
Start the Play World simulation. There are two fighting humanoid
and an Slider Armband at the
beginning, but you can remove and add robots yourself.
Choose the controller type by: >multilayer=0 for sox algorithm
and >multilayer=1 for soml algorithm for all new robots.
Then you can add/remove robots by pressing:
u for Humanoid,
r for fighting Humanoids in the box ring,
a for Slider Armband,
x for Hexapod,
p for Hexapod on the pile,
c for chain of robots,
b for Spherical,
s for Snake, and
l for LongVehicle.
Pressing <Shift>+X (where X is one of the above keys) a robot of the respective type will be removed. So to get rid of the fighters press R.The single Humanoids are in the bungee setup, see Experiment 10.2.
The fighters are kept trapped in the box ring as in Experiment 10.9.
The Hexapod is hindered from falling over by a virtual
operator, illustrate by a yellow ball while active.
The chain of robots is controlled as in Experiment 6.2
but has additionally infra-red sensors which are coupled only to the front/back robot
similar to Experiment 3.4.
The Slider Armband is operated in split control mode as in Experiment 6.3.
The LongVehicle is weakly guided to drive straight see below in Experiment 13.1.
The other useful parameters are: noise (default is 0.01), damping,
learning rates epsC, epsA and so on,
see the numerous parameters displayed on the command line.
It is helpful to call >show
and >ls to get the current configuration.
Chapter 12 Guided Self-Organization — A First Realization
Experiment 12.1: Spherical with direct sensor teaching. |
Start the simulation Spherical Robot - Direct Sensor Teaching.
The simulation is now running without guidance, i. e. γ=0.0.
The robot will start to roll and change the axis of rotation every so often.Observe the change in behavior when you set the guidance factor
to gamma=0.005 (or simply press g).
The robot changes to rotate around the red axis. You can change the teaching signal to another
axis by pressing a (second axis: green, third axis: blue).
Try different guidance strengths (parameter gamma such as 0.001 and 0.01) and watch the parameters as usual.
Chapter 13 Channeling Self-Organization
Experiment 13.1: TwoWheeled robot with cross-motor teaching. |
The simulation Guided TwoWheeled drives straight
starts with the robot in a cluttered environment
without guidance,
i. e. γ=0.0.
The robot will equally probable move forward, backward and turn in both directions.Observe the change in behavior when you set the guidance factor gamma=0.02 (or simply press g).
The robot starts to move more straight than before.
After a while set gamma=0.5, which is too large for this application.
The robot will now drive very straight and is much less explorative.
Experiment 13.2: Locomotion of the Armband. |
The simulation Armband with cross-motor teaching
starts in pause mode, so that the robot can be inspected.
Press <Ctrl>+P to toggle the pause mode.
At the beginning the guidance is switched off
and the values of γ=0.0 (gamma) and D=1 are displayed.
Observe the unguided behavior (speed up the simulation if impatient using +/-).
Use the MatrixViz (<Ctrl>+M) to observe the motor values y
and the controller matrix C.Enable now weak guidance with gamma=0.001
The robot will slowly start to perform a locomotion in one direction.
Note the emerging band structures in the C matrix.
Observe the change in behavior when you change the guidance factor to gamma=0.005
and then the connection setup with D = -1 leading to an inversion
of velocity.
Keep in mind that a change in the guidance needs time
to show up in the behavior. Therefore it is
recommended to wait about 30 seconds after a change in parameters.
There are also bars on the floor to overcome. If the robot gets stuck then
speed up and observe the slow change in behavior—the robot will manage eventually.
© Copyright 2011, Ralf Der and Georg Martius