Distributed neural control for complex autonomous robots


Chapter 7: Adding external influence

Overview

In this chapter we will describe a method to generate a DAIR neural controller for a complex robot, whose behaviour can be tuned based on a tonic value from an external source. The signal modifying the behaviour will be referred to as the TOC (from TOnic Control ). The TOC signal is intended to originate from outside the DAIR controller, and could potentially stem from a user control panel or any other external deliberative modules which may have been implemented with other mechanisms different to DAIR. What is mandatory is that the TOC signal must at every time step provide a value which represents a desired status, from the outside module, and into the behaviour of the controller.


Figure 1: Schematics of a final DAIR controller with TOC signal, for the
control of a robot with two sensors and two actuators.

Basically, the method consists of measuring behavioural differences in the controller when the value of the TOC signal changes, and then to evolve those controllers whose difference in behaviour best suit the difference in TOC signal value. During the evolutionary process the robot's behaviour is measured, that is, tested with different TOC values. Controllers accomplishing the behaviour change desired by the designer will obtain better fitness values, and are hence evolved forward. The result is a DAIR controller which changes its behaviour according to the value of the TOC signal.

The method

The procedure begins in the same way as in the progressive design method described in chapter 6. Firstly, a staged evolutionary strategy is selected by the designer. Hence the number of stages N required to evolve the controller is decided, as well as the modules that will be evolved in each stage. At this point, the first evolutionary stage is performed in the same way as described in chapter 6, using the provided f1 fitness function. Once the modules involved in stage-1 have been evolved and the stage finished, a new input t is added to all the IHU modules evolved. That new input will be the input from the TOC signal. The weight connecting this new input to the inner neurons of the neural network of each IHU is randomly initialised. The evolutionary process from stage 1 is then resumed, but using a modified fitness function f1' which adds an additional term to the original fitness function, indicating how the controller's behavior has to change based on the TOC value. The new fitness function will now be something different, including the f1 term, and an additional term based on the behaviour_measure1 value.

During the evolutionary process with f1' , the evaluation of a given controller is performed several times, with different TOC values. The whole process is repeated for all the designed evolutionary stages, by defining at each stage functions fi' fn, and behavior_measurei. The final result is the complete DAIR controller whose behaviour changes depending on the TOC value.

Application to Aibo walking behavior


First stage: single joint oscillation at several speeds

The goal for this stage is to obtain a joint J1 whose oscillation frequency varies with the TOC value.  The fitness function to obtain an oscillation is composed of two parts: joint variance and number of oscillations. Only the part measuring the variance, is used now, and the part measuring the number of oscillations should vary depending on the TOC signal value.

The following video shows the resulting oscillation obtained for joint J1. The oscillation changes its speed along the video when the TOC value changes.



Second stage: two joints oscillating at several speeds

The goal for this stage is to obtain two joints oscillating in counter phase. Oscillation frequency changes in both joints must be similar to maintain phase between them.

The following video shows the resulting oscillation obtained for joints J1. The oscillation changes its speed along the video when the TOC value changes.


Third stage: four joints oscillating at several speeds

The following video shows the resulting oscillation obtained for joint J1. The oscillation changes its speed along the video when the TOC value changes.



Fourth stage: coupling the three layers

From the previous stage, a layer of J1 joints of the same type which oscillate with a walking gait phase relationship between joints is available, and whose oscillation speed can be changed. This stage replicates the obtained layer to the other two: J2 and J3, and coordinates the oscillation between the three different layers by evolving the connections between them. The three layers must be able to change speed  at the same time, based on the TOC value.

The results obtained show how the different joints of the same type can vary their speed based on the TOC signal value. It is observed a huge reduction is observed in the frequency range that the controller is able to oscillate in while maintaining a coordinated oscillation. In fact, the Aibo  robot was only able to produce two different walking speeds. The change in speed of the whole Aibo robot is not very significant though. There could be several reasons for this, but the most likely is that too many new connections to be evolved are involved in the last stage.



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)