Distributed neural control for complex autonomous robots


Chapter 8: DAIR inner analysis

Overview

By analyzing the distributed ensemble of IHU’s it is observed that modules create their own communication values for the cooperation between themselves. Furthermore, it is observed that IHU’s always communicate the same value to their peers when the situation that the robot is experiencing is similar, even if the actual sensor values are different. This observation leads to a discussion about how IHU’s manage information so that the output of the IHU’s is taken as a meaningful internal representation of the current situation of the robot. This internal representation has emerged through interaction of the robot with the environment, or, otherwise stated, the robot acquires its own semantics. Hence, what this section basically explains is the addition of the term Internal Representation in the name of the (DAIR) architecture.

Definitions

The state vector is defined as the vector that contains the output values of all the robot’s IHU’s at any given time. That is, for a robot controller composed of N sensors and M actuators, the state vector is defined as:

state vector(t) = (OS1(t),OS2(t), . . . ,OSN(t),OA1(t),OA2(t), . . . ,OAM(t))

The vector can be plot over a period of time and observe how it changes in the different situations the robot is experiencing.


Figure 1: This plot shows a typical plot of the state vector for a robot composed of two sensors and two actuators while performing a given behavior

The internal state of the robot is defined as the  instantaneous value of the state vector at a given time. Thus the internal state of the robot is codified as a vector of n dimensions, where n = M +N is the number of IHU’s. The interesting point is to observe how the internal state changes while the robot performs its evolved task, and identify any correlation between its behaviour and the current internal state.

The internal state actually remains relatively stable around a set of values when the robot is involved in similar situations. The model vector is defined as the set of values of the state vector related to one given internal situation.

Inner analysis of the contour following behavior


The state vector trajectory for this robot during a typical operation is shown in figure 2. The robot starts in a free space with its sensors not detecting anying and it initiates a circular movement, indicated by the activation of the IHU-Ml and IHU-Mr at different power levels. The execution of this mechanism ensures that the robot will encounter an obstacle at some point on its circular trajectory; either the central object or the wall. The radius of the performed circle depends on the conditions in which the robot was evolved, basically the distance-to-obstacle at the beginning of the evolution.
Once the robot encounters the obstacle with sensor Sy, the state vector changes for the motor IHU’s, producing an opposite rotation direction. Also, the part of the sensor of the state vector changes to indicate that the robot is experiencing a different situation. The rotating behaviour in the opposite direction is activated, until the Sy sensor detects nothing and sensor Sx reaches a certain level. At this point, the robot is, more or less, aligned with the object.





Figure 2: This plot shows a typical run of the contour-following behaviour. Left: Sequence of robot movements. Right-top: state vector plot. Rightbottom: distances detected by sensors during the run.

Again, the state of the vector changes by applying a similar velocity to both motors so that the robot moves along the object. After a while, in step 83, the robot loses contact with the object because it has reached a corner. The IHU’s quickly change their state to activate again the counterclockwise rotation procedure. Once the robot detects the object again with sensor Sx, the move along object state is again activated.

Identified model vectors

By looking at the plot of the previous figure, four different states could be identified. However, in order to be more exhaustive, a complete analysis of the different situations the robot could experience while doing its job was performed. By doing this analysis, the model vectors were identified  and extracted.

State IHU Sx IHU Sy IHU Ml IHU Mr
a
0.9
0.12
0.49
0.96
b
0.0
0.99
0.99
0.0
d1
0.775
0.1
0.55
0.925
d2
0.44
0.1
0.695
0.765
d3
0.135
0.1
0.825
0.56

Table 1: Manually extracted model vectors for the contour-following behaviour.

Additionally, an automatic procedure for model vector extraction was devised, based on the use of the ARAVQ algorithm. When using this method, we obtain the following table of model vectors, very similar to the one manually obtained:


State IHU Sx IHU Sy IHU Ml IHU Mr
a
0.9
0.11
0.49
0.96
b
0.0
0.99
0.99
0.0
d1
0.7
0.1
0.58
0.91
d2
0.37
0.1
0.74
0.74
d3
0.17
0.11
0.82
0.58

Table 2: Automatically extracted model vectors for the contour-following behaviour.

In the previous example, four different model vectors were identified for the robot behaviour by using the state vector. A task-related meaning has been manually assigned to those model vectors, because it was possible to visually identify the vector values with a well defined situation of the robot. However, this does not mean that the situation will be the same for other robots or other tasks, where understandable human meanings are assigned to the vector models; that is, it may ocur that the robot creates internal vector states that correspond to a situation interesting for the robot itself, but where we cannot identify a situation from an external human point of view.

Inner analysis of more complex robots

A more complex robot and task were selected to observe how the state vector behaves in such situation. The Khepera and Aibo robots  were selected while doing the garbage collector and the walking behavior respectively.
For those cases, the state vector became so complex that a manual analysis was not possible. An automatic one based on the ARAVQ algorithm was tried but found not very useful due to the fact that non-tonic states appeared (those are, states where its value is not defined by a given tonic value, but by a frequency of oscillation around a value). Due to this, just an preliminary analysis for those robots was provided.

Figure 3: Aibo walking behaviour state vector.



Related published papers


C. Angulo, R. Téllez, and D. Pardo, Internal Representation of the Environment in Cognitive Robotics , International Journal of Robotics & Automation , vol. 24, issue 3, ACTA Press, 2009

R. Téllez, and C. Angulo, Embodying cognitive abilities: categorization, , in the 9th International Work-Conference on Artificial Neural Networks (IWANN'2007). Published in Lecture Notes in Computer Science, Volume 4507, p 781-788, 2007.

R. Téllez and C. Angulo, Acquisition of meaning through distributed robot control, in the Proceedings of the ICRA workshop Semantic Information in Robotics, Rome, 2007



Web page by R. Téllez using rubric css by Hadley Wickham
Don't undertake a project unless it is manifestly important and nearly impossible (Edwin Land)