Experiment Page

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.
Browserselection requiredComment
Firefoxyes, type /bin/bashit remember the choice, you have to agree each time
Konquerornoit will ask each time for a confirmation
Operanot supporteduse another browser
Google Chromenot supporteduse 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.
Shadow type:No shadow (default)Shadow mapSoft shadow mapParallel SM (best)
TryTest no shadows Test shadow map Test soft shadow map Test parallel shadow map
Use/storeUse no shadows Use shadow map Use soft shadow map Use parallel shadow map

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.
Setting:Frame rate (default)Frame rateFrame rateWindow sizeWindow size (default)Window size
TryTest 25 fps Test 15 fps Test 7 fps Test 640x480 Test 800x600 Test 1024x768
Use/storeUse 25 fps Use 15 fps Use 7 fps Use 640x480 Use 800x600 Use 1024x768

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


Experiment 10.10: Snake
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


This document was translated from LATEX by HEVEA.