This invention relates to an artificial multiped such as a robot or a computer-generated image, and to a controller therefor. The invention relates in particular to the control of the walking of computer generated bipedal images, and particularly but not exclusively, to the body dynamics of such images.
The control of artificial multipeds, whether embodied or physically simulated, is an inherently difficult task. There is considerable interest in this matter, from disciplines as diverse as robotics, computer animation, virtual reality and biology.
For computer animation, the use of motion capture has long been employed, wherein the desired human behaviour is filmed and then typically digitized to provide data for animation of an equivalent image. Whilst this provides realistic motion dynamics, particularly for the difficult simulation of bipeds, the technique suffers from the difficulty in generalizing walking motions, particularly in unpredictable conditions. The technique also imposes high demands on data storage capacity, and is inappropriate for robots.
A further approach which has therefore been developed, both for robots and for computer-generated images, relies upon a semi-physical representation of the multiped coupled with a controller to create movement patterns. Techniques such as inverse kinematics and inverse dynamics can be employed to place virtual limbs at the desired positions and accordingly to compute the required forces. The problem with this approach is that the controller tends to use finite state machines (because of the cyclical nature of ambulatory movement) which results in only partially realistic movement and requires hand turning of the parameters of the finite state machine.
In recent years, neural networks have been employed to improve the control of morpho-functional machines. So called recurrent neural networks (RNNs) have been found to be particularly appropriate for locomotion of multipeds, when used in combination with artificial evolution to optimize the parameter settings of the network. U.S. Pat. No. 5,124,918 discusses such an approach in the control of a hexapedal insect-like robot, and Ijspeert et al in “From Lampreys to Salamanders: Evolving Neural Controllers for Swimming and Walking” from Animals to Animats, Proceedings of the 5th International Conference of the Society for Adaptive Behaviour (SAB98), pages 390 to 399, MIT Press (1998) discuss the application of neural networks to artificial salamanders. Golubitsky et al in “Symmetry in locomotor central pattern generators and animal gaits”, Nature 401, pages 693-695 (1999) discuss, at a theoretical level only, the neural controllers necessary for many-legged creatures.
There are particular problems associated with the control of bipeds, both embodied as robots and as computer simulations. Specifically, the unstable dynamics of two-legged walking require that, in general, continuous active control is necessary. Additional controllers have also been necessary to control lateral and sagittal stability. For this reason, engineering techniques such as finite state machines and conventional control theory have been considered necessary. As previously explained, this brings with it the problems of mathematical tractability, the need for manual optimisation, and limits on extendability. Bipeds controlled in this manner also tend to be relatively slow moving.
The present invention seeks to improve on the prior art. In particular, one object of the present invention is to provide an artificial morpho-functional multiped which appears qualitatively more realistic when moving. A further object is to provide a bipedal motion controller which leads to a faster evolution of stable walking, which at least alleviates the problems of the prior art biped controllers and which again causes qualitatively more realistic walking of the biped.
According to a first aspect of the present invention, there is provided a computer system comprising: processing means arranged (i) to generate an image, on a visual display unit, of a multiped having a trunk and at least two legs depending therefrom, each leg including at least a first, upper part and a second, relatively lower part; (ii) to simulate the Newtonian forces that would be acting upon each separate part of the multiped at a given time and to apply these simulated forces to each said separate part so that, when displayed, each part moves under the influence of these simulated forces; (iii) to cause the image of each upper leg part to pivot about the trunk; (iv) to cause the image of the upper part of each leg to be moved via a simulated actuator in an arc relative to the said trunk; and (v) to cause the image of each relatively lower leg part to describe an apparently substantially free-swinging movement relative to its respective upper part; (vi) to provide a neural network having a plurality of neurones, the output of which neural network controls the actuator movement of each upper leg part such that the image of the multiped appears to walk.
The use of “passive dynamics”, that is, the use of freely swinging relatively lower leg parts with only the upper part of the leg being actuated, provides a walking gate of an anthropomorphic nature. It will of course be appreciated that the same effect is achieved even if the lower leg part is actuated, (although at the expense of further hardware and control) provided that the net result is that the lower leg part moves in a manner which appears to be free swinging or nearly so, and the scope of the claim is to be construed accordingly. Actuation of the lower leg part may in fact be desirable if the multiped is to circumvent or climb over objects. Indeed, a weak constant simulated torque applied between the upper and lower leg parts, which tends to straighten the leg, has been found to be particularly useful. The strength of the torque is sufficiently small that the lower leg part nevertheless appears substantially free-swinging. Likewise, although a leg with only two parts, upper and lower, is preferred, the claim is not restricted thereto and multi-jointed legs are contemplated as well.
Preferably, the processing means is further arranged to simulate the actuator by calculating the simulated torque, ′T, required to move the image of the upper part of each leg, under the effect of the said simulated Newtonian forces, in response to an output from the neural network.
The actuator used to cause movement of the upper part of each leg may take several forms. In one preferred embodiment, the actuator is a proportional-integral-derivative (P-I-D) actuator in which, preferably, the torque ′T at a time T is related to the angle 1 in accordance with the equation
where kP, kD and kI are the proportional, derivative and integral coefficients, and t is time.
In particularly preferred embodiments, the coefficient kI is set to or near zero, so that the actuator becomes a proportional-differential (PD) actuator.
An actuator implementation of this type requires as input the desired angle between the upper part of the leg and the trunk (equivalent to the desired length of a biological muscle). The necessary force (torque) to reach the “sweet spot” is calculated by the actuator itself. In other words, motor commands from the neural network to the actuator do not, in the preferred embodiment, represent forces, but instead represent desired kinematic parameters like relative joint angles.
The use of PID or PD controllers brings about several advantages. Firstly, control is provided at a low level, as any discrepancy between the actual and the desired angle is automatically reduced. As a consequence, the tendency of the computer-generated images of the limbs (for example) to buckle under the simulated body mass is counteracted directly by the actuator, a task which would otherwise have to be accomplished by the neural network. In addition, by tuning the allowed desired angle (1d) range, upper and lower limits to limb movement can easily be achieved. This is not possible if the neural network has explicitly to specify forces rather than desired angles.
Yet a further advantage is that a joint actuator arrangement which acts as one entity rather than implementing single muscles (agonists, synergists, antagonists) greatly reduces the degrees of freedom of the system (and of the neural network controller).
In other preferred embodiments, however, the processing means is further arranged to simulate the actuator as a force limited velocity constraint actuator in which the torque, ′T, applied to the upper part of each of the two legs is a function of the desired velocity of movement of the upper part of the one leg relative to the body trunk, and wherein the desired velocity of movement is related to a difference between the actual and the desired angle between the two upper leg parts, the desired relative angle being derived from the neural network.
The object point to which an angle of an upper leg part is relative is of course arbitrary for perfectly symmetrical walking. A relative angle between one leg and the trunk is functionally equivalent to a relative angle between one of the upper leg parts a fixed point for example. For perfectly symmetrical walking, indeed, it would be possible to measure the angle of one leg relative to the other.
In each case, it is to be understood that application of the torque to the upper leg parts may be directly (i.e. to a simulated thigh muscle), to a simulated hip joint or both.
Preferably, the multiped has only a single actuator per leg, such that the lower leg parts swing freely. Multiple actuators for each leg are however envisaged as well.
Most preferably, the multiped is simulated as a biped with two hip joints, each hip joint connecting the upper part of a respective one of the two legs to the trunk. The hip joint is constrained to have only a single degree of freedom in the preferred embodiment. It has been found that lateral and twist movements are not necessary for straight line walking.
Preferably, the processor is further arranged to generate an image of a plurality of feet, each of which appears to be connected to an end of the image of the lower part of a corresponding leg via an ankle joint, and wherein the processor simulates the action of a damped torsional spring to govern the movement of each said ankle joint.
During walking, the feet represent the only physical interface between a walking multiped and its environment, and therefore play an important role in its locomotion. In particular, by acting analogously to a damped spring, the ankles serve to allow a smooth roll of the foot over the floor whilst simultaneously storing energy. At toe lift-off, this energy is released to used to initiate the next stride. No active neural network control is required for this task.
The processor may also limit the angle between the image of the upper part and the image of the lower part of each leg. The reason for this is that a passively swinging lower leg preferably requires a mechanism to provide a rapid stop to the movement at full extension. Although an appropriately controlled and timed actuator could in principle achieve this functionality, a preferred solution is to place a soft angular limit on the knee joint (that is, the angle between the upper and lower parts of each leg).
In a particularly preferred embodiment, the neurones of the neural network are arranged as a recurrent neural network (RNN) so as to form two bi-directionally coupled chains of identical oscillators, at least two of the neurones acting as motor neurones whose output controls the said actuator associated with the upper part of each said leg.
The neural network architecture of the preferred embodiment acts as a central pattern generator. The number of identical oscillators in each chain is preferably twice that of the appendages to be actuated. In other words, four oscillators per chain or eight in total are preferred to control quadrupeds, whereas two oscillators per chain, i.e. four in total, are desirable for bipeds.
Most preferably, the recurrent neural network comprises one recurrent subnet per oscillator, and each recurrent subnet preferably comprises six nodes as this was found to produce a high degree of spontaneous cyclic activity. Each of these recurrent subnets is connected to a laterally adjacent recurrent subnet (i.e., a recurrent subnet in the other of the two chains) via symmetrical weights so as to allow bidirectional coupling. Each neurone in each recurrent subnet is preferably arranged to synapse with its equivalent in the opposite recurrent subnet in the opposite chain. Connections to sagittal neighbours are asymmetric, in the preferred embodiment, that is, each neurone is preferably connected to its equivalent in the next recurrent subnet in the same chain, but no connections exist the other way.
For a biped, preferably, two of the nodes in the RNN are designated as motor neurones, with the output of these nodes being used to control left and right sagittal hip actuation. More generally, it is preferable to have one motor neurone per leg to be actuated in a multiped.
The use of identical oscillators as well as only two sets of coupling weights (lateral and sagittal) limits the search spaced (for the network parameters) to a total of 60 parameters (36 weights plus 12 neurone parameters plus 6 lateral weights plus 6 sagittal weights).
Furthermore, an ancillary stability controller may be applied at the beginning of an optimization procedure, to improve the overall speed of evolution of stable network parameters. The effect of this ancillary controller is gradually reduced in subsequent optimisation iterations.
Preferably, the properties of the neurones and their connections within the said neural network are determined on the basis of a genetic algorithm. Most preferably, the criterion used to optimise the network parameters is that the distance over which an end of the lower part of a rearmost leg in the image of the multipedal object, relative to that origin, should be maximized relative to the said origin.
Rapid optimization of the network parameters is further achieved, in preferred embodiments, by aborting consideration of trial arrays of networks parameters as soon as certain undesirable situations occur. For example, if the centre of mass of the simulated body drops below a certain, predetermined value, then any resultant locomotion will certainly not appear realistic and the network parameters resulting in this form of image control are considered non-ideal. Enforcing the early abortion of unpromising runs speeds up evolution dramatically.
According to a second aspect of the present invention, there is provided a controller for a computer-generated image of a biped, the image comprising two legs depending from a trunk, each leg being actuated by a computer simulated actuator, the controller comprising a neural network having a plurality of neurones, the output of the neural network being arranged to control the computer simulated actuator such that the image of the trunk is caused to move as the image of the legs is moved.
The invention also extends to a computer system comprising processing means arranged (i) to generate an image, on a visual display unit, of a biped having a trunk and legs depending therefrom, each leg including at least a first, upper part and a second, relatively lower part; (ii) to simulate the Newtonian forces that would be acting upon each separate part of the biped at a given time and to apply these simulated forces to each said separate part so that, when displayed, each part moves under the influence of these simulated forces; (iii) to cause the image of each upper leg part to pivot about the trunk; (iv) to provide a neural network having a plurality of neurones together arranged to act as two bi-directionally coupled pairs of identical oscillators; (v) to cause the image of the upper parts of each of the two legs to be moved by a force limited velocity constraint actuator, in an arc relative to the said trunk, the actuator being simulated by the processing means to calculate the simulated torque, T, required to move the image of the upper part of its associated leg, under the effect of the said simulated Newtonian forces, as a function of the desired velocity of movement of the upper part of the one leg relative to the upper part of the other leg, and wherein the desired velocity of movement is related to a difference between the actual and the desired angle between the two upper leg parts, the desired relative angle being derived from the neural network; and (vi) to cause the image of each lower leg part to describe an apparently substantially free-swinging movement relative to its respective upper part as the said upper part moves in its said arc; the output of the neural network being arranged to control the simulated actuator such that the image of the trunk is caused to move as the image of the legs is moved.
In yet a further aspect of the present invention, there is provided computer program comprising program elements which, when executed on a digital computer, cause a processor thereof: (i) to generate an image, on a visual display unit, of a multiped having a trunk and at least two legs depending therefrom, each leg including at least a first, upper part and a second, relatively lower part; (ii) to simulate the Newtonian forces that would be acting upon each separate part of the multiped at a given time and to apply these simulated forces to each said separate part so that, when displayed, each part moves under the influence of these simulated forces; (iii) to cause the image of each upper leg part to pivot about the trunk; (iv) to provide a neural network having a plurality of neurones together arranged to act as two bi-directionally coupled pairs of identical oscillators; (v) to cause the image of the upper parts of each of the two legs to be moved by a force limited velocity constraint actuator, in an arc relative to the said trunk, the actuator being simulated by the processing means to calculate the simulated torque, T, required to move the image of the upper part of its associated leg, under the effect of the said simulated Newtonian forces, as a function of the desired velocity of movement of the upper part of the one leg relative to the upper part of the other leg, and wherein the desired velocity of movement is related to a difference between the actual and the desired angle between the two upper leg parts, the desired relative angle being derived from the neural network; and (vi) to cause the image of each lower leg part to describe an apparently substantially free-swinging movement relative to its respective upper part as the said upper part moves in its said arc; the output of the neural network being arranged to control the simulated actuator such that the image of the trunk is caused to move as the image of the legs is moved.
In this case, the computer program may be stored upon a computer-readable storage medium such as a magnetic or optical disc. Alternatively, it may be embodied upon an electromagnetic signal.
Still a further aspect of the present invention provides a method of controlling the locomotion of a computer-generated biped, comprising the steps of: (a) establishing a neural network having a plurality of neurones; (b) generating a computer image of a body trunk and at least two legs, each leg depending from the trunk; (c) simulating the Newtonian forces that would be acting upon each separate part of the computer-generated object at a given time; (d) applying those simulated forces to each said separate part so that, when displayed on a visual display unit, each part appears to move under the influence of those simulated forces; (e) simulating an actuator for actuation of each said leg; and (f) controlling the operation of the actuator via an output from the neural network.
A method of optimising the network parameters in a neural network controller for controlling the locomotion of a computer-generated image of a multiped is also provided. The method comprises: (i) generating a plurality of different trial arrays of network property values; (ii) applying the different trial arrays to the neural network to create different trial neural networks; (iii) identifying those arrays selected from the plurality of different arrays which, when applied to the neural networks, form trial neural networks which optimize the control of the said image of the multiped in accordance with at least the criterion that the distance, d, over which an end of the lower part of a rearmost leg of the computer-generated image should have travelled from the origin should be maximized; the method further comprising: aborting, as non-optimized, the consideration of those arrays forming trial neural networks when at least one of the following conditions is met: (a) a point attractor is reached such that the image when controlled by that trial network stops moving away from the origin, (b) the trunk of the multiped, as determined by applying Newtonian mechanics to the object, drops below a threshold height; and/or (c) the multiped does not move away from the origin and/or falls over prior to moving away therefrom.
It is to be understood that the invention is equally applicable to both computer-generated images and to embodied multipeds, such as robots. Therefore, according to still a further aspect of the present invention, there is provided an artificial multiped, comprising: a body trunk; at least two legs depending from the trunk, each leg having at least a first, upper part and a second, relatively lower part pivotable about the said first upper part; a plurality of hip joints each connecting the upper part of an associated leg to the body trunk; an actuator arranged to move the upper part of each leg in an arc about the hip joint; a neural controller arranged to control the movement of the said actuator such that, as each upper leg part is moved through the said arc, the corresponding lower part thereof is arranged to describe an apparently substantially free-swinging movement over at least a part of the said upper leg part movement.
Where the multiped is embodied rather than computer-generated, the angle between the upper and lower parts of the legs can be limited using an artificial kneecap rather than calculation of angular limit.
The invention also extends to a controller for an artificial biped, the biped comprising two legs depending from a trunk and being capable of actuation via an actuator, the controller comprising a neural network having a plurality of neurones, at least two of the neurones acting as motor neurones which are arranged to control the movement of the actuator so as to cause locomotion of the trunk via the legs.
In another aspect of the present invention, there is provided an artificial biped comprising: a body trunk; two legs depending from the trunk, each leg having a first, upper part and a second, lower part freely pivotable about the said first upper part; two hip joints, each one connecting the upper part of an associated one of the two legs to the body trunk; a controller, comprising two bi-directionally coupled pairs of identical oscillators embodied as a neural network having a plurality of neurones, at least two neurones acting as motor neurones; and a force-limited velocity constraint actuator arranged to move the upper part of each leg in an arc about its associated hip joint, and in which the torque, T, applied to the upper part of each of the two legs is a function of the desired velocity of movement of the upper part of the one leg relative to the upper part of the other leg, and wherein the desired velocity of movement is related to a difference between the actual and the desired angle between the two upper leg parts, the desired relative angle being derived from the neural controller; the controller being arranged to control the actuation of the actuator such that, as each upper leg part is moved through the said arc, the corresponding lower part thereof describes an apparently substantially free-swinging movement over at least a part of the said upper leg part movement.
Although aspects of the invention focus upon neural control of bipeds, it is to be understood that the invention has broader application. Any cyclical movement of a body part can be controlled in this manner. For example, the flapping of bird's wings (either embodied or simulated) can be controlled in an analogous manner. Therefore, in accordance with still a further aspect of this invention, there is provided a controller for control of cyclical movement of an appendage of an artificial or computer-simulated body, the controller comprising a neural network having a plurality of neurones together arranged to act as two bi-directionally coupled arrays of identical oscillators.
In summary, aspects of the invention provide an artificial or simulated biped in which the length of evolutionary optimization required to evolve parameters for a neural network that produces straight line walking of that biped is very short. Moreover, the large majority of neural networks obtained via the optimization procedures result in successful controllers. Furthermore, the perceived realism of the body dynamics of a biped or other device/object having more than two legs is increased relative to actual multipedal walking, particularly for bipeds such as humans. This can be confirmed by comparison with motion capture data. The use of free swinging lower legs constrains the walking dynamics in a particularly favourable manner. Walking styles that do not make use of a full lower leg swing (and hence a kneecap) were less stable than those which do.
The neuro-evolutionary approach of aspects of this invention allows the overall body control to be fully automated which provides several advantages, including body implementation flexibility and the avoidance of the need for manual retuning of controller parameters. The neural network architecture of further aspects of the invention also allows the integration of sensory (in particular proprioceptive) feed back and tonic input to the controller, which may in turn allow improved robustness of walking gaits on uneven terrain by appropriate modulation of the neural network.
The invention may be put into practice in a number of ways, and one embodiment will now be described by way of example only and with reference to the accompanying drawings in which:
a and 1b show fully rendered and wire-frame versions of a computer-generated biped embodying an aspect of the present invention;
a-2d show side views of a sequence of movement of the biped of
a and 6b show two exemplary graphs of fitness, defined as distance travelled by the rear foot of the biped of
a and 7b show two further exemplary graphs of fitness versus number of evolutionary generations, with an ancillary stabilisation controller employed that is deactivated after the fitness reaches a predetermined distance;
a and 11b show attractor plots of left and right hip neurone outputs, and left and right actual angles, respectively, for the biped of
The following will describe, by way of example, the currently preferred arrangement which illustrates the various aspects of the present invention. The bipedal object in the following example is computer-generated. However, it is to be understood that the principles underlying the present invention are equally applicable to quadrupeds and other multi-limbed creatures and even to control of other limits such as birds' wings, provided that they exhibit cyclical movement in use. Furthermore, it is to be understood that the present invention is equally applicable to embodied devices such as multipedal and, more specifically, bipedal robots.
Referring first to
The biped shown in
The MathEngine program is delivered as a suite of libraries coded in C and assembler. Objects are called from the libraries to build the simulated biped shown in
As seen more clearly in
The specific dimensions of the biped shown in
Each body part, as set out in Table 1 above, is modelled using a simulated density of 1 kg/l. It will be appreciated that a simple block is employed to simulate the body trunk of the biped in the current implementation. This is because the dynamics of the upper part of the body present different (and, generally, more straightforward) problems to those which are addressed by the present invention. Therefore, to aid understanding, the details of the upper part of the body of the biped described herein are not given.
In order to allow simulated walking of the biped shown in
Body Dynamics
The biped of
The dynamics of a leg 25 in which the upper part 35 is actuated and the lower part 45 swings passively are shown in the sequence of
Because the lower leg part 45 of each leg 25 is allowed to swing passively, a mechanism is required to provide a rapid stop to the movement at full extension. Whilst an appropriately controlled and timed actuator could in principle achieve this functionality, it is simpler to employ a simulated kneecap. In the preferred implementation, a soft angular limit to the knee joint 40 is simulated. Of course, in an embodied morpho-functional machine, such as a robot, a physical kneecap can be employed instead.
Whilst a completely free-swinging kneecap is successful in allowing realistic walking gaits to be simulated, in fact in presently preferred embodiments a weak constant torque is applied between the upper and lower leg parts 35, 45. The torque is applied in the direction that would tend to straighten the leg. It is to be understood that this weak constant torque is by no means essential, however, and in any event is sufficiently weak that it is not, or at least barely, discernable to the human eye.
The simulated biped 10 also employs feet 60. These represent the only physical interface between a walking biped and its environment, and therefore play an important role in its locomotion. By acting analogously to a damped spring, the ankle joints 50 serve to allow a smooth roll-off of the foot 60 over the simulated floor, whilst simultaneously storing energy. Upon liftoff of the front of the foot, this energy is released and used to initiate the next stride. No active control of the foot 60 or ankle joint 50 is required for this task. The presently preferred implementation simulates a damped torsional spring in each of the ankle joints 50. Again, this can readily be performed through the libraries available in the MathEngine program.
Actuators
In humans and animals, simple lower level mechanisms such as spinal reflexes are believed to be important in coordination of movement. In the present case, an actuator is employed as a low level controller which takes as inputs the relative angles and angular velocities of the two body parts (here, the upper leg parts 35) being actuated from a simulation, a desired relative angle from the neural controller, and which calculates a torque to be applied equally and oppositely to the two body parts being actuated.
An actuator must generate the effect of turning body parts towards the desired relative angle smoothly and at a reasonably controlled pace.
There are several types of actuator that can be used, and which provide the level of control necessary for stable biped locomotion. For example, a proportional integral derivative (PID) controller can be used. Applied to the actuator control of the hip joints in the biped 10 of
where kP, kD and kI are the proportional, derivative and integral coefficients respectively, 1d is the desired angle and 1 is the actual angle. In practice, the integral coefficient kI and the period t are small or vanishing. Thus the actuator tends to a proportional derivative actuator.
The code to simulate the actuator is written in C or C++ and forms a subroutine called from within MathEngine.
An actuator implementation of this type requires as input the desired angle which is, in this case, equivalent to the desired length of a biological muscle. The necessary force to reach the “sweet spot” is calculated by the actuator itself. That is, motor commands from higher control centres (such as a central pattern generator, as described below) to actuators do not represent forces, but desired kinematic parameters like relative joint angles.
The use of PID controllers brings about several advantages. They provide control at a low level, as they automatically reduce any discrepancy between the actual and the desired angle. As a consequence, the tendency of limbs, for example, to buckle under the simulated body mass is counteracted directly by the actuator, a task which would otherwise have to be accomplished by a separate controller. In addition, by tuning the allowed desired angle (1d) range, upper and lower caps to limb movement can easily be achieved. This is not possible if the higher control centre is required explicitly to specify forces rather than desired angles.
Finally, a joint-actuator arrangement that acts as one entity rather than implementing single muscles (agonists, synergists, antagonists) greatly reduces the degrees of freedom of the system and of the overall system controller (for which, again see below).
Whilst PID or PD controllers have their advantages, they do also suffer from a number of drawbacks. Firstly, changes in the control environment (e.g. the simulated load on the simulated body) require dynamic parameter modulation of the PID. Because this modulation must itself be controlled, more degrees of freedom are inevitably added to the system.
Secondly, PID controllers may bring about numerical instabilities. For these reasons, the presently preferred implementation employs a different but conceptually analogous actuator type known as a force limited velocity constraint actuator. Such actuators allow the user to specify a desired relative velocity between two bodies. They tend to be more reliable than PD or PID actuators, but are typically computationally more expensive.
In the present case, the relative angle between the two upper leg parts 35 is used as a first input. A desired angle is input from the neural controller (see below). A demand velocity is then calculated whose magnitude is related to the difference between the actual relative angle and the desired relative angle. The demand velocity is used by the constraint solver of the simulation to calculate the torques required to satisfy this request. The torque is applied equally and oppositely to the two upper leg parts 35, unless the calculated torque exceeds a maximum (′max), in which case the maximum is applied. In that case, then, an external modulation of controller parameters becomes unnecessary.
In the case of each actuator type, several constants need to be predetermined, i.e. kP, kD, kI,)t or ′max. These are determined by experimentation with the simulation and can be used from then on for all simulations of similar scale.
Controller Architecture
The third part of the system which allows realistic locomotion of the biped 10 is a neural network which acts as a global controller for the biped. The structure is shown in
The generalized structure of
By contrast, the connections to the sagittal neighbours are asymmetric, as seen most readily in
The neurone model of
At each iteration, the activity of the jth neurone in the RNN of
τj•Aj=−Aj+ΣωijOi
where Jj is the time constant of jth neurone, Aj its activity, Oi the output of the ith to the jth neurone, and jij the weight from the ith to the jth neurone. The corresponding output is:
Oj=(1+e(t
where tj is the bias of the jth neurone.
These parameters have allowed ranges, as do the synapse weight parameters.
The ringed neurones 81 and 101 in
The use of identical oscillators as well as only two sets of coupling weights (lateral and sagittal) limits the search space to a total of 60 parameters (36 weights, 12 neurone parameters, 6 lateral weights and 6 sagittal weights). This allows the time taken to optimise the parameters to be reduced dramatically.
Genetic Algorithm
The parameters of the neural network which are to be evolved are the synapse weights and the node properties (time constants and biases). These are encoded as real numbers in a linear chromosome with different ranges for each parameter, typically [−16.0, 16.0] for the weights, [0.5, 5.0] for the time constants and [−4.0, 4.0] for the biases. The algorithm as a whole is yet another bespoke C or C++ subroutine which can be called as necessary by the graphics simulator. The mutation rate is chosen so as to cause an average of one substitution per individual. No crossover operator is applied.
Rank-based selection is used on a population of 100 individuals, with a fittest fraction of 0.5. This is equivalent to culling the bottom, weakest half of the population, and replacing it with a copy of the top half. This latter procedure is known, as such, from, for example, W. D. Hillis, “Co-evolving parasites improves simulated evolution as an optimisation procedure”, in Artificial Life II, edited by C. Langton et al, Addison-Wesley at pages 313-324.
The individuals are selected on the basis of a fitness function which is depicted graphically in
The fitness function decision tree of
It has been found that a weak assisting controller is preferable to permit rapid evolution of stable locomotion control of the biped 10. This assisting controller is applied only at the beginning of an evolutionary run, in order to support the trunk 20 both laterally and sagittally. The controller takes the form of an un-damped orientation spring between the trunk 20 and a reference “frame” for the biped 10. The spring has no displacement parameters, that is, the torque exerted on the trunk 20 is dependent only on its orientation, not its position.
The ancillary controller serves initially to guide evolution towards the production of rhythmic step cycles during early mutations. When the genetic algorithm has found a solution with suitably high fitness using the torso stabiliser, its strength (that is, the spring stiffness) is reduced and the search restarted, seeded with the population from the previous optimization procedure. The stiffness of the spring is iteratively reduced until the stabiliser is weak enough to be discarded or at least not to visibly impair biped simulation. The advantage of this procedure will be further understood with reference to
Referring now to
Because initial runs were performed with a weak stabilising ancillary controller, populations of controllers that permitted stable walking of the biped 10 were picked at random from a series of evolutionary runs and re-evolved with the effect of the ancillary controller substantially reduced. It was found that these individuals reliably evolved to attain the previously achieved fitness. This is shown in
By contrast, control experiments with de novo evolution and de-activated or at least substantially reduced ancillary controllers did not result in successful runs, the measure of success being defined in this case as a minimum fitness of 20 metres. This may be seen from
The analysis of the neural activity and the resulting body dynamics show that relatively simple periodic controller outputs sufficed to produce stable walking. This may be seen from
a shows an attractor plot of the desired angles of the left and right hip joints 50.
Although one specific embodiment has been described, the skilled person will readily understand that various modifications or improvements may be made without departing from the scope of the invention as defined by the accompanying claims. For example, although the foregoing description and drawings refer to a specific rigid body dynamic simulator, it will be understood that the specific implementation is not crucial to an understanding of the invention. For example, other simulation tools, such as FastDynamics Version 1.005, or the more recent “Dynamics Toolkit”, both by MathEngine plc could equally be used. Havok Hardcore™, by Havok and VorteX™, by Critical Mass Labs, are likewise suitable physics engines. Furthermore, because of the increased flexibility afforded by the neuro-evolutionary approach outlined above, in particular with respect to body implementation, it is relatively straightforward (and quick, on a modern p.c.) to test different mass distributions, body dimensions, and actuator or joint types simply by evolving suitable controllers.
Number | Date | Country | Kind |
---|---|---|---|
0104995.6 | Feb 2001 | GB | national |
This application is a continuation of U.S. application Ser. No. 10/469,372, filed Mar. 12, 2004 now abandoned, “Artificial Multiped and Motion Controller Therefor,” which claims priority under 35 U.S.C. 371 to International Application No. PCT/GB02/00338, filed Jan. 25, 2002, “Artificial Multiped and Motion Controller Therefor,” and GB Application No. 0104995.6, filed Feb. 28, 2001, “Artificial Multiped and Motion Controller Therefor.” The above applications are incorporated by reference herein in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
5124918 | Beer et al. | Jun 1992 | A |
5379210 | Gruji et al. | Jan 1995 | A |
5988849 | Engelhardt | Nov 1999 | A |
Number | Date | Country |
---|---|---|
05-228856 | Sep 1993 | JP |
Number | Date | Country | |
---|---|---|---|
20080275831 A1 | Nov 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 10469372 | US | |
Child | 12122608 | US |